/* Reserva integrada: iframe en escritorio, modal en móvil */
.booking-desktop{margin-top:16px}
.booking-embed{display:block;width:100%;height:720px;border:0;border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(0,0,0,.25)}
.booking-mobile-btn{display:none;width:100%;margin-top:16px}
.booking-modal[hidden]{display:none!important}
.booking-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px}
.booking-modal__backdrop{position:absolute;inset:0;background:rgba(2,7,6,.82);backdrop-filter:blur(8px)}
.booking-modal__panel{position:relative;z-index:1;display:flex;flex-direction:column;width:min(100%,860px);max-height:92vh;background:#0b1411;border:1px solid rgba(244,238,221,.18);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.booking-modal__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(244,238,221,.14)}
.booking-modal__head h2{font-family:var(--display);font-size:1rem;margin:0;color:var(--text)}
.booking-modal__close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(244,238,221,.2);background:transparent;color:var(--text);font-size:1.4rem;line-height:1;cursor:pointer}
.booking-modal__frame{display:block;width:100%;height:min(72vh,720px);border:0;background:#fff;flex:1}
.booking-modal__fallback{margin:0;padding:9px 14px;font-size:11px;color:var(--muted);text-align:center;background:#0b1411}
.booking-modal__fallback a{color:var(--amber)}
body.booking-open{overflow:hidden}
@media(max-width:820px){
  .booking-desktop{display:none}
  .booking-mobile-btn{display:inline-flex}
  .booking-modal{padding:0}
  .booking-modal__panel{width:100%;height:100%;max-height:none;border-radius:0;border:0}
  .booking-modal__head{padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}
  .booking-modal__frame{height:auto;min-height:0;flex:1}
}

body.booking-open .mobile-cta{display:none!important}
