/* V357 — Global Book Now Navigator
   One global category-first booking launcher for header/footer/homepage CTAs.
*/
.v357-booking-navigator{position:fixed;inset:0;z-index:2147482500;display:none;align-items:center;justify-content:center;padding:18px;font-family:inherit}
.v357-booking-navigator.is-open{display:flex}
.v357-booking-navigator *{box-sizing:border-box}
.v357-booking-navigator-backdrop{position:absolute;inset:0;background:rgba(3,25,39,.78)}
.v357-booking-navigator-panel{position:relative;width:min(960px,100%);max-height:min(90vh,900px);display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:#f7fafc;box-shadow:0 28px 90px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.18)}
.v357-booking-navigator-top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:#062a47;color:#fff}
.v357-booking-navigator-back{appearance:none;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:9px 15px;font:inherit;font-weight:800;cursor:pointer}
.v357-booking-navigator-back:hover,.v357-booking-navigator-back:focus-visible{background:#fff;color:#062a47;outline:none}
.v357-booking-navigator-secure{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#dce9f2}
.v357-booking-navigator-secure::before{content:"";width:9px;height:9px;border-radius:50%;background:#38c172;box-shadow:0 0 0 4px rgba(56,193,114,.16)}
.v357-booking-navigator-head{padding:24px 24px 18px;background:linear-gradient(135deg,#073652,#0a4965);color:#fff}
.v357-booking-navigator-head small{display:block;margin-bottom:7px;color:#f5a623;font-size:12px;font-weight:900;letter-spacing:.15em}
.v357-booking-navigator-head h2{margin:0 0 8px;color:#fff;font-size:clamp(28px,4vw,43px);line-height:1.08}
.v357-booking-navigator-head p{margin:0;max-width:760px;color:#e8f2f7;line-height:1.65;font-size:15px}
.v357-booking-navigator-body{overflow:auto;overscroll-behavior:contain;padding:20px 20px 26px}
.v357-nav-intro{display:flex;align-items:flex-start;gap:12px;margin:0 0 16px;padding:13px 15px;border-radius:14px;background:#fff7ed;border:1px solid #fed7aa;color:#7c3d12;font-size:13px;line-height:1.55}
.v357-nav-intro b{color:#9a4b0f}
.v357-nav-stack{display:grid;gap:10px}
.v357-category,.v357-subcategory{background:#fff;border:1px solid #dce5eb;border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(6,42,71,.045)}
.v357-category>summary,.v357-subcategory>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;user-select:none;color:#062a47;font-weight:900}
.v357-category>summary::-webkit-details-marker,.v357-subcategory>summary::-webkit-details-marker{display:none}
.v357-category>summary{padding:17px 18px;font-size:16px}
.v357-subcategory>summary{padding:13px 14px;font-size:14px;background:#f7fafc}
.v357-category>summary:hover,.v357-category>summary:focus-visible,.v357-subcategory>summary:hover,.v357-subcategory>summary:focus-visible{background:#f0f7fb;outline:none}
.v357-category[open]>summary{background:#eaf4f8;border-bottom:1px solid #d8e5ec}
.v357-subcategory[open]>summary{background:#f3f8fb;border-bottom:1px solid #e1e9ee}
.v357-summary-copy{display:flex;align-items:center;gap:11px;min-width:0}
.v357-summary-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#062a47;color:#fff;font-size:16px}
.v357-summary-label{min-width:0}
.v357-summary-label span{display:block}
.v357-summary-label small{display:block;margin-top:2px;color:#637887;font-weight:600;font-size:11px;letter-spacing:0}
.v357-chevron{flex:0 0 auto;color:#f36b21;font-size:23px;line-height:1;transition:transform .2s ease}
.v357-category[open]>summary .v357-chevron,.v357-subcategory[open]>summary .v357-chevron{transform:rotate(90deg)}
.v357-options{display:grid;gap:8px;padding:11px}
.v357-subcategories{display:grid;gap:8px;padding:10px}
.v357-nav-item{appearance:none;width:100%;border:1px solid #e1e8ed;background:#fff;color:#15384c;border-radius:12px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease,background .12s ease}
.v357-nav-item:hover,.v357-nav-item:focus-visible{background:#fffaf5;border-color:#f5a267;box-shadow:0 8px 18px rgba(243,107,33,.09);transform:translateY(-1px);outline:none}
.v357-nav-item-main{display:block;min-width:0;font-weight:800;line-height:1.35}
.v357-nav-item small{display:block;margin-top:3px;color:#70818c;font-size:11px;font-weight:600}
.v357-nav-item-arrow{flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#f36b21;color:#fff;font-weight:900}
.v357-nav-status{display:none;margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff1f2;color:#9f1239;border:1px solid #fecdd3;font-size:13px;font-weight:700}
.v357-nav-status.is-visible{display:block}
.v357-selected-activity{animation:v357SelectedPulse 1.8s ease;scroll-margin-top:85px}
@keyframes v357SelectedPulse{0%,100%{box-shadow:inherit}20%,70%{box-shadow:0 0 0 4px rgba(243,107,33,.34),0 18px 45px rgba(6,42,71,.16)}}
@media (min-width:760px){.v357-nav-stack{grid-template-columns:1fr 1fr}.v357-category.v357-wide{grid-column:1/-1}.v357-options.v357-two-col{grid-template-columns:1fr 1fr}.v357-subcategories{grid-template-columns:1fr 1fr}.v357-subcategory.v357-wide{grid-column:1/-1}}
@media (max-width:620px){.v357-booking-navigator{padding:0;align-items:flex-end}.v357-booking-navigator-panel{width:100%;max-height:94vh;border-radius:22px 22px 0 0}.v357-booking-navigator-head{padding:20px 17px 15px}.v357-booking-navigator-body{padding:14px 12px 22px}.v357-booking-navigator-top{padding:11px 13px}.v357-booking-navigator-secure{font-size:10px}.v357-category>summary{padding:14px}.v357-summary-icon{width:31px;height:31px;flex-basis:31px}.v357-nav-item{padding:12px}.v357-booking-navigator-head h2{font-size:29px}}

/* V513: Header inside the booking dialog is content, not the global site header.
   Reset inherited element-wide header rules (76px height, flex row, sticky).
   Those rules compressed the mobile title into vertical overlapping text. */
.v357-booking-navigator header.v357-booking-navigator-head{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  height:auto!important;
  min-height:0!important;
  width:100%!important;
  z-index:auto!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:24px 24px 18px!important;
  overflow:visible!important;
  text-align:left!important;
}
.v357-booking-navigator-head small,
.v357-booking-navigator-head h2,
.v357-booking-navigator-head p{display:block;position:static;max-width:100%;white-space:normal;overflow-wrap:break-word}
@media(max-width:620px){
  .v357-booking-navigator header.v357-booking-navigator-head{padding:19px 18px 17px!important}
  .v357-booking-navigator-head h2{font-size:clamp(25px,7.2vw,30px);line-height:1.15}
  .v357-booking-navigator-head p{font-size:14px;line-height:1.55}
}
