.booking-backdrop{position:fixed;z-index:100;inset:0;padding:20px;background:#000c;backdrop-filter:blur(12px);display:grid;place-items:center}
.booking-modal{width:min(820px,100%);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;background:radial-gradient(circle at 80% 0%,#f0b74c1f,transparent 30%),linear-gradient(145deg,#122019,#07100d 70%);border:1px solid #f3c15b6b;box-shadow:0 32px 100px #0009;border-radius:24px;padding:clamp(24px,5vw,48px);position:relative}
.modal-close{position:absolute;right:12px;top:10px;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff26;background:#ffffff0f;color:#fff;font-size:25px}
.eyebrow{display:block;padding-right:28px;font-size:.75rem;letter-spacing:.15em;color:var(--gold);font-weight:800}
.booking-modal h2{font:700 clamp(2rem,5vw,3rem)/1.08 "PT Serif",serif;margin:14px 0 12px;color:#f8d680;overflow-wrap:anywhere}
.modal-intro{color:#c8d0ca;margin:0 0 25px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{min-width:0;font-size:.875rem;color:#d9e0db}
input,select{width:100%;min-width:0;margin-top:7px;padding:13px 14px;border-radius:11px;background:#07110e;border:1px solid #ffffff29;color:#fff;font-size:1rem}
input:focus,select:focus{outline:none;border-color:#eec263;box-shadow:0 0 0 3px #eec2631f}
.food-row{display:flex;align-items:center;gap:10px;margin:18px 0}
.food-row input{width:20px;height:20px;flex-shrink:0;margin:0}
.booking-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}
.booking-summary>div{min-width:0;padding:13px;border-radius:13px;background:#ffffff0d;border:1px solid #ffffff14}
.booking-summary span{display:block;color:#b7c5bd;font-size:.875rem}
.booking-summary b{display:block;margin-top:6px;font-size:1.125rem;overflow-wrap:anywhere}
.booking-summary .total{background:#eebe571a;border-color:#eebe5759}
.booking-summary .total b{color:#ffd47d}
.submit-booking{width:100%;padding:16px;border-radius:14px;border:1px solid #f7d47c;background:linear-gradient(135deg,#f3cc6f,#d79b2f);color:#201408;font-weight:800;margin-top:16px}
.form-note{font-size:.875rem;color:#b5c3ba;margin:12px 0 0}
.form-error{color:#ffb7a9;border:1px solid #ca7763;padding:12px;border-radius:10px}
.booking-success{text-align:center;padding:18px 0}
.success-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:auto;background:#e2b54e;color:#142016;font-size:40px;font-weight:900}
.booking-success h3{font:700 2rem "PT Serif",serif;color:#f5d47e;margin:20px 0 8px}
.booking-success p{color:#c4cec7}
.success-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}
.success-actions button{padding:12px 14px;border-radius:10px;border:1px solid #ffffff29;background:#0c1914;color:#fff}
.no-script{position:fixed;bottom:0;z-index:60;background:#14251a;margin:0;padding:16px;width:100%;text-align:center}

@media(max-width:650px){.booking-backdrop{padding:10px}.booking-modal{padding:30px 18px;max-height:calc(100dvh - 20px)}.form-grid{grid-template-columns:1fr}.booking-summary{grid-template-columns:1fr 1fr}.success-actions{flex-direction:column}}
