/* 稜線の手帖。山を探し、駐車場から湯へ進む。 */
.ridge-home .hero{margin:0;background:none;border:0;padding:22px 0 0}
.ridge-home .hero-in{gap:12px}
body[data-view="home"] .ridge-home .hero-h{font-weight:500;font-size:clamp(1.85rem,5vw,2.65rem);line-height:1.4;letter-spacing:.035em}
.ridge-home .hero-lead{font-size:.9rem;max-width:none}
.ridge-illustration{display:block;width:100%;height:auto;max-height:160px;object-fit:cover;object-position:bottom;margin:3px 0 0}
.ridge-home .eyebrow{font-weight:500;letter-spacing:.1em;color:var(--moss)}
.ridge-home .home-search-slot{margin:0}
.ridge-home .home-search-slot .search-label{font-size:1.05rem;color:var(--ink);margin-bottom:10px}
.ridge-home .search-row{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px;gap:6px}
.ridge-home .search-row:focus-within{outline:3px solid var(--lake);outline-offset:3px}
.ridge-home .home-search-slot input{border:0;box-shadow:none;border-radius:4px;height:48px;background:var(--surface)}
.ridge-home .search-go{min-height:48px;border-radius:5px}
.ridge-home .home-search-flow{border:0;padding:0;margin:0 0 4px;gap:6px 10px;color:var(--ink-3)}
.ridge-home .home-recent{gap:5px;margin-top:20px}
.ridge-home .home-recent .chips{gap:8px 18px}
.ridge-home .home-recent .chip{border:0;background:none;border-radius:0;padding:4px 0;min-height:44px;color:var(--moss);font-weight:500}
.ridge-home .home-pick{margin:18px 0 0}
.ridge-home .home-pick .blk-h{padding:0;border:0;align-items:center;gap:8px;margin-bottom:12px}
.ridge-home .home-pick .h2{font-size:1.08rem;font-family:var(--f-body);font-weight:600}
.ridge-home .home-pick .linkbtn{font-size:.8rem;min-height:44px}
.home-region-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.home-region-tile{display:flex;align-items:center;gap:10px;padding:12px;min-height:54px;background:var(--surface);border:1px solid var(--line);border-radius:6px;text-align:left;cursor:pointer;font-size:.92rem;line-height:1.5}
.home-region-tile svg{color:var(--moss);width:20px;height:20px;flex:none}
.home-region-tile:hover{border-color:var(--moss);background:var(--moss-l)}
.tile-arrow{margin-left:auto;color:var(--ink-3);font-size:.86rem}
.home-browse-actions{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 12px}
.home-browse-actions .btn{background:none;border:0;padding:6px 0;min-height:44px;font-size:.82rem;box-shadow:none;font-weight:500;text-decoration:underline;text-underline-offset:4px}
.home-extras{margin-top:6px;border-top:1px solid var(--line)}
.home-extras>summary{font-size:.85rem;color:var(--ink-2)}
.ridge-home .foot{padding-top:16px;margin-top:16px;font-size:.76rem}
.mountain-index-head{padding:4px 0 18px}
.mountain-index-head .h1{font-weight:500;margin:8px 0;line-height:1.5}
.mountain-index-head .lead{font-size:.9rem;margin:0}
.mountain-group-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.mountain-index .home-regions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px;align-items:start}
.mountain-index .region[open]{grid-column:1/-1}
.mountain-index .region summary{gap:9px;font-size:.94rem;line-height:1.5;min-height:58px}
.mountain-index .region summary svg{color:var(--moss);flex:none;width:20px;height:20px}
.mountain-index .home-region-name{flex:1;min-width:0}
.mountain-index .mrow{padding:14px 8px;min-height:68px}
.mountain-index .count{margin:16px 0 10px}
.mountain-index .home-refine{border-top:1px solid var(--line)}
.parking-origin{background:var(--moss-l);border:0;border-left:3px solid var(--moss);border-radius:4px;padding:14px 16px;margin:14px 0 12px}
.parking-origin .pk{background:none;color:var(--moss);border:1.5px solid var(--moss);border-radius:4px;width:28px;height:28px;font-size:1rem}
.parking-origin-head b{font-weight:600}
.parking-origin .parkd{margin:8px 0 0;border-color:color-mix(in srgb,var(--moss) 20%,transparent)}
.parking-origin .parkd>summary{font-size:.8rem;min-height:44px;font-weight:500}
.mountain-map-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--moss);padding:10px 13px;cursor:pointer;text-align:left;font-size:.86rem}
.mountain-map-preview span{display:flex;align-items:center;gap:9px}
.mountain-map-preview svg{width:20px;height:20px;flex:none}
.mountain-map-preview small{font-size:.75rem;color:var(--ink-3);flex:none}
.mt-name{font-weight:500;letter-spacing:.025em}
.thcard{border-radius:6px;box-shadow:none}
.thcard>span{font-size:.84rem}
.thline{font-size:.82rem}
.parking-stay{background:none;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:0;margin:24px 0}
.parking-stay>summary{font-weight:500;font-size:.91rem}
.btn,.chip,.act{box-shadow:none}
body[data-view="home"] .mapwrap:not(.map-expanded),body[data-view="mountains"] .mapwrap:not(.map-expanded){display:none}
body[data-view="home"] .mapfab,body[data-view="mountains"] .mapfab{display:none!important}
@media(min-width:920px){
 .panel{width:clamp(460px,42vw,640px)}
 body[data-view="home"] .main,body[data-view="mountains"] .main{display:flex;flex-direction:column;overflow:hidden}
 body[data-view="home"] .panel,body[data-view="mountains"] .panel{width:100%;max-width:920px;margin:auto;height:100%;padding:28px 48px 36px;border:0;overflow-y:auto}
 body[data-view="home"] .ridge-home .hero{padding:4px 0 0}
 .ridge-home .hero-in{grid-template-columns:1fr 1fr;column-gap:24px;align-items:start}
 .ridge-home .eyebrow,.ridge-home .hero-h,.ridge-home .hero-lead{grid-column:1}
 .ridge-home .ridge-illustration{grid-column:2;grid-row:1/4;align-self:end;max-height:none;height:160px;object-fit:cover;object-position:65% bottom}
 .ridge-home .home-search-slot,.ridge-home .search-examples,.ridge-home .home-search-flow{grid-column:1/-1}
 .ridge-home .home-search-slot{margin-top:12px}
 .ridge-home .home-search-flow{margin-bottom:0}
 .ridge-home .home-pick{margin-top:18px}
 .mountain-map-preview{display:none}
}
@media(max-width:919px){
 body[data-view="mt"] .mapwrap:not(.map-expanded){display:none}
 body[data-view="mt"] .panel{padding-top:14px}
 .ridge-home .hero-in{gap:10px}
 .ridge-home .hero-lead{font-size:.83rem}
 .ridge-home .ridge-illustration{max-height:100px;object-fit:cover}
 .home-region-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .home-region-tile{min-height:52px;font-size:.86rem;gap:8px;padding:10px}
 .tile-arrow{display:none}
 .mountain-index .home-regions{grid-template-columns:1fr}
 .mountain-index .region[open]{grid-column:auto}
}
@media(max-width:380px){
 .home-region-tile svg{width:17px;height:17px}
 .ridge-home .home-pick .blk-h{flex-wrap:wrap;margin-bottom:8px}
 .ridge-home .home-pick .linkbtn{margin-left:auto}
 .mountain-map-preview small{display:none}
 .ridge-home .home-search-slot input{padding-left:32px;padding-right:30px;font-size:16px}
 .ridge-home .home-search-slot .ic{left:8px}
 .ridge-home .search-go{padding-inline:10px}
}
html.fs-xlarge .home-region-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:480px){html.fs-xlarge .home-region-tiles{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .ridge-illustration{filter:brightness(.8) saturate(.75)}}
:root[data-theme="dark"] .ridge-illustration{filter:brightness(.8) saturate(.75)}
/* Short primary actions; explanations remain in the relevant disclosure. */
.results-shortcut{display:flex;align-items:center;gap:9px;width:100%;min-height:48px;margin:12px 0;padding:10px 14px;border:1px solid var(--moss);border-radius:6px;background:var(--moss-l);color:var(--moss);font:inherit;font-size:.9rem;font-weight:600;line-height:1.5;text-align:left;cursor:pointer}
.results-shortcut>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.results-shortcut>small{margin-left:auto;flex:none;font-size:.75rem;font-weight:400}
#bath-results{scroll-margin-top:calc(var(--catalog-top,100px) + 16px)}
.origin-explainer{margin:8px 0;border-top:1px solid var(--line)}
.origin-explainer>summary{min-height:44px;padding:9px 0;cursor:pointer;font-size:.76rem;line-height:1.7;color:var(--ink-2)}
.origin-explainer>p{font-size:.78rem;line-height:1.8;margin:0 0 10px}
.parking-fee-detail .note{font-size:.76rem;line-height:1.8;margin:8px 0}
.parking-use-note{font-size:.76rem;line-height:1.8;color:var(--ink-2);margin:6px 0 10px}
@media(max-width:480px){
 .top .in{gap:8px;padding-inline:12px}
 .top .tb{gap:6px}
 .top .tbtn{min-width:44px;min-height:44px;height:auto;padding:8px 10px}
 #favBtn .lbl{display:none!important}
 #favBtn{padding-inline:10px}
 #fsLbl{display:none}
 body[data-view="home"] .top .brand .bt{display:none}
 .top .brand{gap:8px}
 .search input,.home-search-slot input,.ridge-home .home-search-slot input{font-size:max(16px,1rem)}
 .search-box,.sugg li>span{min-width:0}
 .sugg li{gap:8px;min-height:48px}
 .sugg .t,.sugg .s{overflow-wrap:anywhere}
 .catalog-toolbar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .catalog-toolbar-row h2{min-width:0;margin:0}
 .catalog-sort{grid-column:1/-1;width:100%;max-width:none;min-width:0}
 .catalog-sort select{max-width:100%;font-size:1rem}
 .catalog-context{flex-wrap:wrap}
 .catalog-context button{min-height:44px;min-width:0;max-width:100%;white-space:normal;text-align:left}
 .preset-row .chip,.search-example{min-height:44px}
 .home-region-tile span{min-width:0;overflow-wrap:anywhere}
 .results-shortcut{font-size:.86rem;padding-inline:11px}
 .cond>summary{gap:8px;padding-inline:12px}
 .cond .cc{padding-inline:10px}
}
