/* Compact concierge launcher; shared by every public page. */
.sticky-whatsapp{
  position:fixed;right:max(22px,env(safe-area-inset-right,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:34;
  display:inline-flex;align-items:center;gap:11px;box-sizing:border-box;width:184px;height:64px;padding:9px;
  border:1px solid #086438;border-radius:999px;background:#087e44;color:#fff;
  box-shadow:0 8px 28px #132c2421,0 2px 6px #132c2410;text-decoration:none;-webkit-tap-highlight-color:transparent;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.sticky-whatsapp__icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#ffffff14;color:#fff;box-shadow:inset 0 1px 0 #ffffff26;transition:background-color .24s ease}
.sticky-whatsapp__icon svg{display:block;width:28px;height:28px}
.sticky-whatsapp__copy{display:grid;gap:3px;min-width:0;text-align:left;white-space:nowrap}
.sticky-whatsapp__title{font-size:14px;line-height:1.15;font-weight:700;letter-spacing:-.15px}
.sticky-whatsapp__subtitle{color:#e5f5ec;font-size:11px;line-height:1.2;font-weight:500;letter-spacing:.1px}
@media(hover:hover){
  .sticky-whatsapp:hover{transform:translateY(-2px);background:#066b39;border-color:#065831;box-shadow:0 12px 32px #132c2429,0 3px 8px #132c2414;text-decoration:none}
  .sticky-whatsapp:hover .sticky-whatsapp__icon{background:#ffffff24}
}
.sticky-whatsapp:active{transform:translateY(0)}
.sticky-whatsapp:focus-visible{outline:3px solid #d93c17;outline-offset:4px}
.footer{padding-bottom:100px}
@media(max-width:900px){
  .sticky-whatsapp{right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:56px;padding:5px;gap:0}
  .sticky-whatsapp__copy{display:none}
  /* The measured booking dock includes its own safe-area padding. */
  body:has(.package-mobile-quote:not([hidden])) .sticky-whatsapp{bottom:calc(var(--quote-dock-height,84px) + 16px)}
  body:has(.menu-button[aria-expanded="true"]) .sticky-whatsapp{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){.sticky-whatsapp,.sticky-whatsapp__icon{transition:none}.sticky-whatsapp:hover{transform:none}}
@media print{.sticky-whatsapp{display:none}.footer{padding-bottom:26px}}

/* Concierge enhancement. All overlays share the launcher's booking-dock clearance. */
.sticky-whatsapp,.wa-invitation,.wa-concierge{--wa-bottom:calc(22px + env(safe-area-inset-bottom,0px));--wa-right:max(22px,env(safe-area-inset-right,0px))}
.sticky-whatsapp{bottom:var(--wa-bottom);right:var(--wa-right);isolation:isolate}
.sticky-whatsapp.wa-halo:before,.sticky-whatsapp.wa-halo:after{content:'';position:absolute;inset:-2px;border:2px solid #16995b80;border-radius:inherit;pointer-events:none;animation:wa-gentle-halo 1.6s ease-out both;z-index:-1}
.sticky-whatsapp.wa-halo:after{animation-delay:.6s}
@keyframes wa-gentle-halo{0%{transform:scale(1);opacity:0}15%{opacity:.65}100%{transform:scale(1.22,1.4);opacity:0}}
.wa-invitation{position:fixed;z-index:34;right:var(--wa-right);bottom:calc(var(--wa-bottom) + 152px);width:min(284px,calc(100% - 32px));box-sizing:border-box;padding:20px 52px 12px 20px;border:1px solid #d5e5df;border-radius:16px;background:#fff;color:#24343d;box-shadow:0 10px 35px #17362b24;font-family:Arial,Helvetica,sans-serif}
.wa-invitation[hidden]{display:none!important}
.wa-invitation p{margin:0 0 5px;font-size:15px;font-weight:600;line-height:1.45}
.wa-invitation-close,.wa-concierge-close{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:50%;font-size:25px;line-height:1;color:#435866;background:transparent;cursor:pointer}
.wa-invitation-close{position:absolute;right:5px;top:5px}
.wa-invitation-talk{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:transparent;color:#087e44;font-size:14px;font-weight:700;cursor:pointer}
.wa-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.wa-concierge{position:fixed;inset:auto var(--wa-right) calc(var(--wa-bottom) + var(--wa-keyboard-offset,0px)) auto;width:min(360px,calc(100% - 32px));max-width:none;max-height:calc(var(--wa-viewport-height,100dvh) - var(--wa-bottom) - 16px - env(safe-area-inset-top,0px));box-sizing:border-box;margin:0;padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid #d6e4df;border-radius:18px;background:#fff;color:#24343d;box-shadow:0 20px 70px #102a3033;font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;text-align:left}
.wa-concierge:not([open]){display:none}
.wa-concierge::backdrop{background:#182c3638}
.wa-concierge-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:23px 16px 20px 24px;background:#435866;color:#fff}
.wa-concierge-header .wa-concierge-eyebrow{margin:0 0 8px;color:#e3e9ed;font-size:10px;font-weight:600;letter-spacing:1.4px}
.wa-concierge h2{margin:0;font-size:23px;line-height:1.2;font-weight:600;letter-spacing:-.65px;color:#fff}
.wa-concierge-close{margin-top:-8px;margin-right:-5px;background:#ffffff12;color:#fff}
.wa-concierge-body{padding:20px 24px 18px}
.wa-concierge-body>p:first-child{margin:0 0 15px;color:#526773;font-size:13px;line-height:1.6}
.wa-starters{display:grid;gap:7px;margin-bottom:20px}
.wa-starters button{min-height:44px;padding:10px 13px;border:1px solid #d5e5df;border-radius:8px;text-align:left;background:#f4f8f6;color:#304b43;font-size:13px;font-weight:600;cursor:pointer}
.wa-starters button[aria-pressed="true"]{border-color:#087e44;background:#eaf5ef;color:#075d33;box-shadow:inset 3px 0 #087e44}
.wa-message-label{display:block;margin:0 0 7px;color:#24343d;font-size:13px;font-weight:600}
.wa-message-label span{font-weight:400;color:#596b75}
.wa-concierge textarea{display:block;box-sizing:border-box;width:100%;min-height:88px;max-height:220px;resize:vertical;padding:11px 12px;border:1px solid #b9cdc3;border-radius:8px;background:#fff;color:#24343d;font:inherit;font-size:16px;line-height:1.5}
.wa-concierge #wa-message-help{margin:8px 0 17px;color:#596b75;font-size:11px;line-height:1.6}
.wa-continue{display:flex;justify-content:center;align-items:center;gap:10px;min-height:46px;box-sizing:border-box;padding:11px 12px;border:1px solid #087e44;border-radius:9px;background:#087e44;color:#fff;font-size:13px;font-weight:700;text-decoration:none}
.wa-continue:hover{background:#066b39;color:#fff;text-decoration:none}
.wa-direct{display:flex;justify-content:center;align-items:center;min-height:44px;margin-top:5px;color:#435866;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.wa-concierge :focus-visible,.wa-invitation :focus-visible{outline:3px solid #be3215;outline-offset:3px}
.wa-concierge-header :focus-visible{outline-color:#fff}
@media(max-width:900px){
  .sticky-whatsapp,.wa-invitation,.wa-concierge{--wa-bottom:calc(16px + env(safe-area-inset-bottom,0px));--wa-right:max(16px,env(safe-area-inset-right,0px))}
  body:has(.package-mobile-quote:not([hidden])) :is(.sticky-whatsapp,.wa-invitation,.wa-concierge){--wa-bottom:calc(var(--quote-dock-height,84px) + 16px)}
  .wa-invitation{bottom:calc(var(--wa-bottom) + 136px)}
  body:has(.menu-button[aria-expanded="true"]) .wa-invitation{visibility:hidden}
}
@media(max-width:380px){.wa-concierge-header{padding-left:18px}.wa-concierge-body{padding-inline:18px}.wa-concierge h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){.sticky-whatsapp.wa-halo:before,.sticky-whatsapp.wa-halo:after{display:none;animation:none}}
@media print{.wa-invitation,.wa-concierge,.wa-announcement{display:none!important}}
