.rf-only-js { display: none; }
.rf-js .rf-only-js { display: inline-flex; }
.rf-map-entry { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.rf-map-entry > span { color: var(--rf-muted); font-size: .9rem; }
.rf-map-panel { margin-bottom: 2.5rem; padding: 1.25rem; border: 1px solid var(--rf-line); border-radius: var(--rf-radius); background: white; }
.rf-map-panel[hidden] { display: none; }
.rf-map-heading h2 { font-size: clamp(1.6rem,4vw,2.25rem); }
.rf-map-heading p:last-child { max-width: 55rem; color: var(--rf-muted); }
.rf-map-filters { display: grid; gap: .75rem; margin-bottom: 1.25rem; }
.rf-map-filters label { display: grid; gap: .3rem; font-size: .9rem; font-weight: 650; }
.rf-map-filters input, .rf-map-filters select { min-height: 48px; min-width: 0; width: 100%; border: 1px solid #8198a8; border-radius: .65rem; padding: .6rem .75rem; color: var(--rf-ink); background: white; }
.rf-map-layout { display: grid; gap: 1.25rem; }
.rf-map-layout > * { min-width: 0; }
.rf-map-canvas { height: 360px; border-radius: 1rem; isolation: isolate; background: #eef0e7; font-family: inherit; }
.rf-map-canvas .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; color: var(--rf-blue); }
.rf-map-canvas .leaflet-control-attribution { max-width: 95%; white-space: normal; font-size: 10px; background: #fffffff2; color: #33404a; }
.rf-map-canvas a { color: var(--rf-blue); }
.rf-area-pin, .rf-house-pin { display: flex; justify-content: center; align-items: center; background: var(--rf-blue); color: white; border: 3px solid white; border-radius: 50%; box-shadow: 0 2px 8px #14233333; font-size: 15px; font-weight: 750; }
.rf-house-pin { border-radius: 10px 10px 10px 0; }
.rf-map-place-label { border: 0; box-shadow: none; background: #fffffff2; color: var(--rf-blue-deep); font-weight: 650; }
.rf-map-actions { display: flex; flex-wrap: wrap; gap: .6rem; padding-top: .75rem; }
.rf-map-actions .rf-button { font-size: .85rem; padding: .65rem .9rem; min-height: 46px; }
.rf-map-status { color: var(--rf-muted); font-size: .85rem; margin: .75rem 0 0; }
.rf-map-results { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; max-height: 420px; overflow-y: auto; }
.rf-map-results li { padding: 1rem; border: 1px solid var(--rf-line); border-radius: .9rem; background: var(--rf-bg); }
.rf-map-results li > a:first-child { display: inline-flex; align-items: center; min-height: 44px; font-size: 1.05rem; font-weight: 750; }
.rf-map-results p { margin: .2rem 0; }
.rf-map-results small { display: block; color: var(--rf-muted); }
.rf-map-results .rf-text-link { font-size: .82rem; }
.rf-map-external-disabled { display: block; font-size: .8rem; color: var(--rf-muted); padding-top: .5rem; }
.rf-cookie-dialog { width: min(38rem,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1.5rem; border: 1px solid var(--rf-line); border-radius: 1rem; color: var(--rf-ink); background: var(--rf-bg); }
.rf-cookie-dialog::backdrop { background: #121b2766; }
.rf-cookie-dialog h2 { font-size: 1.7rem; }
.rf-cookie-dialog h3 { margin-top: 1.5rem; }
.rf-cookie-actions { display: grid; gap: .75rem; margin: 1rem 0; }
.rf-cookie-actions > button { width: 100%; }
.rf-cookie-dialog [data-rf-cookie-close], .rf-site-footer button.rf-text-link { border: 0; background: transparent; color: var(--rf-blue); text-align: left; }
@media(min-width:700px){ .rf-map-filters { grid-template-columns: 1fr 1fr; } .rf-cookie-actions { grid-template-columns: 1fr 1fr; } }
@media(min-width:1000px){ .rf-map-panel { padding: 2rem; } .rf-map-layout { grid-template-columns: 1.5fr 1fr; } .rf-map-canvas { height: 480px; } .rf-map-results { max-height: 570px; } }
