/* New light working surface. Legacy layer keeps behaviors, not the old theme. */
.btr-region-page { background:#F5F7FA!important; }
.btr-region-page .btr-header,.btr-region-page .btr-footer { background:white; }
.btr-conditions-page { max-width:1560px; }
.btr-condition-intro { color:var(--muted); margin:0 0 22px; font-size:.9375rem; }
.btr-section-nav { display:flex; gap:24px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin:0 0 24px; padding:0; }
.btr-section-nav a { padding:10px 0 14px; font-size:.875rem; font-weight:600; border-bottom:2px solid transparent; }
.btr-section-nav a:hover,.btr-section-nav a:focus-visible { color:var(--blue); border-bottom-color:var(--blue); }
.btr-section-nav a[aria-disabled=true] { color:var(--muted); }
.btr-condition-content { min-width:0; color:var(--ink); font:1rem/1.5 var(--font); }
.btr-condition-content :is(.wp-block-columns,.wp-block-column,.wp-block-group) { max-width:none; width:100%; margin:0; padding:0; min-width:0; }
.btr-condition-content :is(.wp-block-columns,.wp-block-column) { display:block; }
.btr-condition-content :is(h2,h3,h4) { color:var(--ink); text-align:left; font-family:var(--font); line-height:1.25; letter-spacing:-.025em; }
.btr-condition-content h3 { font-size:1.25rem; margin:24px 0 14px; }
.btr-condition-content h4 { font-size:1rem; margin:20px 0 10px; }
.btr-condition-content a { color:var(--blue); text-underline-offset:3px; }
.btr-condition-content a:hover { text-decoration:underline; }
.btr-condition-content :is(button,select) { font-family:var(--font); }
.btr-condition-content .map-switcher-container {
  justify-content:flex-start; width:fit-content; max-width:100%; gap:4px; padding:5px; margin:0 0 18px;
  background:#E7ECF3; border:1px solid #DDE3EB; border-radius:6px; box-shadow:none; flex-wrap:wrap;
}
.btr-condition-content .map-switcher-container br,.btr-condition-content .icon-legend br { display:none; }
.btr-condition-content .switcher-btn {
  min-height:44px; padding:10px 22px; border:0; border-radius:3px; background:transparent; color:#4D5B6B;
  font-size:.9375rem; font-weight:600; box-shadow:none; transform:none;
}
.btr-condition-content .switcher-btn:hover { background:#FFFFFFA0; }
.btr-condition-content .switcher-btn.active { background:white; color:var(--blue); box-shadow:0 1px 3px #17202B15; transform:none; }
.btr-condition-content .container:has(> #map) {
  display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr); align-items:start; gap:22px; max-width:none; padding:0; margin:0 0 24px;
}
.btr-condition-content #map { width:100%; height:clamp(450px,68vh,760px); min-height:450px; max-height:none; padding:0; border:1px solid #D4DDE7; border-radius:8px; overflow:hidden; box-shadow:none; margin:0; }
.btr-condition-content #info-panel { min-width:0; min-height:0; padding:24px; background:white; border:1px solid var(--line); border-radius:8px; box-shadow:none; margin:0; overflow-wrap:anywhere; }
.btr-condition-content #resort-name { margin:0 0 20px; padding:0 0 18px; border-bottom:1px solid var(--line); color:var(--ink); background:transparent; border-radius:0; font-size:1.5rem; font-weight:650; line-height:1.2; text-align:left; letter-spacing:-.035em; }
.btr-condition-content #resort-name:empty { display:none; }
.btr-condition-content #webcam-frame { gap:16px; }
.btr-condition-content .webcam-section { min-width:0; width:100%; padding:0; margin:0 0 12px; }
.btr-condition-content .webcam-section p { font-size:.875rem; color:var(--muted); margin:8px 0 0; }
.btr-condition-content :is(video,iframe) { max-width:100%; }
.btr-condition-content :is(.webcam-section img,.webcam-section video,.trail-map-section img) { border-radius:4px; }
.btr-condition-content :is(.panel,.card,.widget-container,#avalanche-container) { background:white; color:var(--ink); border:1px solid var(--line); border-radius:8px; box-shadow:none; padding:24px; margin:0 0 24px; max-width:none; }
.btr-condition-content .card:hover { box-shadow:none; transform:none; }
.btr-condition-content .widget-container { overflow:hidden; }
.btr-condition-content .animated-bg { display:none; }
.btr-condition-content .time-display { display:flex!important; flex-direction:row; flex-wrap:wrap; align-items:baseline; text-align:left; gap:10px 20px; margin:0 0 24px; }
.btr-condition-content .location { margin:0; flex-shrink:1; text-align:left; font-size:1.5rem; line-height:1.25; font-weight:650; letter-spacing:-.03em; overflow-wrap:anywhere; }
.btr-condition-content .clock { font-size:1rem; line-height:1.4; }
.btr-condition-content .date { font-size:.875rem; color:var(--muted); line-height:1.4; white-space:normal; }
.btr-condition-content .current-weather { display:grid; grid-template-columns:minmax(200px,.85fr) minmax(0,2fr); grid-template-rows:auto auto; align-items:stretch; gap:24px; padding:0; background:transparent; border:0; box-shadow:none; }
.btr-condition-content .temp-info { grid-column:1; grid-row:1; background:#EFF4FB; color:var(--ink); border:0; border-radius:6px; box-shadow:none; padding:24px 20px; }
.btr-condition-content .temperature { font-size:clamp(3.5rem,6vw,5.5rem); font-weight:550; line-height:1.05; color:var(--ink); letter-spacing:-.06em; }
.btr-condition-content .weather-icon { height:88px; width:88px; }
.btr-condition-content :is(.feels-like-inline,.weather-condition) { color:var(--muted); font-size:1rem; line-height:1.4; }
.btr-condition-content .additional-info-grid.compact-details { grid-column:2; grid-row:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; width:100%; padding:0; }
.btr-condition-content .compact-details .weather-info-group { display:flex; flex-direction:column; gap:10px; min-width:0; }
.btr-condition-content .compact-details .weather-info-group .info-box {
  width:100%; min-width:0; min-height:90px; padding:12px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:white; box-shadow:none; transform:none; gap:4px;
}
.btr-condition-content .compact-details .info-label { color:var(--muted); font-size:.875rem; font-weight:400; line-height:1.4; }
.btr-condition-content .compact-details .info-value { color:var(--ink); font-size:1.1875rem; line-height:1.35; font-weight:650; white-space:normal; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.btr-condition-content .compact-details .info-box .info-value.small-text { font-size:1rem; }
.btr-condition-content .compact-details .info-icon { font-size:1.125rem; }
.btr-condition-content #last-updated-text-container { grid-column:1/-1; grid-row:2; margin:0; font-size:.8125rem; color:var(--muted); text-align:right; white-space:normal; }
.btr-condition-content :is(#hourly-forecast-container,#seven-day-forecast-container) { padding:24px 0 0; margin:28px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; white-space:normal; }
.btr-condition-content :is(#hourly-forecast-container,#seven-day-forecast-container)>h3 { margin:0 0 18px; font-size:1.25rem; }
.btr-condition-content :is(#hourly-forecast-list,#seven-day-forecast-list,.avi-days-row) { padding:2px 2px 14px; gap:12px; scrollbar-width:thin; scrollbar-color:#9EAABC transparent; }
.btr-condition-content :is(.hourly-forecast-card,.daily-forecast-card,.hourly-item,.expanded-hourly-item-horizontal) { background:#F8FAFD; border:1px solid #E3E8EF; border-radius:6px; box-shadow:none; transform:none; white-space:normal; }
.btr-condition-content .hourly-forecast-card { width:152px; padding:16px 12px; }
.btr-condition-content .daily-forecast-card { width:182px; min-width:182px; padding:18px 14px; }
.btr-condition-content :is(.hourly-forecast-card,.daily-forecast-card):hover { box-shadow:none; transform:none; border-color:#9EAABC; }
.btr-condition-content :is(.hourly-card-time,.daily-card-day) { color:var(--ink); font-size:1rem; font-weight:650; }
.btr-condition-content :is(.hourly-card-temp,.temp-high) { color:var(--ink); font-size:2rem; font-weight:650; letter-spacing:-.04em; }
.btr-condition-content :is(.hourly-card-condition,.daily-card-condition,.daily-card-date,.temp-low,.hourly-card-footer .footer-detail,.daily-card-footer .footer-detail,.hourly-item .detail-item,.hourly-forecast-card .detail-item) { color:var(--muted); font-size:.875rem; line-height:1.45; }
.btr-condition-content .icon-legend { color:var(--muted); font-size:.8125rem; gap:8px 14px; margin-block:18px 0; padding-block:14px 0; }
.btr-condition-content :is(.common-link-button,.resort-link,.forecast-toggle,.common-toggle-btn,.download-link,.payment-link,.expand-hourly-btn) {
  min-height:44px; padding:12px 16px; font:600 .9375rem/1.4 var(--font); background:var(--blue); color:white!important; border:0; border-radius:4px; box-shadow:none; transform:none; white-space:normal;
}
.btr-condition-content :is(.common-link-button,.resort-link,.forecast-toggle,.common-toggle-btn,.download-link,.payment-link,.expand-hourly-btn):hover { background:#183AB0; transform:none; }
.btr-condition-content .expand-hourly-btn { margin-top:16px; }
.btr-condition-content :is(.avi-day-card,.avi-section,.avi-problem-card) { background:#F8FAFD; border:1px solid #E3E8EF; border-radius:6px; box-shadow:none; transform:none; color:var(--ink); }
.btr-condition-content :is(.avi-day-name,.av-region,.av-poi-title,.avi-problem-title) { color:var(--ink); }
.btr-condition-content :is(.avi-day-date,.avi-band-label,.av-meta-line,.forecast-highlights,.avi-factor,.avi-advice-list,.avi-confidence-notes) { color:var(--muted); font-size:.875rem; }
.btr-condition-content .weather-alert { background:#FFF5D9; color:#6C4B00; border:1px solid #EBD7A2; border-radius:6px; }
.btr-condition-content #map .leaflet-bar { border:1px solid #CCD6E0; border-radius:5px; box-shadow:0 3px 10px #17202B12; overflow:hidden; }
.btr-condition-content #map .leaflet-bar a { width:44px; height:44px; line-height:44px; color:var(--ink); background:white; }
.btr-condition-content #map .leaflet-popup-content-wrapper { color:var(--ink); border-radius:6px; background:white; box-shadow:0 4px 20px #17202B18; }
.btr-condition-content #map .custom-map-control-button { width:44px; height:44px; border-radius:5px; border:1px solid #CCD6E0; box-shadow:0 3px 10px #17202B12; }
.btr-condition-content #bc-aq-leaderboard { border:0; padding:0; background:transparent; }
.btr-condition-content #bc-aq-leaderboard .resort-lb-header { flex-wrap:wrap; gap:12px; }
.btr-condition-content #bc-aq-leaderboard :is(.resort-lb-tabs,.resort-lb-tab) { border-radius:4px; }
.btr-condition-content #bc-aq-leaderboard .resort-lb-tab { font:600 .875rem/1.4 var(--font); padding:10px 12px; min-height:44px; }
.btr-condition-content #bc-aq-leaderboard .resort-lb-tab.active { background:var(--blue); color:white; }
.btr-condition-content #bc-aq-leaderboard #bc-aq-locate-btn { font:600 .875rem/1.4 var(--font); min-height:44px; padding:10px 12px; border-radius:4px; }
.btr-condition-content #bc-aq-leaderboard :is(.resort-lb-empty,.resort-lb-meta) { font-size:.8125rem; }
.btr-condition-content :is(#station-readings-panel,#liftRunContainer,.aq-panel) { border-radius:8px; box-shadow:none; background:white; color:var(--ink); border:1px solid var(--line); font-family:var(--font); }
.btr-condition-content :is(.station-readings-table-wrapper,.table-scroll,.aq-grid) { max-width:100%; overflow-x:auto; }
.btr-condition-content .station-readings-table { font-size:.875rem; }
.btr-condition-content :is(.station-header,.aq-title,.lr-title) { font-family:var(--font); color:var(--ink); }
.btr-condition-content .lr-toggle { color:var(--ink); min-height:44px; }
.btr-condition-content .status-list .row { background:#F8FAFD; color:var(--ink); border-color:var(--line); }
.btr-condition-content .lr-updated { color:var(--muted); font-size:.8125rem; }
.btr-condition-content :is(.aq-card,.aq-section) { background:#F8FAFD; box-shadow:none; border-radius:6px; color:var(--ink); }
.btr-condition-content .aq-card-tgl { font-size:.875rem; min-height:44px; }
.btr-condition-content :is(#map,#info-panel,#hourly-forecast-container,#avalanche-container) { scroll-margin-top:20px; }
@media(max-width:1100px) {
 .btr-condition-content .container:has(> #map){grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);}
 .btr-condition-content #info-panel{padding:18px;}
 .btr-condition-content .additional-info-grid.compact-details{grid-template-columns:1fr;}
 .btr-condition-content .compact-details .weather-info-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:800px) {
 .btr-condition-content .container:has(> #map){grid-template-columns:minmax(0,1fr);gap:16px;}
 .btr-condition-content #map{height:52svh;min-height:340px;}
 .btr-condition-content :is(.panel,.widget-container,#avalanche-container){padding:18px;}
 .btr-condition-content .current-weather{grid-template-columns:minmax(0,1fr);gap:20px;}
 .btr-condition-content .temp-info{grid-column:1;grid-row:1;}
 .btr-condition-content .additional-info-grid.compact-details{grid-column:1;grid-row:2;}
 .btr-condition-content #last-updated-text-container{grid-row:3;}
 .btr-section-nav{gap:20px;}
}

/* ============================================================
   BTR EXPLORE — POWDER HUNT
   ============================================================ */

.btr-condition-content .btr-powder-hunt {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  container-type: inline-size;
  container-name: powder-hunt;
}

.btr-condition-content .btr-powder-hunt-intro {
  margin-bottom: 16px;
}

.btr-condition-content .btr-powder-hunt-kicker {
  margin-bottom: 4px;
  font: 700 .72rem/1.2 var(--font);
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue);
}

.btr-condition-content .btr-powder-hunt-intro h3 {
  margin: 0;
  font: 700 1.35rem/1.2 var(--font);
  color: var(--ink);
}

.btr-condition-content .btr-powder-hunt-intro p {
  margin: 6px 0 0;
  font: 400 .9rem/1.5 var(--font);
  color: var(--muted);
}

.btr-condition-content .btr-powder-hunt .resort-lb-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.btr-condition-content .btr-powder-hunt #bc-aq-locate-btn {
  min-height: 44px;
  padding: 10px 14px;
  border-radius: 4px;
}

.btr-condition-content .btr-powder-hunt .resort-lb-tabs {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  background: var(--canvas);
  border: 1px solid var(--line);
  border-radius: 6px;
}

.btr-condition-content .btr-powder-hunt .resort-lb-empty {
  margin: 10px 0 12px;
  line-height: 1.45;
}

.btr-condition-content .btr-powder-hunt .resort-lb-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

@container powder-hunt (min-width: 760px) {
  .btr-condition-content .btr-powder-hunt .resort-lb-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.btr-condition-content .btr-powder-hunt .resort-lb-row {
  margin: 0;
  padding: 14px;
  min-width: 0;
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: none;
}

.btr-condition-content .btr-powder-hunt .resort-lb-row:hover {
  transform: translateY(-1px);
  border-color: var(--blue);
  box-shadow: 0 4px 14px rgba(0,0,0,.07);
}

.btr-condition-content .btr-powder-hunt .resort-lb-name {
  font: 700 .9rem/1.3 var(--font);
  color: var(--ink);
}

.btr-condition-content .btr-powder-hunt .resort-lb-meta {
  margin-top: 5px;
  color: var(--muted);
}

.btr-condition-content .btr-powder-hunt .resort-lb-stats {
  gap: 5px;
}

.btr-condition-content .btr-powder-hunt .resort-lb-stat {
  min-width: 50px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--canvas);
}

.btr-condition-content .btr-powder-hunt .resort-lb-stat-label {
  font: 700 .65rem/1.1 var(--font);
  color: var(--muted);
}

.btr-condition-content .btr-powder-hunt .resort-lb-stat-value {
  margin-top: 2px;
  font: 700 .8rem/1.2 var(--font);
  color: var(--ink);
}

@media (max-width: 760px) {
  .btr-condition-content .btr-powder-hunt {
    padding: 14px;
  }

  .btr-condition-content .btr-powder-hunt .resort-lb-header {
    align-items: stretch;
    flex-direction: column;
  }

  .btr-condition-content .btr-powder-hunt #bc-aq-locate-btn {
    width: 100%;
  }

  .btr-condition-content .btr-powder-hunt .resort-lb-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .btr-condition-content .btr-powder-hunt .resort-lb-list {
    grid-template-columns: 1fr;
  }

  .btr-condition-content .btr-powder-hunt .resort-lb-stats {
    flex-direction: row;
    align-items: center;
  }
}

/* =========================================================
   BTR APP-STYLE WEATHER
   Mirrors the Born To Ride mobile weather hierarchy.
   ========================================================= */

.btr-app-weather {
  margin: 18px 0;
  padding: 20px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 28px;
  color: var(--ink);
  box-shadow: 0 12px 30px rgba(22, 60, 53, .08);
}

.btr-app-weather-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.btr-app-weather-eyebrow {
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.4px;
}

.btr-app-weather-location {
  margin-top: 5px;
  font-size: 15px;
  font-weight: 700;
}

.btr-app-weather-time {
  text-align: right;
  color: var(--muted);
  font-size: 12px;
}

.btr-app-weather-time .clock {
  font-weight: 700;
}

.btr-app-weather-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0 22px;
}

.btr-app-weather-primary {
  min-width: 0;
  flex: 1;
}

.btr-app-weather .temperature {
  font-size: clamp(52px, 8vw, 72px);
  line-height: .95;
  font-weight: 300;
  letter-spacing: -3px;
  color: var(--ink);
}

.btr-app-weather .weather-condition {
  margin-top: 8px;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--ink);
}

.btr-app-weather-secondary {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}

.btr-app-weather-art {
  width: 100px;
  min-width: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btr-app-weather-art img {
  width: 90px;
  height: 90px;
  object-fit: contain;
}

.btr-app-weather-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 17px 0 18px;
  border-top: 1px solid var(--line);
}

.btr-app-weather-metric {
  min-width: 0;
  padding-right: 8px;
}

.btr-app-weather-metric-label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 10px;
}

.btr-app-weather-metric-label .material-symbols-outlined {
  color: var(--blue);
  font-size: 16px;
}

.btr-app-weather-metric-value {
  margin-top: 8px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
}

.btr-app-weather-metric-sub {
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
}

.btr-app-weather-details {
  border-top: 1px solid var(--line);
}

.btr-app-weather-details summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  list-style: none;
}

.btr-app-weather-details summary::-webkit-details-marker {
  display: none;
}

.btr-app-weather-details summary .material-symbols-outlined {
  color: var(--blue);
  font-size: 18px;
}

.btr-app-weather-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 22px;
  padding-bottom: 12px;
}

.btr-app-weather-detail-grid > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.btr-app-weather-detail-grid span {
  color: var(--muted);
  font-size: 11px;
}

.btr-app-weather-detail-grid strong {
  color: var(--ink);
  font-size: 13px;
}

.btr-app-weather-sun {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
}

.btr-app-weather-sun > div {
  display: flex;
  align-items: center;
  gap: 6px;
}

.btr-app-weather-sun .material-symbols-outlined {
  font-size: 17px;
}

.btr-app-weather-sun strong {
  color: var(--ink);
  font-weight: 600;
}

.btr-app-weather-updated {
  margin-top: 12px;
  color: var(--muted);
  font-size: 10px;
  text-align: right;
}

@media (max-width: 640px) {
  .btr-app-weather {
    padding: 18px;
    border-radius: 24px;
  }

  .btr-app-weather-art {
    width: 82px;
    min-width: 82px;
  }

  .btr-app-weather-art img {
    width: 76px;
    height: 76px;
  }

  .btr-app-weather-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .btr-app-weather-detail-grid {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   BTR APP-STYLE GDPS HOURLY FORECAST
   ========================================================== */

#hourly-forecast-container.btr-gdps-hourly-active {
  overflow: hidden;
}

#hourly-forecast-container.btr-gdps-hourly-active > h3 {
  margin-bottom: 14px;
}

#hourly-forecast-container.btr-gdps-hourly-active #hourly-forecast-list {
  display: flex;
  gap: 12px !important;
  overflow-x: auto;
  padding: 2px 2px 12px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.btr-gdps-hour-card {
  flex: 0 0 190px;
  scroll-snap-align: start;
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid var(--line, rgba(15, 23, 42, .10));
  border-radius: 22px;
  background: var(--paper, #fff);
  box-shadow: 0 10px 24px rgba(22, 60, 53, .07);
}

.btr-gdps-hour-time {
  margin-bottom: 10px;
  color: var(--muted, #64748b);
  font-size: 12px;
  font-weight: 700;
}

.btr-gdps-hour-temp {
  margin-bottom: 14px;
  color: var(--ink, #0f172a);
  font-size: 36px;
  font-weight: 300;
  letter-spacing: -2px;
  line-height: 1;
}

.btr-gdps-hour-primary {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--line, rgba(15, 23, 42, .10));
}

.btr-gdps-hour-primary .material-symbols-outlined {
  color: var(--blue, #2563eb);
  font-size: 20px;
}

.btr-gdps-hour-primary strong,
.btr-gdps-hour-primary small {
  display: block;
}

.btr-gdps-hour-primary strong {
  color: var(--ink, #0f172a);
  font-size: 14px;
  font-weight: 700;
}

.btr-gdps-hour-primary small {
  margin-top: 2px;
  color: var(--muted, #64748b);
  font-size: 10px;
}

.btr-gdps-hour-details {
  display: grid;
  gap: 8px;
  margin-top: 13px;
}

.btr-gdps-hour-details > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.btr-gdps-hour-details span {
  color: var(--muted, #64748b);
  font-size: 10px;
}

.btr-gdps-hour-details strong {
  color: var(--ink, #0f172a);
  font-size: 11px;
  font-weight: 700;
  text-align: right;
}

.btr-gdps-hourly-empty {
  padding: 18px;
  color: var(--muted, #64748b);
  font-size: 13px;
}

@media (max-width: 640px) {
  .btr-gdps-hour-card {
    flex-basis: 168px;
    padding: 14px;
  }

  .btr-gdps-hour-temp {
    font-size: 32px;
  }
}


/* ==========================================================
   BTR APP-STYLE GDPS 10-DAY OUTLOOK
   Matches Rest of Day visual system
   ========================================================== */

#seven-day-forecast-container.btr-gdps-daily-active {
  overflow: hidden;
}

#seven-day-forecast-container.btr-gdps-daily-active > h3 {
  margin-bottom: 14px;
}

#seven-day-forecast-container.btr-gdps-daily-active > h3::after {
  content: "Tap a day for hourly";
  display: inline-block;
  margin-left: 10px;
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
}

#seven-day-forecast-container.btr-gdps-daily-active #seven-day-forecast-list {
  display: grid !important;
  gap: 12px !important;
  overflow: visible;
  padding: 2px 2px 12px;
}

.btr-gdps-day-card {
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--line, rgba(15, 23, 42, .10));
  border-radius: 22px;
  background: var(--paper, #fff);
  box-shadow: 0 10px 24px rgba(22, 60, 53, .07);
}

.btr-gdps-day-main {
  display: grid;
  grid-template-columns: minmax(76px, .85fr) 48px minmax(90px, .7fr);
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 78px;
  margin: 0;
  padding: 15px 16px 10px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
}

.btr-gdps-day-main:hover {
  background: rgba(15, 23, 42, .018);
}

.btr-gdps-day-main:focus-visible {
  outline: 2px solid var(--blue, #2563eb);
  outline-offset: -3px;
}

.btr-gdps-day-date {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.btr-gdps-day-date strong {
  color: var(--ink, #0f172a);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.15;
}

.btr-gdps-day-date small {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 500;
}

.btr-gdps-day-icon {
  color: var(--blue, #2563eb);
  font-size: 32px;
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 32;
}

.btr-gdps-day-temps {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  white-space: nowrap;
}

.btr-gdps-day-temps strong {
  color: var(--ink, #0f172a);
  font-size: 28px;
  font-weight: 400;
  letter-spacing: -1.2px;
  line-height: 1;
}

.btr-gdps-day-temps small {
  color: var(--muted, #64748b);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -.5px;
}

.btr-gdps-day-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  padding: 0 16px 11px;
}

.btr-gdps-day-meta:empty {
  display: none;
}

.btr-gdps-day-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}

.btr-gdps-day-meta-item .material-symbols-outlined {
  color: var(--blue, #2563eb);
  font-size: 15px;
}

.btr-gdps-day-headline {
  padding: 0 16px;
  color: var(--ink, #0f172a);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
}

.btr-gdps-day-freezing {
  margin-top: 5px;
  padding: 0 16px 15px;
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}

.btr-gdps-day-expanded {
  margin: 0 16px 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line, rgba(15, 23, 42, .10));
}

.btr-gdps-day-expanded[hidden] {
  display: none !important;
}

.btr-gdps-day-expanded > p {
  margin: 0 0 8px;
  color: var(--ink, #0f172a);
  font-size: 12px;
  line-height: 1.55;
}

.btr-gdps-day-expanded > p + p {
  color: var(--muted, #64748b);
}

.btr-gdps-day-hourly {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  margin-top: 14px;
  padding: 2px 2px 8px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.btr-gdps-day-hour-card {
  display: grid;
  flex: 0 0 168px;
  gap: 6px;
  box-sizing: border-box;
  padding: 14px;
  border: 1px solid var(--line, rgba(15, 23, 42, .10));
  border-radius: 18px;
  background: var(--paper, #fff);
  scroll-snap-align: start;
}

.btr-gdps-day-hour-card > strong {
  color: var(--muted, #64748b);
  font-size: 11px;
  font-weight: 700;
}

.btr-gdps-day-hour-card > span {
  margin: 2px 0 5px;
  color: var(--ink, #0f172a);
  font-size: 28px;
  font-weight: 300;
  letter-spacing: -1.5px;
  line-height: 1;
}

.btr-gdps-day-hour-card > small {
  color: var(--muted, #64748b);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.35;
}

@media (min-width: 760px) {
  #seven-day-forecast-container.btr-gdps-daily-active #seven-day-forecast-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .btr-gdps-day-card {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  #seven-day-forecast-container.btr-gdps-daily-active > h3::after {
    display: block;
    margin: 4px 0 0;
  }

  .btr-gdps-day-main {
    grid-template-columns: minmax(66px, .8fr) 40px minmax(78px, .7fr);
    gap: 10px;
    min-height: 72px;
    padding: 14px 14px 9px;
  }

  .btr-gdps-day-icon {
    font-size: 28px;
  }

  .btr-gdps-day-temps strong {
    font-size: 25px;
  }

  .btr-gdps-day-temps small {
    font-size: 16px;
  }

  .btr-gdps-day-meta,
  .btr-gdps-day-headline {
    padding-left: 14px;
    padding-right: 14px;
  }

  .btr-gdps-day-freezing {
    padding-left: 14px;
    padding-right: 14px;
  }

  .btr-gdps-day-expanded {
    margin-left: 14px;
    margin-right: 14px;
  }

  .btr-gdps-day-hour-card {
    flex-basis: 158px;
  }
}


/* ==========================================================
   BTR GDPS HOURLY EXPANDED DETAILS
   ========================================================== */

.btr-gdps-hour-more {
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid var(--line, rgba(15, 23, 42, .10));
}

.btr-gdps-hour-more > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
  color: var(--blue, #2563eb);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.btr-gdps-hour-more > summary::-webkit-details-marker {
  display: none;
}

.btr-gdps-hour-more > summary::after {
  content: "+";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.btr-gdps-hour-more[open] > summary::after {
  content: "−";
}

.btr-gdps-hour-more-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line, rgba(15, 23, 42, .08));
}

.btr-gdps-hour-more-grid > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.btr-gdps-hour-more-grid span {
  color: var(--muted, #64748b);
  font-size: 10px;
}

.btr-gdps-hour-more-grid strong {
  color: var(--ink, #0f172a);
  font-size: 11px;
  font-weight: 700;
  text-align: right;
}

.btr-gdps-hour-more[open] {
  min-width: 0;
}


/* ==========================================================
   BTR GDPS 10-DAY HOURLY — APP STYLE
   ========================================================== */

.btr-gdps-day-hour-card {
  flex: 0 0 190px;
  display: block;
  padding: 16px;
  border-radius: 22px;
  box-shadow: 0 10px 24px rgba(22, 60, 53, .07);
}

.btr-gdps-day-hour-time {
  margin-bottom: 10px;
  color: var(--muted, #64748b);
  font-size: 12px;
  font-weight: 700;
}

.btr-gdps-day-hour-temp {
  margin-bottom: 12px;
  color: var(--ink, #0f172a);
  font-size: 34px;
  font-weight: 300;
  letter-spacing: -2px;
  line-height: 1;
}

.btr-gdps-day-hour-condition {
  min-height: 30px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line, rgba(15, 23, 42, .10));
  color: var(--ink, #0f172a);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.btr-gdps-day-hour-core {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.btr-gdps-day-hour-core > div,
.btr-gdps-day-hour-more-grid > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.btr-gdps-day-hour-core span,
.btr-gdps-day-hour-more-grid span {
  color: var(--muted, #64748b);
  font-size: 10px;
}

.btr-gdps-day-hour-core strong,
.btr-gdps-day-hour-more-grid strong {
  color: var(--ink, #0f172a);
  font-size: 11px;
  font-weight: 700;
  text-align: right;
}

.btr-gdps-day-hour-more {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--line, rgba(15, 23, 42, .10));
}

.btr-gdps-day-hour-more > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 30px;
  color: var(--blue, #2563eb);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.btr-gdps-day-hour-more > summary::-webkit-details-marker {
  display: none;
}

.btr-gdps-day-hour-more > summary::after {
  content: "+";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

.btr-gdps-day-hour-more[open] > summary::after {
  content: "−";
}

.btr-gdps-day-hour-more-grid {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line, rgba(15, 23, 42, .08));
}

@media (max-width: 640px) {
  .btr-gdps-day-hour-card {
    flex-basis: 168px;
    padding: 14px;
  }

  .btr-gdps-day-hour-temp {
    font-size: 32px;
  }
}


/* ==========================================================
   GDPS FORECAST CHARTS — PREVIEW ONLY
   Native BTR app-inspired chart presentation
   ========================================================== */

.btr-gdps-charts {
  margin-top: 22px;
}

.btr-gdps-charts[hidden] {
  display: none !important;
}

.btr-gdps-charts-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.btr-gdps-charts-header h3 {
  margin: 2px 0 0;
}

.btr-gdps-charts-eyebrow {
  margin: 0;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: #163c35;
}

.btr-gdps-chart-range {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.btr-gdps-chart-range > span,
.btr-gdps-profile-picker > span {
  font-size: 12px;
  font-weight: 700;
}

.btr-gdps-chart-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.btr-gdps-chart-controls button {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid rgba(22, 60, 53, 0.16);
  border-radius: 14px;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    color 0.15s ease,
    transform 0.15s ease;
}

.btr-gdps-chart-controls button:hover {
  border-color: rgba(22, 60, 53, 0.35);
}

.btr-gdps-chart-controls button:active {
  transform: scale(0.97);
}

.btr-gdps-chart-controls button.is-active {
  background: #163c35;
  border-color: #163c35;
  color: #fff;
}

.btr-gdps-chart-section {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 10px 20px rgba(22, 60, 53, 0.08);
}

.btr-gdps-chart-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 11px;
}

.btr-gdps-chart-title h4 {
  margin: 0;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 700;
}

.btr-gdps-chart-section > .btr-gdps-chart-controls {
  margin-bottom: 13px;
}

.btr-gdps-chart-wrap {
  position: relative;
  width: 100%;
  height: 230px;
  min-height: 230px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: 16px;
  background: #fff;
}

.btr-gdps-chart-wrap canvas {
  width: 100% !important;
  height: 100% !important;
}

.btr-gdps-profile-chart-wrap {
  height: 260px;
  min-height: 260px;
}

.btr-gdps-profile-picker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.btr-gdps-profile-picker select {
  min-height: 40px;
  padding: 7px 34px 7px 12px;
  border: 1px solid rgba(22, 60, 53, 0.16);
  border-radius: 14px;
  background: #fff;
  color: #334155;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
}

@media (max-width: 700px) {
  .btr-gdps-chart-range,
  .btr-gdps-profile-picker {
    align-items: flex-start;
    flex-direction: column;
  }

  .btr-gdps-chart-controls {
    width: 100%;
  }

  .btr-gdps-chart-controls button {
    min-height: 40px;
  }

  #gdps-chart-range {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 5px;
  }

  #gdps-chart-range button {
    width: 100%;
    padding-left: 4px;
    padding-right: 4px;
  }

  .btr-gdps-chart-section {
    padding: 14px;
    border-radius: 20px;
  }

  .btr-gdps-chart-wrap {
    height: 210px;
    min-height: 210px;
  }

  .btr-gdps-profile-chart-wrap {
    height: 250px;
    min-height: 250px;
  }
}

/* ============================================================
   BTR EXPLORE — STORM TRACKER
   ============================================================ */

.btr-condition-content .btr-storm-tracker {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  container-type: inline-size;
  container-name: storm-tracker;
}

.btr-condition-content .btr-storm-tracker-intro {
  margin-bottom: 14px;
}

.btr-condition-content .btr-storm-tracker-intro h3 {
  margin: 0;
  font: 700 1.35rem/1.2 var(--font);
  color: var(--ink);
}

.btr-condition-content .btr-storm-tracker-intro p {
  margin: 6px 0 0;
  font: 400 .9rem/1.5 var(--font);
  color: var(--muted);
}

.btr-condition-content .btr-storm-tracker .resort-lb-empty {
  margin: 10px 0 12px;
  line-height: 1.45;
}

.btr-condition-content .btr-storm-tracker .resort-lb-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.btr-condition-content .btr-storm-tracker .btr-storm-row {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(0, 2fr);
  gap: 16px;
  align-items: center;
  margin: 0;
  padding: 14px;
  min-width: 0;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: none;
  cursor: pointer;
}

.btr-condition-content .btr-storm-tracker .btr-storm-row:hover {
  transform: translateY(-1px);
  border-color: var(--blue);
  box-shadow: 0 4px 14px rgba(0,0,0,.07);
}

.btr-condition-content .btr-storm-tracker .resort-lb-name {
  font: 700 .95rem/1.3 var(--font);
  color: var(--ink);
}

.btr-condition-content .btr-storm-tracker .btr-storm-time {
  margin-top: 6px;
  color: var(--muted);
  font: 400 .78rem/1.4 var(--font);
}

.btr-condition-content .btr-storm-tracker .btr-storm-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.btr-condition-content .btr-storm-tracker .resort-lb-stat {
  min-width: 0;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--canvas);
}

.btr-condition-content .btr-storm-tracker .resort-lb-stat-label {
  display: block;
  font: 700 .62rem/1.15 var(--font);
  color: var(--muted);
}

.btr-condition-content .btr-storm-tracker .resort-lb-stat-value {
  display: block;
  margin-top: 3px;
  font: 700 .78rem/1.25 var(--font);
  color: var(--ink);
}

@container storm-tracker (max-width: 850px) {
  .btr-condition-content .btr-storm-tracker .btr-storm-row {
    grid-template-columns: 1fr;
  }

  .btr-condition-content .btr-storm-tracker .btr-storm-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@container storm-tracker (max-width: 520px) {
  .btr-condition-content .btr-storm-tracker .btr-storm-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .btr-condition-content .btr-storm-tracker {
    padding: 14px;
  }
}

/* ============================================================
   STORM TRACKER — POWDER HUNT LEADERBOARD VISUAL MATCH
   ============================================================ */

.btr-condition-content .btr-storm-tracker .resort-lb-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.btr-condition-content .btr-storm-tracker .btr-storm-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(300px, auto);
  gap: 16px;
  align-items: center;
  margin: 0;
  padding: 14px;
  min-width: 0;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: none;
}

.btr-condition-content .btr-storm-tracker .btr-storm-row:hover {
  transform: translateY(-1px);
  border-color: var(--blue);
  box-shadow: 0 4px 14px rgba(0,0,0,.07);
}

.btr-condition-content .btr-storm-tracker .resort-lb-name {
  font: 700 .9rem/1.3 var(--font);
  color: var(--ink);
}

.btr-condition-content .btr-storm-tracker .resort-lb-meta {
  margin-top: 5px;
  color: var(--muted);
}

.btr-condition-content .btr-storm-tracker .btr-storm-time {
  font: 400 .78rem/1.35 var(--font);
}

.btr-condition-content .btr-storm-tracker .btr-storm-detail {
  font: 400 .75rem/1.35 var(--font);
}

.btr-condition-content .btr-storm-tracker .btr-storm-stats {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
}

.btr-condition-content .btr-storm-tracker .resort-lb-stat {
  min-width: 86px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--canvas);
}

.btr-condition-content .btr-storm-tracker .resort-lb-stat-label {
  display: block;
  font: 700 .65rem/1.1 var(--font);
  color: var(--muted);
}

.btr-condition-content .btr-storm-tracker .resort-lb-stat-value {
  display: block;
  margin-top: 2px;
  font: 700 .8rem/1.2 var(--font);
  color: var(--ink);
}

@container storm-tracker (max-width: 720px) {
  .btr-condition-content .btr-storm-tracker .btr-storm-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .btr-condition-content .btr-storm-tracker .btr-storm-stats {
    justify-content: flex-start;
  }

  .btr-condition-content .btr-storm-tracker .resort-lb-stat {
    flex: 1 1 0;
    min-width: 0;
  }
}

@container storm-tracker (max-width: 420px) {
  .btr-condition-content .btr-storm-tracker .btr-storm-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
