/* Powder Dayz extras (forecasts, news, contests, community, reports, resort cams, footer) */
.banner{position:relative;z-index:4;background:#0E4A8A;color:#F7FCFF;font:500 12px/1.3 "InterV",Inter,system-ui,sans-serif;letter-spacing:.04em;text-align:center;padding:7px 14px}
footer{background:#0b4a7a;color:#fff;padding:28px 16px 40px;margin-top:28px;font-size:14px;line-height:1.5}
footer a{color:#fff;text-decoration:underline;text-underline-offset:2px}
footer .ft{width:min(1040px,calc(100% - 8px));margin:0 auto}
footer .ft-b{font-weight:700;letter-spacing:-.01em;display:block;margin:0 0 10px;font-size:13px}
footer .ft-l{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0 0 12px}
footer .ft-l a{font-weight:600;text-decoration:none}
footer .ft-l a:hover{text-decoration:underline}
footer .ft-pay{font-weight:700;margin:0 0 10px}
footer .ft-spon{border:1px dashed rgba(255,255,255,.45);border-radius:12px;padding:12px 14px;margin:0 0 12px;color:#d8f0f5}
footer .ft-spon b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px}
footer .ft-a{color:#b8cfdc;font-size:12px;max-width:70ch;margin:0 0 8px}
footer:before{content:"";display:block;height:10px;margin:-28px -16px 18px;background:linear-gradient(180deg,#87C4E6 0 33%,#1A6AAE 33% 66%,#0E4A8A 66% 100%)}

/* lazy cam facade */
.facade{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;margin:0;border-radius:14px;overflow:hidden;background:#0b1520 center/cover no-repeat;cursor:pointer;color:#fff}
.facade img.poster{width:100%;height:100%;object-fit:cover;display:block}
.facade .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:12px;background:rgba(26,127,168,.92);color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.facade iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.live{position:absolute;left:8px;top:8px;background:rgba(11,37,64,.85);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:6px;pointer-events:none;z-index:1}
.cap{font-size:12px;color:#53697a;margin:6px 0 0}
.cap b{color:#0b2540;font-weight:600}
.camrow{display:flex;flex-wrap:nowrap;gap:10px;overflow-x:auto;padding:8px 0 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.cam-tile{appearance:none;border:0;background:transparent;padding:0;flex:0 0 136px;width:136px;cursor:pointer;text-align:left;color:#0b2540;scroll-snap-align:start;font:inherit}
.cam-tile .cam-thumb{display:block;border:1px solid #e6eef3;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#e8f3f9}
.cam-tile img{display:block;width:100%;height:100%;object-fit:cover}
.cam-tile .cam-lab{display:block;font-weight:600;font-size:12.5px;padding:6px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cam-tile[aria-pressed=true] .cam-thumb{border-color:#1a7fa8;box-shadow:0 0 0 2px rgba(26,127,168,.25)}
@media(min-width:900px){.camrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));overflow:visible}.cam-tile{flex:unset;width:auto}}

.tiles{display:grid;grid-template-columns:1fr;gap:22px 18px}
@media(min-width:700px){.tiles{grid-template-columns:1fr 1fr}}
.tiles .tile-link{display:block;margin-top:4px;font-weight:700}

/* news layout (from GR .np, content is stubs) */
.np{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.np .lead{display:block;border-radius:12px;overflow:hidden;background:#0b4a7a;position:relative;min-height:180px}
.np .lead .cap{position:absolute;left:0;right:0;bottom:0;padding:44px 14px 12px;background:linear-gradient(180deg,rgba(6,34,61,0),rgba(6,34,61,.88));color:#fff}
.np .lead h2{color:#fff;font-size:20px;line-height:1.2;margin:0 0 6px;font-weight:800;letter-spacing:-.02em}
.np .m{font-size:12px;color:#5a7584}
.soonbox{padding:20px;border:1px dashed #b8cfdc;border-radius:12px;background:#f3f8fb;color:#53697a}

/* contests */
.cx .fl{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 14px}
.cx .fl button,.cx .fl span.chip{font:inherit;font-size:13px;border:1.5px solid #0b4a7a;background:#fff;color:#0b4a7a;border-radius:16px;padding:4px 12px;font-weight:600}
.cx .fl span.chip.on{background:#0b4a7a;color:#fff}
.cx .series{display:grid;gap:12px}
.cx .series article{border-top:1px solid #e6eef3;padding:12px 0}
.cx .series h3{margin:0 0 4px;font-size:16px}
.cx .tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#1a7fa8;border:1px solid #9fd3e6;background:#e8f3f9;border-radius:4px;padding:1px 6px;margin-right:6px}

/* tickets */
.tickets{position:relative;margin:8px 0 16px;max-width:22rem}
.tk-btn{appearance:none;background:none;border:0;border-bottom:1px solid #53697a;color:#53697a;font:400 13px/1.4 inherit;padding:1px 0;cursor:pointer}
.tk-btn:hover,.tk-btn[aria-expanded=true]{color:#0b2540;border-bottom-color:#0b2540}
.tk-panel{position:absolute;left:0;top:calc(100% + 6px);z-index:20;min-width:16rem;background:#fff;border:1px solid #b8cfdc;box-shadow:0 6px 18px rgba(11,37,64,.12);padding:8px 0;border-radius:12px}
.tk-panel[hidden]{display:none}
.tk-panel a,.tk-slot{display:block;padding:7px 12px;color:#0b2540;text-decoration:none;font-size:14px}
.tk-panel a:hover{background:#e8f3f9}
.tk-slot{color:#53697a;font-style:italic;border-top:1px dotted #b8cfdc}
.tk-slot .ph{font-style:normal;font-size:11px;letter-spacing:.04em}

.pills{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 16px}
.pills a,.pills button{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #9fd3e6;background:#fff;color:#0b4a7a;border-radius:999px;padding:8px 16px;font:600 14px inherit;text-decoration:none;cursor:pointer}
.cmpill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border:1px solid #b8cfdc;border-radius:999px;background:#e8f3f9;color:#0b4a7a;font:600 11px/1 inherit;cursor:pointer}
.cmt{margin-top:10px;background:#fff;border:1px solid #e6eef3;padding:20px;border-radius:16px;box-shadow:0 1px 2px rgba(11,37,64,.05),0 4px 16px rgba(11,37,64,.05)}
.cmt[hidden]{display:none}
.k{font:600 11px/1 inherit;letter-spacing:.12em;text-transform:uppercase;color:#1a7fa8;margin:2px 0 10px}
.soon{font:600 13px/1 inherit;letter-spacing:.08em;text-transform:uppercase;color:#1a7fa8}
.post{border:1px solid #e6eef3;background:#fff;padding:12px 14px;border-radius:16px;margin:0 0 12px}
.post header{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;margin:0 0 6px}
.time{font-weight:500;font-size:12px;color:#53697a;font-variant-numeric:tabular-nums}
.rpt{display:grid;gap:8px;max-width:34rem;margin:0 0 16px}
.btn{font:600 14px/1 inherit;letter-spacing:.02em;border:0;background:linear-gradient(180deg,#1a9bb5,#0b4a7a);color:#fff;padding:9px 20px;cursor:pointer;border-radius:999px;box-shadow:0 1px 2px rgba(11,37,64,.15)}
.ex-tag{display:inline-block;font:600 10px/1 inherit;letter-spacing:.08em;text-transform:uppercase;color:#1a7fa8;border:1px solid #9fd3e6;padding:1px 5px;margin-left:6px;background:#e8f3f9;border-radius:4px}
.grid2{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:720px){.grid2{grid-template-columns:1fr 1fr}}
.mut{color:#53697a}
.region-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:12px 0}
.region-cards a{display:block;background:#fff;border:1px solid #e6eef3;border-radius:16px;padding:14px 16px;text-decoration:none;color:#0b2540;box-shadow:0 1px 2px rgba(11,37,64,.05)}
.region-cards a:hover{border-color:#1a7fa8}
.region-cards b{display:block;font-size:16px;margin:0 0 4px}
.region-cards span{font-size:12px;color:#53697a}
.legal{max-width:760px;font-size:16px;line-height:1.7}
.legal h2{margin-top:1.4em}

/* Powder Dayz wordmark is a wide sun+text SVG, not GR's small icon.
   Override leftover icon widths (32/28/24px) from the copied header CSS. */
nav .logo svg{width:200px!important;height:auto;display:block}
@media(max-width:900px){nav .logo svg{width:168px!important}}
@media(max-width:380px){nav .logo svg{width:146px!important}}

/* Stack form labels so community/legal stubs don't crowd inputs */
.legal form label,.legal form p label{display:block;margin:0 0 10px}
.legal form input,.legal form textarea{display:block;margin-top:4px;max-width:22rem;width:100%;box-sizing:border-box}

/* Six nav items vs GR's five: keep them on one row without clipping the last label */
@media(max-width:480px){
  body nav .nl{gap:6px!important}
  body nav .nl a{padding:5px 6px!important;font-size:12px!important}
}

/* Do not inherit heading .r uppercase/tracking on cam-grid resort links */
.tiles .tile-link{text-transform:none!important;letter-spacing:0!important;font-size:14px}

/* Six-item nav must fit a 390px phone; GR's 18px gap was sized for five links */
@media(max-width:900px){
  body nav .nl{gap:0!important;justify-content:space-between}
  body nav .nl a{padding:5px 4px!important;font-size:12px!important}
}

/* --- v1 layout fix: restore GR base resets and desktop chrome --- */
*,*::before,*::after{box-sizing:border-box}
a{color:inherit;text-decoration:none;text-underline-offset:3px}
nav a,nav .nl a,nav .logo,nav .don{text-decoration:none!important}
/* Content uses GR's 48px desktop gutters (type.css had only vertical padding). */
.wrap{padding-left:48px;padding-right:48px;max-width:1440px;margin-left:auto;margin-right:auto;width:100%}
@media(max-width:900px){
  .wrap{padding-left:16px!important;padding-right:16px!important}
}

/* Desktop header: wordmark left; Always Free, Donate, Search right; nav row below. */
@media(min-width:901px){
  nav{
    display:grid!important;
    grid-template-columns:auto 1fr auto auto;
    grid-template-rows:auto auto;
    align-items:center;
    column-gap:20px!important;
    row-gap:6px!important;
    padding:10px 48px 30px!important;
  }
  nav .logo{grid-column:1;grid-row:1;align-self:center}
  nav .logo svg{width:200px!important;height:auto;display:block}
  nav .free{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    width:auto!important;
  }
  nav .srch{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end;
    width:110px!important;
    margin:0!important;
    display:flex;
  }
  nav .nl{
    grid-column:1/-1!important;
    grid-row:2!important;
    display:flex!important;
    justify-content:flex-start!important;
    gap:26px!important;
    margin:0!important;
    min-width:0;
  }
  nav .nl a{
    text-decoration:none!important;
    font-size:14px!important;
    padding:6px 12px!important;
    white-space:nowrap;
  }
}

/* Cam of the Day / resort player: GR uses a 460px stage, not a full-bleed 16:9. */
.wrap .facade,
#player.player,
#player{
  height:460px!important;
  max-height:460px!important;
  aspect-ratio:auto!important;
}
@media(max-width:900px){
  .wrap .facade,
  #player.player,
  #player{
    height:auto;
    max-height:56vw;
    aspect-ratio:16/9;
  }
}

/* Home section cards should sit in the same column width as GR, not stretch loose. */
.brlw{align-items:stretch}
.snews,.hcr,.card.vote{max-width:none}

/* v2 directory, badges, outbound cams, search suggest — do not change header/layout rules above */
.passes{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.pass{display:inline-block;border:1.5px solid #0b4a7a;color:#0b4a7a;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:650;letter-spacing:.04em}
.cam-out{margin:10px 0;font-weight:700}
.cam-out a{text-decoration:underline}
.dir{width:100%;border-collapse:collapse}
.dir th,.dir td{text-align:left;padding:7px 8px;border-top:1px solid #e6eef3;vertical-align:top}
.rtab{width:100%;border-collapse:collapse;margin-top:8px}
.rtab th,.rtab td{text-align:left;padding:7px 8px;border-top:1px solid #e6eef3;vertical-align:top}
.meta-kv{margin:4px 0}
form.srch{position:relative}
#srSuggest{position:absolute;right:0;top:100%;z-index:40;background:#fff;border:1px solid #c5d6e2;border-radius:8px;max-height:320px;overflow:auto;min-width:min(100%,280px);width:max(100%,280px);box-shadow:0 8px 24px rgba(11,37,64,.12);display:none}
#srSuggest a{display:block;padding:8px 10px;text-decoration:none}
#srSuggest a:hover,#srSuggest a[aria-selected="true"]{background:#eef6fb}
#srSuggest .mut{font-size:12px}
.alpha{display:flex;flex-wrap:wrap;gap:6px 10px;margin:8px 0 14px}
.alist{columns:2;gap:28px;list-style:none;margin:0;padding:0}
@media(min-width:900px){.alist{columns:3}}
.alist li{break-inside:avoid;padding:3px 0}
.series details{margin:0 0 10px}


/* prod: mobile header spacing — give Always Free and Donate room from the search button */
@media(max-width:900px){
  nav{
    column-gap:12px!important;
    overflow:visible!important;
  }
  nav .logo img, nav .logo svg{width:150px!important;height:auto;display:block}
  nav .free{
    justify-self:end!important;
    margin:0 10px 0 0!important;
    gap:8px!important;
    min-width:0;
  }
  nav .free .af{
    font-size:9px!important;
    letter-spacing:.08em!important;
    white-space:nowrap;
  }
  nav a.don{flex-shrink:0}
  nav .srch{
    width:40px!important;
    min-width:40px!important;
    margin-left:0!important;
    justify-self:end!important;
  }
}
@media(max-width:380px){
  nav .logo img, nav .logo svg{width:128px!important}
  nav{column-gap:10px!important}
  nav .free{margin-right:8px!important;gap:6px!important}
}
