/* Search shares Browse's scenic canvas; rules remain isolated from other views. */
body:has(.places-search){--places-surface:rgba(255,255,255,.88);--places-edge:rgba(54,76,85,.25);--places-fade:#f7f7f4;background:var(--places-fade)}
[data-theme="dark"] body:has(.places-search),body[data-theme="dark"]:has(.places-search){--places-surface:rgba(12,27,33,.88);--places-edge:rgba(176,207,218,.25);--places-fade:#081216}
body:has(.places-search)::before{content:"";position:absolute;inset:0 0 auto;height:720px;pointer-events:none;background:linear-gradient(180deg,rgba(247,247,244,.3),var(--places-fade)),linear-gradient(90deg,rgba(247,247,244,.92),transparent),url('assets/go/mountain-road-hero.jpg') center 48%/cover no-repeat}
[data-theme="dark"] body:has(.places-search)::before,body[data-theme="dark"]:has(.places-search)::before{background:linear-gradient(180deg,rgba(4,13,20,.14) 30%,var(--places-fade)),linear-gradient(90deg,rgba(3,13,19,.8),rgba(3,13,19,.12)),url('assets/go/mountain-road-hero.jpg') center 48%/cover no-repeat}
body:has(.places-search) .topbar{position:relative;background:linear-gradient(160deg,var(--search-glass-highlight),transparent 55%),var(--search-glass);-webkit-backdrop-filter:blur(9px) saturate(140%);backdrop-filter:blur(9px) saturate(140%);border-bottom:1px solid var(--search-glass-edge);box-shadow:inset 0 1px 0 var(--search-glass-highlight),0 5px 18px #00000018}
.places-search{position:relative;width:92%;max-width:1500px;margin:auto;padding:42px 0 28px}
.places-search>.back{margin-bottom:18px}.places-search .heading{align-items:center;margin-bottom:28px;gap:20px}.places-search h1{font-size:clamp(38px,4.8vw,64px);line-height:1.05;letter-spacing:-.04em;margin:0 0 18px}.places-search .heading p{font-size:20px;margin:0}.places-search .heading .textbutton{text-decoration:underline;font-weight:700;color:inherit}
.places-search .places-community-actions{margin-left:auto;display:flex;gap:10px}.places-search .places-community-actions .btn{background:var(--places-surface);border:1px solid var(--places-edge);border-radius:16px;padding:13px 18px;min-height:46px;color:var(--text-primary);font-size:14px;backdrop-filter:blur(12px)}
.places-search .places-query{max-width:880px;margin:0 0 32px;padding:7px;border:1px solid var(--places-edge);border-radius:20px;background:var(--places-surface);backdrop-filter:blur(12px);box-shadow:none}.places-search .places-query label{min-width:0;gap:18px}.places-search .places-query input{font-size:18px;min-width:0;min-height:48px}.places-search .places-query .btn{min-width:136px;min-height:60px;border-radius:14px}
.places-search .places-category-shortcuts{display:flex;align-items:center;gap:10px;max-width:100%;margin:-10px 0 22px;padding:2px 2px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.places-search .places-category-shortcuts button{display:flex;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid var(--search-glass-edge);border-radius:999px;background:linear-gradient(160deg,var(--search-glass-highlight),transparent 55%),var(--search-glass);color:var(--text-primary);font:650 14px/1 system-ui;white-space:nowrap;scroll-snap-align:start;-webkit-backdrop-filter:blur(9px) saturate(140%);backdrop-filter:blur(9px) saturate(140%);box-shadow:inset 0 1px 0 var(--search-glass-highlight),0 5px 18px #00000018}
.places-search .places-category-shortcuts button:hover{background-color:var(--places-surface)}.places-search .places-category-shortcuts button.is-active{background:linear-gradient(160deg,#ff667638,transparent 60%),rgba(189,16,36,.85);color:#fff;border-color:#fa5265;box-shadow:inset 0 1px 0 #ffffff40,0 0 15px #e01a3030}
.places-search .places-controls{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px;flex-wrap:wrap}.places-search .switch{margin:0;display:flex;gap:8px;border:0;padding:0;background:transparent}.places-search .switch button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 20px;border:1px solid var(--places-edge);border-radius:20px;background:var(--places-surface);color:var(--text-primary);font-size:14px}.places-search .places-content-switch .active{background:#bd1024;color:white;border-color:#e6293e;box-shadow:0 0 16px #e01a3030}.places-search .places-view-switch{gap:0;border:1px solid var(--places-edge);border-radius:18px;overflow:hidden;background:var(--places-surface)}.places-search .places-view-switch button{border:0;border-radius:0;background:transparent;box-shadow:none;border-bottom:3px solid transparent}.places-search .places-view-switch .active{border-bottom-color:#df1730;background:var(--places-surface)}
.places-search .collection-map{width:100%;height:clamp(420px,58vh,760px);border:1px solid var(--places-edge);border-radius:18px;overflow:hidden;margin:0}.places-search .collection-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px}.places-search .collection-layout .collection-map{height:calc(100vh - 130px);min-height:480px;top:24px}.places-search .collection-list{min-width:0}.places-search .road-card{background:var(--places-surface);border:1px solid var(--places-edge);border-radius:16px;margin-bottom:14px;padding:12px;grid-template-columns:180px minmax(0,1fr);gap:16px}.places-search .collection-layout .road-card{grid-template-columns:140px minmax(0,1fr)}.places-search .road-card-visual,.places-search .road-card img{height:150px}.places-search .places-result-details{min-width:0;cursor:pointer}.places-search .road-title{line-height:1.3}.places-search .feature-card-actions{display:flex;gap:6px;flex-wrap:wrap}.places-search .feature-card-actions button{font-size:12px;padding:7px 10px;min-height:36px}.places-search button:focus-visible{outline:3px solid #e7354b;outline-offset:3px}
.places-map-count{background:var(--places-surface);color:var(--text-primary);border:1px solid var(--places-edge);border-radius:15px;padding:12px 18px;box-shadow:0 2px 12px #0003;font:600 13px/1.3 system-ui}.places-map-count::before{content:'●';color:#dc1730;margin-right:9px}.places-search .leaflet-control-scale-line{background:var(--places-surface);color:var(--text-primary);border-color:var(--text-secondary);text-shadow:none}
@media(max-width:1050px){.places-search .collection-layout{grid-template-columns:1fr}.places-search .collection-layout .collection-map{position:relative;top:0;height:430px;min-height:0}.places-search .heading{flex-wrap:wrap}.places-search .places-community-actions{margin-left:0}}
@media(max-width:600px){.places-search{padding-top:26px}.places-search .heading p{font-size:16px}.places-search .places-query input{font-size:15px}.places-search .places-query .btn{min-width:82px;min-height:48px;padding:10px}.places-search .places-category-shortcuts{margin-top:-14px;margin-bottom:16px}.places-search .places-category-shortcuts button{min-height:42px;padding:9px 13px;font-size:13px}.places-search .places-controls{gap:14px}.places-search .places-content-switch{width:100%;overflow-x:auto}.places-search .switch button{white-space:nowrap;padding:10px 13px;min-height:46px}.places-search .collection-map{height:460px}.places-search .road-card,.places-search .collection-layout .road-card{grid-template-columns:110px minmax(0,1fr);gap:12px}.places-search .road-card-visual,.places-search .road-card img{height:130px}.places-search .road-card h3{font-size:17px}.places-search .places-community-actions .btn{padding:9px 12px;font-size:12px}}
[data-theme="dark"] .places-search .places-content-switch button.active{background:#bd1024;color:white;border-color:#e6293e;box-shadow:0 0 16px #e01a3030}
[data-theme="dark"] .places-search .places-view-switch button.active{border-bottom-color:#df1730;background:var(--places-surface)}
/* Keep result surfaces solid; only hero controls use translucent glass. */
body:has(.places-search){--search-glass:rgba(255,255,255,.52);--search-glass-highlight:rgba(255,255,255,.55);--search-glass-edge:rgba(255,255,255,.72)}
[data-theme="dark"] body:has(.places-search),body[data-theme="dark"]:has(.places-search){--search-glass:rgba(8,23,31,.46);--search-glass-highlight:rgba(255,255,255,.10);--search-glass-edge:rgba(194,221,231,.38)}
body:has(.places-search)::before{background:linear-gradient(180deg,transparent 55%,var(--places-fade)),linear-gradient(90deg,rgba(247,247,244,.84),rgba(247,247,244,.45) 48%,rgba(247,247,244,.08) 78%),url('assets/go/mountain-road-hero.jpg') center 48%/cover no-repeat}
[data-theme="dark"] body:has(.places-search)::before,body[data-theme="dark"]:has(.places-search)::before{background:linear-gradient(180deg,transparent 55%,var(--places-fade)),linear-gradient(90deg,rgba(3,13,19,.58),rgba(3,13,19,.24) 48%,rgba(3,13,19,.04) 78%),url('assets/go/mountain-road-hero.jpg') center 48%/cover no-repeat}
.places-search .places-query,.places-search .places-community-actions .btn,.places-search .places-content-switch button,.places-search .places-view-switch{background:linear-gradient(160deg,var(--search-glass-highlight),transparent 55%),var(--search-glass);border-color:var(--search-glass-edge);-webkit-backdrop-filter:blur(9px) saturate(140%);backdrop-filter:blur(9px) saturate(140%);box-shadow:inset 0 1px 0 var(--search-glass-highlight),0 5px 18px #00000018}
.places-search .places-content-switch button.active,[data-theme="dark"] .places-search .places-content-switch button.active,.places-search .places-query .btn{background:linear-gradient(160deg,#ff667638,transparent 60%),rgba(189,16,36,.85);color:#fff;border-color:#fa5265;box-shadow:inset 0 1px 0 #ffffff40,0 0 15px #e01a3030}
.places-search .places-view-switch button.active,[data-theme="dark"] .places-search .places-view-switch button.active{background:var(--search-glass-highlight);border-bottom-color:#df1730}
.places-search .places-community-actions .btn:hover,.places-search .places-content-switch button:not(.active):hover{background-color:var(--places-surface)}
@media(prefers-reduced-motion:reduce){.places-search *{scroll-behavior:auto}}
/* Match the useful density of 90% browser zoom without scaling maps or results. */
@media(min-width:721px){body:has(.places-search) .topbar{height:78px}.places-search{padding-top:38px}.places-search>.back{margin-bottom:16px}.places-search .heading{margin-bottom:25px}.places-search h1{font-size:clamp(34px,4.3vw,58px);margin-bottom:16px}.places-search .heading p{font-size:18px}.places-search .places-community-actions .btn{padding:12px 16px;min-height:42px}.places-search .places-query{margin-bottom:29px}.places-search .places-query input{font-size:16px;min-height:43px}.places-search .places-query .btn{min-width:122px;min-height:54px}.places-search .places-controls{margin-bottom:22px}.places-search .switch button{min-height:47px;padding:11px 18px}}
