
/* Shared booking request + concierge contact UI */
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.booking-error{grid-column:1/-1;background:#fff0ef;border:1px solid #e9b2ad;color:#8e332b;padding:.85rem 1rem;font-size:.86rem}
.booking-error[hidden]{display:none}
.booking-success{padding:.25rem}.success-check{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;background:var(--aqua-light,#c8f4ef);color:var(--ink-deep,#0a282e);font-weight:900;font-size:1.5rem;margin-bottom:1.4rem}.booking-success h2{font-size:clamp(2.2rem,5vw,3.8rem);margin-bottom:1rem}.success-lede{color:#5d6d70;max-width:42rem}.success-ref{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding:1rem 0;border-top:1px solid var(--line,#ddd);border-bottom:1px solid var(--line,#ddd);margin:1.5rem 0;font-size:.75rem}.success-ref span{font-weight:800;letter-spacing:.1em}.success-ref strong{font-size:1.2rem}.success-summary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line,#ddd);border-left:1px solid var(--line,#ddd)}.success-summary>div{padding:1rem;border-right:1px solid var(--line,#ddd);border-bottom:1px solid var(--line,#ddd)}.success-summary .wide{grid-column:1/-1}.success-summary span,.success-summary strong{display:block}.success-summary span{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:#748184}.success-summary strong{margin-top:.3rem}.success-action{background:#edf8f6;padding:1rem 1.1rem;margin-top:1rem}.success-action p{margin:0 0 .8rem}.success-action p:last-child{margin-bottom:0}.success-help{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:1.2rem;font-size:.8rem}.success-help span{font-weight:800}.success-help a{text-decoration:underline}.success-close{margin-top:1.3rem;color:var(--ink-deep,#0a282e)!important;border-color:var(--line,#ddd)!important}
.contact-dock{position:fixed;right:1.25rem;bottom:1.25rem;z-index:110;font-family:var(--font,Arial,sans-serif)}.contact-trigger{display:flex;align-items:center;gap:.6rem;border:0;border-radius:999px;background:#0a282e;color:#fff;padding:.9rem 1.15rem;font-weight:800;box-shadow:0 14px 35px rgba(0,0,0,.22);cursor:pointer}.contact-pulse{width:.55rem;height:.55rem;border-radius:50%;background:#70ddd3;box-shadow:0 0 0 0 rgba(112,221,211,.55);animation:contactPulse 2s infinite}.contact-menu{position:absolute;right:0;bottom:3.8rem;width:260px;background:#fbfaf6;color:#17343a;border:1px solid rgba(23,52,58,.12);box-shadow:0 20px 55px rgba(0,0,0,.18);padding:.75rem}.contact-menu[hidden]{display:none}.contact-menu>span{display:block;padding:.35rem .4rem .7rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.contact-menu a{display:block;padding:.85rem .8rem;background:#fff;border-top:1px solid rgba(23,52,58,.09)}.contact-menu b,.contact-menu small{display:block}.contact-menu small{color:#6e7b7e;margin-top:.15rem}@keyframes contactPulse{70%{box-shadow:0 0 0 9px rgba(112,221,211,0)}100%{box-shadow:0 0 0 0 rgba(112,221,211,0)}}
@media(max-width:700px){.success-summary{grid-template-columns:1fr}.success-summary .wide{grid-column:auto}.contact-dock{right:.85rem;bottom:4.65rem}.contact-trigger{padding:.8rem 1rem}.contact-menu{width:min(260px,calc(100vw - 1.7rem))}}
