﻿/* Page architecture only: retain Nookly's original green visual identity. */
.site-header { padding:16px 1rem; }
.top-nav { padding-bottom:0; min-height:48px; }
.hero-grid { margin-top:36px; padding-bottom:24px; }
.hero-grid, .quick-tools, .how-section, .workspace, #planner { display:none; }
.view-home .hero-grid { display:grid; }
.view-home .quick-tools, .view-home .how-section { display:block; }
.view-hostels .workspace { display:grid; grid-template-columns:260px minmax(0,1fr); max-width:1100px; margin:auto; }
.view-hostels .filters-panel, .view-hostels .results-panel { display:block; }
.view-hostels .map-panel { display:none; }
.view-map .workspace, .view-filters .workspace { display:block; }
.view-map .filters-panel, .view-map .results-panel { display:none; }
.view-map .map-panel { display:flex; position:relative; top:auto; height:calc(100dvh - 130px); min-height:480px; }
.view-map #map { min-height:260px; }
.view-filters .filters-panel { display:block; position:static; max-width:600px; max-height:none; margin:auto; }
.view-filters .results-panel, .view-filters .map-panel { display:none; }
.view-planner #planner { display:block; }
.view-filters .mobile-apply { display:block; width:100%; margin-top:16px; background:var(--evergreen); color:white; }
.nav-links a[aria-current="page"] { color:var(--lime); text-decoration:underline; text-underline-offset:8px; }
.view-map footer { display:none; }
.view-hostels .listing-list { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
@media(max-width:1049px) {
 .site-header { padding:12px .25rem; }
 .nav-links { gap:12px; }
 .nav-links a:last-child { display:inline; }
 .view-home .hero-grid { display:grid; margin-top:24px; grid-template-columns:1fr; }
 .view-home .hero-copy h1 { font-size:2.6rem; }
 .view-home .hero-panel { display:none; }
 .view-home .quick-tools { display:block; }
 .view-home .how-section { display:none; }
 .mobile-navigation { grid-template-columns:repeat(5,1fr); }
 .view-hostels .workspace { display:block; }
 .view-hostels .filters-panel { display:none; }
 .view-hostels .listing-list { grid-template-columns:1fr; }
 .view-map .map-panel { height:calc(100dvh - 180px - env(safe-area-inset-bottom)); min-height:420px; }
 .view-filters .filters-panel { padding:16px; }
}
@media(min-width:1050px) { .view-home main { max-width:1200px; } }
/* Compact mobile-first workspace. */
.view-map .workspace { max-width:980px; margin:0 auto; }
.view-map .map-panel { height:auto; min-height:0; max-width:980px; margin:0 auto; border-radius:14px; }
.view-map #map { flex:none; height:380px; min-height:0; }
.map-search { display:grid; grid-template-columns:1fr auto; align-items:center; gap:6px 12px; padding:10px 14px; background:white; border-bottom:1px solid var(--line); }
.map-search label { grid-column:1 / -1; margin:0; font-weight:600; }
.map-search input { min-width:0; }
.map-search span { font-size:.72rem; color:var(--muted); }
.map-toolbar button,.map-options button,#retry-tiles { min-height:44px; }
.journey-panel { max-height:none; }
.listing-details { border-top:1px solid var(--line); margin:12px 0; }
.listing-details summary { padding:12px 0; min-height:44px; cursor:pointer; font-size:.82rem; font-weight:600; color:var(--evergreen); }
.listing-details summary:focus-visible { outline:3px solid var(--gold); }
.card-actions button,.card-actions a { min-height:44px; }
#report-status { font-size:.82rem; color:var(--evergreen-dark); }
@media(max-width:1049px) {
 .view-map .map-panel { height:auto; min-height:0; }
 .view-map #map { height:clamp(260px,43svh,360px); min-height:0; }
 input,select,textarea { font-size:16px; }
 .map-search { grid-template-columns:1fr; padding:10px 12px; }
 .map-search span { font-size:.72rem; }
 .map-toolbar { padding:10px 12px; }
 .map-toolbar strong { font-size:.85rem; }
 .map-options { gap:6px; }
 .route-status { overflow-wrap:anywhere; }
 .listing-card { padding:16px; }
 .listing-card h3 { font-size:1.15rem; }
 .card-actions { display:grid; grid-template-columns:1fr 1fr; }
 .card-actions a:last-child { grid-column:1 / -1; }
 .planner { padding:16px; }
 .nav-links { display:none; }
 .top-nav { min-height:42px; }
 .mobile-navigation button { min-height:56px; }
 .detail-chip { display:block; }
 .detail-chip strong { margin-right:6px; }
 .travel-summary { gap:10px; }
}
@media(max-width:360px) { .map-toolbar { flex-wrap:wrap; } .map-search { padding:8px; } }

.legend-library { background:#7353ab; margin-left:7px; }
