/* Always-available Wesal guide. Styles are isolated from page and footer content. */
.wesal-chat { --wc-edge:36px; --wc-lift:84px; --wc-panel-gap:80px; position:fixed; right:max(var(--wc-edge),env(safe-area-inset-right)); bottom:calc(var(--wc-lift) + env(safe-area-inset-bottom)); z-index:600; direction:rtl; font-family:"Wesal Grift","Wesal Ping",sans-serif; color:#003f35; line-height:1.7; }
.wesal-chat * { box-sizing:border-box; }
.wesal-chat button,.wesal-chat textarea { font:inherit; letter-spacing:normal; }
.wesal-chat button { cursor:pointer; }
.wesal-chat button:focus-visible,.wesal-chat a:focus-visible,.wesal-chat textarea:focus-visible { outline:3px solid #009e68; outline-offset:3px; }
.wesal-chat [hidden] { display:none!important; }
.wc-launch { position:relative; isolation:isolate; display:flex; align-items:center; gap:9px; min-height:64px; padding:5px 7px 5px 18px; border:1px solid rgba(233,238,212,.75); border-radius:28px 28px 8px 28px; color:#fff; background:#003f35; box-shadow:0 6px 24px rgba(0,63,53,.22),0 1px 3px rgba(0,63,53,.12); transition:background .2s ease,box-shadow .2s ease; }
.wc-launch:hover { background:#005c49; box-shadow:0 8px 28px rgba(0,63,53,.28); }
.wc-launch::before { content:""; position:absolute; z-index:-1; inset:-4px; border:1px solid rgba(137,227,180,.6); border-radius:inherit; opacity:0; pointer-events:none; animation:wc-soft-halo 3.6s ease-in-out infinite; }
.wc-avatar { display:block; position:relative; width:62px; height:54px; flex:0 0 62px; }
.wc-avatar-image { display:block; width:100%; height:100%; object-fit:contain; }
.wc-avatar>.wc-avatar-image { position:absolute; width:74px; height:74px; max-width:none; left:-6px; bottom:-2px; transform-origin:50% 85%; filter:drop-shadow(0 3px 3px rgba(0,25,20,.15)); animation:wc-assistant-float 4.8s ease-in-out infinite; }
.wc-chat-badge { position:absolute; width:23px; height:23px; bottom:0; right:-2px; display:grid; place-items:center; color:#003f35; background:#c4e970; border:2px solid #003f35; border-radius:50%; }
.wc-chat-badge svg { width:13px; height:13px; }
.wc-launch-copy { display:grid; gap:1px; text-align:right; white-space:nowrap; }
.wc-launch-copy strong { font-size:.9375rem; line-height:1.65; font-weight:700; }
.wc-launch-copy small { font-size:.8125rem; line-height:1.6; color:#cbe6d7; font-weight:400; }
.wc-mark { display:block; flex-shrink:0; width:48px; height:48px; }
.wc-panel { position:absolute; right:0; bottom:var(--wc-panel-gap); display:flex; flex-direction:column; width:min(390px,calc(100vw - var(--wc-edge) - var(--wc-edge))); height:580px; max-height:calc(100dvh - var(--wc-lift) - var(--wc-panel-gap) - 24px - env(safe-area-inset-bottom)); overflow:hidden; border:1px solid rgba(0,63,53,.2); border-radius:28px 28px 6px 28px; background:#fff; box-shadow:0 20px 64px rgba(0,63,53,.2); }
.wc-panel:not([hidden]) { animation:wc-panel-enter .2s ease-out; }
.wesal-chat[data-open="true"] .wc-launch { background:#005c49; }
/* Continuous mascot movement with a stationary, easy-to-tap launcher. */
.wc-launch::after { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:linear-gradient(110deg,transparent 35%,rgba(137,227,180,.17) 49%,transparent 63%); background-size:300% 100%; opacity:0; animation:wc-soft-shine 6s ease-in-out infinite; }
.wc-chat-badge { animation:wc-badge-hello 4.8s ease-in-out infinite; }
.wesal-chat[data-open="true"] .wc-launch::before,.wesal-chat[data-open="true"] .wc-launch::after { display:none; }
.wesal-chat[data-open="true"] .wc-avatar-image,.wesal-chat[data-open="true"] .wc-chat-badge { animation:none; }
.wc-launch:focus-visible::before,.wc-launch:focus-visible::after,
.wc-launch:focus-visible .wc-avatar-image,.wc-launch:focus-visible .wc-chat-badge,
.wc-page-hidden .wc-launch::before,.wc-page-hidden .wc-launch::after,
.wc-page-hidden .wc-avatar-image,.wc-page-hidden .wc-chat-badge { animation-play-state:paused; }
@keyframes wc-assistant-float {
  0%,100% { transform:translateY(0) rotate(-3deg) scale(1); }
  25% { transform:translateY(-5px) rotate(2deg) scale(1.02); }
  50% { transform:translateY(-9px) rotate(4deg) scale(1.035); }
  75% { transform:translateY(-4px) rotate(-4deg) scale(1.015); }
}
@keyframes wc-soft-halo {
  0%,100% { opacity:.12; transform:scale(1); }
  50% { opacity:.65; transform:scale(1.055); }
}
@keyframes wc-soft-shine {
  0% { opacity:0; background-position:140% 0; }
  8% { opacity:1; background-position:140% 0; }
  40% { opacity:1; background-position:-40% 0; }
  50%,100% { opacity:0; background-position:-40% 0; }
}
@keyframes wc-badge-hello {
  0%,60%,100% { transform:translateY(0) scale(1); }
  72% { transform:translateY(-2px) scale(1.12); }
  84% { transform:translateY(0) scale(1); }
}
@keyframes wc-panel-enter { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
.wc-head { display:flex; align-items:center; gap:12px; flex-shrink:0; padding:19px 20px; color:#e9eed4; background:#003f35; }
.wc-head h2 { font-family:inherit; font-size:1.125rem; line-height:1.5; font-weight:700; letter-spacing:0; margin:0; color:#fff; }
.wc-head p { margin:0; color:#e9eed4; font-size:.8125rem; }
.wc-close { display:grid; place-items:center; width:40px; height:40px; margin-inline-start:auto; padding:0; border:1px solid rgba(233,238,212,.28); border-radius:12px; color:#e9eed4; background:transparent; }
.wc-close:hover { background:rgba(233,238,212,.12); }
.wc-close svg { width:20px; height:20px; }
.wc-log { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:22px 18px; background:#f5f7ec; scrollbar-width:thin; scrollbar-color:#89e3b4 transparent; }
.wc-message { width:fit-content; max-width:93%; margin:0 0 16px; padding:14px 16px; border-radius:4px 18px 18px 18px; background:#fff; color:#003f35; font-size:.9375rem; line-height:1.9; overflow-wrap:anywhere; }
.wc-message p { margin:0; white-space:pre-line; }
.wc-message[data-role="user"] { margin-inline-start:auto; border-radius:18px 4px 18px 18px; background:#c4e970; }
.wc-author { display:block; margin-bottom:5px; font-size:.75rem; font-weight:700; color:#365b4e; }
.wc-message a { display:block; width:fit-content; margin-top:12px; padding-bottom:2px; color:#003f35; font-size:.875rem; font-weight:500; text-decoration:underline; text-underline-offset:4px; }
.wc-options { display:flex; flex-wrap:wrap; gap:7px; padding:12px 16px; border-top:1px solid rgba(0,63,53,.1); background:#fff; }
.wc-options button { padding:7px 11px; min-height:38px; border:1px solid rgba(0,63,53,.22); border-radius:12px 12px 3px 12px; color:#003f35; background:#fff; font-size:.8125rem; font-weight:500; line-height:1.6; }
.wc-options button:hover { background:#e9eed4; border-color:#003f35; }
.wc-form { display:flex; align-items:flex-end; gap:10px; margin:0; padding:0 16px 12px; }
.wc-form textarea { display:block; flex:1; width:0; min-width:0; min-height:46px; max-height:112px; resize:none; padding:11px 13px; border:1px solid rgba(0,63,53,.25); border-radius:14px 14px 3px 14px; color:#003f35; background:#fff; font-size:1rem; line-height:1.5; }
.wc-form textarea::placeholder { color:#516c61; opacity:1; }
.wc-send { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; padding:0; border:0; border-radius:14px 14px 3px 14px; background:#003f35; color:#fff; }
.wc-send svg { width:22px; height:22px; }
.wc-send:disabled { background:#e9eed4; color:#516c61; cursor:default; }
.wc-note { flex-shrink:0; margin:0; padding:0 18px 13px; color:#516c61; font-size:.75rem; line-height:1.7; text-align:center; }
.wc-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:600px) {
 .wesal-chat { --wc-edge:22px; --wc-lift:78px; --wc-panel-gap:74px; }
 .wc-launch { min-height:58px; padding:4px 6px 4px 14px; gap:7px; border-radius:24px 24px 7px 24px; }
 .wc-avatar { width:54px; height:48px; flex-basis:54px; }
 .wc-avatar>.wc-avatar-image { width:66px; height:66px; left:-6px; bottom:-2px; }
 .wc-launch-copy strong { font-size:.875rem; }
 .wc-launch-copy small { font-size:.75rem; }
 .wc-panel { height:570px; border-radius:24px 24px 5px 24px; }
 .wc-head { padding:15px 16px; }
 .wc-log { padding:18px 14px; }
 .wc-options { padding:10px 14px; }
 .wc-note { font-size:.75rem; padding-inline:14px; }
}
@media (max-height:560px) { .wesal-chat { --wc-lift:20px; } }
@media (prefers-reduced-motion:reduce) { .wc-launch { transition:none; } .wesal-chat .wc-avatar-image,.wesal-chat .wc-chat-badge,.wesal-chat .wc-launch::before,.wesal-chat .wc-launch::after,.wesal-chat .wc-panel:not([hidden]) { animation:none; } }
