/* Preview-only page treatments. Every rule is scoped to a page body class. */
:root{--mp-navy:#0E2846}
/* Shared editorial frame for the restyled pages */
body.pg-submit,body.pg-media,body.pg-weather,body.pg-evmap{background:var(--mp-navy)}
body.pg-submit .page-head h1,body.pg-media .page-head h1,body.pg-weather .page-head h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,7vw,5.4rem);line-height:.95;letter-spacing:-.03em;color:var(--sun1)}
body.pg-submit .page-head .kicker,body.pg-media .page-head .kicker,body.pg-weather .page-head .kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--link)}
body.pg-submit main>.section,body.pg-media main>.section,body.pg-weather main>.section{background:linear-gradient(rgba(14,40,70,.88),rgba(14,40,70,.93)),url('/assets/maps/lakes.svg?v=fine1105') center/cover fixed}

/* (1) Tell us what is on: a submission "ticket" */
body.pg-submit .v2-note{max-width:42rem;margin:0 auto 2rem;text-align:center;font-family:var(--serif);font-size:1.3rem;color:var(--fg)}
body.pg-submit .v2-form{max-width:46rem;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.4rem;padding:clamp(1.4rem,4vw,2.6rem);border:1px solid rgba(255,197,106,.55);border-radius:var(--r-lg);background:rgba(14,40,70,.78);box-shadow:0 0 0 6px rgba(14,40,70,.6),0 0 0 7px rgba(255,197,106,.25)}
body.pg-submit .v2-form>p{margin:0}
body.pg-submit .v2-form label{display:block;margin-bottom:.35rem;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sun1)}
body.pg-submit .v2-form input:not([type=checkbox]),body.pg-submit .v2-form select,body.pg-submit .v2-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;color:var(--ivory);font-size:1.1rem;padding:.5rem 0}
body.pg-submit .v2-form select option{color:#0E2846}
body.pg-submit .v2-form :focus-visible{outline:2px solid var(--sun1);outline-offset:3px}
body.pg-submit .v2-form>p:has(#es-title),body.pg-submit .v2-form>p:has(#es-desc),body.pg-submit .v2-form>p:has(#es-url),body.pg-submit .v2-form .nl-consent,body.pg-submit .v2-form>p:has(button){grid-column:1/-1}
body.pg-submit .v2-form #es-title{font-family:var(--serif);font-size:1.7rem}
body.pg-submit .v2-form textarea{min-height:8rem;border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.7rem}
body.pg-submit .v2-form .nl-consent{display:flex;gap:.6rem;text-transform:none;letter-spacing:0;font-size:1rem;color:var(--fg)}
body.pg-submit .v2-form>p:has(button){text-align:center;border-top:1px dashed rgba(255,197,106,.4);padding-top:1.2rem}
@media(max-width:40rem){body.pg-submit .v2-form{grid-template-columns:1fr}}

/* (3) Media: editorial masthead index */
body.pg-media .md-grp{max-width:60rem;margin:0 auto 3rem}
body.pg-media .md-grp>h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);color:var(--sun1);border-bottom:1px solid rgba(255,197,106,.5);padding-bottom:.4rem}
body.pg-media .md-grp>h2 .count{font-family:var(--sans);font-size:.9rem;color:var(--link);letter-spacing:.14em}
body.pg-media .md-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;list-style:none;padding:0}
body.pg-media .md{background:rgba(14,40,70,.72);border:1px solid var(--line-strong);border-top:3px solid var(--sun1);border-radius:var(--r-sm);padding:1.1rem 1.2rem}
body.pg-media .md h3{font-family:var(--serif);font-size:1.45rem;margin:0 0 .3rem}
body.pg-media .md .meta{color:var(--link);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
body.pg-media .md .md-url{font-size:.85rem;color:var(--muted)}
body.pg-media #media-status,body.pg-media .notebox{max-width:60rem;margin-left:auto;margin-right:auto}

/* (2) Events: full-page OSM lake map behind everything, centered content */
body.pg-evmap{background:linear-gradient(rgba(14,40,70,.3),rgba(14,40,70,.4)),url('/assets/maps/region-lakes.svg?v=r1') center/cover fixed,var(--mp-navy)}
body.pg-evmap .page-head,body.pg-evmap .filter,body.pg-evmap .paper,body.pg-evmap main>.section{background:transparent!important}
body.pg-evmap main{text-align:center}
body.pg-evmap main .chips,body.pg-evmap .cal-bar,body.pg-evmap .sub-head,body.pg-evmap .map-bar{justify-content:center}
body.pg-evmap .page-head .wrap>*{margin-left:auto;margin-right:auto}
body.pg-evmap .ev-tools,body.pg-evmap .cal-rows>li,body.pg-evmap .notebox,body.pg-evmap .ev-map,body.pg-evmap .cal-ph{background:rgba(14,40,70,.42);border:1px solid rgba(127,211,200,.28);border-radius:var(--r);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}
body.pg-evmap .cal-rows,body.pg-evmap .ev-list{margin-left:auto;margin-right:auto;max-width:52rem}
body.pg-evmap .cal-rows>li{margin-bottom:.6rem}
body.pg-evmap .ev-q{text-align:center}

/* (4) Weather: large current conditions, then a 7-day row */
body.pg-weather .wx-bar{display:flex;gap:.8rem;align-items:center;justify-content:flex-end;margin-bottom:1rem}
body.pg-weather .wx-bar label{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sun1)}
body.pg-weather .wx-bar select{background:var(--mp-navy);color:var(--ivory);border:1px solid var(--line-strong);border-radius:var(--r-sm);padding:.5rem .8rem;font-size:1rem;min-height:44px}
body.pg-weather .wx-now{display:flex;gap:clamp(1rem,4vw,3rem);align-items:center;padding:clamp(1.2rem,4vw,2.4rem);border:1px solid rgba(255,197,106,.5);border-radius:var(--r-lg);background:rgba(14,40,70,.7)}
body.pg-weather .wx-now-ico .wx-ico{width:clamp(7rem,18vw,12rem);height:auto}
body.pg-weather .wx-place{margin:0;letter-spacing:.2em;text-transform:uppercase;color:var(--link)}
body.pg-weather .wx-temp{margin:0;font-family:var(--serif);font-size:clamp(5rem,14vw,9rem);line-height:.9;color:var(--sun1)}
body.pg-weather .wx-temp span{font-size:.4em;vertical-align:top;margin-left:.1em}
body.pg-weather .wx-cond{margin:.2rem 0;font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--ivory)}
body.pg-weather .wx-det,body.pg-weather .wx-stn,body.pg-weather .wx-src{color:var(--muted);margin:.3rem 0}
body.pg-weather .wx-h{font-family:var(--serif);color:var(--sun1);margin:2rem 0 .8rem}
body.pg-weather .wx-week{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem}
body.pg-weather .wx-week li{text-align:center;padding:1rem .5rem;border:1px solid var(--line-strong);border-radius:var(--r);background:rgba(14,40,70,.7)}
body.pg-weather .wx-week .wx-ico{width:3.6rem;height:3.6rem}
body.pg-weather .wx-d{margin:0;font-weight:700;color:var(--ivory)}
body.pg-weather .wx-t{margin:.2rem 0;font-size:.85rem;color:var(--muted);min-height:2.4em}
body.pg-weather .wx-hl b{font-size:1.5rem;color:var(--sun1)}
body.pg-weather .wx-hl span{color:var(--link);font-size:1.1rem}
body.pg-weather .wx-warn{margin:1rem 0;padding:.8rem 1rem;border-left:4px solid var(--sun2);background:rgba(255,154,46,.12)}
@media(max-width:52rem){body.pg-weather .wx-week{grid-template-columns:1fr}body.pg-weather .wx-week li{display:grid;grid-template-columns:6rem 3.6rem 1fr auto;align-items:center;text-align:left;gap:.6rem}body.pg-weather .wx-now{flex-direction:column;text-align:center}body.pg-weather .wx-bar{justify-content:center}}
body.pg-evmap .page-head .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
body.pg-weather .wx-week .wx-ico{display:block;margin:.4rem auto}@media(max-width:52rem){body.pg-weather .wx-week .wx-ico{margin:0}}
/* Events: calendar centered above a centered listings column; stacked centered rows; quieter map */
body.pg-evmap .cal-lay{display:flex!important;flex-direction:column;align-items:center;gap:var(--s6)}
body.pg-evmap .cal-months{width:100%;max-width:30rem;margin:0 auto}
body.pg-evmap .cal-panel{width:100%;max-width:52rem;margin:0 auto}
body.pg-evmap .cal-rows>.ev,body.pg-evmap .cal-panel .cal-rows>.ev{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:.15rem}
/* Search/day filters set the hidden attribute; this layout rule is more specific than [hidden] and was leaving unmatched cards visible. */
body.pg-evmap .cal-rows>.ev[hidden],body.pg-evmap .cal-panel .cal-rows>.ev[hidden],body.pg-evmap .cal-rows>li[hidden],body.pg-evmap .day[hidden],body.pg-evmap .cal-daysec[hidden],body.pg-evmap #filter-empty[hidden]{display:none!important}
body.pg-evmap .cal-rows .cr-type{justify-self:auto;order:-1;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
body.pg-evmap .cal-rows .cr-time{order:0;color:var(--sun1)}
body.pg-evmap .cal-rows .cr-title{order:1;font-size:1.15rem}
body.pg-evmap .cal-rows .cr-where{order:2;color:var(--muted)}
body.pg-evmap .cal-rows>li{border-left:0!important;border-top:2px solid rgba(255,197,106,.45)!important}
body.pg-evmap{background:linear-gradient(rgba(14,40,70,.66),rgba(14,40,70,.74)),url('/assets/maps/region-lakes.svg?v=r1') center/cover fixed,var(--mp-navy)!important}
body.pg-evmap .cal-months{position:static!important}body.pg-evmap .cal-rows>li{box-shadow:none!important}
body.pg-evmap .cal-rows>li::before{display:none!important}body.pg-evmap .cal-ph,body.pg-evmap .cal-ph>*{text-align:center;margin-left:auto;margin-right:auto}
body.pg-evmap #filter-status,body.pg-evmap #filter-empty{display:block;width:100%;max-width:none;margin-left:auto;margin-right:auto;text-align:center}

/* Draft 2026-11-08: jump to listings on /events/. Scoped to the events map page. */
body.pg-evmap .ev-jump{margin:0.85rem auto 0;text-align:center}
body.pg-evmap .ev-jump a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.15rem;border-radius:999px;border:1px solid var(--sun1);color:var(--sun1);text-decoration:none;font:600 .9375rem/1 var(--sans);background:transparent}
body.pg-evmap .ev-jump a:hover,body.pg-evmap .ev-jump a:focus-visible{background:var(--sun1);color:var(--n0)}
body.pg-evmap .ev-jump a:focus-visible{outline:3px solid var(--sun1);outline-offset:2px}

/* Search lives directly under the jump control in the same page-head group.
   Compact one-line field: global .ev-q uses flex:1 1 16rem as a ROW width. In a
   column stack that basis becomes height (~16rem), which made the input a tall
   square. Override flex and pin height; do not change unscoped .ev-q. */
body.pg-evmap .page-head .ev-tools{margin:0.7rem auto 0;width:100%;max-width:18.5rem;height:auto;min-height:0;flex:none;padding:0.65rem 0.75rem 0.75rem;box-sizing:border-box}
body.pg-evmap .page-head .ev-tools .evt-q{display:block;height:auto;min-height:0;flex:none}
body.pg-evmap .page-head .ev-tools .flabel{display:block;margin:0 0 0.35rem;text-align:center}
body.pg-evmap .page-head .ev-q{display:block;flex:none;width:100%;max-width:100%;height:46px;min-height:44px;max-height:48px;box-sizing:border-box;padding:0 1rem;font-size:16px;line-height:1.2;aspect-ratio:auto}


/* Landing-events polish: desktop calendar sticky beside listings */
@media (min-width:64rem){
  body.pg-evmap .cal-lay{
    display:grid!important;
    grid-template-columns:minmax(16rem,22rem) minmax(0,1fr)!important;
    align-items:start!important;
    gap:1.75rem 2rem!important;
  }
  body.pg-evmap .cal-months{
    width:100%!important; max-width:none!important; margin:0!important;
    position:sticky!important; top:calc(var(--head-h,84px) + 1rem)!important;
  }
  body.pg-evmap .cal-panel{width:100%!important; max-width:none!important; margin:0!important}
  body.pg-evmap .cal-rows>.ev, body.pg-evmap .cal-panel .cal-rows>.ev{
    display:grid!important;
  }
}

/* Past day cells: match linked day cell shape on events brand polish */
body.pg-evmap .cal-grid td.cal-past > span.cd-n{
  display:flex; flex-direction:column; justify-content:flex-start;
  height:100%; min-height:44px; box-sizing:border-box;
  padding:6px 7px; border-radius:10px;
  background:#14344A; border:1px solid rgba(127,211,200,.22);
  color:rgba(248,245,236,.48); opacity:1;
}
body.pg-evmap .cal-grid{border-spacing:5px; margin:-5px}
body.pg-evmap .cal-grid td{height:4.35rem; vertical-align:stretch}

/* Events: solid navy header on mobile so page chrome never ghosts through above the sticky strip */
@media (max-width:768px){
  body.pg-evmap .site-head,
  body.pg-evmap .site-head.is-scrolled,
  body.pg-evmap .site-head.compact{
    background:#0E2846 !important;
    background-color:#0E2846 !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
    border-bottom:1px solid rgba(127,211,200,.22);
  }
}
