/* Cairn beta pages: route + crag + crag directory. Mobile first, Riverstone palette. */
:root{--bp-ink:#3B342B;--bp-stone:#8A7A64;--bp-moss:#5C7A5A;--bp-moss-d:#4A6449;--bp-sand:#EFE9DF;--bp-paper:#FAF8F4;
  --bp-line:rgba(59,52,43,.12);--bp-rust:#A6553C;--bp-amber:#B7862F;--bp-r:14px}
.bp{max-width:760px;margin:0 auto;padding:0 0 110px}
.bp *{box-sizing:border-box}
.bp h1,.bp h2,.bp h3,.bp h4{font-family:'Outfit',sans-serif;letter-spacing:-.01em;color:var(--bp-ink)}

/* hero */
.bp-hero{position:relative;height:clamp(230px,44vw,340px);overflow:hidden;background:#2c2721;margin:0}
.bp-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,.05) 30%,rgba(20,17,13,.78))}
.bp-hero .in{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff}
.bp-crumb{display:inline-flex;align-items:center;gap:6px;max-width:100%;font:600 12px 'Montserrat',sans-serif;color:#fff;
  background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px;
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-crumb:hover{text-decoration:none;background:rgba(255,255,255,.28)}
.bp-hero h1{color:#fff;font-size:clamp(26px,7vw,38px);line-height:1.08;margin:8px 0 4px;font-weight:600}
.bp-sub{font:500 14px 'Montserrat',sans-serif;opacity:.92}
.bp-photobtn{position:absolute;top:12px;right:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;border:0;cursor:pointer;
  font:600 12.5px 'Montserrat',sans-serif;color:#fff;background:rgba(20,17,13,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  padding:7px 11px;border-radius:999px}
.bp-photobtn svg{width:15px;height:15px}
.bp-credit{position:absolute;top:14px;left:14px;z-index:3;font:500 10.5px 'Montserrat',sans-serif;color:rgba(255,255,255,.75);max-width:55%;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* glance chips */
.bp-glance{display:flex;gap:8px;overflow-x:auto;padding:14px 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bp-glance::-webkit-scrollbar{display:none}
.bp-chip{flex:none;display:flex;flex-direction:column;gap:1px;min-width:84px;padding:9px 12px;border-radius:12px;background:#fff;
  border:1px solid var(--bp-line)}
.bp-chip b{font:600 15px 'Outfit',sans-serif;color:var(--bp-ink);white-space:nowrap}
.bp-chip small{font:500 11px 'Montserrat',sans-serif;color:var(--bp-stone);white-space:nowrap}
.bp-chip.busy-quiet b{color:var(--bp-moss)}
.bp-chip.busy-busy b{color:var(--bp-amber)}
.bp-chip.busy-packed b{color:var(--bp-rust)}
button.bp-chip{cursor:pointer;text-align:left;font:inherit}

.bp-lede{padding:10px 16px 0;font-size:15.5px;line-height:1.6;color:var(--bp-ink)}
.bp-flags{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 0}
.bp-flag{display:inline-flex;align-items:center;gap:5px;font:600 12px 'Montserrat',sans-serif;padding:5px 9px;border-radius:999px;
  background:#F6E9E3;color:#8A3F28}
.bp-flag.cool{background:#E6EEE5;color:var(--bp-moss-d)}
.bp-flag.plain{background:var(--bp-sand);color:var(--bp-ink)}

/* tabs */
.bp-tabs{position:sticky;top:56px;z-index:400;background:rgba(250,248,244,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  display:flex;gap:4px;overflow-x:auto;padding:10px 12px;margin-top:14px;border-bottom:1px solid var(--bp-line);scrollbar-width:none}
.bp-tabs::-webkit-scrollbar{display:none}
.bp-tabs button{flex:none;border:0;background:none;cursor:pointer;font:600 14px 'Outfit',sans-serif;color:var(--bp-stone);
  padding:8px 13px;border-radius:999px;transition:background .15s,color .15s}
.bp-tabs button[aria-selected="true"]{background:var(--bp-ink);color:#fff}
.bp-tabs button .n{font:600 11px 'Montserrat',sans-serif;opacity:.7;margin-left:4px}
.bp-pane{display:none;padding:14px 16px 0;animation:bpIn .18s ease}
.bp-pane.on{display:block}
@keyframes bpIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* section heads + cards */
.bp-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:18px 0 8px}
.bp-h:first-child{margin-top:4px}
.bp-h h2{font-size:19px;font-weight:600}
.bp-h .act{font:600 12.5px 'Montserrat',sans-serif;color:var(--bp-moss);background:none;border:0;cursor:pointer;padding:4px 0}
.bp-card{background:#fff;border:1px solid var(--bp-line);border-radius:var(--bp-r);padding:14px}
.bp-card + .bp-card{margin-top:10px}
.bp-note{font-size:12.5px;color:var(--bp-stone);line-height:1.5;margin-top:8px}
.bp-p{font-size:15px;line-height:1.62;color:var(--bp-ink);white-space:pre-line}
.bp-empty{background:#fff;border:1px dashed rgba(59,52,43,.22);border-radius:var(--bp-r);padding:16px;color:var(--bp-stone);font-size:14px}

/* pitch ladder */
.bp-ladder{display:flex;flex-direction:column;gap:8px}
.bp-pitch{background:#fff;border:1px solid var(--bp-line);border-radius:var(--bp-r);overflow:hidden}
.bp-pitch > button{width:100%;display:grid;grid-template-columns:34px 1fr auto 16px;align-items:center;gap:10px;padding:11px 12px;
  border:0;background:none;cursor:pointer;text-align:left;font:inherit;color:inherit}
.bp-pn{width:34px;height:34px;border-radius:10px;background:var(--bp-sand);display:grid;place-items:center;font:600 14px 'Outfit',sans-serif;color:var(--bp-ink)}
.bp-pitch.crux .bp-pn{background:var(--bp-rust);color:#fff}
.bp-pt{min-width:0}
.bp-pt b{display:block;font:600 15px 'Outfit',sans-serif;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-pt small{display:block;font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone)}
.bp-g{font:600 13px 'Montserrat',sans-serif;padding:3px 8px;border-radius:8px;background:var(--bp-sand);color:var(--bp-ink);white-space:nowrap}
.bp-pitch.crux .bp-g{background:#F6E9E3;color:#8A3F28}
.bp-chev{color:var(--bp-stone);transition:transform .2s;font-size:18px;line-height:1}
.bp-pitch.open .bp-chev{transform:rotate(90deg)}
.bp-pbody{display:none;padding:0 14px 14px 56px;font-size:14.5px;line-height:1.6;color:var(--bp-ink)}
.bp-pitch.open .bp-pbody{display:block}
.bp-pbody figure{margin:10px 0 0}
.bp-pbody img{width:100%;border-radius:10px;display:block;cursor:zoom-in}
.bp-pbody figcaption{font-size:12px;color:var(--bp-stone);margin-top:4px}
@media (max-width:420px){.bp-pbody{padding-left:14px}}

/* proportional pitch strip */
.bp-strip{display:flex;height:8px;border-radius:99px;overflow:hidden;gap:2px;margin:2px 0 12px}
.bp-strip i{display:block;background:#CFC6B8;min-width:4px}
.bp-strip i.crux{background:var(--bp-rust)}

/* topo strip */
.bp-topos{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px 12px;padding:0 16px;scrollbar-width:none}
.bp-topos::-webkit-scrollbar{display:none}
.bp-topos figure{flex:none;width:min(78%,420px);scroll-snap-align:start;margin:0}
.bp-topos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;cursor:zoom-in;background:var(--bp-sand)}
.bp-topos figcaption{font-size:12px;color:var(--bp-stone);margin-top:5px;line-height:1.4}

/* gear */
.bp-gear{display:grid;grid-template-columns:1fr;gap:10px}
@media (min-width:620px){.bp-gear{grid-template-columns:1fr 1fr}}
.bp-gear h4{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-stone);margin-bottom:6px}
.bp-gear ul{list-style:none;margin:0;padding:0}
.bp-gear li{position:relative;padding:6px 0 6px 18px;font-size:14px;line-height:1.45;border-top:1px solid var(--bp-line)}
.bp-gear li:first-child{border-top:0}
.bp-gear li::before{content:"";position:absolute;left:3px;top:13px;width:6px;height:6px;border-radius:50%;background:var(--bp-moss)}

/* disclosure (approach/descent options, info blocks) */
.bp-disc{background:#fff;border:1px solid var(--bp-line);border-radius:var(--bp-r);overflow:hidden}
.bp-disc + .bp-disc{margin-top:8px}
.bp-disc > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:13px 14px;font:600 15px 'Outfit',sans-serif;color:var(--bp-ink)}
.bp-disc > summary::-webkit-details-marker{display:none}
.bp-disc > summary .tag{font:600 11px 'Montserrat',sans-serif;padding:3px 8px;border-radius:99px;background:#E6EEE5;color:var(--bp-moss-d);white-space:nowrap}
.bp-disc > summary .sp{flex:1}
.bp-disc > summary::after{content:"›";color:var(--bp-stone);font-size:18px;transition:transform .2s}
.bp-disc[open] > summary::after{transform:rotate(90deg)}
.bp-disc .db{padding:0 14px 14px;font-size:14.5px;line-height:1.6;color:var(--bp-ink);white-space:pre-line}

/* links */
.bp-links{display:flex;flex-wrap:wrap;gap:8px}
.bp-link{display:inline-flex;align-items:center;gap:6px;font:600 13px 'Montserrat',sans-serif;padding:8px 12px;border-radius:10px;
  background:#fff;border:1px solid var(--bp-line);color:var(--bp-ink);text-decoration:none}
.bp-link:hover{text-decoration:none;border-color:var(--bp-moss)}
.bp-link::after{content:"↗";font-size:12px;color:var(--bp-stone)}

/* map */
.bp-map{height:300px;border-radius:var(--bp-r);overflow:hidden;border:1px solid var(--bp-line);background:var(--bp-sand);z-index:1}
@media (min-width:620px){.bp-map{height:380px}}
.bp-pin{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);
  font:700 13px 'Outfit',sans-serif;color:#fff}
.bp-pin.p{background:#2F5D8A;border-radius:7px}
.bp-pin.c{background:var(--bp-rust)}
.bp-pin.r{background:var(--bp-ink);width:22px;height:22px;font-size:10px}
.bp-legend{display:flex;flex-wrap:wrap;gap:12px;font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone);margin-top:8px}
.bp-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px}
.bp-dirs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.bp-park{display:flex;gap:12px;align-items:flex-start}
.bp-park .ico{flex:none;width:30px;height:30px;border-radius:8px;background:#2F5D8A;color:#fff;display:grid;place-items:center;font:700 15px 'Outfit',sans-serif}
.bp-park b{display:block;font:600 15px 'Outfit',sans-serif}
.bp-park small{display:block;font-size:13px;color:var(--bp-stone);line-height:1.45;margin-top:2px}
.bp-park a{font:600 12.5px 'Montserrat',sans-serif}

/* forecast */
.bp-fc{display:flex;gap:8px;overflow-x:auto;margin:0 -16px;padding:2px 16px 4px;scrollbar-width:none}
.bp-fc::-webkit-scrollbar{display:none}
.bp-day{flex:none;width:76px;background:#fff;border:1px solid var(--bp-line);border-radius:12px;padding:9px 6px;text-align:center}
.bp-day.best{border-color:var(--bp-moss);box-shadow:0 0 0 1.5px var(--bp-moss) inset}
.bp-day .d{font:600 12px 'Montserrat',sans-serif;color:var(--bp-stone)}
.bp-day .i{font-size:22px;line-height:1.4}
.bp-day .t{font:600 15px 'Outfit',sans-serif;color:var(--bp-ink)}
.bp-day .t small{font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone)}
.bp-day .p{font:500 11px 'Montserrat',sans-serif;color:#2F5D8A;margin-top:2px}
.bp-day .p.dry{color:var(--bp-stone)}
.bp-day .bt{font:700 9.5px 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--bp-moss);margin-top:3px}

/* busyness */
.bp-busy svg{display:block;width:100%;height:auto;overflow:visible}
.bp-busy .ins{font:600 15px 'Outfit',sans-serif;color:var(--bp-ink);margin-bottom:2px}
.bp-busy .sub{font-size:13px;color:var(--bp-stone);margin-bottom:10px;line-height:1.45}
.bp-seg{display:inline-flex;background:var(--bp-sand);border-radius:10px;padding:3px;margin-bottom:10px}
.bp-seg button{border:0;background:none;font:600 12.5px 'Montserrat',sans-serif;color:var(--bp-stone);padding:6px 11px;border-radius:8px;cursor:pointer}
.bp-seg button[aria-pressed="true"]{background:#fff;color:var(--bp-ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}

/* facts list */
.bp-facts{display:grid;grid-template-columns:1fr;gap:0}
.bp-facts div{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--bp-line);font-size:14px}
.bp-facts div:first-child{border-top:0;padding-top:0}
.bp-facts dt{flex:none;width:92px;font:600 12px 'Montserrat',sans-serif;color:var(--bp-stone);text-transform:uppercase;letter-spacing:.04em;padding-top:2px}
.bp-facts dd{margin:0;color:var(--bp-ink);line-height:1.5}

/* photo grid */
.bp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;border-radius:var(--bp-r);overflow:hidden}
.bp-grid button{border:0;padding:0;cursor:zoom-in;aspect-ratio:1;background:var(--bp-sand)}
.bp-grid img{width:100%;height:100%;object-fit:cover;display:block}

/* bottom action bar */
.bp-bar{position:fixed;left:0;right:0;bottom:0;z-index:600;display:flex;gap:8px;justify-content:center;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(250,248,244,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-top:1px solid var(--bp-line)}
.bp-bar .inner{display:flex;gap:8px;width:100%;max-width:760px}
.bp-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 12px;border-radius:12px;
  border:1px solid var(--bp-line);background:#fff;color:var(--bp-ink);font:600 14.5px 'Outfit',sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.bp-btn:hover{text-decoration:none;border-color:rgba(59,52,43,.3)}
.bp-btn.pri{background:var(--bp-moss);border-color:var(--bp-moss);color:#fff}
.bp-btn.pri:hover{background:var(--bp-moss-d)}
.bp-btn.sq{flex:none;width:46px;padding:0}
.bp-btn svg{width:18px;height:18px;flex:none}
.bp-btn.on{color:var(--bp-rust)}
.bp-btn.on svg{fill:var(--bp-rust)}
.bp-btn[disabled]{opacity:.5;cursor:default}
@media (max-width:380px){.bp-btn .lbl-long{display:none}}

/* sheet */
.bp-sheet{position:fixed;inset:0;z-index:1300;display:none}
.bp-sheet.open{display:block}
.bp-sheet .bp-scrim{position:absolute;inset:0;background:rgba(30,26,20,.5);animation:bpFade .2s}
.bp-sheet .box{position:absolute;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--bp-paper);border-radius:20px 20px 0 0;
  padding:8px 16px calc(18px + env(safe-area-inset-bottom));animation:bpUp .25s cubic-bezier(.2,.8,.2,1)}
@media (min-width:700px){.bp-sheet .box{left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);width:520px;border-radius:18px;animation:bpFade .2s}}
.bp-sheet .grab{width:38px;height:5px;border-radius:9px;background:#D5CCBE;margin:4px auto 10px}
.bp-sheet h3{font-size:20px;font-weight:600;margin:0 0 4px}
.bp-sheet .lead{font-size:13.5px;color:var(--bp-stone);margin-bottom:12px}
.bp-sheet label{display:block;font:600 12px 'Montserrat',sans-serif;color:var(--bp-stone);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px}
.bp-sheet input,.bp-sheet select{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--bp-line);border-radius:10px;background:#fff;font:500 15px 'Montserrat',sans-serif;color:var(--bp-ink)}
.bp-sheet .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bp-sheet .msg{font-size:13px;margin-top:8px;min-height:18px;color:var(--bp-stone)}
.bp-sheet .msg.err{color:var(--bp-rust)}
.bp-sheet .msg.ok{color:var(--bp-moss)}
.bp-sheet .acts{display:flex;gap:8px;margin-top:14px}
@keyframes bpUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@keyframes bpFade{from{opacity:0}to{opacity:1}}
.bp-opt{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border:1px solid var(--bp-line);border-radius:12px;
  background:#fff;cursor:pointer;font:inherit;color:var(--bp-ink)}
.bp-opt + .bp-opt{margin-top:8px}
.bp-opt b{display:block;font:600 15px 'Outfit',sans-serif}
.bp-opt small{display:block;font-size:12.5px;color:var(--bp-stone)}
.bp-opt .sp{flex:1;min-width:0}
.bp-opt[aria-pressed="true"]{border-color:var(--bp-moss);box-shadow:0 0 0 1.5px var(--bp-moss) inset}
.bp-opt .ck{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #CFC6B8;display:grid;place-items:center;color:#fff;font-size:13px}
.bp-opt[aria-pressed="true"] .ck{background:var(--bp-moss);border-color:var(--bp-moss)}
.bp-days{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.bp-days::-webkit-scrollbar{display:none}
.bp-days button{flex:none;border:1px solid var(--bp-line);background:#fff;border-radius:10px;padding:8px 11px;font:600 13px 'Montserrat',sans-serif;color:var(--bp-ink);cursor:pointer}
.bp-days button small{display:block;font-weight:500;font-size:11px;color:var(--bp-stone)}
.bp-days button[aria-pressed="true"]{background:var(--bp-ink);color:#fff;border-color:var(--bp-ink)}
.bp-days button[aria-pressed="true"] small{color:rgba(255,255,255,.75)}

/* climbs list (crag page) */
.bp-filters{display:flex;gap:6px;overflow-x:auto;margin:0 -16px 10px;padding:0 16px;scrollbar-width:none}
.bp-filters::-webkit-scrollbar{display:none}
.bp-filters button{flex:none;border:1px solid var(--bp-line);background:#fff;border-radius:999px;padding:7px 12px;font:600 13px 'Montserrat',sans-serif;color:var(--bp-ink);cursor:pointer}
.bp-filters button[aria-pressed="true"]{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
.bp-filters .sep{flex:none;width:1px;background:var(--bp-line);margin:4px 2px}
.bp-sector{font:600 12px 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-stone);margin:16px 0 6px}
.bp-sector:first-child{margin-top:0}
.bp-climbs{background:#fff;border:1px solid var(--bp-line);border-radius:var(--bp-r);overflow:hidden}
.bp-climb{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--bp-line)}
.bp-climb:first-child{border-top:0}
.bp-climb .pick{width:26px;height:26px;border-radius:8px;border:2px solid #CFC6B8;background:#fff;cursor:pointer;display:grid;place-items:center;color:#fff;font-size:14px;padding:0}
.bp-climb.on .pick{background:var(--bp-moss);border-color:var(--bp-moss)}
.bp-climb.on{background:#F4F7F3}
.bp-climb a.nm{min-width:0;color:var(--bp-ink);text-decoration:none}
.bp-climb a.nm b{display:block;font:600 15px 'Outfit',sans-serif;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-climb a.nm small{display:block;font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-climb .rt{display:flex;align-items:center;gap:6px}
.bp-climb .dot{width:8px;height:8px;border-radius:50%;background:#CFC6B8}
.bp-climb .dot.busy{background:var(--bp-amber)} .bp-climb .dot.packed{background:var(--bp-rust)} .bp-climb .dot.quiet{background:var(--bp-moss)}
.bp-pickbar{position:fixed;left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:610;display:none;justify-content:center}
.bp-pickbar.show{display:flex}
.bp-pickbar .in{display:flex;align-items:center;gap:10px;width:100%;max-width:736px;background:var(--bp-ink);color:#fff;border-radius:14px;padding:10px 10px 10px 16px;
  box-shadow:0 8px 24px rgba(0,0,0,.25);animation:bpUp .2s}
.bp-pickbar .in span{flex:1;font:600 14px 'Outfit',sans-serif}
.bp-pickbar .in button{border:0;border-radius:10px;padding:10px 14px;font:600 14px 'Outfit',sans-serif;cursor:pointer}
.bp-pickbar .clr{background:rgba(255,255,255,.14);color:#fff}
.bp-pickbar .go{background:var(--bp-moss);color:#fff}

/* grade histogram mini */
.bp-hist{display:flex;align-items:flex-end;gap:3px;height:34px}
.bp-hist i{flex:1;background:#CFC6B8;border-radius:3px 3px 0 0;min-height:2px}
.bp-histl{display:flex;gap:3px;font:500 9.5px 'Montserrat',sans-serif;color:var(--bp-stone);margin-top:3px}
.bp-histl span{flex:1;text-align:center}

/* crag directory */
.bp-dir{max-width:1060px;margin:0 auto;padding:18px 16px 60px}
.bp-dir h1{font-size:clamp(28px,6vw,40px);font-weight:600;margin:4px 0 6px}
.bp-dir .lead{color:var(--bp-stone);font-size:15px;max-width:640px}
.bp-search{width:100%;min-height:46px;padding:11px 14px;border:1px solid var(--bp-line);border-radius:12px;background:#fff;font:500 15px 'Montserrat',sans-serif;margin:14px 0 10px}
.bp-cards{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:640px){.bp-cards{grid-template-columns:1fr 1fr}}
@media (min-width:980px){.bp-cards{grid-template-columns:1fr 1fr 1fr}}
.bp-ccard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--bp-line);border-radius:16px;overflow:hidden;color:var(--bp-ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.bp-ccard:hover{text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 22px rgba(59,52,43,.1)}
.bp-ccard .img{position:relative;aspect-ratio:16/9;background:#2c2721}
.bp-ccard .img img{width:100%;height:100%;object-fit:cover;display:block}
.bp-ccard .img .busy{position:absolute;left:10px;top:10px;font:600 11.5px 'Montserrat',sans-serif;color:#fff;background:rgba(20,17,13,.6);backdrop-filter:blur(6px);padding:4px 9px;border-radius:99px}
.bp-ccard .bd{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px;flex:1}
.bp-ccard h3{font-size:19px;font-weight:600;margin:0;line-height:1.2}
.bp-ccard .meta{font:500 12.5px 'Montserrat',sans-serif;color:var(--bp-stone)}
.bp-ccard p{font-size:13.5px;line-height:1.5;color:var(--bp-ink);margin:0}
.bp-dirmap{height:260px;border-radius:16px;overflow:hidden;border:1px solid var(--bp-line);margin:4px 0 16px;z-index:1}
.bp-region{font:600 13px 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-stone);margin:18px 0 10px}

/* trip page crag day */
.tp-cragroutes{display:flex;flex-direction:column;gap:2px;margin:6px 0 10px}
.tp-cragroute{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid rgba(59,52,43,.08)}
.tp-cragroute:first-child{border-top:0}
.tp-cragroute input{width:20px;height:20px;accent-color:#5C7A5A;flex:none}
.tp-cragroute a{flex:1;min-width:0;color:#3B342B;text-decoration:none}
.tp-cragroute a b{display:block;font:600 14.5px 'Outfit',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tp-cragroute a small{display:block;font-size:12px;color:#8A7A64}
.tp-cragroute.done a b{text-decoration:line-through;color:#8A7A64}
.tp-cragpick{max-height:340px;overflow:auto;border:1px solid rgba(59,52,43,.12);border-radius:12px;background:#fff;margin:6px 0 10px}
.tp-cragpick label{display:flex;align-items:center;gap:10px;padding:9px 12px;border-top:1px solid rgba(59,52,43,.08);font-size:14px;cursor:pointer}
.tp-cragpick label:first-child{border-top:0}
.tp-cragpick input{width:20px;height:20px;accent-color:#5C7A5A;flex:none}
.tp-cragpick .g{margin-left:auto;font:600 12px 'Montserrat',sans-serif;color:#8A7A64;white-space:nowrap}
.tp-cragpick .sec{padding:8px 12px 4px;font:600 11px 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#8A7A64;background:#FAF8F4}

/* detail pages swap the global tab bar for their own action bar */
body.bp-page .tabbar{display:none!important}
body.bp-page.has-tabbar{padding-bottom:0!important}
.bp-more{display:none}
.bp-gear.all .bp-more{display:list-item}
.bp-gear .tog{margin-top:6px;border:0;background:none;font:600 12.5px 'Montserrat',sans-serif;color:var(--bp-moss);cursor:pointer;padding:4px 0}

/* directory cards: compact rows on phones */
@media (max-width:639px){
  .bp-dirmap{height:200px}
  .bp-ccard{flex-direction:row;align-items:stretch;border-radius:14px}
  .bp-ccard .img{flex:none;width:108px;aspect-ratio:auto;min-height:118px}
  .bp-ccard .img .busy{display:none}
  .bp-ccard .bd{padding:10px 12px;gap:5px;min-width:0}
  .bp-ccard h3{font-size:17px}
  .bp-ccard .bp-hist{height:16px!important}
  .bp-ccard .bp-histl{display:none}
  .bp-ccard p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px}
  .bp-ccard .sunl{display:none}
}
.bp-ccard .busyl{font:600 12px 'Montserrat',sans-serif}
.bp-ccard .busyl.packed{color:var(--bp-rust)} .bp-ccard .busyl.busy{color:var(--bp-amber)} .bp-ccard .busyl.mod,.bp-ccard .busyl.quiet{color:var(--bp-moss)}
@media (min-width:640px){.bp-ccard .busyl{display:none}}

/* ===================== area guides ===================== */
.ag-hero{padding:0!important;margin:0;position:relative;height:clamp(300px,62vw,460px);background:#2c2721;overflow:hidden}
.ag-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.ag-track::-webkit-scrollbar{display:none}
.ag-slide{flex:none;width:100%;height:100%;scroll-snap-align:start;position:relative}
.ag-slide img{width:100%;height:100%;object-fit:cover;display:block}
.ag-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(20,17,13,.25) 0,rgba(20,17,13,0) 26%,rgba(20,17,13,0) 45%,rgba(20,17,13,.82))}
.ag-hero .in{position:absolute;left:16px;right:16px;bottom:30px;z-index:2;color:#fff;pointer-events:none}
.ag-hero .in a{pointer-events:auto}
.ag-hero h1{color:#fff;font-size:clamp(32px,9vw,52px);line-height:1.02;margin:8px 0 6px;font-weight:600;letter-spacing:-.02em}
.ag-tag{font:500 15px 'Montserrat',sans-serif;opacity:.93;max-width:560px}
.ag-dots{position:absolute;left:0;right:0;bottom:12px;z-index:3;display:flex;justify-content:center;gap:6px;pointer-events:none}
.ag-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:all .2s}
.ag-dots i.on{background:#fff;width:18px;border-radius:9px}
.ag-cred{position:absolute;top:12px;left:12px;z-index:3;font:500 11px 'Montserrat',sans-serif;color:rgba(255,255,255,.85);background:rgba(20,17,13,.38);padding:4px 8px;border-radius:99px;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-cred a{color:#fff;text-decoration:underline}
.ag-arrow{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:0;background:rgba(20,17,13,.45);color:#fff;font-size:20px;cursor:pointer;display:none}
@media (hover:hover) and (min-width:700px){.ag-arrow{display:block}}
.ag-arrow.l{left:12px}.ag-arrow.r{right:12px}

.ag-now{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.ag-now .big{font:600 44px/1 'Outfit',sans-serif;color:var(--bp-ink)}
.ag-now .big small{font-size:20px;color:var(--bp-stone);font-weight:500}
.ag-now .meta{font-size:13.5px;color:var(--bp-ink);line-height:1.55}
.ag-now .meta b{font-weight:600}
.ag-now .ic{font-size:30px}
.ag-alert{display:flex;gap:10px;align-items:flex-start;background:#FBF3E6;border:1px solid #EBD7B5;border-radius:12px;padding:11px 12px;font-size:13.5px;line-height:1.5;color:#5C4520;margin-top:10px}
.ag-alert b{font-weight:600}
.ag-alert.cool{background:#EEF3ED;border-color:#CFDDCD;color:#2F4A2E}

/* year at a glance: three aligned rows, one shared month axis */
.ag-year .rowlbl{display:flex;justify-content:space-between;align-items:baseline;font:600 12px 'Montserrat',sans-serif;color:var(--bp-stone);text-transform:uppercase;letter-spacing:.05em;margin:12px 0 4px}
.ag-year .rowlbl:first-of-type{margin-top:4px}
.ag-year .rowlbl span:last-child{text-transform:none;letter-spacing:0;font-weight:500}
.ag-year svg{display:block;width:100%;height:auto;overflow:visible}
.ag-year .cols{position:relative}
.ag-year .hit{fill:transparent;cursor:pointer}
.ag-year .readout{min-height:44px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--bp-sand);font-size:13.5px;line-height:1.5;color:var(--bp-ink)}
.ag-year .readout b{font-family:'Outfit',sans-serif;font-weight:600;font-size:15px}
.ag-year table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:10px}
.ag-year th,.ag-year td{padding:5px 4px;text-align:right;border-top:1px solid var(--bp-line)}
.ag-year th:first-child,.ag-year td:first-child{text-align:left}
.ag-year thead th{border-top:0;color:var(--bp-stone);font-weight:600}
.ag-year tr.cur td{font-weight:700}
.ag-crowdkey{display:flex;align-items:center;gap:6px;font:500 11px 'Montserrat',sans-serif;color:var(--bp-stone);margin-top:6px}
.ag-crowdkey i{display:inline-block;width:18px;height:8px;border-radius:2px}

/* formation / crag cards */
.ag-group{font:600 12px 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--bp-stone);margin:18px 0 8px}
.ag-group:first-child{margin-top:4px}
.ag-forms{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:620px){.ag-forms{grid-template-columns:1fr 1fr}}
.ag-form{display:block;background:#fff;border:1px solid var(--bp-line);border-radius:14px;padding:12px 14px;color:var(--bp-ink);text-decoration:none;text-align:left;font:inherit;cursor:pointer;width:100%}
.ag-form:hover{text-decoration:none;border-color:rgba(59,52,43,.28)}
.ag-form .t{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.ag-form b{font:600 16px 'Outfit',sans-serif}
.ag-form .n{font:600 12px 'Montserrat',sans-serif;color:var(--bp-stone);white-space:nowrap}
.ag-form small{display:block;font-size:12.5px;color:var(--bp-stone);margin-top:2px;line-height:1.45}
.ag-form .crags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ag-form .crags a{font:600 12px 'Montserrat',sans-serif;padding:5px 9px;border-radius:99px;background:#E6EEE5;color:var(--bp-moss-d);text-decoration:none}
.ag-form .bar{display:flex;height:5px;border-radius:9px;overflow:hidden;margin-top:9px;background:var(--bp-sand)}
.ag-form .bar i{display:block;height:100%}

/* route search */
.ag-search{position:relative;margin-bottom:10px}
.ag-search input{width:100%;min-height:46px;padding:11px 40px 11px 14px;border:1px solid var(--bp-line);border-radius:12px;background:#fff;font:500 15px 'Montserrat',sans-serif;color:var(--bp-ink)}
.ag-search .x{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;background:none;color:var(--bp-stone);font-size:16px;cursor:pointer;display:none}
.ag-search.has .x{display:block}
.ag-count{font:600 13px 'Montserrat',sans-serif;color:var(--bp-stone);margin:4px 0 8px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.ag-count select{border:1px solid var(--bp-line);border-radius:9px;background:#fff;padding:6px 8px;font:600 12.5px 'Montserrat',sans-serif;color:var(--bp-ink)}
.ag-active{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.ag-active button{border:0;border-radius:99px;background:var(--bp-ink);color:#fff;font:600 12px 'Montserrat',sans-serif;padding:5px 10px;cursor:pointer}
.ag-rt{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--bp-line);color:var(--bp-ink);text-decoration:none}
.ag-rt:first-child{border-top:0}
.ag-rt:hover{text-decoration:none;background:#FCFBF8}
.ag-rt b{display:block;font:600 15px 'Outfit',sans-serif;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-rt small{display:block;font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-rt .r{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.ag-rt .s{font:600 11.5px 'Montserrat',sans-serif;color:var(--bp-stone)}
.ag-more{display:block;width:100%;margin-top:10px}

/* hikes */
.ag-hikes{display:grid;grid-template-columns:1fr;gap:8px}
@media (min-width:620px){.ag-hikes{grid-template-columns:1fr 1fr}}
.ag-hike{display:block;background:#fff;border:1px solid var(--bp-line);border-radius:14px;padding:12px 14px;color:var(--bp-ink);text-decoration:none}
.ag-hike:hover{text-decoration:none;border-color:rgba(59,52,43,.28)}
.ag-hike .t{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.ag-hike b{font:600 16px 'Outfit',sans-serif;line-height:1.25}
.ag-hike .rate{font:600 12.5px 'Montserrat',sans-serif;white-space:nowrap}
.ag-hike .st{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font:500 12.5px 'Montserrat',sans-serif;color:var(--bp-stone)}
.ag-hike .st .d{font-weight:600}
.ag-hike .st .d.Easy{color:var(--bp-moss)} .ag-hike .st .d.Moderate{color:var(--bp-amber)} .ag-hike .st .d.Hard,.ag-hike .st .d.Strenuous{color:var(--bp-rust)}
.ag-hike .ex{margin-top:6px;font:600 12px 'Montserrat',sans-serif;color:var(--bp-moss)}

/* forecast, detailed */
.ag-fc{display:flex;flex-direction:column;gap:6px}
.ag-day{display:grid;grid-template-columns:58px 34px 1fr auto;align-items:center;gap:10px;background:#fff;border:1px solid var(--bp-line);border-radius:12px;padding:9px 12px}
.ag-day .d{font:600 13px 'Montserrat',sans-serif;color:var(--bp-ink);line-height:1.2}
.ag-day .d small{display:block;font-weight:500;color:var(--bp-stone);font-size:11.5px}
.ag-day .i{font-size:24px;text-align:center}
.ag-day .rng{position:relative;height:6px;border-radius:9px;background:var(--bp-sand)}
.ag-day .rng i{position:absolute;top:0;bottom:0;border-radius:9px;background:linear-gradient(90deg,#8FA88D,#C9A15A,#A6553C)}
.ag-day .sub{display:flex;gap:10px;font:500 11.5px 'Montserrat',sans-serif;color:var(--bp-stone);margin-top:5px;flex-wrap:wrap}
.ag-day .sub .wet{color:#2F5D8A;font-weight:600}
.ag-day .t{font:600 15px 'Outfit',sans-serif;text-align:right;white-space:nowrap}
.ag-day .t small{display:block;font:500 11px 'Montserrat',sans-serif;color:var(--bp-stone)}
.ag-day.best{border-color:var(--bp-moss);box-shadow:0 0 0 1.5px var(--bp-moss) inset}
.ag-hours{display:flex;gap:4px;overflow-x:auto;margin:0 -16px;padding:2px 16px 4px;scrollbar-width:none}
.ag-hours::-webkit-scrollbar{display:none}
.ag-hr{flex:none;width:52px;text-align:center;background:#fff;border:1px solid var(--bp-line);border-radius:10px;padding:7px 2px}
.ag-hr .h{font:600 11px 'Montserrat',sans-serif;color:var(--bp-stone)}
.ag-hr .i{font-size:18px;line-height:1.5}
.ag-hr .t{font:600 14px 'Outfit',sans-serif}
.ag-hr .f{font:500 10.5px 'Montserrat',sans-serif;color:var(--bp-stone)}
.ag-hr .p{font:600 10.5px 'Montserrat',sans-serif;color:#2F5D8A;min-height:13px}

/* child areas (park page) */
.ag-kids{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:620px){.ag-kids{grid-template-columns:1fr 1fr}}
.ag-kid{position:relative;display:block;border-radius:16px;overflow:hidden;color:#fff;text-decoration:none;aspect-ratio:16/10;background:#2c2721}
.ag-kid:hover{text-decoration:none}
.ag-kid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ag-kid:hover img{transform:scale(1.03)}
.ag-kid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,13,0) 35%,rgba(20,17,13,.85))}
.ag-kid .c{position:absolute;left:14px;right:14px;bottom:12px;z-index:2}
.ag-kid b{display:block;font:600 24px 'Outfit',sans-serif;letter-spacing:-.01em}
.ag-kid small{display:block;font:500 13px 'Montserrat',sans-serif;opacity:.92;margin-top:2px}
.ag-kid .pill{position:absolute;top:12px;right:12px;z-index:2;font:600 12px 'Montserrat',sans-serif;background:rgba(20,17,13,.55);padding:5px 9px;border-radius:99px}
.ag-cta{display:flex;flex-direction:column;gap:10px;background:var(--bp-ink);color:#fff;border-radius:16px;padding:18px 16px;margin-top:18px}
.ag-cta b{font:600 20px 'Outfit',sans-serif;color:#fff}
.ag-cta p{font-size:14px;line-height:1.5;opacity:.85;margin:0}
.ag-cta .bp-btn{flex:none;align-self:flex-start;padding:0 18px}
.ag-src{font-size:12px;color:var(--bp-stone);line-height:1.5;margin-top:14px}
.ag-src a{color:var(--bp-stone);text-decoration:underline}
.ag-count span{white-space:nowrap}
.ag-count select{width:auto!important;min-height:0!important;flex:none}
.bp-seg button span{opacity:.7;font-weight:600}

/* ============ easy filters (big, labeled, nothing hidden off-screen) ============ */
.ez-wrap{margin:0 0 6px}
.ez-wrap>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  height:46px;padding:0 4px;font:700 15px 'Outfit',sans-serif;color:var(--bp-ink)}
.ez-wrap>summary::-webkit-details-marker{display:none}
.ez-wrap>summary::after{content:"Hide";font:600 13.5px 'Montserrat',sans-serif;color:var(--bp-moss)}
.ez-wrap:not([open])>summary::after{content:"Show"}
.ez-filters{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--bp-line);border-radius:18px;padding:14px 14px 16px;margin:2px 0 10px}
.ez-g{display:flex;flex-direction:column;gap:8px}
.ez-l{font:700 14px 'Outfit',sans-serif;color:var(--bp-ink)}
.ez-l small{font:500 12.5px 'Montserrat',sans-serif;color:var(--bp-stone);margin-left:4px}
.ez-opts{display:flex;flex-wrap:wrap;gap:8px}
.ez-filters button{min-height:46px;padding:0 16px;border:1.5px solid rgba(59,52,43,.18);background:#fff;border-radius:999px;
  font:600 15px 'Montserrat',sans-serif;color:var(--bp-ink);cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.ez-filters button span{font-size:12.5px;font-weight:700;color:var(--bp-stone);background:var(--bp-sand);border-radius:999px;padding:1px 7px}
.ez-filters button:hover{border-color:rgba(59,52,43,.4)}
.ez-filters button[aria-pressed="true"]{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
.ez-filters button[aria-pressed="true"]::before{content:"\2713";font-weight:700}
.ez-filters button[aria-pressed="true"] span{background:rgba(255,255,255,.18);color:#fff}
.ez-one{flex-direction:row}
.ez-count{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:500 15px 'Montserrat',sans-serif;color:var(--bp-stone);margin:4px 2px 10px}
.ez-count b{font:700 17px 'Outfit',sans-serif;color:var(--bp-ink)}
.ez-count button,.ez-reset{min-height:38px;padding:0 14px;border:1.5px solid var(--bp-rust);border-radius:999px;background:#fff;
  color:var(--bp-rust);font:600 14px 'Montserrat',sans-serif;cursor:pointer}
.ez-reset{margin-top:10px}

/* ============ hike cards ============ */
.ag-hikes{gap:14px}
.hk{background:#fff;border:1px solid var(--bp-line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(59,52,43,.04),0 8px 22px rgba(59,52,43,.06)}
.hk-ph{position:relative;display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#5C7A5A,#8FA88D);overflow:hidden}
.hk-ph img{width:100%;height:100%;object-fit:cover;display:block}
.hk-ph.nophoto::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 19 9.5 8l4 6.5 2-3L21 19z' fill='none' stroke='white' stroke-opacity='.55' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") center/64px no-repeat}
.hk-diff{position:absolute;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 13px;border-radius:999px;
  font:700 14px 'Montserrat',sans-serif;color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.hk-diff i{width:9px;height:9px;border-radius:50%;background:#fff}
.hk-diff.d-easy{background:#2F7D3A}
.hk-diff.d-moderate{background:#2F6FA8}
.hk-diff.d-hard{background:#B4462B}
.hk-diff.d-strenuous{background:#2A2622}
.hk-type{position:absolute;right:12px;top:12px;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:999px;
  background:rgba(255,255,255,.94);color:var(--bp-ink);font:600 13.5px 'Montserrat',sans-serif}
.hk-type svg{width:18px;height:18px}
.hk-b{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.hk h3{margin:0;font:600 19px/1.25 'Outfit',sans-serif;letter-spacing:-.01em}
.hk h3 a{color:var(--bp-ink);text-decoration:none}
.hk-rate{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.hk-score{font:700 16px 'Outfit',sans-serif;color:var(--bp-ink)}
.hk-stars{position:relative;display:inline-block;font-size:17px;letter-spacing:1px;line-height:1;color:rgba(59,52,43,.16)}
.hk-stars .on{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#3B7D23}
.hk-rate small{font:500 13.5px 'Montserrat',sans-serif;color:var(--bp-stone)}
.hk-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:12px;border:1px solid var(--bp-line);border-radius:14px;overflow:hidden;background:#FCFBF8}
.hk-stats div{display:flex;flex-direction:column;align-items:center;padding:10px 4px;text-align:center}
.hk-stats div+div{border-left:1px solid var(--bp-line)}
.hk-stats b{font:700 22px/1.1 'Outfit',sans-serif;color:var(--bp-ink);white-space:nowrap}
.hk-stats span{font:600 12.5px 'Montserrat',sans-serif;color:var(--bp-stone);margin-top:3px}
.hk-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.hk-pills span{font:600 13px 'Montserrat',sans-serif;padding:6px 11px;border-radius:999px;background:var(--bp-sand);color:var(--bp-ink)}
.hk-pills .p-water{background:#E3EEF6;color:#285F8C}
.hk-pills .p-good{background:#E4F0E2;color:#2F6A35}
.hk-pills .p-view{background:#F3ECDD;color:#7A5A1E}
.hk-pills .p-warn{background:#F8E5DE;color:#9A3B22}
.hk-best{margin:10px 0 0;font:500 13.5px 'Montserrat',sans-serif;color:var(--bp-stone)}
.hk-best b{color:var(--bp-ink);font-weight:600}
.at-btn{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:14px;
  background:#3B7D23;color:#fff;font:700 16px 'Montserrat',sans-serif;text-decoration:none}
.at-btn:hover{background:#2F6A1B;text-decoration:none;color:#fff}
.at-btn svg{width:18px;height:18px}
.hk-b .at-btn{margin-top:auto}
.hk-b .hk-pills+.at-btn,.hk-b .hk-best+.at-btn,.hk-b .hk-stats+.at-btn{margin-top:14px}

/* source buttons under the route title */
.bp-srcbtns{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px 2px}
.bp-srcbtn{flex:1 1 150px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 14px;border-radius:14px;
  font:700 14.5px 'Montserrat',sans-serif;text-decoration:none;border:1.5px solid transparent}
.bp-srcbtn:hover{text-decoration:none;filter:brightness(1.05)}
.bp-srcbtn svg{width:18px;height:18px;flex:none}
.bp-srcbtn svg.ext{width:15px;height:15px;opacity:.8}
.bp-srcbtn.s-mp{background:#fff;color:var(--bp-ink);border-color:rgba(59,52,43,.22)}
.bp-srcbtn.s-at{background:#3B7D23;color:#fff}

/* ============ area guide: wider on desktop, denser overview ============ */
.bp.ag-wide{max-width:1120px}
@media (min-width:980px){
  .bp.ag-wide .bp-pane{padding-left:24px;padding-right:24px}
  .bp.ag-wide .bp-glance,.bp.ag-wide .bp-lede,.bp.ag-wide #g-alerts{padding-left:24px!important;padding-right:24px!important}
  .ag-ov{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:start}
  .ag-ov #g-tophikes{grid-column:1/-1}
  .ag-ov .ag-forms{grid-template-columns:1fr 1fr}
  .bp.ag-wide #g-list{display:grid;grid-template-columns:1fr 1fr}
  .bp.ag-wide #g-list .ag-rt{border-top:1px solid var(--bp-line)}
  .bp.ag-wide #g-list .ag-rt:nth-child(-n+2){border-top:0}
  .bp.ag-wide #g-list .ag-rt:nth-child(odd){border-right:1px solid var(--bp-line)}
  .bp.ag-wide .ez-filters{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
}
.bp-seg.sm{margin:0}
.bp-seg.sm button{padding:5px 10px;font-size:12px}
.ag-under{display:block;margin:8px 0 0 auto}
.ag-top10 .ag-rt{grid-template-columns:auto 1fr auto;display:flex;gap:10px}
.ag-top10 .rk{flex:none;width:24px;height:24px;border-radius:50%;background:var(--bp-sand);color:var(--bp-ink);font:700 12px 'Montserrat',sans-serif;display:flex;align-items:center;justify-content:center}
.ag-top10 .ag-rt:nth-child(-n+3) .rk{background:var(--bp-ink);color:#fff}

/* ten-day strip */
.ag-fc10{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(58px,1fr);gap:6px;overflow-x:auto;margin:8px -16px 0;padding:0 16px 4px;scrollbar-width:none;cursor:pointer}
.ag-fc10::-webkit-scrollbar{display:none}
@media (min-width:980px){.ag-fc10{margin:8px 0 0;padding:0}}
.ag-d10{display:flex;flex-direction:column;align-items:center;gap:1px;background:#fff;border:1px solid var(--bp-line);border-radius:12px;padding:8px 4px 7px;text-align:center}
.ag-d10 b{font:600 12px 'Montserrat',sans-serif;color:var(--bp-ink)}
.ag-d10 .i{font-size:21px;line-height:1.3}
.ag-d10 .t{font:700 15px 'Outfit',sans-serif;color:var(--bp-ink)}
.ag-d10 .l{font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone)}
.ag-d10 .p{font:600 11px 'Montserrat',sans-serif;color:var(--bp-stone);min-height:14px}
.ag-d10 .p.wet{color:#2F5D8A}
.ag-d10.best{border-color:var(--bp-moss);box-shadow:0 0 0 1.5px var(--bp-moss) inset}

/* ============ hikes: compact rows ============ */
.hk-list{display:grid;grid-template-columns:1fr;background:#fff;border:1px solid var(--bp-line);border-radius:16px;overflow:hidden}
@media (min-width:760px){.hk-list{grid-template-columns:1fr 1fr}
  .hk-list .hk-row:nth-child(odd){border-right:1px solid var(--bp-line)}
  .hk-list .hk-row:nth-child(2){border-top:0}}
@media (min-width:1080px){#g-hikes.hk-list{grid-template-columns:1fr 1fr 1fr}
  #g-hikes.hk-list .hk-row{border-right:1px solid var(--bp-line)}
  #g-hikes.hk-list .hk-row:nth-child(3n){border-right:0}
  #g-hikes.hk-list .hk-row:nth-child(3){border-top:0}}
.hk-row{display:flex;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid var(--bp-line);color:var(--bp-ink);text-decoration:none;min-width:0}
.hk-row:first-child{border-top:0}
.hk-row:hover{text-decoration:none;background:#FCFBF8}
.hk-th{position:relative;flex:none;width:76px;height:76px;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,#5C7A5A,#8FA88D)}
.hk-th img{width:100%;height:100%;object-fit:cover;display:block}
.hk-th i{position:absolute;left:0;right:0;bottom:0;height:5px}
.hk-th i.d-easy,.hk-dt.d-easy::before{background:#2F7D3A}
.hk-th i.d-moderate,.hk-dt.d-moderate::before{background:#2F6FA8}
.hk-th i.d-hard,.hk-dt.d-hard::before{background:#B4462B}
.hk-th i.d-strenuous,.hk-dt.d-strenuous::before{background:#2A2622}
.hk-rb{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.hk-rb b{font:600 15.5px/1.25 'Outfit',sans-serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hk-l1,.hk-l2{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;font:500 13px 'Montserrat',sans-serif;color:var(--bp-stone)}
.hk-l1 strong{font-weight:700;color:var(--bp-ink)}
.hk-dt{display:inline-flex;align-items:center;gap:5px;font-weight:700}
.hk-dt::before{content:"";width:9px;height:9px;border-radius:50%}
.hk-dt.d-easy{color:#2F7D3A}.hk-dt.d-moderate{color:#2F6FA8}.hk-dt.d-hard{color:#B4462B}.hk-dt.d-strenuous{color:#2A2622}
.hk-at{font-weight:700;color:#3B7D23}
.hk-at em{font-style:normal;font-weight:500;color:var(--bp-stone)}
.hk-ty{display:inline-flex;align-items:center;gap:4px}
.hk-ty svg{width:15px;height:15px}
.hk-pl{font:600 11.5px 'Montserrat',sans-serif;padding:2px 8px;border-radius:999px;background:var(--bp-sand);color:var(--bp-ink)}
.hk-pl.p-water{background:#E3EEF6;color:#285F8C}.hk-pl.p-good{background:#E4F0E2;color:#2F6A35}.hk-pl.p-view{background:#F3ECDD;color:#7A5A1E}.hk-pl.p-warn{background:#F8E5DE;color:#9A3B22}
@media (max-width:420px){.hk-pl:nth-of-type(n+2){display:none}}

/* filter chips that open sheets */
.hk-bar{display:flex;gap:8px;overflow-x:auto;margin:2px -16px 8px;padding:0 16px 2px;scrollbar-width:none}
.hk-bar::-webkit-scrollbar{display:none}
.hk-chip{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1.5px solid rgba(59,52,43,.18);border-radius:999px;background:#fff;
  font:600 14.5px 'Montserrat',sans-serif;color:var(--bp-ink);cursor:pointer}
.hk-chip svg{width:16px;height:16px}
.hk-chip.on{background:var(--bp-ink);border-color:var(--bp-ink);color:#fff}
.hk-chip .x{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);font-size:11px;margin-right:-6px}
.hk-chip.sort{margin-left:auto}
@media (min-width:980px){.hk-bar{margin:2px 0 8px;padding:0}}
.ez-filters button[disabled]{opacity:.4;cursor:default}
.ag-under{font:600 12.5px 'Montserrat',sans-serif;color:var(--bp-moss);background:none;border:0;cursor:pointer;padding:6px 0}
@media (max-width:979px){
  #g-forms-top.ag-forms{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,84%);grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
  #g-forms-top.ag-forms::-webkit-scrollbar{display:none}
  #g-forms-top .ag-form{scroll-snap-align:start}
}

/* ============ where to stay ============ */
.st-list{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:760px){.st-list{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.st-list{grid-template-columns:1fr 1fr 1fr}}
.st{background:#fff;border:1px solid var(--bp-line);border-radius:18px;padding:14px 15px 15px;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(59,52,43,.04),0 6px 18px rgba(59,52,43,.05)}
.st.closed{opacity:.72}
.st-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.st-type{display:inline-flex;align-items:center;gap:5px;font:700 11px 'Montserrat',sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px}
.st-type svg{width:14px;height:14px}
.st-type.camp{background:#E6EEE5;color:#2F6A35}.st-type.bed{background:#EFE9DF;color:#6B5F50}
.st-pick{font:700 11px 'Montserrat',sans-serif;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#3B342B;color:#fff}
.st h3{font:600 18px/1.25 'Outfit',sans-serif;margin:8px 0 2px;color:var(--bp-ink)}
.st-where{font:500 13px 'Montserrat',sans-serif;color:var(--bp-stone)}
.st-key{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#FAF8F4}
.st-price b{display:block;font:700 18px/1.2 'Outfit',sans-serif;color:var(--bp-ink)}
.st-price small{font:500 12px 'Montserrat',sans-serif;color:var(--bp-stone)}
.st-pets{flex:none;display:inline-flex;align-items:center;gap:6px;font:700 13px 'Montserrat',sans-serif;padding:6px 11px;border-radius:999px}
.st-pets svg{width:16px;height:16px;fill:currentColor}
.st-pets.p-yes{background:#E4F0E2;color:#2F6A35}.st-pets.p-some{background:#F3ECDD;color:#7A5A1E}.st-pets.p-no{background:#F2E6E1;color:#8E4630}
.st-dl{margin:10px 0 0;display:flex;flex-direction:column;gap:5px}
.st-dl div{display:grid;grid-template-columns:44px 1fr;gap:8px;font:500 13px/1.45 'Montserrat',sans-serif}
.st-dl dt{font-weight:700;color:var(--bp-stone);text-transform:uppercase;font-size:11px;letter-spacing:.04em;padding-top:2px}
.st-dl dd{margin:0;color:var(--bp-ink)}
.st-am{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.st-am span{font:600 11.5px 'Montserrat',sans-serif;padding:3px 9px;border-radius:999px;background:var(--bp-sand);color:var(--bp-ink)}
.st-blurb{font:500 13.5px/1.5 'Montserrat',sans-serif;color:var(--bp-ink);margin:10px 0 0}
.st-acts{display:flex;gap:6px;margin-top:auto;padding-top:12px;flex-wrap:wrap}
.st-btn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 12px;border-radius:12px;border:1.5px solid rgba(59,52,43,.18);
  font:600 13.5px 'Montserrat',sans-serif;color:var(--bp-ink);text-decoration:none;background:#fff}
.st-btn:hover{text-decoration:none;border-color:rgba(59,52,43,.4)}
.st-btn.pri{background:var(--bp-moss);border-color:var(--bp-moss);color:#fff}
.st-btn.ic{flex:none;width:42px;padding:0}
.st-btn.ic svg{width:18px;height:18px}
.bp.ag-wide .ag-year svg{max-height:320px}
.ag-gblurb{font:500 13.5px/1.5 'Montserrat',sans-serif;color:var(--bp-ink);margin:-2px 0 10px}
.ag-gblurb span{color:var(--bp-stone)}
.st h3{font-size:17px;margin-top:6px}
.st-where{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.st-key{margin-top:8px;padding:8px 11px}
.st-price b{font-size:16.5px}
.st-dl{margin-top:8px;gap:3px}
.st-dl dd{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.st-more{margin-top:6px}
.st-more>summary{list-style:none;cursor:pointer;font:600 13px 'Montserrat',sans-serif;color:var(--bp-moss);padding:4px 0}
.st-more>summary::-webkit-details-marker{display:none}
.st-more>summary::after{content:" \25be"}
.st-more[open]>summary::after{content:" \25b4"}
.st-acts{flex-wrap:nowrap;padding-top:10px}
.st-btn{flex:1 1 0;min-width:0;white-space:nowrap}
.ag-alt{border:0;background:none;font:600 13px 'Montserrat',sans-serif;color:var(--bp-moss);cursor:pointer;padding:2px 0 8px}
#g-summary.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ag-more-sum{display:block;border:0;background:none;font:600 13.5px 'Montserrat',sans-serif;color:var(--bp-moss);cursor:pointer;padding:4px 16px 2px}
@media (min-width:980px){.bp.ag-wide .ag-more-sum{padding-left:24px}}
