/* Makwa River Outfitters: light/dark theme layer.
   Dark (graphite) is the art-directed default. Light is applied when the visitor's device
   prefers it or they flip the header toggle (see the inline script in each page's <head>).
   Photo-backed areas (heroes, the timberwolf card) stay dark in both themes via .keep-dark
   and the selectors listed at the bottom. */

:root{
  --bar-bg:color-mix(in srgb,var(--brown-950) 68%,transparent);
  --bar-filter:saturate(1.5) blur(18px);
  --topo-op:.12;
  --topo-filter:invert(1);
  --accent-gold-hover:#b6923f;
  color-scheme:dark;
}

/* ---------- light palette ---------- */
:root[data-theme="light"]{
  --brown-950:#f3f0e8;   /* paper: page background */
  --brown-900:#ebe7dd;   /* inputs, insets */
  --brown-800:#e2ddd1;   /* cards */
  --brown-700:#d3cdbf;   /* subtle borders */
  --brown-600:#857f72;   /* strong borders, faint text */
  --brown-400:#5c574e;   /* secondary text */
  --brown-200:#2c2a25;   /* body text */
  --olive-700:#e5e0d3;   /* alternate section band */
  --olive-500:#d5cfc0;
  --olive-300:#5a574f;
  --tan-500:#946519;     /* gold, deepened for contrast on paper */
  --tan-300:#7a5212;
  --cream-100:#1c1b18;   /* primary text */
  --accent-gold-hover:#7a5212;
  --bar-bg:color-mix(in srgb,#f3f0e8 70%,transparent);
  --topo-op:.085;
  --topo-filter:none;
  color-scheme:light;
}

/* ---------- areas that always stay dark (they sit on photos) ---------- */
.keep-dark,
:root[data-theme="light"] body:has(#top,.teaser-hero) .site-header:not(.is-scrolled),
:root[data-theme="light"] #top,
:root[data-theme="light"] .teaser-hero,
:root[data-theme="light"] .wolf-card,
:root[data-theme="light"] .lightbox-in{
  --brown-950:#0a0b0d;--brown-900:#0d0e11;--brown-800:#14161a;--brown-700:#1c1f24;
  --brown-600:#6f6d68;--brown-400:#9d9b96;--brown-200:#e7e5e1;
  --olive-700:#14161a;--olive-500:#22252b;--olive-300:#a7a5a0;
  --tan-500:#d8a24a;--tan-300:#e8c483;--cream-100:#f5f4ef;
  --accent-gold-hover:#b6923f;
  --bg-page:var(--brown-950);--bg-page-alt:var(--olive-700);--surface-card:var(--brown-800);
  --border-subtle:var(--brown-700);--border-strong:var(--brown-600);
  --text-primary:var(--cream-100);--text-secondary:var(--brown-400);
  --topo-op:.12;--topo-filter:invert(1);
  color-scheme:dark;
}

.keep-dark,:root[data-theme="light"] #top,:root[data-theme="light"] .wolf-card{color:var(--text-primary)}
:root[data-theme="light"] .wolf-card{color:var(--text-primary) !important}
:root[data-theme="light"] .schematic{background-image:repeating-linear-gradient(45deg,rgba(40,30,10,.04) 0,rgba(40,30,10,.04) 1px,transparent 1px,transparent 26px)}
:root[data-theme="light"] img[src*="bowhunting-league"]{filter:brightness(.2)}
:root[data-theme="light"] .land-map-el .leaflet-tile-pane{filter:sepia(.25) saturate(.9) brightness(1.02)}

:root[data-theme="light"] footer img[src*="mwo-logo-white"],
:root[data-theme="light"] footer img[src*="dimond-studios"]{filter:brightness(.14)}

/* ---------- topo overlays ---------- */
img.topo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:var(--topo-op);filter:var(--topo-filter);pointer-events:none}
@media (max-width:860px){img.topo{opacity:calc(var(--topo-op) * 1.15)}}

/* ---------- frosted top + bottom bars ---------- */
.site-header{transition:background-color .35s ease,border-color .35s ease,backdrop-filter .35s ease;border-bottom:1px solid transparent}
.site-header.is-scrolled{background:var(--bar-bg);-webkit-backdrop-filter:var(--bar-filter);backdrop-filter:var(--bar-filter);border-bottom-color:color-mix(in srgb,var(--border-subtle) 80%,transparent)}
.mobile-inquire-bar{background:var(--bar-bg);-webkit-backdrop-filter:var(--bar-filter);backdrop-filter:var(--bar-filter)}
:root[data-theme="light"] .site-header.is-scrolled .site-logo,
:root[data-theme="light"] body:not(:has(#top,.teaser-hero)) .site-header .site-logo{filter:brightness(.14)}

/* ---------- toggle ---------- */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;
  background:none;border:1px solid color-mix(in srgb,var(--cream-100) 28%,transparent);color:var(--cream-100);cursor:pointer;
  transition:border-color .25s ease,color .25s ease,transform .25s ease}
.theme-toggle:hover{border-color:var(--tan-500);color:var(--tan-500)}
.theme-toggle:active{transform:scale(.94)}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .ti-moon{fill:currentColor;stroke:none}
:root[data-theme="light"] .theme-toggle .ti-sun,
:root:not([data-theme="light"]) .theme-toggle .ti-moon{display:none}
.theme-toggle--m{display:none}
@media (max-width:1080px){
  .theme-toggle--m{display:inline-flex;position:absolute;left:20px;top:50%;transform:translateY(-50%)}
  .theme-toggle--m:active{transform:translateY(-50%) scale(.94)}
}

/* smooth cross-fade only while switching, so normal hovers/animations are untouched */
.theme-anim,.theme-anim *,.theme-anim *::before,.theme-anim *::after{
  transition:background-color .45s ease,color .45s ease,border-color .45s ease,fill .45s ease,opacity .45s ease !important}

@media (prefers-reduced-motion:reduce){.theme-anim,.theme-anim *{transition:none !important}}

/* ===================== header "Build Your Hunt" hover menu ===================== */
.hb-hdr{position:relative;display:inline-block}
.hb-hdr__menu{position:absolute;right:0;top:100%;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:5}
.hb-hdr:hover .hb-hdr__menu,.hb-hdr:focus-within .hb-hdr__menu{opacity:1;visibility:visible;transform:none}
.hb-hdr__inner{display:flex;flex-direction:column;min-width:180px;padding:6px;background:var(--brown-950);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.hb-hdr__inner a{padding:10px 12px;border-radius:4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--cream-100);white-space:nowrap}
.hb-hdr__inner a:hover,.hb-hdr__inner a:focus-visible{background:color-mix(in srgb,var(--tan-500) 16%,transparent);color:var(--tan-500)}

/* ===================== Build Your Hunt ===================== */
.hb-intro{text-align:center;color:var(--olive-300);max-width:620px;margin:24px auto 0;line-height:1.8;font-size:17px}
.hb-how{list-style:none;padding:0;margin:40px auto 0;max-width:1000px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hb-how li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border:1px solid var(--border-subtle);border-radius:6px;background:color-mix(in srgb,var(--brown-950) 55%,transparent);color:var(--brown-400);font-size:14px;line-height:1.55}
.hb-how strong{color:var(--cream-100);font-weight:600;font-size:15px}
.hb-how__n{flex:0 0 30px;height:30px;border-radius:50%;background:var(--tan-500);color:var(--brown-950);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.hb-urgency{display:flex;align-items:center;justify-content:center;gap:10px;margin:22px auto 0;max-width:780px;text-align:center;color:var(--tan-300);font-size:14px;line-height:1.6}
.hb-dot{width:8px;height:8px;border-radius:50%;background:#e0623a;flex-shrink:0;animation:hbPulse 2s infinite}
@keyframes hbPulse{0%{box-shadow:0 0 0 0 rgba(224,98,58,.55)}70%{box-shadow:0 0 0 10px rgba(224,98,58,0)}100%{box-shadow:0 0 0 0 rgba(224,98,58,0)}}
.hb-grid{margin-top:52px;max-width:1180px;display:grid;grid-template-columns:1.45fr 1fr;gap:60px;align-items:start}
.hb-main{background:color-mix(in srgb,var(--brown-950) 60%,transparent);border:1px solid var(--border-subtle);border-radius:8px;padding:36px 36px 32px;scroll-margin-top:120px}
.hb-progress{margin-bottom:28px}
.hb-progress__label{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px;font-size:12px;color:var(--brown-400);letter-spacing:.12em;text-transform:uppercase}
.hb-progress__label strong{color:var(--cream-100);font-family:var(--font-statement);font-style:italic;text-transform:none;letter-spacing:0;font-weight:400;font-size:24px}
.hb-progress__bar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.hb-progress__bar span{height:4px;border-radius:2px;background:var(--border-subtle);transition:background .3s ease}
.hb-progress__bar span.on{background:var(--tan-500)}
.hb-q{display:block;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-200);margin-bottom:12px}
.hb-q--sm{font-size:12px;color:var(--brown-400)}
.hb-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hb-tile{position:relative;height:230px;border-radius:6px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:var(--brown-900);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.hb-tile:hover{transform:translateY(-3px)}
.hb-tile img{transition:transform .6s ease}.hb-tile:hover img{transform:scale(1.04)}
.hb-tile.on{border-color:var(--tan-500);box-shadow:0 0 0 3px color-mix(in srgb,var(--tan-500) 30%,transparent),0 18px 36px rgba(0,0,0,.35)}
.hb-tile__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.04) 58%)}
.hb-tile__check{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#d8a24a;color:#0a0b0d;font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.hb-tile.on .hb-tile__check{transform:scale(1)}
.hb-tile__txt{position:absolute;left:18px;bottom:16px;right:18px;text-align:left;display:flex;flex-direction:column;gap:3px}
.hb-tile__name{color:#fff;font-family:var(--font-statement);font-style:italic;font-size:25px;line-height:1.15}
.hb-tile__sub{color:#e8c483;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.hb-pills{display:grid;gap:12px;margin-top:14px}.hb-pills--2{grid-template-columns:1fr 1fr}.hb-pills--3{grid-template-columns:repeat(3,1fr)}
.hb-stack .hb-pills{margin-top:0}
.hb-pill{position:relative;text-align:left;padding:17px 18px;border-radius:6px;border:1px solid var(--border-subtle);background:var(--brown-900);color:var(--brown-200);font-family:var(--font-body);font-size:15px;line-height:1.35;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}
.hb-pill:hover{border-color:var(--tan-500)}
.hb-pill.on{border-color:var(--tan-500);background:color-mix(in srgb,var(--tan-500) 15%,var(--brown-900));color:var(--cream-100);padding-right:42px}
.hb-pill.on::after{content:"✓";position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--tan-500);font-weight:700}
.hb-stack{display:flex;flex-direction:column;gap:24px}
.hb-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin-top:16px;padding:16px 18px;border:1px solid var(--border-subtle);border-radius:6px;background:var(--brown-900);cursor:pointer;text-align:left;font-family:var(--font-body);transition:border-color .2s ease}
.hb-stack .hb-switch{margin-top:0}
.hb-switch:hover,.hb-switch.on{border-color:color-mix(in srgb,var(--tan-500) 70%,transparent)}
.hb-switch__text{display:flex;flex-direction:column;gap:4px}
.hb-switch__label{color:var(--cream-100);font-size:15px}
.hb-switch__sub{color:var(--brown-400);font-size:12.5px;line-height:1.5}
.hb-switch__track{flex:0 0 46px;height:26px;border-radius:13px;background:var(--brown-800);border:1px solid var(--border-subtle);position:relative;transition:background .25s ease}
.hb-switch.on .hb-switch__track{background:var(--tan-500);border-color:var(--tan-500)}
.hb-switch__knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .25s ease}
.hb-switch.on .hb-switch__knob{left:22px}
.hb-grid2{gap:18px !important}
.hb-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.hb-hint{font-size:13px;color:var(--brown-400);margin:12px 0 0}
.hb-err{color:#e07a5f;font-size:13.5px;margin:10px 0 0}.hb-err a{color:inherit;text-decoration:underline}
.hb-note{font-size:12.5px;color:var(--brown-400);margin:0;line-height:1.6}
.hb-done .statement{font-size:26px;color:var(--cream-100);margin:0 0 10px}.hb-done p{color:var(--brown-400);line-height:1.7;margin:0 0 8px}
.hb-side{border-left:1px solid var(--border-subtle);padding-left:44px}
.hb-summary{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
.hb-summary__row{display:flex;justify-content:space-between;gap:12px;font-size:14px;border-bottom:1px solid var(--border-subtle);padding-bottom:10px}
.hb-summary__row span:first-child{color:var(--brown-400);text-transform:uppercase;letter-spacing:.08em;font-size:11px;flex-shrink:0;padding-top:2px}
.hb-summary__row span:last-child{color:var(--brown-600);text-align:right}.hb-summary__row span.has{color:var(--cream-100)}
.hb-contact{margin:0 0 8px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.hb-contact a{color:var(--cream-100);font-size:16px}.hb-contact span{color:var(--brown-400);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.hb-quick-open{display:block;width:100%;margin-top:26px;padding:16px 18px;text-align:left;border:1px solid var(--border-subtle);border-radius:6px;background:transparent;color:var(--tan-500);font-family:var(--font-body);font-size:14px;cursor:pointer;transition:border-color .2s ease}
.hb-quick-open span{color:var(--cream-100);font-weight:600}
.hb-quick-open:hover{border-color:var(--tan-500)}
.hb-quick{margin-top:26px;padding:20px;border:1px solid var(--border-subtle);border-radius:6px;background:color-mix(in srgb,var(--brown-950) 50%,transparent);display:flex;flex-direction:column;gap:10px}
.hb-quick__lead{margin:0 0 4px;color:var(--brown-400);font-size:13.5px}
.hb-quick input,.hb-quick textarea{padding:11px 13px;font-size:14px}
.hb-quick__send{align-self:flex-start;background:none;border:1px solid var(--tan-500);color:var(--tan-500);border-radius:3px;padding:10px 16px;font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,color .2s ease}
.hb-quick__send:hover:not(:disabled){background:var(--tan-500);color:var(--brown-950)}
.hb-quick__send:disabled{opacity:.5;cursor:default}
.hb-quick--done .statement{font-size:18px;color:var(--cream-100);margin:0 0 4px}.hb-quick--done p{margin:0;color:var(--brown-400);font-size:13.5px}
@media (max-width:860px){
  .hb-how{grid-template-columns:1fr;gap:10px;margin-top:28px}
  .hb-grid{gap:36px;margin-top:36px}
  .hb-main{padding:22px 16px 20px}
  .hb-tiles{gap:10px}.hb-tile{height:170px}.hb-tile__name{font-size:19px}.hb-tile__sub{font-size:10px}
  .hb-pills--2,.hb-pills--3{grid-template-columns:1fr}
  .hb-side{border-left:0;padding-left:0}
  .hb-actions > *{flex:1}
  .hb-progress__label strong{font-size:20px}
}

/* ===================== cancellation-list pop-up ===================== */
.mro-pop{position:fixed;right:24px;bottom:24px;z-index:900;width:min(370px,calc(100vw - 32px));background:var(--brown-950);border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.55);animation:mroPopIn .55s cubic-bezier(.34,1.56,.64,1) both;transition:opacity .3s ease,transform .3s ease}
.mro-pop.is-hidden{opacity:0;transform:translateY(20px);pointer-events:none}
@keyframes mroPopIn{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}
.mro-pop__img{height:118px;position:relative}
.mro-pop__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--brown-950),transparent 72%)}
.mro-pop__x{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:13px;cursor:pointer}
.mro-pop__body{position:relative;margin-top:-16px;padding:4px 22px 20px;display:flex;flex-direction:column;gap:10px}
.mro-pop__title{font-family:var(--font-statement);font-style:italic;font-weight:400;font-size:25px;line-height:1.2;color:var(--cream-100);margin:0}
.mro-pop__lead{color:var(--brown-400);font-size:14px;line-height:1.6;margin:0}
.mro-pop__chips{display:flex;gap:8px;flex-wrap:wrap}
.mro-pop__chip{padding:7px 12px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--brown-900);color:var(--brown-200);font-family:var(--font-body);font-size:12.5px;cursor:pointer}
.mro-pop__chip.on{border-color:var(--tan-500);color:var(--cream-100);background:color-mix(in srgb,var(--tan-500) 16%,var(--brown-900))}
.mro-pop__row{display:flex;gap:8px}
.mro-pop__row input{flex:1;min-width:0;padding:12px 13px;font-size:14px}
.mro-pop__go{background:var(--tan-500);color:var(--brown-950);border:0;border-radius:3px;padding:0 18px;font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.mro-pop__go:disabled{opacity:.55;cursor:default}
.mro-pop__cta{display:block;text-align:center;background:var(--tan-500);color:var(--brown-950) !important;border-radius:3px;padding:14px 16px;font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;margin-top:2px;transition:background .2s ease}
.mro-pop__cta:hover{background:var(--accent-gold-hover)}
.mro-pop__wait{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--border-subtle);padding-top:12px;margin-top:4px}
.mro-pop__wait-lead{color:var(--brown-400);font-size:13px;line-height:1.55;margin:0}
.mro-pop__wait-lead strong{color:var(--cream-100);font-weight:600}
.mro-pop__wait .mro-pop__go{background:transparent;color:var(--tan-500);border:1px solid var(--tan-500)}
.mro-pop__link{align-self:flex-start;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--tan-500)}
@media (max-width:860px){.mro-pop{left:12px;right:12px;width:auto;bottom:78px}.mro-pop__img{height:84px}}
@media (prefers-reduced-motion:reduce){.mro-pop{animation:mroFade .3s ease both}.hb-dot{animation:none}}
}
.hb-next-short{display:none}
.hb-actions button{white-space:nowrap}
@media (max-width:520px){
  .hb-next-long{display:none}.hb-next-short{display:inline}
  .hb-tile{height:150px}.hb-tile__sub{display:none}.hb-tile__txt{left:12px;bottom:12px}
  .mro-pop__img{display:none}.mro-pop__body{margin-top:0;padding:16px 18px 16px;gap:9px}.mro-pop__title{font-size:21px;padding-right:28px}
  .mro-pop__x{background:none;color:var(--brown-400);top:8px;right:8px}
}
@media (max-width:520px){#top{padding-top:128px !important}}
