.booking-modal[hidden],.ads-consent[hidden]{display:none!important}
.booking-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:clamp(10px,2vw,24px)}
.booking-modal-backdrop{position:absolute;inset:0;background:rgba(3,2,2,.82);backdrop-filter:blur(10px)}
.booking-modal-panel{position:relative;z-index:1;width:min(980px,calc(100vw - 24px));height:min(860px,calc(100vh - 24px));display:grid;grid-template-rows:auto 1fr auto;background:#fff;color:#14100e;border:1px solid rgba(255,255,255,.18);border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.booking-modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 18px;background:#0b0807;color:#fff}
.booking-modal-head>div{display:grid;gap:2px}
.booking-modal-kicker{font-size:10px;letter-spacing:.14em;color:#cfb27a}
.booking-modal-head strong{font-size:16px}
.booking-modal-close{appearance:none;border:0;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:2px 8px}
#booking-frame{width:100%;height:100%;border:0;background:#fff}
.booking-modal-fallback{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px 14px;background:#f5f1ea;font-size:12px}
.booking-modal-fallback a{color:#5d431e;font-weight:700}
.booking-modal-open{overflow:hidden}
.ads-consent{position:fixed;z-index:100010;left:50%;bottom:18px;transform:translateX(-50%);width:min(920px,calc(100vw - 24px));display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid rgba(207,178,122,.42);border-radius:18px;background:rgba(10,8,7,.97);color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.48);backdrop-filter:blur(12px)}
.ads-consent-copy{display:grid;gap:4px;max-width:650px}
.ads-consent-copy strong{color:#d8bd89;font-size:14px}
.ads-consent-copy p{margin:0;font-size:12px;line-height:1.45;color:rgba(255,255,255,.82)}
.ads-consent-copy a{font-size:11px;color:#d8bd89;text-decoration:underline}
.ads-consent-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ads-consent-actions button{appearance:none;border:1px solid #d8bd89;border-radius:999px;padding:10px 14px;background:#d8bd89;color:#17110a;font-weight:800;cursor:pointer}
.ads-consent-actions button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
@media(max-width:700px){
  .booking-modal{padding:0}
  .booking-modal-panel{width:100vw;height:100dvh;max-height:none;border-radius:0}
  .booking-modal-head{padding:12px 14px}
  .booking-modal-fallback{padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .ads-consent{bottom:max(10px,env(safe-area-inset-bottom));display:grid;gap:12px}
  .ads-consent-actions{justify-content:stretch}
  .ads-consent-actions button{flex:1}
}
