/* Backcountry trips section (/trips/). Loaded after cc.css. Uses cc.css tokens. */
.trips-page main.trips{max-width:var(--wrap)}
.trips-hero{position:relative;margin-inline:calc(50% - 50vw);min-height:300px;display:flex;align-items:flex-end;overflow:hidden;background:var(--bone);border-bottom:1px solid var(--line)}
.trips-hero.small{min-height:250px}
.trips-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.trips-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,242,.96) 0%,rgba(250,248,242,.86) 45%,rgba(250,248,242,.15) 80%,transparent 100%)}
.trips-hero-in{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto;width:100%;padding:var(--s5) var(--gutter) var(--s6)}
.trips-hero h1{color:var(--spruce-dk);margin:.3rem 0 .5rem;max-width:20ch;font-size:clamp(1.8rem,1.3rem + 2vw,2.7rem);line-height:1.1}
.trips-hero .lede{color:#3a3e34;max-width:56ch}
.trips-hero .crumb{margin-top:0}
@media (max-width:700px){
  .trips-hero{min-height:0}
  .trips-art{position:relative;height:150px;inset:auto}
  .trips-hero{flex-direction:column;align-items:stretch}
  .trips-hero::after{display:none}
  .trips-hero-in{padding-top:var(--s4)}
}
.tbadges{display:flex;flex-wrap:wrap;gap:.3rem;margin:.4rem 0}
.tb{font:700 .7rem/1.2 var(--font-body);letter-spacing:.05em;text-transform:uppercase;padding:.22rem .55rem;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--spruce-dk)}
.tb.type-hut{background:var(--spruce);color:#fff;border-color:var(--spruce)}
.tb.type-pass{background:var(--moss);color:#fff;border-color:var(--moss)}
.tb.type-ski{background:var(--glacier);color:#fff;border-color:var(--glacier)}
.tb.type-cabin{background:var(--rust-dk);color:#fff;border-color:var(--rust-dk)}
.tb.type-approach{background:var(--rust);color:#fff;border-color:var(--rust)}
.tb.season-winter{background:#eef3f5;border-color:#c8d7dc;color:var(--glacier)}
.tb.season-summer{background:#f3f5ea;border-color:var(--moss-lt);color:#4f5e35}
.tb.glacier{background:#fff4ea;border-color:#efcfb5;color:var(--rust-dk)}
.trip-safety{margin:var(--s5) 0}
.trip-safety h2,.glacier-box h2{font-size:1.15rem;margin:0 0 .35rem;color:var(--rust-dk)}
.trip-safety p,.glacier-box p{margin:0;max-width:80ch}
.glacier-box{margin:var(--s5) 0 0;background:var(--rust-dk);color:#fff;border-radius:var(--radius);padding:var(--s4) var(--s5);box-shadow:var(--shadow)}
.glacier-box h2{color:var(--mark)}
/* filters */
.trip-filters{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:flex-end;margin:var(--s4) 0;padding:var(--s3) var(--s4);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.trip-filters label{display:flex;flex-direction:column;font:700 .74rem/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);gap:.25rem;flex:1 1 170px}
.trip-filters select{min-height:44px;font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);padding:.4rem .6rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}
.trip-filters .cta{min-height:44px}
.tf-count{margin:0 0 .6rem auto;font-size:var(--fs-sm);color:var(--muted)}
html:not(.js) .trip-filters{display:none}
/* cards */
.trip-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4)}
.trip-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .15s,box-shadow .15s}
.trip-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--moss)}
.trip-card[data-type=hut]::before{background:var(--spruce)}.trip-card[data-type=ski]::before{background:var(--glacier)}.trip-card[data-type=cabin]::before{background:var(--rust-dk)}.trip-card[data-type=approach]::before{background:var(--rust)}
.trip-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.trip-card a{display:flex;gap:var(--s3);padding:var(--s4) var(--s4) var(--s4);text-decoration:none;color:inherit;height:100%;box-sizing:border-box}
.tc-icon{flex:none;width:56px;height:56px}
.tc-body{display:flex;flex-direction:column;min-width:0}
.tc-body h2{font-size:1.2rem;margin:0;color:var(--spruce-dk);line-height:1.2}
.tc-body p{margin:.2rem 0;font-size:.94rem;color:#3a3e34}
.tc-body .tc-stat{font-size:.86rem;color:var(--muted)}
.tc-more{margin-top:auto;padding-top:.4rem;font-weight:700;color:var(--rust-dk);font-size:.9rem}
.trip-card[hidden]{display:none}
.trip-none{padding:var(--s4);text-align:center}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.how-grid .card{padding:var(--s4) var(--s5)}
.how-grid h3{margin:0 0 .3rem;color:var(--spruce-dk)}
.how-grid p{margin:.3rem 0}
@media (max-width:860px){.how-grid{grid-template-columns:1fr}}
/* detail */
.trip-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);margin:var(--s5) 0}
.trip-facts div{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--spruce);border-radius:var(--radius-sm);padding:var(--s3) var(--s4)}
.trip-facts dt{font:700 .72rem/1.3 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--rust-dk)}
.trip-facts dd{margin:.2rem 0 0;font-size:.95rem}
@media (max-width:900px){.trip-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.trip-facts{grid-template-columns:1fr}}
.trip-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s6);align-items:start}
@media (max-width:960px){.trip-cols{grid-template-columns:1fr}}
.trip-main h2{font-size:var(--fs-h2);color:var(--spruce-dk);margin:var(--s6) 0 var(--s2);line-height:1.2}
.trip-main section:first-child h2{margin-top:var(--s3)}
.trip-main ul{padding-left:1.2rem}.trip-main li{margin:.35rem 0}
.huts{list-style:none;padding:0!important;display:grid;gap:var(--s3)}
.hut{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--rust);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--s4) var(--s5);margin:0!important}
.hut h3{margin:0 0 .3rem;color:var(--spruce-dk);font-size:1.15rem}
.hut-meta{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem;font-size:.9rem;color:var(--muted);margin:0 0 .4rem}
.hut p{margin:.3rem 0}
.hazards li{background:#fff8f2;border:1px solid #f0dccb;border-radius:var(--radius-sm);padding:.55rem .8rem;list-style:none;margin:.45rem 0 .45rem -1.2rem!important}
.hazards li strong{color:var(--rust-dk)}
.avy-line{background:#eef3f5;border:1px solid #c8d7dc;border-radius:var(--radius-sm);padding:.6rem .8rem}
.gear-links a{font-weight:700}
.trip-side{position:sticky;top:var(--s4)}
@media (max-width:960px){.trip-side{position:static}}
.side-src{padding:var(--s4) var(--s5)}
.side-src h2{font-size:1.15rem;margin:0 0 .4rem;color:var(--spruce-dk)}
.side-src ul{padding-left:1.1rem;margin:0}.side-src li{margin:.35rem 0;font-size:.92rem;overflow-wrap:anywhere}
.trip-map{height:380px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);background:var(--bone);z-index:0}
@media (max-width:560px){.trip-map{height:300px}}
.map-note{margin:.5rem 0}
.pt-list{list-style:none;padding:0!important;font-size:.88rem;color:var(--muted);columns:2;column-gap:var(--s5)}
.pt-list li{break-inside:avoid;margin:.2rem 0!important}
@media (max-width:560px){.pt-list{columns:1}}
.pk{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:.4rem;vertical-align:-1px;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.3)}
.pk-hut{background:var(--rust)}.pk-cabin{background:var(--spruce)}.pk-trailhead{background:var(--mark)}.pk-pass{background:var(--glacier)}
.trip .back{margin:var(--s5) 0 0}
.trip-legend{background:#fff;padding:.4rem .6rem;border-radius:8px;box-shadow:var(--shadow);font:600 12px/1.5 var(--font-body)}
