/* Global booking tab + slide-in drawer. Loaded by site-layout.js. */
:root{--ads-booking-ink:#22223e;--ads-booking-red:#d6202d;--ads-booking-white:#fff}
html.ads-booking-open{overflow:hidden}
.ads-booking-widget{position:relative!important;z-index:2147483000!important}
.ads-booking-tab{position:fixed;right:0;top:52%;transform:translateY(-50%);z-index:2147483001!important;display:flex;align-items:center;gap:10px;min-height:48px;padding:14px 13px 14px 12px;border:0;background:var(--ads-booking-red);color:#fff;box-shadow:0 10px 28px rgba(20,20,35,.2);font:inherit;font-size:12px;font-weight:800;letter-spacing:.025em;cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;border-radius:8px 0 0 8px}
.ads-booking-tab__icon{display:grid;place-items:center;width:25px;height:25px;writing-mode:horizontal-tb;flex:0 0 auto}
.ads-booking-tab__icon svg{width:22px;height:22px}
.ads-booking-tab:hover,.ads-booking-tab:focus-visible{background:#bd1724;outline:none}
.ads-booking-backdrop{position:fixed;inset:0;z-index:2147483002!important;background:rgba(19,20,36,.34);opacity:0;transition:opacity .22s ease}
.ads-booking-backdrop.is-open{opacity:1}
.ads-booking-drawer{position:fixed;z-index:2147483003!important;top:0;right:0;width:min(680px,94vw);height:100dvh;background:#fff;box-shadow:-18px 0 55px rgba(18,19,34,.22);transform:translateX(102%);transition:transform .32s cubic-bezier(.22,.61,.36,1);display:grid;grid-template-rows:auto 1fr}
.ads-booking-drawer.is-open{transform:translateX(0)}
.ads-booking-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px 15px 22px;border-bottom:1px solid #e2e0db;background:#fff;color:var(--ads-booking-ink)}
.ads-booking-drawer__head div{display:flex;flex-direction:column;gap:3px}.ads-booking-drawer__head small{color:#d6202d;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ads-booking-drawer__head strong{font-size:18px;font-weight:600}
.ads-booking-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d8d6d1;background:#fff;color:#22223e;font-size:28px;line-height:1;cursor:pointer}.ads-booking-close:hover{border-color:#22223e}
.ads-booking-frame{display:block;width:100%;height:100%;border:0;background:#f6f5f2}

/* Mobile: a small floating launcher and a compact card-like drawer, not a full-screen takeover. */
@media(max-width:700px){
  .ads-booking-tab{right:12px;top:auto;bottom:14px;transform:none;writing-mode:horizontal-tb;text-orientation:mixed;min-height:44px;height:44px;max-width:112px;padding:0 14px 0 11px;gap:7px;border-radius:999px;font-size:11px;letter-spacing:.01em;box-shadow:0 8px 22px rgba(20,20,35,.24)}
  .ads-booking-tab__icon{width:21px;height:21px}.ads-booking-tab__icon svg{width:19px;height:19px}
  .ads-booking-backdrop{background:rgba(19,20,36,.22)}
  .ads-booking-drawer{top:auto;right:10px;bottom:10px;width:calc(100vw - 20px);height:min(76dvh,660px);border-radius:18px;overflow:hidden;box-shadow:0 18px 55px rgba(18,19,34,.28);transform:translateY(calc(100% + 18px));}
  .ads-booking-drawer.is-open{transform:translateY(0)}
  .ads-booking-drawer__head{padding:11px 12px 10px 15px;gap:12px}
  .ads-booking-drawer__head small{font-size:9px}.ads-booking-drawer__head strong{font-size:15px}
  .ads-booking-close{width:34px;height:34px;font-size:24px;border-radius:8px}
}
@media(max-width:420px){
  .ads-booking-drawer{right:8px;bottom:8px;width:calc(100vw - 16px);height:min(74dvh,620px)}
  .ads-booking-tab{right:10px;bottom:10px;height:42px;min-height:42px;max-width:104px;padding:0 12px 0 10px}
}
@media(prefers-reduced-motion:reduce){.ads-booking-drawer,.ads-booking-backdrop{transition:none}}
