/* V12 - progressive UX layer; all previous modules remain */
:root{--v12-ink:#14323c;--v12-mint:#dcf7e9;--v12-accent:#117b68}
html{scroll-behavior:smooth}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #13a58b;outline-offset:3px}
.v12-explore-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 22px;padding:17px 22px;background:#fff;border:1px solid #dce8e5;border-radius:19px;box-shadow:0 8px 25px rgba(19,55,52,.05)}.v12-explore-header>div:first-child{display:flex;flex-direction:column;gap:3px}.v12-explore-header strong{color:var(--v12-ink);font-size:17px}.v12-explore-header span{font-size:13px;color:#6b8586}.v12-view-switch{display:flex;background:#edf4f1;padding:5px;border-radius:13px;gap:3px}.v12-view-switch button{white-space:nowrap;padding:11px 14px;border:0;border-radius:10px;background:transparent;color:#355b5d;font-weight:700;cursor:pointer}.v12-view-switch button[aria-pressed=true]{background:white;box-shadow:0 2px 8px #1b574022;color:#0b6957}.v12-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 20px}.v12-metric{background:#f4faf7;border:1px solid #e1eee7;border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:4px}.v12-metric span{font-size:11px;color:#59716b}.v12-metric strong{font-size:19px;color:#125a4e;line-height:1.3}.v12-metric small{font-size:10px;color:#758983}.v12-score-line{display:flex;align-items:center;gap:9px;margin:12px 0 3px}.v12-score-badge{font-size:12px;font-weight:800;background:#e4f6ed;color:#0b6655;border-radius:20px;padding:5px 10px}.v12-score-explain{font-size:11px;color:#627773}.v12-list-only .map-column{display:none!important}.v12-list-only .results-column{width:100%!important;max-width:none!important;flex:1!important}.v12-list-only #listing-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.v12-map-only .results-column{display:none!important}.v12-map-only .map-column{width:100%!important;max-width:none!important;flex:1!important}.v12-map-only #france-map{min-height:620px}.catalog-toolbar{flex-wrap:wrap}.property-card{transition:transform .2s ease,box-shadow .2s ease}.property-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,53,47,.13)}#france-map{background:#e4eee9;min-height:430px;isolation:isolate}.leaflet-container{z-index:0}.map-overlay{pointer-events:none}.map-wrap{overflow:hidden;border-radius:18px}.pin-label{filter:drop-shadow(0 3px 6px #17423933)}
@media(max-width:1100px){.v12-list-only #listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.v12-explore-header{flex-direction:column;align-items:stretch;padding:14px}.v12-view-switch{width:100%;justify-content:space-between}.v12-view-switch button{font-size:12px;flex:1;padding:10px 4px}.v12-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.v12-metric{padding:9px 6px}.v12-metric strong{font-size:16px}.v12-metric small{font-size:9px}.v12-list-only #listing-grid{grid-template-columns:1fr!important}.v12-map-only #france-map{min-height:490px}.v12-score-line{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.property-card{transition:none}}
