/* Adventure Builder — Walking & Hiking Map Workspace V2
   Map-first UI. Functional trail-planner IDs remain unchanged. */
body[data-page="walking-hiking"]{background:#eef0ef}
body[data-page="walking-hiking"] main{padding:0!important;margin:0!important;max-width:none!important}
body[data-page="walking-hiking"] .walk-workspace{height:calc(100vh - 72px);min-height:620px;display:flex;flex-direction:column;background:#f6f7f6;overflow:hidden}
.walk-workspace-head{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 20px 9px;border-bottom:1px solid #d8ddda;background:#fff;z-index:8}
.walk-workspace-head .eyebrow{margin:0 0 2px;color:#d66000;font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.walk-workspace-head h1{margin:0;color:#171a1c;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.02}
.walk-workspace-subtitle{margin:3px 0 0;color:#697176;font-size:.76rem;line-height:1.25}
.walk-workspace-actions{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.walk-workspace-actions a,.walk-workspace-actions button{appearance:none;border:0;background:transparent;color:#32383c;text-decoration:none;font:inherit;font-size:.75rem;font-weight:800;padding:9px 11px;border-radius:7px;cursor:pointer}
.walk-workspace-actions a:hover,.walk-workspace-actions button:hover{background:#f1f2f1}
.walk-workspace-actions .walk-app-link{background:#171a1c;color:#fff}.walk-workspace-actions .walk-app-link:hover{background:#282d30}
.walk-map-workspace{position:relative;flex:1;min-height:0;display:flex;overflow:hidden;background:#dfe3e0}
.walk-planner{position:relative;z-index:6;width:300px;flex:0 0 300px;background:#fff;border-right:1px solid #d6dbd8;box-shadow:7px 0 20px rgba(15,20,18,.07);transition:width .22s ease,flex-basis .22s ease,transform .22s ease;overflow:hidden}
.walk-planner.is-collapsed{width:0;flex-basis:0;border-right:0;box-shadow:none}
.walk-planner-topline{height:57px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 9px 16px;border-bottom:1px solid #e5e8e6}
.walk-planner-topline>div{min-width:0}.walk-step{display:block;color:#d66000;font-size:.61rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.walk-planner-topline strong{display:block;margin-top:1px;color:#171a1c;font-size:.95rem}
.walk-icon-button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:6px;background:#f0f2f1;color:#333;font-size:1.2rem;line-height:1;cursor:pointer}.walk-icon-button:hover{background:#e4e7e5}
.walk-planner-body{padding:14px 16px 18px;overflow:auto;height:calc(100% - 57px);box-sizing:border-box;scrollbar-width:thin}
.walk-planner-help{margin:0 0 13px;color:#6b7377;font-size:.74rem;line-height:1.38}.walk-planner label{display:block;margin:0 0 5px;color:#303639;font-size:.69rem;font-weight:850}.walk-planner input{width:100%;box-sizing:border-box;min-height:40px;border:1px solid #cbd1ce;border-radius:6px;background:#fff;padding:9px 10px;color:#1e2224;font:inherit;font-size:.8rem;outline:none}.walk-planner input:focus{border-color:#e36a00;box-shadow:0 0 0 2px rgba(227,106,0,.12)}
.walk-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.walk-save-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:13px;padding-top:13px;border-top:1px solid #e4e7e5}.walk-save-actions #trail-open-app{grid-column:1/-1}
.walk-button{appearance:none;display:flex;align-items:center;justify-content:center;min-height:38px;box-sizing:border-box;border:1px solid #cbd1ce;border-radius:6px;background:#fff;color:#252a2d;text-decoration:none;font:inherit;font-size:.71rem;font-weight:850;padding:8px 9px;cursor:pointer}.walk-button:hover:not(:disabled){background:#f3f5f4}.walk-button:disabled,.walk-button.is-disabled{opacity:.42;cursor:not-allowed}.walk-button-main{border-color:#171a1c;background:#171a1c;color:#fff}.walk-button-main:hover:not(:disabled){background:#292f32}.walk-button-quiet{background:#f5f6f5}.walk-text-action{margin:8px 0 0;padding:2px 0;border:0;background:transparent;color:#777f83;font:inherit;font-size:.68rem;text-decoration:underline;cursor:pointer}
.trail-status{min-height:34px;margin:12px 0 0;padding:9px 10px;border-left:3px solid #dfe3e0;background:#f5f6f5;color:#596267;font-size:.7rem;line-height:1.35}.trail-status[data-kind="success"]{border-left-color:#3d8b61}.trail-status[data-kind="warning"]{border-left-color:#e78b14}.trail-status[data-kind="error"]{border-left-color:#b94942}.walk-small-note{display:block;margin-top:10px;color:#858d91;font-size:.63rem;line-height:1.35}
.walk-map-stage{position:relative;flex:1;min-width:0;min-height:0;overflow:hidden}.walk-map-stage #trail-map{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important}.walk-map-stage .maplibregl-canvas{outline:none}
.walk-map-toolbar{position:absolute;z-index:5;top:12px;left:12px;display:flex;gap:5px}.walk-map-toolbar button{border:1px solid rgba(20,24,22,.18);border-radius:6px;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(20,24,22,.12);backdrop-filter:blur(8px);color:#262c2f;font:inherit;font-size:.7rem;font-weight:850;padding:8px 10px;cursor:pointer}.walk-map-toolbar button:hover{background:#fff}
.trail-map-tip{position:absolute;z-index:4;left:12px;bottom:70px;padding:6px 8px;border-radius:5px;background:rgba(20,24,22,.82);color:#fff;font-size:.63rem;backdrop-filter:blur(8px)}
.walk-route-bar{position:absolute;z-index:5;left:12px;right:12px;bottom:12px;min-height:49px;display:grid;grid-template-columns:105px minmax(130px,1fr) minmax(130px,1fr) auto;align-items:center;background:rgba(255,255,255,.96);border:1px solid rgba(27,31,29,.13);box-shadow:0 8px 24px rgba(18,22,20,.15);backdrop-filter:blur(12px);border-radius:8px;overflow:hidden}.walk-route-bar>div{min-width:0;padding:8px 12px;border-right:1px solid #e2e5e3}.walk-route-bar span{display:block;color:#7a8286;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.walk-route-bar strong{display:block;margin-top:1px;color:#191d1f;font-size:.87rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.walk-route-bar-actions{display:flex!important;align-items:center;gap:2px!important;border-right:0!important;padding:5px!important}.walk-route-bar-actions button,.walk-route-bar-actions a{border:0;background:transparent;color:#2f3538;text-decoration:none;font:inherit;font-size:.67rem;font-weight:850;padding:8px 9px;border-radius:5px;cursor:pointer}.walk-route-bar-actions button:hover,.walk-route-bar-actions a:hover{background:#eff1f0}
.walk-poi-drawer{position:absolute;z-index:7;top:0;right:0;bottom:0;width:min(390px,40vw);box-sizing:border-box;padding:15px 16px 18px;background:#fff;border-left:1px solid #d7dcda;box-shadow:-10px 0 28px rgba(18,22,20,.12);transform:translateX(102%);transition:transform .22s ease;overflow:auto}.walk-poi-drawer.is-open{transform:translateX(0)}.walk-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e4e7e5}.walk-drawer-head .eyebrow{margin:0;color:#d66000;font-size:.6rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.walk-drawer-head h2{margin:2px 0 0;color:#181c1e;font-size:1.05rem}.walk-drawer-copy{margin:10px 0;color:#697176;font-size:.7rem;line-height:1.4}.trail-poi-filters{display:flex;flex-wrap:wrap;gap:5px}.trail-poi-filters label{display:flex;align-items:center;gap:4px;padding:6px 7px;border:0;border-bottom:1px solid #dfe3e0;background:transparent;color:#3c4347;font-size:.65rem;font-weight:750}.trail-poi-filters input{accent-color:#e36a00}.feature-status{margin:11px 0 0;color:#6c7478;font-size:.68rem}.trail-poi-grid{display:grid!important;grid-template-columns:1fr!important;gap:0!important;margin-top:7px!important}.trail-poi-card{display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:9px!important;padding:10px 0!important;border:0!important;border-bottom:1px solid #e4e7e5!important;border-radius:0!important;background:transparent!important;color:#202527!important}.trail-poi-card span{font-size:1rem}.trail-poi-card small{color:#d66000;font-size:.56rem;font-weight:850;text-transform:uppercase}.trail-poi-card h3{margin:1px 0!important;font-size:.78rem!important}.trail-poi-card p{margin:0!important;color:#737b7f!important;font-size:.63rem!important}.trail-poi-card button{border:1px solid #cfd4d2!important;border-radius:5px!important;background:#fff!important;color:#303638!important;font-size:.62rem!important;font-weight:800!important;padding:6px 7px!important}
body[data-page="walking-hiking"] .site-footer{display:none}
@media(max-width:900px){body[data-page="walking-hiking"] .walk-workspace{height:calc(100dvh - 64px);min-height:560px}.walk-workspace-head{min-height:64px;padding:8px 12px}.walk-workspace-subtitle{display:none}.walk-workspace-actions a:first-child{display:none}.walk-planner{position:absolute;left:0;top:0;bottom:0;width:min(330px,88vw);flex-basis:auto;transform:translateX(0)}.walk-planner.is-collapsed{width:min(330px,88vw);transform:translateX(-102%)}.walk-poi-drawer{width:min(360px,90vw)}.walk-route-bar{grid-template-columns:repeat(3,1fr);left:8px;right:8px;bottom:8px}.walk-route-bar-actions{display:none!important}.trail-map-tip{left:8px;bottom:66px}.walk-map-toolbar{top:8px;left:8px}}
@media(max-width:560px){.walk-workspace-head h1{font-size:1.2rem}.walk-workspace-actions button{display:none}.walk-workspace-actions a{padding:8px 9px}.walk-route-bar>div{padding:7px 8px}.walk-route-bar strong{font-size:.75rem}.walk-route-bar span{font-size:.52rem}.walk-map-toolbar{gap:4px}.walk-map-toolbar button{padding:7px 8px}.walk-poi-drawer{width:100%}}

/* W38 — distraction-free website navigation + location-first map */
@media(min-width:901px){
  body[data-page="walking-hiking"]{--ab-sidebar-w:0px}
  body[data-page="walking-hiking"]>.ab-site-sidebar{transform:translateX(calc(-100% - 24px));width:248px;box-shadow:12px 0 38px rgba(0,0,0,.28);transition:transform .22s ease}
  body[data-page="walking-hiking"].walk-site-nav-open>.ab-site-sidebar{transform:translateX(0)}
  body[data-page="walking-hiking"]>.site-header{left:0!important;width:100%!important}
  body[data-page="walking-hiking"]>main{margin-left:0!important}
  .walk-site-nav-backdrop{position:fixed;inset:0;z-index:1240;border:0;background:rgba(7,10,12,.34);opacity:0;pointer-events:none;transition:opacity .18s ease;cursor:default}
  body.walk-site-nav-open .walk-site-nav-backdrop{opacity:1;pointer-events:auto}
  .walk-site-menu-toggle{display:inline-flex!important;align-items:center;gap:5px;border:1px solid #d9ddda!important;background:#f5f6f5!important;color:#23282b!important}
  .walk-site-menu-toggle:hover{background:#ecefed!important}
}

.trail-user-location-marker{width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:#ff7900;box-shadow:0 0 0 2px rgba(20,25,28,.32),0 4px 12px rgba(0,0,0,.25);position:relative}
.trail-user-location-marker span{position:absolute;inset:-9px;border:2px solid rgba(255,121,0,.32);border-radius:50%;animation:ab-location-pulse 1.9s ease-out infinite}
@keyframes ab-location-pulse{0%{transform:scale(.55);opacity:.9}75%,100%{transform:scale(1.55);opacity:0}}
@media(prefers-reduced-motion:reduce){.trail-user-location-marker span{animation:none}}
@media(max-width:900px){.walk-site-menu-toggle{display:none!important}}


/* W39 — nearby route discovery + random loop generator */
.walk-smart-routes{margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid #e4e7e5}
.walk-smart-routes-head{margin-bottom:8px}.walk-smart-routes-head strong{display:block;margin-top:2px;color:#1d2224;font-size:.82rem}
.walk-smart-route-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.walk-smart-route-button{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:7px;min-height:54px;padding:7px 8px;border:1px solid #d8ddda;border-radius:7px;background:#fff;color:#22282b;text-align:left;cursor:pointer;font:inherit}.walk-smart-route-button:hover{border-color:#c3c9c6;background:#f8f9f8}.walk-smart-route-button>span:first-child{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#161a1c;color:#ff7b00;font-size:.93rem;font-weight:900}.walk-smart-route-button strong{display:block;font-size:.68rem;line-height:1.15}.walk-smart-route-button small{display:block;margin-top:2px;color:#7d8589;font-size:.56rem;line-height:1.2}.walk-smart-route-button:disabled{opacity:.5;cursor:wait}
.walk-make-route-panel{margin-top:9px;padding:9px 0 0;border-top:1px solid #edf0ee}.walk-distance-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.walk-distance-row label{margin:0!important}.walk-distance-row output{color:#e26800;font-size:.68rem;font-weight:900}.walk-make-route-panel input[type="range"]{min-height:22px!important;height:22px!important;padding:0!important;border:0!important;box-shadow:none!important;accent-color:#e36a00}.walk-distance-scale{display:flex;justify-content:space-between;margin-top:-2px;color:#8b9396;font-size:.54rem}.walk-generate-row{display:grid;grid-template-columns:1fr 92px;gap:6px;margin-top:8px}.walk-generate-row select{width:100%;min-height:38px;border:1px solid #cbd1ce;border-radius:6px;background:#fff;padding:7px 8px;color:#303638;font:inherit;font-size:.68rem}.walk-nearby-routes{margin-top:9px;padding-top:3px;border-top:1px solid #edf0ee}.walk-smart-loading{margin:5px 0;color:#747d81;font-size:.64rem;line-height:1.35}.walk-nearby-route-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 0;border:0;border-bottom:1px solid #ecefed;background:transparent;color:#252b2e;text-align:left;cursor:pointer;font:inherit}.walk-nearby-route-item:hover strong{color:#d66000}.walk-nearby-route-item strong{display:block;font-size:.67rem}.walk-nearby-route-item small{display:block;margin-top:2px;color:#858d90;font-size:.55rem}.walk-nearby-route-item em{flex:0 0 auto;color:#5f686c;font-size:.58rem;font-style:normal;font-weight:800}
@media(max-width:560px){.walk-smart-route-actions{grid-template-columns:1fr}.walk-generate-row{grid-template-columns:1fr 88px}}

/* W40 activity-aware route generator */
.walk-activity-switch {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin: 10px 0 8px;
  padding: 3px;
  background: #eef1f3;
  border-radius: 9px;
}
.walk-activity-switch button {
  appearance: none;
  border: 0;
  background: transparent;
  color: #4b5358;
  min-height: 34px;
  border-radius: 7px;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 750;
  cursor: pointer;
}
.walk-activity-switch button:hover { background: rgba(255,255,255,.75); color: #111; }
.walk-activity-switch button.is-active {
  background: #111;
  color: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.16);
}
.walk-activity-switch button.is-active::after {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-left: 6px;
  vertical-align: middle;
  border-radius: 50%;
  background: #f47a00;
}
