/* «رفيق»: زر واتساب العائم وبطاقته */
.tz-wa{--wa:#25d366;--wa2:#128c7e;position:fixed;z-index:80;bottom:calc(22px + env(safe-area-inset-bottom,0px));right:22px;display:grid;justify-items:right;gap:12px;pointer-events:none;font-family:var(--x-fb);transition:opacity .3s,translate .3s}
.tz-wa.l{right:auto;left:22px;justify-items:left}
.tz-wa-btn,.tz-wa-bub,.tz-wa.open .tz-wa-card{pointer-events:auto}
.sx .tz-wa-btn,.tz-wa-btn{position:relative;width:64px;height:64px;border-radius:22px;border:0;background:linear-gradient(145deg,#2fe07a,var(--wa2));color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 18px 36px -12px #128c7eaa,inset 0 1px 0 #ffffff55;transition:transform .35s cubic-bezier(.2,1.4,.4,1),border-radius .35s;padding:0}
.tz-wa-btn:hover{transform:translateY(-3px) rotate(-6deg)}
.tz-wa-btn svg{width:32px;height:32px;transition:transform .35s,opacity .25s}
.tz-wa-btn .x{position:absolute;opacity:0;transform:rotate(-90deg) scale(.5)}
.tz-wa.open .tz-wa-btn{border-radius:50%}
.tz-wa.open .tz-wa-btn .g{opacity:0;transform:rotate(90deg) scale(.5)}
.tz-wa.open .tz-wa-btn .x{opacity:1;transform:none}
.tz-wa-btn::before,.tz-wa-btn::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--wa);animation:tz-ripple 2.8s ease-out infinite;pointer-events:none}
.tz-wa-btn::after{animation-delay:1.4s}
.tz-wa.open .tz-wa-btn::before,.tz-wa.open .tz-wa-btn::after{animation:none;opacity:0}
@keyframes tz-ripple{from{transform:scale(1);opacity:.7}to{transform:scale(1.7);opacity:0}}
.tz-wa-dot{position:absolute;top:-4px;left:-4px;width:20px;height:20px;border-radius:50%;background:#e53935;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff;animation:tz-bump 1.8s ease-in-out infinite}
.tz-wa.open .tz-wa-dot,.tz-wa.seen .tz-wa-dot{display:none}
@keyframes tz-bump{50%{transform:scale(1.15)}}
.tz-wa-bub{position:relative;max-width:260px;background:#fff;color:#132018;border-radius:18px 18px 6px 18px;padding:12px 14px;box-shadow:0 18px 40px -16px #0005;font-size:14.5px;line-height:1.7;cursor:pointer;animation:tz-bubin .5s cubic-bezier(.2,1.4,.4,1) both}
.tz-wa.l .tz-wa-bub{border-radius:18px 18px 18px 6px}
.tz-wa-bub .typing{display:inline-flex;gap:4px;padding:4px 0}
.tz-wa-bub .typing i{width:7px;height:7px;border-radius:50%;background:#b6c2ba;animation:tz-ty 1s infinite}
.tz-wa-bub .typing i:nth-child(2){animation-delay:.15s}.tz-wa-bub .typing i:nth-child(3){animation-delay:.3s}
@keyframes tz-ty{50%{transform:translateY(-4px);background:var(--wa2)}}
.tz-wa-bub .cl{position:absolute;top:-8px;left:-8px;width:22px;height:22px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 8px #0003;color:#5c6b60;font-size:12px;cursor:pointer;padding:0}
@keyframes tz-bubin{from{opacity:0;transform:scale(.6) translateY(10px)}}
.tz-wa.open .tz-wa-bub{display:none}
.tz-wa-card{width:min(360px,calc(100vw - 32px));background:#fff;color:#132018;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px -20px #0006;transform-origin:bottom right;transform:scale(.85) translateY(16px);opacity:0;visibility:hidden;transition:transform .4s cubic-bezier(.2,1.3,.4,1),opacity .25s,visibility 0s .4s}
.tz-wa.l .tz-wa-card{transform-origin:bottom left}
.tz-wa.open .tz-wa-card{transform:none;opacity:1;visibility:visible;transition-delay:0s}
.tz-wa-hd{position:relative;background:linear-gradient(135deg,var(--x-deep,#06401f),var(--wa2));color:#fff;padding:18px 18px 22px;display:flex;gap:12px;align-items:center;overflow:hidden}
.tz-wa-hd::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M20 0L40 20L20 40L0 20Z M20 8L32 20L20 32L8 20Z' fill='none' stroke='%23ffffff' stroke-opacity='.08'/%3E%3C/svg%3E");pointer-events:none}
.tz-wa-av{position:relative;width:52px;height:52px;border-radius:16px;background:#fff;display:grid;place-items:center;flex:none;z-index:1}
.tz-wa-av img{width:40px;height:40px;object-fit:contain;border-radius:10px}
.tz-wa-av b{color:var(--x-ac,#08702b);font-size:22px}
.tz-wa-av em{position:absolute;bottom:-3px;left:-3px;width:14px;height:14px;border-radius:50%;background:var(--wa);border:2.5px solid #fff}
.tz-wa-av em.off{background:#b6c2ba}
.tz-wa-hd>div{z-index:1}
.tz-wa-hd b{font-size:16.5px;display:block}
.tz-wa-hd small{font-size:13px;opacity:.9}
.tz-wa-body{padding:16px 16px 12px;background:#efeae2;display:grid;gap:10px;max-height:340px;overflow-y:auto}
.tz-wa-msg{background:#fff;border-radius:4px 16px 16px 16px;padding:10px 12px;font-size:14.5px;line-height:1.7;max-width:88%;box-shadow:0 1px 1px #0001;animation:tz-bubin .4s both}
.tz-wa-msg.me{margin-inline-start:auto;background:#d9fdd3;border-radius:16px 4px 16px 16px}
.tz-wa-msg small{display:block;text-align:left;font-size:11px;color:#5c6b60}
.tz-wa-chips{display:flex;flex-wrap:wrap;gap:8px}
.tz-wa-chips button{border:1.5px solid #128c7e55;background:#fff;color:var(--wa2);border-radius:99px;padding:6px 12px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s;animation:tz-bubin .4s both}
.tz-wa-chips button:hover,.tz-wa-chips button[aria-pressed="true"]{background:var(--wa2);color:#fff;border-color:var(--wa2)}
.tz-wa-ft{display:flex;gap:8px;padding:10px 12px;background:#fff;align-items:flex-end}
.tz-wa-ft textarea{flex:1;font:inherit;font-size:14.5px;border:1px solid #e1e8dc;border-radius:18px;padding:8px 12px;resize:none;min-height:40px;max-height:110px;background:#f6f8f2;color:#132018}
.tz-wa-ft button{width:42px;height:42px;border-radius:50%;border:0;background:var(--wa2);color:#fff;display:grid;place-items:center;flex:none;cursor:pointer;transition:transform .2s;padding:0}
.tz-wa-ft button:hover{transform:scale(1.08)}
.tz-wa-ft svg{width:20px;height:20px}
.tz-wa-alt{display:flex;justify-content:space-between;gap:8px;padding:8px 14px 12px;font-size:12.5px;color:#5c6b60;background:#fff;border-top:1px solid #e1e8dc}
.tz-wa-alt button{border:0;background:none;color:var(--x-ac,#08702b);font:inherit;font-weight:700;padding:0;font-size:12.5px;cursor:pointer}
.tz-wa-cb{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #e1e8dc}
.tz-wa-cb[hidden]{display:none}
.tz-wa-cb input{flex:1;min-width:0;font:inherit;font-size:14px;border:1px solid #e1e8dc;border-radius:12px;padding:7px 10px;text-align:right}
.tz-wa-cb input.bad{border-color:#c0392b}
.tz-wa-cb button{border:0;border-radius:12px;background:var(--x-ac,#08702b);color:#fff;font:inherit;font-weight:700;padding:7px 14px;font-size:14px;cursor:pointer}
.tz-wa-ok{color:var(--x-ac,#08702b);font-weight:700;font-size:14px}
.tz-wa .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:480px){.tz-wa{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.tz-wa.l{left:14px}.sx .tz-wa-btn,.tz-wa-btn{width:56px;height:56px;border-radius:19px}}
@media (prefers-reduced-motion:reduce){.tz-wa *,.tz-wa *::before,.tz-wa *::after{animation:none!important;transition:none!important}}
