.search-page .hero-section{padding:30px 20px 52px}
.search-page .hero-title{font-size:clamp(25px,3.8vw,40px);line-height:1.45}
.search-page .hero-subtitle{font-size:14px;line-height:1.8;margin-top:12px}
.search-page .hero-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;flex-direction:row}
.search-page .hero-actions a{min-width:0;min-height:42px;padding:9px 10px;font-size:13px;text-align:center;display:flex;align-items:center;justify-content:center}
.search-page .price-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center}
.search-page .price-row .select-input{width:100%;min-width:0}
.search-page .two-col-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.search-page .two-col-grid>.form-group{min-width:0}
.search-page .two-col-grid .select-input,.search-page .two-col-grid .text-input{width:100%;min-width:0}
.search-page .search-filter-grid>.form-group:first-child{grid-column:1/-1}
.search-page .category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.search-page .category-option{min-width:0}
.search-page .category-option-wide{grid-column:span 2}
.search-page .category-btn{min-width:0;width:100%;height:100%;padding:12px 10px;white-space:normal}
.search-page .category-btn strong{overflow-wrap:anywhere}
.search-page .ng-mode-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.search-page .ng-mode-option{min-width:0}
.search-page .ng-mode-option span{font-size:14px;padding:12px 10px}
.search-page .form-group{margin-bottom:20px}
.search-page .two-col-grid .form-hint{font-size:12px;line-height:1.7}
@media(max-width:560px){.search-page .hero-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.search-page .hero-section{padding:22px 16px 48px}.search-page .two-col-grid{gap:10px}.search-page .price-row{gap:5px}.search-page .select-input{font-size:14px;padding:12px 8px}.search-page .price-separator{font-size:12px}.search-page .category-btn{font-size:14px;padding:12px 8px}}
@media(max-width:420px){.search-page .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.search-page .favorite-guide{font-size:13px;line-height:1.75;padding:12px;margin-bottom:20px}

.travel-page details{margin:0 0 20px}
.travel-page summary{cursor:pointer;font-size:14px;font-weight:700;color:var(--green);padding:10px 0}
.travel-page details[open]>summary{margin-bottom:10px}
.travel-page details .combo-adjust-panel{padding:14px}
.travel-page .travel-exclusions .form-group{margin-bottom:0}

/* The shared hero already has inner padding in furusato.css; avoid adding both. */
.search-page .hero-inner{padding:0;width:min(1120px,100%)}
.search-page .search-save-note{font-size:12px;color:var(--muted);line-height:1.8;margin:20px 0}
.search-page .search-save-note a{color:var(--green);text-underline-offset:3px}
.search-page #combo-results,.search-page #search-results,.search-page #ng-search-results,.search-page .error-panel{scroll-margin-top:88px}
.search-page .select-input:focus-visible,.search-page .text-input:focus-visible,.search-page button:focus-visible,.search-page summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.travel-page .two-col-grid>.form-group{margin-bottom:8px}
.travel-page #travel-detail-options{margin-top:12px}

.search-page .animate-fade-in{animation:none;opacity:1;transform:none}

.search-page .review-explanation{font-size:13px;line-height:1.9;margin:0 0 22px}
.search-page [data-source-control] .combo-category-grid{display:flex;flex-wrap:wrap;gap:8px}
.search-page [data-source-control] button{min-height:44px}

.travel-guide-list{padding-left:1.4em;line-height:1.9}.travel-guide-list li+li{margin-top:12px}

.travel-page #travel-municipality{margin-top:0}
.travel-page .travel-price-sort{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px}
.travel-page .travel-price-sort>div{min-width:0}
@media(max-width:560px){.travel-page .travel-price-sort{grid-template-columns:1fr;gap:12px}}
