/* ==== tbh-white-header ==== */

  /* ===== Header styled to match the ORIGINAL design ===== */
  /* Bar: light lavender with cyan accent */
  header.nav, header.nav .nav-inner { background:#EAF2FB !important; }
  header.nav { border-top:3px solid #00A9CE !important; border-bottom:1px solid #DFE2EC !important;
               box-shadow:0 2px 10px rgba(15,20,40,0.06) !important; }
  header.nav .brand { background:transparent !important; box-shadow:none !important; padding:0 !important; }
  header.nav .brand-logo { width:320px !important; max-width:320px !important; height:auto !important; aspect-ratio:616 / 154 !important; }

  /* All action controls = solid ink pills */
  header.nav .nav-phone, header.nav .nav-cta-call,
  header.nav .nav-cta-register, header.nav .nav-cta {
    background:#003087 !important; border:none !important;
  }
  /* Call + Register: WHITE text + icon */
  header.nav .nav-phone, header.nav .nav-cta-call, header.nav .nav-cta-register {
    color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
  }
  header.nav .nav-phone span, header.nav .nav-cta-call span, header.nav .nav-cta-register span {
    color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
  }
  header.nav .nav-phone svg, header.nav .nav-cta-call svg, header.nav .nav-cta-register svg {
    fill:#FFFFFF !important; stroke:#FFFFFF !important;
  }
  /* Book now: CYAN text + arrow */
  header.nav .nav-cta { color:#00A9CE !important; -webkit-text-fill-color:#00A9CE !important; }
  header.nav .nav-cta span { color:#00A9CE !important; -webkit-text-fill-color:#00A9CE !important; }
  header.nav .nav-cta svg { fill:#00A9CE !important; stroke:#00A9CE !important; }

  /* Menu (hamburger) — ink rounded square with cyan lines */
  /* Menu (hamburger): keep the site's show/hide; just recolour + ensure lines stack */
  header.nav .nav-toggle {
    background:#003087 !important; border:none !important; border-radius: 8px!important;
    flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:4px !important;
  }
  header.nav .nav-toggle span {
    display:block !important; width:20px !important; height:2.5px !important;
    background:#00A9CE !important; border-radius:8px!important;
  }

/* ==== tbh-mobile-fit ==== */

  @media (max-width: 768px){
    header.nav .wrap{ padding-left:5px !important; padding-right:4px !important; }
    header.nav .nav-inner{ padding-top:11px !important; padding-bottom:5px !important; }
    header.nav .brand{ margin-left:0 !important; }
    header.nav .brand-logo{ width:305px !important; max-width:305px !important; }   /* stretched further right */
    header.nav .nav-right{ gap:4px !important; flex-wrap:nowrap !important; }
    header.nav .nav-cta-call span{ display:none !important; }
    header.nav .nav-cta .book-long{ display:none !important; }
    header.nav .nav-cta .book-short{ display:inline !important; }
    header.nav .nav-cta-call, header.nav .nav-cta{ padding:8px 10px !important; }
    header.nav .nav-toggle{ flex:0 0 auto !important; }
  }
  @media (max-width: 480px){ header.nav .brand-logo{ width:200px !important; max-width:200px !important; } }
  @media (max-width: 380px){ header.nav .brand-logo{ width:166px !important; max-width:166px !important; } }

/* ==== tbh-topbar-compact ==== */

  @media (max-width: 768px){
    /* translate banner */
    .tr-banner{ padding:6px 10px !important; gap:6px !important; font-size:13px !important; }
    /* socials / accessibility / language bar */
    .top-bar{ padding:7px 0 !important; }
    .top-bar-inner{ gap:10px !important; }
    .top-socials{ gap:12px !important; }
    .top-socials svg{ width:18px !important; height:18px !important; }
    .a11y-controls{ gap:4px !important; }
    .a11y-controls > *{ padding:5px 9px !important; font-size:13px !important; }
    .lang-switch, .lang-trigger{ padding:5px 10px !important; font-size:13px !important; }
    /* OPEN NOW / same-day / emergency status block */
    .live-bar{ padding:7px 10px !important; font-size:0.8rem !important; }
    .live-bar-inner{ gap:6px !important; }
    .live-status, .live-availability, .emerg{ padding:4px 10px !important; }
  }
  @media (max-width: 480px){
    .top-bar{ padding:5px 0 !important; }
    .top-bar-inner{ gap:8px !important; flex-wrap:wrap !important; row-gap:6px !important; }
    .live-bar{ padding:6px 8px !important; }
  }

/* ==== tbh-liveonly-emerg ==== */

  #liveBar .live-status, #liveBar .live-availability, #liveBar .sep { display:none !important; }
  #liveBar .live-bar-inner { justify-content:center !important; }

/* ==== tbh-blue-fix ==== */

  /* dark tier-2 sub-nav bar: white text (top-level items only) */
  .nav-tier2, .nav-tier2 a, .nav-tier2 button, .nav-primary-btn, .nav-primary-link { color:#FFFFFF !important; }
  .pathway:hover .pathway-foot-primary, .pathway:hover .pathway-foot-primary *,
  .service-card .service-cta:hover { color:#FFFFFF !important; }
  /* desktop dropdown: clear blue-tinted panel + cyan accent, dark readable text, blue headings */
  .nav-dropdown { background:#C2D8F4 !important; border-top:3px solid #00A9CE !important; }
  .nav-dropdown, .nav-dropdown a, .nav-dropdown a * { color:#14181F !important; -webkit-text-fill-color:#14181F !important; }
  .nav-dropdown-col-title { color:#003087 !important; -webkit-text-fill-color:#003087 !important; }
  .nav-dropdown a:hover { background:#AFCBEE !important; }
  .nav-dropdown a:hover, .nav-dropdown a:hover * { color:#003087 !important; -webkit-text-fill-color:#003087 !important; }
  .nav-dropdown-highlight { background:#AFCCEE !important; }
  .nav-dropdown-highlight, .nav-dropdown-highlight * { color:#14181F !important; -webkit-text-fill-color:#14181F !important; }
  .nav-dropdown-highlight:hover { background:#003087 !important; }
  .nav-dropdown-highlight:hover, .nav-dropdown-highlight:hover * { color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important; }

/* ==== tbh-footer-concierge-fix ==== */

  /* Dark "plan your visit" card: light, readable text */
  .concierge .label, .concierge-contact .label { color:#CBD9EC !important; -webkit-text-fill-color:#CBD9EC !important; }
  .concierge .val, .concierge-contact .val, .concierge-contact a.val { color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important; }
  .concierge p, .concierge li, .concierge .concierge-intro { color:rgba(255,255,255,0.9) !important; }
  /* Footer logo: bigger, fills the width */
  .footer-brand{ width:100% !important; }
  .footer-logo{ width:90% !important; max-width:360px !important; height:auto !important; aspect-ratio:634 / 190 !important; }

/* ==== tbh-premium ==== */

  html{ scroll-behavior:smooth; }
  body{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
  h1,h2,h3,h4,.serif{ font-feature-settings:"liga" 1,"calt" 1,"kern" 1; }
  /* depth system: soft resting shadow on cards */
  .service-card,.pathway,.insight-card,.reg-card,.price-card,.feature-card,.team-card,.val-item,.testimonial,.cp-panel{
    box-shadow:0 8px 26px -14px rgba(0,33,78,0.22);
    transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease;
  }
  /* hover lift (desktop) */
  @media (hover:hover){
    .service-card:hover,.pathway:hover,.insight-card:hover,.reg-card:hover,.price-card:hover,.feature-card:hover,.team-card:hover{
      transform:translateY(-5px);
      box-shadow:var(--shadow-sm);
    }
  }
  a:focus-visible,button:focus-visible{ outline:2px solid var(--cyan); outline-offset:2px; border-radius: 8px; }
  /* scroll reveal */
  .reveal-init{ opacity:0; transform:translateY(22px); }
  .reveal-on{ opacity:1; transform:none; transition:opacity .7s ease, transform .75s cubic-bezier(.2,.7,.2,1); }
  @media (prefers-reduced-motion:reduce){ .reveal-init,.reveal-on{opacity:1!important;transform:none!important;} html{scroll-behavior:auto;} }
