.pre-hike-readiness[hidden]{display:none}
.pre-hike-open{overflow:hidden}
.pre-hike-readiness{position:fixed;inset:0;z-index:150}
.pre-hike-backdrop{position:absolute;inset:0;background:rgba(18,31,23,.64);backdrop-filter:blur(3px)}
.pre-hike-sheet{position:absolute;top:0;right:0;width:min(560px,100%);height:100%;overflow:auto;padding:34px 30px 28px;background:#f7f5ee;color:#2e4034;box-shadow:-24px 0 70px rgba(18,31,23,.28)}
.pre-hike-close{position:absolute;top:18px;right:20px;width:38px;height:38px;border:1px solid #d8d8cd;border-radius:50%;background:#fff;color:#2e4034;font-size:25px;line-height:1;cursor:pointer}
.pre-hike-kicker{margin:0 0 8px;color:#768179;font:800 11px Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.pre-hike-sheet h2{margin:0;font:700 clamp(28px,5vw,38px) "Bricolage Grotesque", sans-serif}
.pre-hike-summary{margin:10px 0 20px;color:#657169;font:600 13px/1.5 Inter,sans-serif}
.pre-hike-list{display:grid;gap:9px}
.pre-hike-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 14px;border:1px solid #dddcd2;border-radius:13px;background:#fff}
.pre-hike-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8ece7;color:#47604e;font:900 13px Inter,sans-serif}
.pre-hike-item--blocker{border-color:#d9a99f;background:#fff9f7}
.pre-hike-item--blocker .pre-hike-icon{background:#f3d9d2;color:#913c2b}
.pre-hike-item--advisory .pre-hike-icon{background:#f5e6ca;color:#80581e}
.pre-hike-item--checking .pre-hike-icon{background:#dce9ec;color:#315966}
.pre-hike-item-copy strong{display:block;font:800 12.5px/1.35 Inter,sans-serif}
.pre-hike-item-copy p{margin:3px 0 0;color:#68736b;font:400 11.5px/1.45 Inter,sans-serif}
.pre-hike-item button{min-height:34px;padding:7px 9px;border:1px solid #cfd3cc;border-radius:8px;background:#fff;color:#2e4034;font:800 10.5px Inter,sans-serif;cursor:pointer}
.pre-hike-item button:disabled{cursor:wait;opacity:.6}
.pre-hike-boundary{margin:17px 0 0;padding:13px 14px;border-left:3px solid #8a5a16;background:#f6ecdb;color:#604b2f;font:400 11.5px/1.5 Inter,sans-serif}
.pre-hike-boundary strong{display:block;margin-bottom:2px}
.pre-hike-footer{position:sticky;bottom:-28px;display:flex;justify-content:flex-end;gap:9px;margin:22px -30px -28px;padding:16px 30px 22px;border-top:1px solid #dddcd2;background:rgba(247,245,238,.96);backdrop-filter:blur(8px)}
.pre-hike-footer button{min-height:44px;padding:10px 17px;border-radius:11px;font:800 12px Inter,sans-serif;cursor:pointer}
.pre-hike-secondary{border:1px solid #cfd3cc;background:#fff;color:#2e4034}
.pre-hike-primary{border:0;background:#2e4034;color:#fff}
.pre-hike-primary:disabled{background:#aeb5af;cursor:not-allowed}
@media(max-width:600px){
  .pre-hike-sheet{top:auto;bottom:0;width:100%;height:min(88%,760px);padding:28px 18px 20px;border-radius:22px 22px 0 0}
  .pre-hike-close{top:13px;right:15px}
  .pre-hike-item{grid-template-columns:30px minmax(0,1fr);padding:12px}
  .pre-hike-item button{grid-column:2;justify-self:start}
  .pre-hike-footer{bottom:-20px;margin:20px -18px -20px;padding:14px 18px max(18px,env(safe-area-inset-bottom))}
}
