.filters-grid--national{grid-template-columns:minmax(260px,1.7fr) repeat(5,minmax(130px,.85fr))}
.action-banner{margin:0 0 16px;padding:13px 16px;border-radius:14px;border:1px solid #cfe4ee;background:#f1f9fc;color:#0b5c79;font-size:13px;font-weight:750;box-shadow:var(--shadow)}
.action-banner.success{border-color:#b9e4d7;background:#eefbf7;color:#0f6b59}.action-banner.error{border-color:#f2c9c9;background:#fff4f4;color:#9f2d35}
.email-panel{padding:20px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(270px,380px);gap:16px;align-items:center;background:linear-gradient(120deg,#fff,#f6fbfe)}
.email-panel__icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#e8f5fb;color:var(--brand);font-size:24px;font-weight:900}.email-panel__copy h2{margin:3px 0 5px;font-size:18px}.email-panel__copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.email-profile-summary{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;color:#0a617f;font-size:10px;font-weight:800}.email-profile-summary span{background:#edf7fb;border:1px solid #d6ebf3;border-radius:999px;padding:5px 8px}.email-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end}.email-form .field{min-width:0}.email-status{grid-column:1/-1;color:#738296;font-size:9px;line-height:1.4}.email-status.success{color:#0f766e}.email-status.error{color:#b42318}
.map-panel{padding:20px}.map-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:13px}.map-heading h2{margin:3px 0 3px;font-size:22px}.map-heading p{margin:0;color:var(--muted);font-size:11px}.property-map{height:390px;border:1px solid #d8e3eb;border-radius:16px;overflow:hidden;background:#eaf1f5}.map-footnote{margin:9px 2px 0;color:#7b8999;font-size:9px;line-height:1.5}.leaflet-popup-content{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;margin:12px 14px;min-width:190px}.map-popup strong{display:block;font-size:14px;color:#0b4665;margin-bottom:3px}.map-popup small{display:block;color:#64748b;margin:2px 0}.map-popup a{display:inline-block;margin-top:7px;color:#075985;font-weight:800;text-decoration:none}.map-popup .precision{font-size:9px;color:#8795a6}
.property-thumb{width:100%;height:150px;object-fit:cover;display:block;background:#eef3f7;border-bottom:1px solid #edf2f6}.photo-button{border:0;background:#f5f7f9;color:#526276;font-size:10px;font-weight:850;padding:8px 9px;border-radius:9px;white-space:nowrap}.photo-button:hover{background:#eaf5fa;color:#075985}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal__backdrop{position:absolute;inset:0;background:rgba(2,15,26,.68);backdrop-filter:blur(3px)}.modal__card{position:relative;z-index:1;width:min(920px,100%);max-height:min(88vh,820px);overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px #0006;padding:22px}.modal__close{position:absolute;right:14px;top:12px;border:0;width:38px;height:38px;border-radius:50%;background:#eef3f7;color:#405368;font-size:25px;line-height:1}.modal__heading h2{margin:3px 42px 2px 0;font-size:22px}.modal__heading p{margin:0;color:var(--muted);font-size:11px}.gallery-loading,.gallery-empty{margin:18px 0;padding:28px;border:1px dashed #cad7e2;border-radius:14px;text-align:center;color:#65758b;background:#f8fafc}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.gallery-grid a{display:block;border-radius:12px;overflow:hidden;background:#eef3f7;min-height:180px}.gallery-grid img{display:block;width:100%;height:260px;object-fit:cover}.modal__official{text-decoration:none;width:max-content}
.card-links{flex-wrap:wrap}.card-top.has-photo{padding-top:12px}
@media(max-width:1180px){.filters-grid--national{grid-template-columns:repeat(3,1fr)}.filters-grid--national .field--wide{grid-column:span 2}}
@media(max-width:820px){.email-panel{grid-template-columns:auto 1fr}.email-form{grid-column:1/-1}.property-map{height:350px}}
@media(max-width:640px){.filters-grid--national{grid-template-columns:1fr}.filters-grid--national .field--wide{grid-column:auto}.email-panel{grid-template-columns:1fr;padding:17px}.email-panel__icon{display:none}.email-form{grid-template-columns:1fr}.email-form .button{width:100%}.map-heading{align-items:flex-start;flex-direction:column}.property-map{height:330px}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:230px}.modal{padding:8px}.modal__card{border-radius:16px;padding:18px}.property-thumb{height:180px}}
