/* Shared opt-in layout; only the pilot HTML includes this stylesheet. */
body[data-compact-area] .compact-area-anchor { display:block; scroll-margin-top:84px; }
body[data-compact-area] .hero { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:18px; padding:18px 0 12px; min-height:0; align-items:stretch; }
body[data-compact-area] .hero-copy { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:0; padding:22px; border-radius:16px; background:linear-gradient(135deg,#fff,#edf7ff); overflow:hidden; }
body[data-compact-area] .hero-copy.has-top-sponsor { background-image:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.6)),var(--compact-sponsor-image); background-size:cover; background-position:center; }
body[data-compact-area] .hero h1 { font-size:clamp(22px,2.1vw,30px); line-height:1.5; margin:0; letter-spacing:.01em; }
body[data-compact-area] .hero-count-highlight { display:inline; font-size:inherit; }
body[data-compact-area] .compact-sponsor-label { font-size:12px; font-weight:700; margin-bottom:8px; }
body[data-compact-area] .map-shell { min-height:0; height:auto; margin:0; border-radius:14px; overflow:hidden; }
body[data-compact-area] .map-toolbar { position:static; min-height:24px; padding:2px 6px; gap:6px; font-size:11px; justify-content:flex-end; }
body[data-compact-area] .map-toolbar>span { display:none; }
body[data-compact-area] .map-toolbar span, body[data-compact-area] .map-expand-button, body[data-compact-area] .map-close-button { min-height:26px; padding:4px 7px; border-radius:7px; font-size:11px; }
body[data-compact-area] .map-click-hint { display:none; }
body[data-compact-area] #map { height:210px; min-height:0; }
body[data-compact-area] .map-legend { position:static; min-height:0; margin:0; padding:2px 8px; font-size:10px; line-height:1.3; border:0; border-radius:0; box-shadow:none; background:#f7fbfe; pointer-events:none; }
body[data-compact-area] .map-legend>span:first-child { display:none; }
body[data-compact-area] .map-legend span { font-size:10px; line-height:1.3; }
body[data-compact-area] .map-toolbar { pointer-events:none; }
body[data-compact-area] .map-toolbar button { pointer-events:auto; }
body[data-compact-area] .fallback-note { pointer-events:none; font-size:11px; line-height:1.4; }
body[data-compact-area] .leaflet-popup-content { margin:10px 18px 10px 10px; }
body[data-compact-area] .map-popup { min-width:0; max-width:240px; }
body[data-compact-area] .map-popup strong { font-size:12px; line-height:1.3; margin:0 0 3px; }
body[data-compact-area] .map-popup span { font-size:10px; line-height:1.3; }
body[data-compact-area] .map-popup p { display:none; }
body[data-compact-area] .map-popup-actions { display:flex; gap:4px; margin-top:5px; }
body[data-compact-area] .map-popup a { min-height:26px; padding:3px 5px; font-size:10px; white-space:nowrap; }
body[data-compact-area] .easy-finder { margin:0 0 10px; padding:10px 12px; border-radius:12px; }
body[data-compact-area] .compact-area-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:12px; }
body[data-compact-area] .compact-area-toolbar label { display:flex; align-items:center; gap:6px; }
body[data-compact-area] .compact-area-toolbar input, body[data-compact-area] .compact-area-toolbar select, body[data-compact-area] .compact-area-toolbar button { min-height:36px; border:1px solid #cbdce8; border-radius:7px; padding:6px 9px; background:white; color:#193b56; font:inherit; }
body[data-compact-area] .compact-area-toolbar input { width:140px; }
body[data-compact-area] .advanced-search-panel>.compact-area-search { display:flex; align-items:center; gap:6px; margin:8px 0; font-size:12px; }
body[data-compact-area] .compact-area-search input { min-width:0; min-height:36px; padding:6px 9px; border:1px solid #cbdce8; border-radius:7px; font:inherit; }
body[data-compact-area] .compact-area-toolbar button[aria-pressed=true] { background:#e4f3ff; border-color:#2589bc; }
body[data-compact-area] .compact-area-toolbar a { color:#17638a; text-decoration:underline; }
body[data-compact-area] #compact-price-help { font-size:12px; margin:6px 0 0; }
body[data-compact-area] #compact-price-help:not([open]) { display:none; }
body[data-compact-area] .advanced-search-panel { margin-top:6px; }
body[data-compact-area] .advanced-search-panel:not([open]) { display:none; }
body[data-compact-area] .simple-sort-panel { display:none; }
body[data-compact-area] .content-layout { margin-top:0; }
body[data-compact-area] .listing-head { margin-bottom:6px; }
body[data-compact-area] .listing-head h2 { font-size:18px; }
body[data-compact-area] .list-meta { margin:0 0 8px; padding:0; font-size:13px; }
body[data-compact-area] .location-status:empty { display:none; }
body[data-compact-area] .compact-area-methodology { margin:28px 0; font-size:13px; line-height:1.7; }
body[data-compact-area] .compact-area-methodology h2 { font-size:18px; }
body[data-compact-area] #compare-result { scroll-margin-top:20px; }
body[data-compact-area] .compact-area-toolbar :focus-visible { outline:3px solid #118aca; outline-offset:2px; }
body[data-compact-area].is-map-expanded #map { height:calc(100dvh - 160px); }
body[data-compact-area].is-map-expanded .gp-header { z-index:1; }
@media(max-width:760px) {
 body[data-compact-area] .breadcrumb { margin:8px 14px 0; padding:0; display:flex; flex-wrap:nowrap; font-size:10px; line-height:1.4; gap:5px; }
 body[data-compact-area] .breadcrumb span:last-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
 body[data-compact-area] .hero { grid-template-columns:1fr; gap:8px; padding:10px 0 8px; }
 body[data-compact-area] .hero-copy { padding:11px 14px; }
 body[data-compact-area] .hero h1 { font-size:20px; line-height:1.35; }
 body[data-compact-area] #map { height:180px; }
 body[data-compact-area] .map-toolbar { flex-wrap:wrap; }
 body[data-compact-area] .map-toolbar>span:first-child { display:none; }
 body[data-compact-area] .map-expand-button { font-size:10px; padding:3px 5px; }
 body[data-compact-area] .compact-area-toolbar { gap:5px; font-size:11px; }
 body[data-compact-area] .compact-area-search { width:100%; }
 body[data-compact-area] .compact-area-search input { flex:1; width:auto; min-width:0; }
 body[data-compact-area] .compact-area-toolbar label { font-size:0; }
 body[data-compact-area] .compact-area-toolbar select { width:118px; max-width:118px; font-size:11px; }
 body[data-compact-area] .listing-head h2 { font-size:16px; }
}
