/* =======================================================
   EAGLE LAKES — REVISIONS (loads last; authoritative)
   ======================================================= */

/* ---- 1. Navbar fits on one line ---- */
.nav-wrap{ width:min(100% - 40px, 1440px)!important; gap:20px!important; }
.nav-main{ gap:22px!important; flex-wrap:nowrap!important; white-space:nowrap; }
.nav-main a{ font-size:12px!important; letter-spacing:.11em!important; }
.nav-dropdown > button{ font-size:12px!important; letter-spacing:.11em!important; }
.nav-cta{ gap:16px!important; }
.nav-cta .btn{ padding:12px 18px!important; font-size:12px!important; }
@media (min-width:1025px) and (max-width:1240px){ .nav-cta .phone{ display:none!important; } }

/* ---- 3. Home listings: 3 across x 2 rows, full-bleed image ---- */
.mag-grid{ grid-template-columns:repeat(3,1fr)!important; gap:20px!important; }
.mag-card,.mag-card.is-lg,.mag-card.is-md,.mag-card.is-sm,.mag-card.is-wide{ grid-column:auto!important; }
.mag-card{ position:relative; min-height:360px; background:#0D311F; overflow:hidden; }
.mag-card__img{ position:absolute!important; inset:0!important; aspect-ratio:auto!important; width:100%!important; height:100%!important; }
.mag-card__body{ background:linear-gradient(0deg, rgba(4,16,10,.94) 0%, rgba(4,16,10,.35) 55%, rgba(4,16,10,0) 100%)!important; }
@media (max-width:900px){ .mag-grid{ grid-template-columns:repeat(2,1fr)!important; } }
@media (max-width:600px){ .mag-grid{ grid-template-columns:1fr!important; } .mag-card{ min-height:300px; } }

/* ---- 5. Brands We Trust: bigger title + bigger logos ---- */
.section--brands .eyebrow{ font-family:"Archivo",sans-serif!important; font-size:22px!important; font-weight:700!important; letter-spacing:.02em!important; text-transform:none!important; color:#fff!important; gap:10px!important; margin-bottom:8px; }
.section--brands .eyebrow .num{ font-size:22px!important; color:var(--accent)!important; }
.brands-row{ gap:56px 76px!important; margin-top:40px!important; }
.brand-logo img{ height:66px!important; max-width:230px!important; opacity:.72; }
.brand-logo:hover img{ opacity:1; }
@media (max-width:600px){ .brand-logo img{ height:46px!important; } .brands-row{ gap:36px 44px!important; } }

/* ---- 6+7. Review cards: white bg, colored text, no quote overlap ---- */
.quote,.quotes-masonry .quote,
.section--dark .quote,.section--dark .quotes-masonry .quote{ background:#ffffff!important; color:#12261b!important; box-shadow:0 18px 44px -24px rgba(0,0,0,.55)!important; }
.quote blockquote,.quotes-masonry blockquote{ color:#12261b!important; }
.quote cite,.quotes-masonry cite,.section--dark .quote cite{ color:var(--accent)!important; }
.quote::before{ color:var(--accent)!important; opacity:.28!important; }
.quotes-masonry .quote{ padding:54px 30px 30px!important; position:relative; }
.quotes-masonry .quote::before{ content:"\201C"; font-family:"Spectral",serif; font-size:78px; color:var(--accent); opacity:.3; position:absolute; top:2px; left:24px; line-height:1; }
.quotes-masonry blockquote{ margin:0 0 14px!important; }

/* ---- 9. Hunts table padding ---- */
.trips-list{ border-color:var(--line)!important; }
.trip-row{ padding:30px 26px!important; grid-template-columns:96px 1fr 260px 150px!important; gap:32px!important; }
.trip-row:hover{ background:rgba(255,255,255,.05)!important; }
.trip-row__title p{ color:var(--ink-soft); }
@media (max-width:900px){ .trip-row{ grid-template-columns:1fr!important; padding:26px 18px!important; gap:12px!important; } }

/* ---- 10. Gallery filter + clickable tiles ---- */
.gallery-filters{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 34px; }
.gf-btn{ font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:9px 17px; border:1px solid var(--line); border-radius:999px; background:transparent; color:#fff; cursor:pointer; transition:all .25s; }
.gf-btn:hover{ border-color:var(--accent); color:var(--accent); }
.gf-btn.is-active{ background:var(--accent); color:#0b1f14; border-color:var(--accent); }
.gallery-masonry .tile{ cursor:zoom-in; }

/* Lightbox */
.lightbox{ position:fixed; inset:0; z-index:2000; background:rgba(4,10,7,.95); display:none; align-items:center; justify-content:center; }
.lightbox.open{ display:flex; }
.lb-img{ max-width:90vw; max-height:86vh; border-radius:10px; box-shadow:0 30px 90px rgba(0,0,0,.7); }
.lb-close{ position:absolute; top:18px; right:26px; font-size:42px; background:none; border:none; color:#fff; cursor:pointer; line-height:1; }
.lb-nav{ position:absolute; top:50%; transform:translateY(-50%); font-size:46px; background:none; border:none; color:#fff; cursor:pointer; padding:0 20px; user-select:none; }
.lb-prev{ left:6px; } .lb-next{ right:6px; }
.lb-nav:hover,.lb-close:hover{ color:var(--accent); }
@media (max-width:600px){ .lb-nav{ font-size:34px; padding:0 10px; } }

/* ---- 11. Detail "In the Field": 8 images, 4 per row ---- */
.field-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.field-grid .tile{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:10px; cursor:zoom-in; transition:transform .3s ease; }
.field-grid .tile:hover{ transform:scale(1.03); }
@media (max-width:900px){ .field-grid{ grid-template-columns:repeat(2,1fr); } }

/* ---- 12. Pricing cards redesign (detail pages) ---- */
.price-card{ background:linear-gradient(165deg,#0f3a24 0%, #071c12 100%)!important; border:1px solid rgba(246,122,14,.28)!important; border-radius:20px!important; padding:34px!important; box-shadow:0 30px 70px -30px rgba(0,0,0,.8)!important; position:sticky; top:110px; }
.price-card > small:first-child{ display:block; font-family:"IBM Plex Mono",monospace; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--accent); margin-bottom:18px; }
.price-card .pricing-rows li,.pricing-rows li{ display:block!important; padding:18px 0!important; border-bottom:1px solid rgba(255,255,255,.12)!important; }
.price-card .pricing-rows li:last-child{ border-bottom:0!important; }
.pkg-name{ display:block!important; font-family:"Archivo",sans-serif; font-weight:700; color:#fff; font-size:1.02rem; line-height:1.3; }
.pkg-price{ display:inline-block!important; font-family:"Archivo",sans-serif; font-weight:800; font-size:1.7rem; color:var(--accent)!important; margin-top:8px; }
.pkg-note{ display:block!important; font-family:"IBM Plex Mono",monospace; font-size:.72rem; letter-spacing:.04em; color:var(--ink-muted); margin-top:3px; }
.price-card .price-fine{ font-size:.78rem; color:var(--ink-muted); margin:16px 0 22px; }
.price-card .btn{ width:100%; justify-content:center; }

/* ---- 14. FAQ guest info: 2 x 2 grid ---- */
.guest-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.guest-grid .feature{ border:1px solid var(--line); border-radius:16px; padding:28px; }
.guest-grid .feature h3{ color:#fff; }
@media (max-width:700px){ .guest-grid{ grid-template-columns:1fr; } }

/* ---- 15. Contact: form beneath reach-us, no form background ---- */
.form-wrap{ grid-template-columns:1fr!important; max-width:760px; margin:0 auto; gap:40px!important; }
.contact-form-shell{ background:none!important; border:none!important; padding:0!important; }
.contact-form-shell h3{ color:#fff; }

/* ---- Booking buttons: keep them solid pills; tame MB wrapper ---- */
.btn.btn--primary,button.btn.btn--primary.mb_widget{ background:var(--accent)!important; color:#08160e!important; border-color:var(--accent)!important; font-weight:700!important; }
.btn.btn--primary:hover,button.btn.btn--primary.mb_widget:hover{ background:var(--accent-2)!important; }
.nav-cta .mb_widget,.hero__buttons .mb_widget,.cta-banner__right .mb_widget{ width:auto!important; }
.site-header .mb-full-width,.hero .mb-full-width,.cta-banner .mb-full-width{ width:auto!important; display:inline-block!important; }
.mb-full-width > div > div > button.btn{ background:var(--accent)!important; color:#08160e!important; }

/* ---- 16 + 17. Mobile nav: hide phone & book, fixed full-screen animated menu ---- */
@media (max-width:1024px){
  .site-header{ z-index:200; }
  .nav-cta .phone{ display:none!important; }
  .nav-cta .btn,.nav-cta .mb_widget{ display:none!important; }
  .nav-toggle{ display:inline-flex!important; position:relative; z-index:210; }

  .site-header .nav-main{
    position:fixed!important; inset:0!important; top:0!important; left:0!important; right:0!important; bottom:0!important;
    width:100%!important; height:100%!important; z-index:190;
    background:linear-gradient(160deg,#0D311F 0%, #04100A 100%)!important;
    display:flex!important; flex-direction:column!important; align-items:flex-start!important; justify-content:center!important;
    gap:2px!important; padding:100px 34px 44px!important; overflow-y:auto;
    border:none!important; box-shadow:none!important; border-radius:0!important;
    transform:translateX(100%); opacity:0; visibility:hidden;
    transition:transform .45s cubic-bezier(.7,0,.2,1), opacity .35s ease, visibility .45s;
  }
  .site-header.is-open .nav-main{ transform:translateX(0)!important; opacity:1!important; visibility:visible!important; }

  .site-header .nav-main > a,
  .site-header .nav-main .nav-dropdown{ width:100%!important; opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s cubic-bezier(.2,.7,.2,1); }
  .site-header.is-open .nav-main > a,
  .site-header.is-open .nav-main .nav-dropdown{ opacity:1; transform:translateY(0); }
  .site-header.is-open .nav-main > *:nth-child(1){ transition-delay:.10s; }
  .site-header.is-open .nav-main > *:nth-child(2){ transition-delay:.16s; }
  .site-header.is-open .nav-main > *:nth-child(3){ transition-delay:.22s; }
  .site-header.is-open .nav-main > *:nth-child(4){ transition-delay:.28s; }
  .site-header.is-open .nav-main > *:nth-child(5){ transition-delay:.34s; }
  .site-header.is-open .nav-main > *:nth-child(6){ transition-delay:.40s; }
  .site-header.is-open .nav-main > *:nth-child(7){ transition-delay:.46s; }
  .site-header.is-open .nav-main > *:nth-child(8){ transition-delay:.52s; }

  .site-header .nav-main > a{ font-family:"Archivo",sans-serif!important; font-size:1.5rem!important; font-weight:700!important; color:#fff!important; letter-spacing:-.01em!important; padding:9px 0!important; }
  .site-header .nav-main a::after{ display:none!important; }
  .nav-dropdown{ display:block!important; }
  .site-header .nav-dropdown > button{ font-family:"Archivo",sans-serif!important; font-size:1.5rem!important; font-weight:700!important; color:#fff!important; background:none!important; border:0!important; width:100%; text-align:left; padding:9px 0!important; }
  .site-header .nav-dropdown-menu{ position:static!important; display:none; opacity:1!important; visibility:visible!important; transform:none!important; background:transparent!important; border:0!important; box-shadow:none!important; padding:2px 0 12px 16px!important; }
  .site-header .nav-dropdown.open .nav-dropdown-menu{ display:block!important; }
  .site-header .nav-dropdown-menu a{ font-size:1.02rem!important; font-weight:500!important; color:var(--accent-2)!important; padding:8px 0!important; letter-spacing:.02em!important; }
  body.menu-open{ overflow:hidden; }
}

/* =======================================================
   v3 FIXES
   ======================================================= */
/* Remove the top notification bar entirely */
.utility-bar{ display:none!important; }

/* Booking button — consistent filled orange pill, dark readable text */
.btn--primary, a.btn--primary, button.btn--primary, button.mb_widget.btn, .mb_widget.btn{
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  padding:15px 30px!important; min-height:50px!important; border-radius:999px!important;
  font-family:"Archivo",sans-serif!important; font-size:13px!important; font-weight:700!important;
  letter-spacing:.09em!important; text-transform:uppercase!important; line-height:1!important;
  background:#F67A0E!important; color:#08160e!important; border:1px solid #F67A0E!important; box-shadow:none!important;
}
.btn--primary:hover, button.mb_widget.btn:hover{ background:#ff8f2e!important; color:#08160e!important; }
.hero__buttons .btn, .cta-banner__right .btn{ min-height:52px!important; }

/* Brands We Trust — optically equal sizing (sources have different internal padding) */
.brands-row{ align-items:center!important; gap:44px 64px!important; }
.brand-logo{ height:60px!important; display:flex!important; align-items:center!important; justify-content:center!important; }
.brand-logo img{ height:auto!important; width:auto!important; max-width:180px!important; object-fit:contain!important; filter:brightness(0) invert(1)!important; opacity:.8!important; transform:none!important; }
.brand-logo img[alt="Chene"]{ max-height:40px!important; }
.brand-logo img[alt="Benelli"]{ max-height:74px!important; }
.brand-logo img[alt="Mallard Bay"]{ max-height:58px!important; }
.brand-logo img[alt="Yeti"]{ max-height:38px!important; }
.brand-logo:hover img{ opacity:1!important; }

/* Mobile menu fix: backdrop-filter on the header made it the containing block
   for position:fixed children, clipping the full-screen menu. Disable on mobile. */
@media (max-width:1024px){
  .site-header,
  body:not(.home) .site-header,
  .site-header.is-scrolled{ backdrop-filter:none!important; -webkit-backdrop-filter:none!important; }
}
