/* ==========================================================================
   Extra — temporary overrides + Divi-specific fixes
   Review periodically and clean when resolved upstream.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Base type — wins over Divi's dynamic CSS output
   -------------------------------------------------------------------------- */
html { font-size:17px !important; }
@media (min-width:1400px) { html { font-size:17.5px !important; } }
@media (max-width:480px) { html { font-size:16px !important; } }
body { font-size:1rem !important; line-height:1.6 !important; }
.et_pb_text, .et_pb_text p, .et_pb_module p, p, li { font-size:1rem !important; line-height:1.6 !important; }
.et-menu > li > a,
.et_pb_menu .et-menu-nav > ul > li > a { font-size:1rem !important; line-height:1.4 !important; }

/* --------------------------------------------------------------------------
   Layout — force no sidebar sitewide
   -------------------------------------------------------------------------- */
body.et_right_sidebar #sidebar { display:none !important; }
body.et_right_sidebar #left-area { width:100% !important; padding-right:0 !important; }
body.et_right_sidebar #main-content .container:before { display:none !important; }

/* --------------------------------------------------------------------------
   Layout — match content row width to header container (1440px)
   -------------------------------------------------------------------------- */
.et_pb_row { max-width:var(--container) !important; }

/* --------------------------------------------------------------------------
   Scroll — offset anchor targets by header height so fixed header
   doesn't cover the top of the section after smooth-scroll
   -------------------------------------------------------------------------- */
html { scroll-padding-top:var(--header-h); }

/* --------------------------------------------------------------------------
   Scroll cue — fixed so it's always in the viewport regardless of hero
   height quirks (Divi wrappers, safe-area, admin bar). JS hides it on scroll.
   -------------------------------------------------------------------------- */
.wmc-hero__scrollcue { position:fixed !important; bottom:40px !important; left:50% !important; transform:translateX(-50%) !important; z-index:999 !important; opacity:1; transition:opacity .3s ease; pointer-events:auto; }
.wmc-hero__scrollcue.wmc-scrollcue--hidden { display:none !important; }

/* --------------------------------------------------------------------------
   Titles — hide Divi auto page title (we add our own H1 in the builder)
   -------------------------------------------------------------------------- */
body:not(.home) .et_pb_post_title { display:none !important; }
body:not(.home) .entry-title { display:none !important; }

/* --------------------------------------------------------------------------
   Breadcrumbs — tighten Divi spacing above content
   -------------------------------------------------------------------------- */
.has-rm-breadcrumbs .et_post_meta_wrapper { display:none !important; }
.has-rm-breadcrumbs #main-content { padding-top:0 !important; }
.has-rm-breadcrumbs #main-content .container { padding-top:0 !important; }
.has-rm-breadcrumbs #et-main-area { padding-top:0 !important; }
.has-rm-breadcrumbs .et_builder_inner_content { margin-top:0 !important; }
.has-rm-breadcrumbs .rm-breadcrumbs-wrap { margin-top:0 !important; padding:0 !important; }
nav.rank-math-breadcrumb { display:none; }

/* --------------------------------------------------------------------------
   Hero — strip Divi container padding so section goes full-width
   -------------------------------------------------------------------------- */
.et_pb_section:has(.wmc-hero) { padding:0 !important; overflow:visible !important; }
.et_pb_row:has(.wmc-hero) { max-width:none !important; width:100% !important; padding:0 !important; margin:0 !important; }
.et_pb_column:has(.wmc-hero),
.et_pb_code:has(.wmc-hero) { padding:0 !important; margin:0 !important; }

/* --------------------------------------------------------------------------
   Scroll lock (booking panel open)
   -------------------------------------------------------------------------- */
body.wmc-no-scroll { overflow:hidden !important; }

/* --------------------------------------------------------------------------
   Nudge — homepage newsletter/promo slide-in
   Markup: <aside class="wmc-nudge"> ... <button class="wmc-nudge__close">×</button></aside>
   JS lives in Divi > Theme Options > <body> code.
   -------------------------------------------------------------------------- */
.wmc-nudge { display:none; position:fixed; bottom:24px; left:24px; z-index:99998; width:min(360px,90vw); background:var(--paper); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:var(--shadow-md); padding:var(--space-5); }
.wmc-nudge[data-open="1"] { display:block; }
.wmc-nudge__close { position:absolute; top:10px; right:10px; width:32px; height:32px; border:none; background:none; cursor:pointer; font-size:1.2rem; color:var(--mid); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.wmc-nudge__close:hover { background:var(--muted); color:var(--ink); }
@media (max-width:480px) { .wmc-nudge { bottom:0; left:0; right:0; width:100%; border-radius:var(--radius-md) var(--radius-md) 0 0; } }

/* --------------------------------------------------------------------------
   What's On page — placeholder for page-specific overrides
   -------------------------------------------------------------------------- */
/* .wmc-whats-on .et_pb_section { ... } */

/* --------------------------------------------------------------------------
   Gallery / blog articles — placeholder
   -------------------------------------------------------------------------- */
/* .wmc-gallery { ... } */

/* --------------------------------------------------------------------------
   Menu display — wmc-menu-* components
   Sections and items are built in Divi Code modules using these classes.
   See /assets/js/wmc-menu-nav.js for sticky nav + package toggle behaviour.
   -------------------------------------------------------------------------- */

/* Menu sticky nav bar */
.wmc-menu-navwrap { position:relative; z-index:100; background:var(--paper); border-bottom:1px solid var(--border); }
.wmc-menu-navwrap--fixed { position:fixed; top:var(--header-h); left:0; right:0; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.wmc-menu-navwrap-spacer { display:block; height:0; }
.wmc-menu-nav { display:flex; gap:4px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:0 16px; }
.wmc-menu-nav::-webkit-scrollbar { display:none; }
.wmc-menu-nav a { scroll-snap-align:start; flex:0 0 auto; padding:12px 14px; font:500 .9rem/1 var(--ff-body); color:var(--mid); text-decoration:none; border-bottom:2px solid transparent; white-space:nowrap; transition:color .15s ease, border-color .15s ease; }
.wmc-menu-nav a:hover,
.wmc-menu-nav a.is-active { color:var(--brand); border-bottom-color:var(--brand); }
.wmc-menu-navhint { display:none; }
@media (max-width:767px) { .wmc-menu-navhint { display:flex; align-items:center; justify-content:center; padding:8px 10px; background:var(--paper); color:var(--mid); font-size:1.2rem; cursor:pointer; border-left:1px solid var(--border); } }

/* Menu section + item */
.wmc-menu-section { margin:0 0 var(--space-8); }
.wmc-menu-section-title { font:700 clamp(1.25rem,1rem + 1vw,1.75rem)/1.2 var(--ff-heading); color:var(--ink); margin:0 0 var(--space-5); }
.wmc-menu-item { display:flex; justify-content:space-between; align-items:baseline; gap:var(--space-4); padding:var(--space-4) 0; border-bottom:1px solid var(--border); }
.wmc-menu-item-name { font:500 1rem/1.3 var(--ff-body); color:var(--ink); }
.wmc-menu-item-desc { font-size:.9rem; color:var(--mid); margin-top:4px; }
.wmc-menu-item-price { font:700 1rem/1 var(--ff-body); color:var(--brand); white-space:nowrap; }
.wmc-menu-icons { display:inline-flex; gap:4px; margin-left:6px; font-size:.8rem; }

/* Group packages — mobile toggle */
.wmc-pack { border:1px solid var(--border); border-radius:var(--radius-md); padding:var(--space-5); margin-bottom:var(--space-5); }
.wmc-pack-menu-toggle { display:none; }
@media (max-width:980px) {
  .wmc-pack-menu-toggle { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font:500 .9rem/1 var(--ff-body); color:var(--brand); background:none; border:none; padding:0; margin-top:var(--space-3); }
  .wmc-pack:not(.is-open) .wmc-pack-body { display:none; }
}
