/* ==========================================================================
   Header — Divi 5 Theme Builder (global header template)
   Nav: What's On | Menus | Groups | Order Online | [Book Now]
   Desktop: sticky, transparent-on-home, glass blur on scroll
   Mobile: hamburger + floating CTAs (Book Now + Newsletter)
   ========================================================================== */

:root { --header-h:84px; }
@media (max-width:980px) { :root { --header-h:72px; } }
/* --header-bg and --header-text defaults live in ui.css so brand.css can override them */

/* --------------------------------------------------------------------------
   Sticky wrapper
   -------------------------------------------------------------------------- */
.et-l--header { position:fixed; top:0; left:0; right:0; z-index:1000; }
.body-has-scrolled .et-l--header { box-shadow:0 8px 24px rgba(0,0,0,.06); }
body:not(.home) { padding-top:var(--header-h); }

/* Homepage: header starts hidden, reveals on scroll (handled by wmc-menu-nav.js) */
.home .et-l--header { transform:translateY(-110%); opacity:0; pointer-events:none; }
.home.wmc-header--show .et-l--header { transform:translateY(0); opacity:1; pointer-events:auto; }

/* --------------------------------------------------------------------------
   Header section + row (full-bleed + boxed inner)
   -------------------------------------------------------------------------- */
.et-l--header .et_pb_section { width:100%; max-width:none !important; margin:0 !important; padding:0 !important; background:var(--header-bg) !important; }
.et-l--header .et_pb_row_0_tb_header { width:100%; max-width:var(--container) !important; margin:0 auto !important; padding:0 16px !important; display:flex; align-items:center; justify-content:space-between; gap:24px; background:var(--header-bg) !important; min-height:var(--header-h); }

/* --------------------------------------------------------------------------
   Columns (logo | nav | cta)
   -------------------------------------------------------------------------- */
.et-l--header .et_pb_row_0_tb_header > .et_pb_column { display:flex; align-items:center; min-width:0; }
.et-l--header .et_pb_column_0_tb_header { flex:0 0 auto !important; }
.et-l--header .et_pb_column_1_tb_header { flex:1 1 auto !important; justify-content:flex-end !important; min-width:0 !important; }
.et-l--header .et_pb_column_2_tb_header { flex:0 0 auto !important; }
.et-l--header .et_pb_row_0_tb_header .et_flex_column_6_24,
.et-l--header .et_pb_row_0_tb_header .et_flex_column_12_24 { width:auto !important; max-width:none !important; }

/* --------------------------------------------------------------------------
   Navigation — desktop
   -------------------------------------------------------------------------- */
.et_pb_menu_0_tb_header .et_pb_menu__wrap { justify-content:flex-end !important; }
.et_pb_menu_0_tb_header .et-menu-nav > ul { display:flex; justify-content:flex-end !important; }
.et_pb_menu_0_tb_header .et-menu-nav > ul > li > a { padding:6px 12px; font:500 .95rem/1 var(--ff-body); letter-spacing:.02em; color:var(--header-text) !important; text-decoration:none; display:flex; align-items:center; }
.et_pb_menu_0_tb_header .et-menu-nav > ul > li > a:hover { color:var(--header-text) !important; opacity:.75; }
.et_pb_menu_0_tb_header .et-menu-nav > ul > li.current-menu-item > a,
.et_pb_menu_0_tb_header .et-menu-nav > ul > li.current_page_ancestor > a { color:var(--header-text) !important; font-weight:700; }

/* --------------------------------------------------------------------------
   Dropdowns — desktop
   -------------------------------------------------------------------------- */
.et_pb_menu_0_tb_header nav,
.et_pb_menu_0_tb_header .et_pb_menu__menu { overflow:visible; }
.et_pb_menu_0_tb_header .et_pb_menu__menu > nav > ul > li { position:relative; }
.et_pb_menu_0_tb_header .et_pb_menu__menu > nav > ul > li > .sub-menu { position:absolute; left:0; top:100%; margin-top:0; background:var(--paper); border:1px solid rgba(0,0,0,.06); border-radius:5px; box-shadow:0 12px 30px rgba(0,0,0,.10); padding:10px; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .18s ease, transform .18s ease, visibility 0s linear .18s; z-index:9999; min-width:200px; }
.et_pb_menu_0_tb_header .et_pb_menu__menu > nav > ul > li:hover > .sub-menu,
.et_pb_menu_0_tb_header .et_pb_menu__menu > nav > ul > li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
.et_pb_menu_0_tb_header .sub-menu a { color:var(--ink) !important; font:500 .9rem/1.4 var(--ff-body); padding:10px 14px !important; white-space:nowrap; display:block; }
.et_pb_menu_0_tb_header .sub-menu a:hover { color:var(--brand) !important; }

/* Dropdown arrow */
.et-menu .menu-item-has-children > a:first-child:after { content:""; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid currentColor; width:0; height:0; position:relative; top:3px; margin-left:6px; display:inline-block; }
.et-menu .menu-item-has-children > a .et_pb_menu_arrow { display:none !important; }

/* --------------------------------------------------------------------------
   CTA Button — "Book Now" (desktop header)
   -------------------------------------------------------------------------- */
.et_pb_button_0_tb_header { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:5px; font:700 .9rem/1 var(--ff-body); background:var(--brand) !important; color:#fff !important; border:none !important; text-decoration:none; transform:scale(1); transition:transform .15s ease, filter .15s ease; }
.et_pb_button_0_tb_header:hover { transform:scale(1.04); filter:brightness(1.08); color:#fff !important; text-decoration:none !important; }
.et_pb_button_0_tb_header,
.et_pb_button_0_tb_header:hover,
.et_pb_button_0_tb_header:focus,
.et_pb_button_0_tb_header:active { text-decoration:none !important; }

/* Buttons inside header — both use header tokens to invert against the bar colour */
/* "Book Now" (primary) — paper bg, dark text, paper border */
.et-l--header .wmc-btn--primary { background:var(--header-text) !important; color:var(--header-bg) !important; border:1px solid var(--header-text) !important; }
.et-l--header .wmc-btn--primary:hover { filter:brightness(.92); transform:translateY(-1px); color:var(--header-bg) !important; text-decoration:none !important; }
/* "Order Online" (ghost-ink) — transparent bg, paper text, paper border */
.et-l--header .wmc-btn--ghost-ink { background:transparent !important; color:var(--header-text) !important; border:1px solid var(--header-text) !important; }
.et-l--header .wmc-btn--ghost-ink:hover { background:rgba(255,255,255,.08) !important; color:var(--header-text) !important; text-decoration:none !important; }

/* --------------------------------------------------------------------------
   Logo
   -------------------------------------------------------------------------- */
.et_pb_image_0_tb_header a img { border:0; display:block; }
.et_pb_image_0_tb_header a { text-decoration:none !important; outline:0; }

/* --------------------------------------------------------------------------
   Nav menu IDs (override Divi default padding/margin)
   -------------------------------------------------------------------------- */
#menu-header-menu li li { padding:0 !important; margin:0 !important; }
#menu-header-menu li li > a { display:block; padding:10px 16px !important; }

/* --------------------------------------------------------------------------
   Mobile — hamburger + layout
   -------------------------------------------------------------------------- */
@media (max-width:980px) {
  .et_pb_menu .et_mobile_nav_menu { float:none; margin:0 6px 10px 0; display:flex; justify-content:flex-end; align-items:center; }
  .et_pb_menu .et_mobile_nav_menu .mobile_menu_bar { font-size:24px; color:var(--header-text); cursor:pointer; padding:8px; }
  .et_pb_menu .et_pb_menu__wrap { display:none !important; }
  .et_pb_menu.et_pb_menu_toggle_open .et_pb_menu__wrap { display:block !important; position:fixed; top:var(--header-h); left:0; right:0; bottom:0; background:var(--paper); padding:20px; overflow-y:auto; z-index:999; }
  .et_pb_menu.et_pb_menu_toggle_open .et_pb_menu__wrap ul { flex-direction:column; align-items:flex-start; }
  .et_pb_menu.et_pb_menu_toggle_open .et_pb_menu__wrap ul li a { font-size:1.1rem; padding:14px 0 !important; border-bottom:1px solid var(--border); display:block; width:100%; }
  .et_pb_menu.et_pb_menu_toggle_open .sub-menu { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding-left:16px; }
}

/* --------------------------------------------------------------------------
   Floating CTAs — mobile (Book Now + Newsletter)
   These are Divi button/text modules with custom classes,
   positioned fixed via these rules.
   -------------------------------------------------------------------------- */

/* Floating Book Now — shown only on mobile */
.wmc-float-book { display:none; }
@media (max-width:767px) {
  .wmc-float-book { display:inline-flex; position:fixed; right:16px; bottom:80px; z-index:99997; padding:12px 18px; border-radius:5px; background:var(--brand); color:#fff !important; font:700 .9rem/1 var(--ff-body); text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.22); }
  .wmc-float-book:hover { color:#fff !important; text-decoration:none !important; filter:brightness(1.08); }
  /* Hide when booking panel is open */
  body.wmc-no-scroll .wmc-float-book { display:none !important; }
}

/* Floating Newsletter — shown only on mobile */
.wmc-float-newsletter { display:none; }
@media (max-width:767px) {
  .wmc-float-newsletter { display:inline-flex; position:fixed; right:16px; bottom:24px; z-index:99996; padding:10px 14px; border-radius:5px; background:var(--ink); color:#fff !important; font:700 .85rem/1 var(--ff-body); text-decoration:none; box-shadow:0 6px 18px rgba(0,0,0,.20); }
  .wmc-float-newsletter:hover { color:#fff !important; text-decoration:none !important; filter:brightness(1.12); }
}

/* Hide desktop Book Now button on mobile (use floating one instead) */
@media (max-width:980px) {
  .et_pb_button_0_tb_header { display:none !important; }
}
