/* Aretsi WhatsApp chat panel. Owner request 2026-10-08.
   Load on every page after aretsi-revisions.css, together with aretsi-whatsapp.js.
   Uses the site tokens from styles.css (--navy, --deep, --gold, --gold-light, --pale, --line, --ink, --muted, --serif, --sans). */
.aw{--wa:#25d366;--wa-dark:#128c4b;--aw-lift:0px;font:1rem/1.5 var(--sans);color:var(--ink)}
.aw-fab{position:fixed;right:18px;bottom:calc(18px + var(--aw-lift) + var(--aw-bar,0px) + env(safe-area-inset-bottom,0px));z-index:140;width:60px;height:60px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 8px 22px #0c173c40,0 0 0 4px #ffffffcc;animation:wa-pulse 3.2s ease-in-out infinite;transition:bottom .3s ease,background .2s}
.aw-fab:hover{background:var(--wa-dark)}
.aw-fab svg{width:31px;height:31px;fill:currentColor}
.aw-fab .aw-icon-close{display:none;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}
.aw.is-open .aw-fab{animation:none}
.aw.is-open .aw-fab .aw-icon-wa{display:none}
.aw.is-open .aw-fab .aw-icon-close{display:block}
.aw.is-open .aw-fab-dot{display:none}
.aw-fab-dot{position:absolute;top:2px;right:2px;width:15px;height:15px;border-radius:50%;border:2px solid #fff;background:#a3abba}
.aw.is-online .aw-fab-dot{background:#1fc45d}

.aw-panel{position:fixed;right:18px;bottom:calc(92px + var(--aw-lift) + var(--aw-bar,0px) + env(safe-area-inset-bottom,0px));z-index:141;width:316px;max-width:calc(100vw - 36px);display:flex;flex-direction:column;max-height:calc(100vh - 92px - var(--aw-lift) - var(--aw-bar,0px) - 112px);max-height:calc(100dvh - 92px - var(--aw-lift) - var(--aw-bar,0px) - env(safe-area-inset-bottom,0px) - 112px);background:transparent;border-top:3px solid var(--gold);box-shadow:0 18px 44px #0c173c38;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(14px);transform-origin:bottom right;transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s,bottom .3s ease}
.aw.is-open .aw-panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .25s ease,bottom .3s ease}

.aw-head{flex:none;position:relative;display:flex;align-items:center;gap:14px;padding:15px 48px 15px 16px;background:#14255dcc;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.aw-avatar{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--deep);border:1px solid var(--gold-light);color:var(--gold-light);font:400 1.4rem/1 var(--serif)}
.aw-name{margin:0;font:400 1.125rem/1.25 var(--serif);letter-spacing:-.01em}
.aw-status{display:flex;align-items:center;gap:7px;margin-top:3px;font-size:.8125rem;color:#d5dbe8}
.aw-status i{width:8px;height:8px;border-radius:50%;background:#a3abba;flex:none}
.aw.is-online .aw-status i{background:#4ee283;box-shadow:0 0 0 3px #4ee28333}
.aw-close{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:none;color:#fff;display:grid;place-items:center}
.aw-close:hover{background:#ffffff1f}
.aw-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

.aw-body{flex:0 1 auto;min-height:0;display:flex;flex-direction:column;gap:10px;max-height:min(50vh,380px);overflow-y:auto;overscroll-behavior:contain;padding:14px;background:#eef2f866;-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2)}
.aw-msg{flex:none;max-width:94%;margin:0;padding:10px 13px;background:#ffffffeb;border:1px solid #ffffff99;border-radius:2px 14px 14px 14px;box-shadow:0 2px 10px #0c173c26;font-size:.9375rem}
.aw-msg strong{color:var(--navy)}
.aw-hours{margin:8px 0 0;padding:0;list-style:none;font-size:.875rem;font-variant-numeric:tabular-nums}
.aw-hours li{display:flex;justify-content:space-between;gap:14px;padding:4px 8px;margin-inline:-8px}
.aw-hours li.is-today{background:#e3c08147;color:var(--deep);font-weight:700}
.aw-away{margin:8px 0 0;font-size:.8125rem;color:#3f4859}

.aw-foot{flex:none;padding:12px 14px 11px;background:#ffffffd9;border-top:1px solid #ffffff99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.aw-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 16px;background:var(--wa);color:#fff;font-weight:700;font-size:1rem;box-shadow:0 4px 14px #128c4b4d;transition:background .2s}
.aw-cta:hover{background:var(--wa-dark);color:#fff}
.aw-cta svg{width:22px;height:22px;fill:currentColor}
.aw-note{margin:8px 0 0;text-align:center;font-size:.75rem;color:#3f4859}
.aw-note a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:600px){
  .aw-fab{right:14px;bottom:calc(14px + var(--aw-lift) + var(--aw-bar,0px) + env(safe-area-inset-bottom,0px));width:56px;height:56px}
  .aw-panel{right:12px;width:320px;max-width:calc(100vw - 24px);bottom:calc(82px + var(--aw-lift) + var(--aw-bar,0px) + env(safe-area-inset-bottom,0px));max-height:calc(100vh - 82px - var(--aw-lift) - var(--aw-bar,0px) - 104px);max-height:calc(100dvh - 82px - var(--aw-lift) - var(--aw-bar,0px) - env(safe-area-inset-bottom,0px) - 104px)}
  .aw-body{max-height:min(54vh,400px)}
}
/* Browsers without blur: make the see-through parts a little more solid so text stays readable. */
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .aw-head{background:#14255de6}.aw-body{background:#eef2f8d9}.aw-msg{background:#fffffff5}.aw-foot{background:#fffffff0}
}
@media(prefers-reduced-motion:reduce){.aw-fab{animation:none}.aw-fab,.aw-panel{transition:none}}
