
.booking-assistant-toggle{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(var(--cookie-banner-height,0px) + max(22px,env(safe-area-inset-bottom)));z-index:80;display:inline-flex;align-items:center;justify-content:center;gap:10px;max-width:calc(100vw - 32px);min-height:58px;padding:14px 20px;color:var(--paper,#fdfaf4);background:var(--ink,#25332b);border:1px solid #b6a27b;border-radius:999px;box-shadow:0 12px 34px #17251f30;font:600 .9rem/1.2 var(--sans,Arial,sans-serif);letter-spacing:.01em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.booking-assistant-toggle:hover{transform:translateY(-2px);box-shadow:0 16px 38px #17251f40}
.booking-assistant-toggle-icon{display:inline-grid;place-items:center;color:#d9c49d;font-size:1.3rem}
.booking-assistant-panel{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(var(--cookie-banner-height,0px) + max(22px,env(safe-area-inset-bottom)) + 72px);z-index:81;width:min(430px,calc(100vw - 28px));max-height:min(760px,calc(100dvh - var(--cookie-banner-height,0px) - max(22px,env(safe-area-inset-bottom)) - 94px));overflow:auto;padding:24px;background:var(--paper,#fdfaf4);color:var(--ink,#25332b);border:1px solid var(--line,#dcd9ce);box-shadow:0 20px 70px #0e211b30;border-radius:20px}
.booking-assistant-panel[hidden]{display:none}
.booking-assistant-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.booking-assistant-kicker{margin:0 0 6px;color:var(--clay,#a54e36);font:600 .66rem/1.4 var(--sans,Arial,sans-serif);letter-spacing:.13em}
.booking-assistant-top h2{margin:0;font:400 2rem/1.05 var(--serif,Georgia,serif);letter-spacing:-.02em}
.booking-assistant-close{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line,#dcd9ce);border-radius:50%;background:transparent;color:inherit;font-size:1.7rem;line-height:1}
.booking-assistant-intro{margin:0 0 18px;color:var(--muted,#676b60);font-size:.88rem;line-height:1.5}
#ba-form{display:grid;gap:8px}
#ba-form label{margin-top:4px;color:var(--ink,#25332b);font-size:.8rem;font-weight:600;line-height:1.3}
#ba-form input,#ba-form select,#ba-form textarea{width:100%;min-width:0;min-height:43px;padding:10px 12px;border:1px solid #d3cec1;border-radius:9px;background:#fffefa;color:var(--ink,#25332b);font:400 .9rem/1.4 var(--sans,Arial,sans-serif)}
#ba-form input:focus,#ba-form select:focus,#ba-form textarea:focus{outline:2px solid #a54e36;outline-offset:2px}
#ba-form textarea{resize:vertical;min-height:68px}
.booking-assistant-actual-guests{display:grid;gap:8px}
.booking-assistant-actual-guests[hidden]{display:none!important}
.booking-assistant-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.booking-assistant-fields>div{min-width:0;display:grid;gap:8px}
.booking-assistant-disclaimer{margin:8px 0;padding:12px;background:#f3eee3;border-left:2px solid var(--gold,#b6a27b);color:#52564d;font-size:.73rem;line-height:1.5}
.booking-assistant-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:13px 16px;background:var(--ink,#25332b);color:var(--paper,#fdfaf4);border:0;border-radius:999px;font:600 .88rem/1.2 var(--sans,Arial,sans-serif)}
.booking-assistant-submit:hover{background:#36483d}
.booking-assistant-status{min-height:0;margin:0;color:var(--muted,#676b60);font-size:.78rem;line-height:1.4}
.booking-assistant-status:not(:empty){margin-top:4px}
.booking-assistant-footer{margin-top:16px;color:var(--muted,#676b60);font-size:.7rem;line-height:1.4}
@media(max-width:520px){.booking-assistant-toggle{right:max(12px,env(safe-area-inset-right));bottom:calc(var(--cookie-banner-height,0px) + max(12px,env(safe-area-inset-bottom)));min-height:52px;padding:12px 16px;font-size:.82rem}.booking-assistant-panel{right:10px;bottom:calc(var(--cookie-banner-height,0px) + max(10px,env(safe-area-inset-bottom)) + 62px);width:calc(100vw - 20px);max-height:calc(100dvh - var(--cookie-banner-height,0px) - max(10px,env(safe-area-inset-bottom)) - 82px);padding:20px 17px;border-radius:16px}.booking-assistant-top h2{font-size:1.8rem}.booking-assistant-fields{gap:9px}}
@media(prefers-reduced-motion:reduce){.booking-assistant-toggle{transition:none}.booking-assistant-toggle:hover{transform:none}}
