.is-property-map {
    --is-map-bg: #090a0d;
    --is-map-panel: #11131a;
    --is-map-card: #151821;
    --is-map-text: #f7f3ea;
    --is-map-muted: #a9abb2;
    --is-map-gold: #c7a35a;
    --is-map-gold-light: #e8cf92;
    --is-map-line: rgba(199, 163, 90, .26);
    --is-map-radius: 28px;
    position: relative;
    color: var(--is-map-text);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
    background:
        radial-gradient(circle at 14% 10%, rgba(199,163,90,.12), transparent 28%),
        radial-gradient(circle at 90% 0%, rgba(232,207,146,.08), transparent 24%),
        linear-gradient(145deg, #08090c, var(--is-map-bg));
    border: 1px solid rgba(199, 163, 90, .18);
    border-radius: calc(var(--is-map-radius) + 6px);
    padding: clamp(22px, 3.5vw, 48px);
    overflow: hidden;
    isolation: isolate;
}

.is-property-map::before,
.is-property-map::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
}

.is-property-map::before {
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 72%);
}

.is-property-map::after {
    width: 480px;
    height: 480px;
    right: -180px;
    top: -250px;
    border: 1px solid rgba(199,163,90,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 44px rgba(199,163,90,.025), 0 0 0 96px rgba(199,163,90,.018);
}

.is-map-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr);
    align-items: end;
    gap: clamp(28px, 5vw, 72px);
    padding-bottom: clamp(26px, 4vw, 46px);
}

.is-map-intro .is-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    color: var(--is-map-gold-light);
    font-size: 11px;
    font-weight: 760;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.is-map-intro .is-eyebrow::before {
    content: "";
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, var(--is-map-gold), transparent);
}

.is-map-intro h2 {
    margin: 0;
    max-width: 850px;
    color: var(--is-map-text);
    font-size: clamp(36px, 5.4vw, 76px);
    font-weight: 670;
    letter-spacing: -.055em;
    line-height: .98;
}

.is-map-intro h2 em,
.is-map-intro h2 i {
    color: var(--is-map-gold-light);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    font-style: italic;
}

.is-map-intro p {
    max-width: 760px;
    margin: 22px 0 0;
    color: var(--is-map-muted);
    font-size: clamp(15px, 1.5vw, 18px);
    line-height: 1.72;
}

.is-map-intro-stats {
    display: grid;
    gap: 9px;
    padding: 14px;
    border: 1px solid var(--is-map-line);
    border-radius: 20px;
    background: rgba(17,19,26,.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.is-map-intro-stats span {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 15px;
    padding: 12px 14px;
    color: var(--is-map-muted);
    font-size: 12px;
    letter-spacing: .04em;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.is-map-intro-stats span:last-child { border-bottom: 0; }
.is-map-intro-stats strong {
    color: var(--is-map-text);
    font-size: 24px;
    letter-spacing: -.04em;
}

.is-map-command {
    display: grid;
    grid-template-columns: minmax(220px, 1.25fr) repeat(4, minmax(130px, .6fr)) auto;
    gap: 10px;
    padding: 12px;
    margin-bottom: 14px;
    border: 1px solid rgba(199,163,90,.18);
    border-radius: 20px;
    background: rgba(17,19,26,.9);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.is-map-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.is-map-search-wrap > span {
    position: absolute;
    left: 15px;
    color: var(--is-map-gold-light);
    font-size: 20px;
    pointer-events: none;
}

.is-map-search,
.is-map-filter,
.is-map-reset {
    min-height: 48px;
    width: 100%;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    color: var(--is-map-text);
    background: rgba(255,255,255,.035);
    font: inherit;
    font-size: 13px;
    outline: none;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.is-map-search {
    padding: 0 15px 0 44px;
}

.is-map-filter {
    padding: 0 34px 0 13px;
    color-scheme: dark;
}

.is-map-filter option {
    color: #101116;
    background: #fff;
}

.is-map-search:focus,
.is-map-filter:focus {
    border-color: var(--is-map-gold);
    background: rgba(199,163,90,.07);
}

.is-map-search::placeholder { color: rgba(247,243,234,.46); }

.is-map-reset {
    width: auto;
    padding: 0 18px;
    color: var(--is-map-gold-light);
    font-weight: 700;
    cursor: pointer;
}

.is-map-reset:hover { border-color: var(--is-map-gold); transform: translateY(-1px); }

.is-map-workspace {
    display: grid;
    grid-template-columns: minmax(300px, .82fr) minmax(0, 1.78fr);
    min-height: 580px;
    overflow: hidden;
    border: 1px solid rgba(199,163,90,.19);
    border-radius: var(--is-map-radius);
    background: var(--is-map-panel);
    box-shadow: 0 26px 80px rgba(0,0,0,.28);
}

.is-map-list-right .is-map-sidebar { order: 2; border-right: 0; border-left: 1px solid rgba(199,163,90,.16); }
.is-map-list-right .is-map-stage { order: 1; }

.is-map-sidebar {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-height: 760px;
    border-right: 1px solid rgba(199,163,90,.16);
    background:
        linear-gradient(180deg, rgba(255,255,255,.025), transparent 18%),
        #0e1016;
}

.is-map-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 18px 15px;
    border-bottom: 1px solid rgba(255,255,255,.07);
}

.is-map-sidebar-head > div { min-width: 0; }
.is-map-sidebar-head span {
    display: block;
    margin-bottom: 4px;
    color: var(--is-map-gold);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .14em;
}
.is-map-sidebar-head strong {
    display: block;
    overflow: hidden;
    color: var(--is-map-text);
    font-size: 14px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.is-map-locate,
.is-map-fit,
.is-map-expand {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(199,163,90,.28);
    border-radius: 999px;
    color: var(--is-map-gold-light);
    background: rgba(199,163,90,.07);
    font: inherit;
    font-size: 11px;
    font-weight: 720;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.is-map-locate:hover,
.is-map-fit:hover,
.is-map-expand:hover {
    transform: translateY(-1px);
    border-color: var(--is-map-gold);
    background: rgba(199,163,90,.13);
}

.is-map-locate.is-loading { opacity: .65; cursor: wait; }

.is-map-results {
    flex: 1 1 auto;
    min-height: 160px;
    overflow: auto;
    padding: 12px;
    scrollbar-width: thin;
    scrollbar-color: rgba(199,163,90,.55) transparent;
}

.is-map-result-card {
    position: relative;
    display: grid;
    grid-template-columns: 96px minmax(0,1fr);
    gap: 14px;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 18px;
    color: var(--is-map-text);
    background: rgba(255,255,255,.025);
    cursor: pointer;
    overflow: hidden;
    transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.is-map-result-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--is-map-gold), transparent);
    opacity: 0;
}

.is-map-result-card:hover,
.is-map-result-card.is-active {
    transform: translateY(-2px);
    border-color: rgba(199,163,90,.48);
    background: rgba(199,163,90,.07);
}
.is-map-result-card.is-active::after { opacity: 1; }

.is-map-result-image {
    position: relative;
    width: 96px;
    height: 94px;
    overflow: hidden;
    border-radius: 13px;
    background: linear-gradient(135deg, #252a35, #101219);
}

.is-map-result-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.is-map-result-image span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--is-map-gold-light);
    font-size: 26px;
}

.is-map-result-copy { min-width: 0; padding: 3px 3px 3px 0; }
.is-map-result-kicker {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 5px;
    color: var(--is-map-gold-light);
    font-size: 9px;
    font-weight: 760;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.is-map-result-kicker::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--is-map-gold);
    box-shadow: 0 0 12px rgba(199,163,90,.7);
}
.is-map-result-card h3 {
    margin: 0;
    color: var(--is-map-text);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.25;
}
.is-map-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 9px;
    margin-top: 7px;
    color: var(--is-map-muted);
    font-size: 10px;
    line-height: 1.3;
}
.is-map-result-price {
    margin-top: 8px;
    color: var(--is-map-text);
    font-size: 13px;
    font-weight: 700;
}
.is-map-nearest-badge {
    display: inline-flex;
    margin-top: 7px;
    padding: 4px 7px;
    border-radius: 999px;
    color: #11131a;
    background: var(--is-map-gold-light);
    font-size: 9px;
    font-weight: 800;
}

.is-map-no-results {
    padding: 30px 20px;
    color: var(--is-map-muted);
    text-align: center;
}
.is-map-no-results strong { display: block; margin-bottom: 7px; color: var(--is-map-text); font-size: 16px; }

.is-map-stage {
    position: relative;
    min-width: 0;
    background: #151821;
}

.is-map-canvas {
    width: 100%;
    min-height: 520px;
    z-index: 1;
    background: #12151c;
}

.is-map-stage-tools {
    position: absolute;
    z-index: 500;
    top: 14px;
    right: 14px;
    display: flex;
    gap: 8px;
}

.is-map-stage-tools button {
    color: #f7f3ea;
    border-color: rgba(255,255,255,.2);
    background: rgba(9,10,13,.82);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.is-map-legend {
    position: absolute;
    z-index: 500;
    left: 14px;
    bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 9px 11px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    color: rgba(247,243,234,.8);
    background: rgba(9,10,13,.78);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .04em;
}
.is-map-legend span { display: inline-flex; align-items: center; gap: 5px; }
.is-map-legend i { width: 7px; height: 7px; border-radius: 50%; background: var(--is-map-gold); }
.is-map-legend i.office { background: #f7f3ea; }
.is-map-legend i.user { background: #4ba8ff; }

.is-map-stage.is-expanded {
    position: fixed;
    z-index: 999999;
    inset: 12px;
    border: 1px solid rgba(199,163,90,.45);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 30px 120px rgba(0,0,0,.7);
}
.is-map-stage.is-expanded .is-map-canvas { height: calc(100vh - 24px) !important; }
body.is-map-expanded { overflow: hidden; }

/* Leaflet visual integration */
.is-property-map .leaflet-container {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
    background: #151821;
}
.is-property-map .leaflet-control-zoom a {
    color: var(--is-map-text);
    border-color: rgba(255,255,255,.08);
    background: rgba(9,10,13,.88);
}
.is-property-map .leaflet-control-zoom a:hover { color: #11131a; background: var(--is-map-gold-light); }
.is-property-map .leaflet-control-attribution {
    color: rgba(247,243,234,.62);
    background: rgba(9,10,13,.72);
}
.is-property-map .leaflet-control-attribution a { color: var(--is-map-gold-light); }

.is-map-marker {
    background: transparent;
    border: 0;
}
.is-map-marker-pin {
    position: relative;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50% 50% 50% 8px;
    color: #121319;
    background: linear-gradient(145deg, var(--is-map-gold-light), var(--is-map-gold));
    transform: rotate(-45deg);
    box-shadow: 0 10px 28px rgba(0,0,0,.34), 0 0 0 7px rgba(199,163,90,.13);
}
.is-map-marker-pin > span {
    width: 11px;
    height: 11px;
    border: 3px solid #101117;
    border-radius: 50%;
    transform: rotate(45deg);
}
.is-map-marker.is-office .is-map-marker-pin { color: #090a0d; background: linear-gradient(145deg, #fff, #a9abb2); box-shadow: 0 10px 28px rgba(0,0,0,.34), 0 0 0 7px rgba(255,255,255,.1); }
.is-map-marker.is-active .is-map-marker-pin { animation: is-map-marker-pulse 1.6s ease-in-out infinite; }
@keyframes is-map-marker-pulse {
    0%,100% { box-shadow: 0 10px 28px rgba(0,0,0,.34), 0 0 0 7px rgba(199,163,90,.15); }
    50% { box-shadow: 0 10px 28px rgba(0,0,0,.34), 0 0 0 15px rgba(199,163,90,.02); }
}

.is-map-user-marker {
    width: 18px;
    height: 18px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #4ba8ff;
    box-shadow: 0 0 0 8px rgba(75,168,255,.18), 0 0 22px rgba(75,168,255,.55);
}

.is-map-popup .leaflet-popup-content-wrapper {
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(199,163,90,.22);
    border-radius: 22px;
    color: #f7f3ea;
    background: #101219;
    box-shadow: 0 26px 80px rgba(0,0,0,.46);
}
.is-map-popup .leaflet-popup-content { width: 330px !important; margin: 0; }
.is-map-popup .leaflet-popup-tip { background: #101219; }
.is-map-popup .leaflet-popup-close-button { top: 8px !important; right: 8px !important; z-index: 5; width: 32px !important; height: 32px !important; border-radius: 50%; color: #f7f3ea !important; background: rgba(9,10,13,.68); font-size: 22px !important; }

.is-map-popup-card { color: #f7f3ea; }
.is-map-popup-image {
    position: relative;
    height: 178px;
    overflow: hidden;
    background: linear-gradient(145deg, #202530, #101219);
}
.is-map-popup-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.is-map-popup-image::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,#101219); }
.is-map-popup-image-placeholder { display:grid; place-items:center; height:100%; color:#e8cf92; font-size:40px; }
.is-map-popup-body { padding: 17px; }
.is-map-popup-topline { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; color:#e8cf92; font-size:9px; font-weight:760; letter-spacing:.12em; text-transform:uppercase; }
.is-map-popup-card h3 { margin:0; color:#f7f3ea; font-size:20px; font-weight:720; letter-spacing:-.025em; line-height:1.15; }
.is-map-popup-price { margin:8px 0 0; color:#e8cf92; font-size:14px; font-weight:760; }
.is-map-popup-desc { margin:10px 0 0; color:#bfc0c5; font-size:12px; line-height:1.55; }
.is-map-popup-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:13px 0 0; }
.is-map-popup-meta span { padding:8px 9px; border:1px solid rgba(255,255,255,.07); border-radius:10px; color:#bfc0c5; background:rgba(255,255,255,.025); font-size:10px; line-height:1.3; }
.is-map-popup-meta b { display:block; margin-bottom:2px; color:#f7f3ea; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
.is-map-popup-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:14px; }
.is-map-popup-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:0 11px; border:1px solid rgba(199,163,90,.28); border-radius:999px; color:#e8cf92 !important; background:rgba(199,163,90,.06); font-size:10px; font-weight:760; text-decoration:none !important; }
.is-map-popup-actions a.primary { color:#101219 !important; border-color:#e8cf92; background:#e8cf92; }

.is-map-popup-gallery { margin-top:12px; }
.is-map-popup-gallery-head { display:flex; justify-content:space-between; margin-bottom:6px; color:#bfc0c5; font-size:9px; }
.is-map-popup-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }
.is-map-gallery-button { height:48px; padding:0; overflow:hidden; border:0; border-radius:8px; background:#1a1d26; cursor:zoom-in; }
.is-map-gallery-button img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .2s ease; }
.is-map-gallery-button:hover img { transform:scale(1.08); }

.is-map-lightbox {
    position: fixed;
    z-index: 1000000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(3,4,7,.94);
}
.is-map-lightbox.is-open { display:flex; }
.is-map-lightbox-panel { position:relative; width:min(1060px,94vw); text-align:center; }
.is-map-lightbox img { display:block; max-width:100%; max-height:82vh; margin:auto; border-radius:20px; object-fit:contain; background:#101219; box-shadow:0 30px 100px rgba(0,0,0,.55); }
.is-map-lightbox-caption { margin:12px 0 0; color:#f7f3ea; font-size:13px; }
.is-map-lightbox button { position:absolute; z-index:2; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid rgba(199,163,90,.4); border-radius:50%; color:#101219; background:#e8cf92; font-size:28px; cursor:pointer; }
.is-map-lightbox-close { top:-15px; right:-15px; }
.is-map-lightbox-prev,.is-map-lightbox-next { top:50%; transform:translateY(-50%); }
.is-map-lightbox-prev { left:-18px; }
.is-map-lightbox-next { right:-18px; }

.is-map-empty {
    display: grid;
    place-items: center;
    min-height: 430px;
    padding: 60px 24px;
    border: 1px dashed rgba(199,163,90,.35);
    border-radius: var(--is-map-radius);
    text-align: center;
    background: rgba(255,255,255,.02);
}
.is-map-empty > span { color:var(--is-map-gold-light); font-size:52px; }
.is-map-empty h3 { margin:15px 0 7px; color:var(--is-map-text); font-size:26px; }
.is-map-empty p { max-width:650px; margin:0 0 20px; color:var(--is-map-muted); line-height:1.65; }

.is-map-template-fallback { padding-top: 150px; }

@media (max-width: 1250px) {
    .is-map-command { grid-template-columns: minmax(220px,1.2fr) repeat(2,minmax(140px,.7fr)) auto; }
    .is-map-command .is-map-filter:nth-of-type(3),
    .is-map-command .is-map-filter:nth-of-type(4) { display:none; }
}

@media (max-width: 980px) {
    .is-property-map { padding: 24px; }
    .is-map-intro { grid-template-columns: 1fr; gap: 22px; }
    .is-map-intro-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .is-map-intro-stats span { display:block; text-align:center; border-right:1px solid rgba(255,255,255,.06); border-bottom:0; }
    .is-map-intro-stats span:last-child { border-right:0; }
    .is-map-intro-stats strong { display:block; margin-bottom:4px; }
    .is-map-command { grid-template-columns: minmax(0,1fr) minmax(140px,.6fr) auto; }
    .is-map-command .is-map-filter:nth-of-type(n+2) { display:none; }
    .is-map-workspace { grid-template-columns:1fr; }
    .is-map-sidebar { order:2 !important; max-height:none; border:0 !important; border-top:1px solid rgba(199,163,90,.16) !important; }
    .is-map-stage { order:1 !important; }
    .is-map-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible; }
    .is-map-result-card { grid-template-columns:90px minmax(0,1fr); }
}

@media (max-width: 680px) {
    .is-property-map { padding: 16px; border-radius:22px; }
    .is-map-intro h2 { font-size: clamp(34px, 12vw, 52px); }
    .is-map-intro p { margin-top:16px; font-size:15px; }
    .is-map-intro-stats { grid-template-columns:repeat(3,1fr); padding:8px; }
    .is-map-intro-stats span { padding:9px 4px; font-size:9px; }
    .is-map-intro-stats strong { font-size:20px; }
    .is-map-command { grid-template-columns:minmax(0,1fr) auto; padding:9px; }
    .is-map-command .is-map-filter { display:none !important; }
    .is-map-reset { padding:0 13px; }
    .is-map-workspace { border-radius:20px; }
    .is-map-canvas { min-height:440px; height:500px !important; }
    .is-map-stage-tools { top:10px; right:10px; }
    .is-map-stage-tools button { min-height:34px; padding:0 10px; font-size:9px; }
    .is-map-legend { left:10px; right:10px; bottom:10px; justify-content:center; border-radius:14px; }
    .is-map-sidebar-head { padding:15px; }
    .is-map-locate { min-height:34px; padding:0 10px; }
    .is-map-results { grid-template-columns:1fr; padding:10px; }
    .is-map-result-card { grid-template-columns:88px minmax(0,1fr); }
    .is-map-result-image { width:88px; height:88px; }
    .is-map-popup .leaflet-popup-content { width:278px !important; }
    .is-map-popup-image { height:145px; }
    .is-map-popup-meta { grid-template-columns:1fr; }
    .is-map-lightbox { padding:14px; }
    .is-map-lightbox-prev { left:6px; }
    .is-map-lightbox-next { right:6px; }
    .is-map-lightbox-close { top:6px; right:6px; }
    .is-map-stage.is-expanded { inset:0; border-radius:0; }
    .is-map-stage.is-expanded .is-map-canvas { height:100vh !important; }
}

@media (prefers-reduced-motion: reduce) {
    .is-map-marker.is-active .is-map-marker-pin { animation:none; }
    .is-map-result-card,
    .is-map-locate,
    .is-map-fit,
    .is-map-expand,
    .is-map-reset { transition:none; }
}

.is-property-map .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (min-width: 1001px) {
    body.is-site .is-nav { gap: clamp(11px, 1.35vw, 19px); }
    body.is-site .is-nav > a:not(.is-btn) { font-size: 12px; }
}

/* v7.1 map loading, error visibility and cross-CDN resilience */
.is-map-canvas {
    position: relative;
    overflow: hidden;
}

.is-property-map .leaflet-tile-pane {
    filter: none !important;
    opacity: 1 !important;
}

.is-map-runtime-status {
    position: absolute;
    z-index: 900;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 9px;
    padding: 28px;
    color: var(--is-map-text);
    text-align: center;
    background:
        radial-gradient(circle at 50% 44%, rgba(199,163,90,.14), transparent 32%),
        linear-gradient(145deg, #151821, #0c0f15);
}

.is-map-runtime-status > span {
    width: 34px;
    height: 34px;
    border: 2px solid rgba(199,163,90,.18);
    border-top-color: var(--is-map-gold-light);
    border-radius: 50%;
    animation: is-map-loader-spin .8s linear infinite;
}

.is-map-runtime-status strong {
    color: var(--is-map-text);
    font-size: 16px;
    font-weight: 720;
    letter-spacing: -.02em;
}

.is-map-runtime-status small {
    display: block;
    max-width: 430px;
    color: var(--is-map-muted);
    font-size: 12px;
    line-height: 1.55;
}

.is-map-runtime-status.is-error {
    z-index: 920;
    border: 1px solid rgba(199,163,90,.2);
}

.is-map-retry {
    min-height: 40px;
    margin-top: 6px;
    padding: 0 18px;
    border: 1px solid var(--is-map-gold);
    border-radius: 999px;
    color: #11131a;
    background: var(--is-map-gold-light);
    font: inherit;
    font-size: 11px;
    font-weight: 780;
    cursor: pointer;
}

@keyframes is-map-loader-spin {
    to { transform: rotate(360deg); }
}

/* v7.2: visible result cards and resilient map tiles */
.is-property-map .is-map-result-card,
.is-property-map .is-map-result-card-server {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.is-map-result-fallback-link {
    display: inline-flex;
    margin-top: 8px;
    color: var(--is-map-gold-light) !important;
    font-size: 10px;
    font-weight: 750;
    text-decoration: none;
}
.js .is-map-result-card:not(.is-map-result-card-server) .is-map-result-fallback-link { display:none; }

.is-property-map .leaflet-pane,
.is-property-map .leaflet-map-pane,
.is-property-map .leaflet-tile-pane,
.is-property-map .leaflet-marker-pane,
.is-property-map .leaflet-overlay-pane {
    visibility: visible !important;
}
.is-property-map img.leaflet-tile {
    display: block !important;
    width: 256px !important;
    height: 256px !important;
    max-width: none !important;
    max-height: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    filter: grayscale(.52) saturate(.72) brightness(.72) contrast(1.06);
}
.is-map-stage::after {
    content: "";
    position: absolute;
    z-index: 350;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(9,10,13,.10), rgba(9,10,13,.30));
}
.is-map-stage-tools,
.is-map-legend { z-index: 700; }

.is-map-local-fallback {
    position: absolute;
    z-index: 360;
    inset: 0;
    overflow: hidden;
    color: #f7f3ea;
    background:
        radial-gradient(circle at 74% 25%, rgba(199,163,90,.18), transparent 24%),
        radial-gradient(circle at 22% 74%, rgba(76,116,154,.16), transparent 26%),
        linear-gradient(145deg, #171b24, #0d1016);
}
.is-map-local-grid,
.is-map-local-points { position:absolute; inset:0; }
.is-map-local-grid {
    opacity:.72;
    background-image:
        linear-gradient(28deg, transparent 47%, rgba(232,207,146,.13) 48%, rgba(232,207,146,.13) 49%, transparent 50%),
        linear-gradient(-22deg, transparent 46%, rgba(247,243,234,.08) 47%, rgba(247,243,234,.08) 48%, transparent 49%),
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size: 240px 180px, 300px 210px, 54px 54px, 54px 54px;
}
.is-map-local-grid i {
    position:absolute;
    width:48%;
    height:10px;
    border:1px solid rgba(232,207,146,.12);
    border-radius:999px;
    transform:rotate(var(--r, 12deg));
    opacity:.72;
}
.is-map-local-grid i:nth-child(1){left:-8%;top:18%;--r:14deg}
.is-map-local-grid i:nth-child(2){right:-8%;top:37%;--r:-18deg}
.is-map-local-grid i:nth-child(3){left:10%;top:58%;--r:8deg}
.is-map-local-grid i:nth-child(4){right:3%;top:74%;--r:-7deg}
.is-map-local-grid i:nth-child(5){left:30%;top:42%;--r:72deg;width:36%}
.is-map-local-points { z-index:2; }
.is-map-local-dot {
    position:absolute;
    width:20px;
    height:20px;
    padding:0;
    border:0;
    border-radius:50% 50% 50% 5px;
    background:linear-gradient(145deg,var(--is-map-gold-light),var(--is-map-gold));
    box-shadow:0 0 0 8px rgba(199,163,90,.12),0 12px 30px rgba(0,0,0,.35);
    transform:translate(-50%,-50%) rotate(-45deg);
    cursor:pointer;
}
.is-map-local-dot span { display:block;width:6px;height:6px;margin:7px;border:2px solid #11131a;border-radius:50%; }
.is-map-local-dot b {
    position:absolute;
    left:21px;
    top:17px;
    min-width:140px;
    padding:7px 9px;
    border:1px solid rgba(199,163,90,.25);
    border-radius:10px;
    color:#f7f3ea;
    background:rgba(9,10,13,.88);
    font-size:10px;
    font-weight:700;
    line-height:1.25;
    text-align:left;
    transform:rotate(45deg);
}
.is-map-local-note {
    position:absolute;
    z-index:3;
    right:18px;
    bottom:18px;
    width:min(360px,calc(100% - 36px));
    padding:18px;
    border:1px solid rgba(199,163,90,.28);
    border-radius:18px;
    background:rgba(9,10,13,.88);
    box-shadow:0 18px 55px rgba(0,0,0,.36);
    backdrop-filter:blur(15px);
    -webkit-backdrop-filter:blur(15px);
}
.is-map-local-note span { color:var(--is-map-gold);font-size:9px;font-weight:800;letter-spacing:.14em; }
.is-map-local-note strong { display:block;margin:5px 0;color:#f7f3ea;font-size:15px; }
.is-map-local-note p { margin:0 0 12px;color:#a9abb2;font-size:11px;line-height:1.55; }
.is-map-local-note a { display:inline-flex;padding:8px 12px;border-radius:999px;color:#11131a!important;background:var(--is-map-gold-light);font-size:10px;font-weight:800;text-decoration:none; }
.is-map-using-fallback .leaflet-control-attribution { display:none; }

@media (max-width: 767px) {
    .is-map-local-dot b { display:none; }
    .is-map-local-note { right:12px;bottom:12px;width:calc(100% - 24px); }
}



/* v7.3: stop external-tile loops and provide a reliable embedded map view */
.is-map-embed-fallback {
    position: absolute;
    z-index: 360;
    inset: 0;
    overflow: hidden;
    background: #11141b;
}
.is-map-embed-fallback iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
    filter: grayscale(.38) saturate(.78) brightness(.82) contrast(1.04);
}
.is-map-embed-loader {
    position: absolute;
    z-index: 4;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 10px;
    color: #f7f3ea;
    background: radial-gradient(circle at 50% 45%, rgba(199,163,90,.14), transparent 30%), #11141b;
    transition: opacity .28s ease, visibility .28s ease;
}
.is-map-embed-loader span {
    width: 32px;
    height: 32px;
    border: 2px solid rgba(199,163,90,.18);
    border-top-color: #e8cf92;
    border-radius: 50%;
    animation: is-map-loader-spin .8s linear infinite;
}
.is-map-embed-loader strong { font-size: 14px; font-weight: 720; }
.is-map-embed-fallback.is-loaded .is-map-embed-loader { opacity: 0; visibility: hidden; pointer-events: none; }
.is-map-embed-panel {
    position: absolute;
    z-index: 5;
    left: 16px;
    top: 16px;
    width: min(390px, calc(100% - 32px));
    padding: 14px 15px;
    border: 1px solid rgba(199,163,90,.32);
    border-radius: 16px;
    color: #f7f3ea;
    background: rgba(9,10,13,.86);
    box-shadow: 0 18px 55px rgba(0,0,0,.38);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.is-map-embed-kicker { display:block; color:#c7a35a; font-size:8px; font-weight:800; letter-spacing:.15em; }
.is-map-embed-title { display:block; margin-top:4px; font-size:15px; line-height:1.25; }
.is-map-embed-area { display:block; margin-top:3px; color:#a9abb2; font-size:10px; }
.is-map-embed-actions { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.is-map-embed-actions button,
.is-map-embed-actions a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    padding:0 10px;
    border:1px solid rgba(199,163,90,.28);
    border-radius:999px;
    color:#e8cf92 !important;
    background:rgba(199,163,90,.06);
    font:inherit;
    font-size:9px;
    font-weight:760;
    text-decoration:none !important;
    cursor:pointer;
}
.is-map-embed-actions button.is-active { color:#11131a !important; border-color:#e8cf92; background:#e8cf92; }
.is-map-embed-open { margin-left:auto; }
.is-map-using-embed .is-map-canvas { opacity:0; pointer-events:none; }
.is-map-using-embed .leaflet-control-attribution,
.is-map-using-embed .leaflet-control-zoom { display:none; }
.is-map-stage.is-expanded .is-map-embed-fallback { height: calc(100vh - 24px); }

@media (max-width: 680px) {
    .is-map-embed-panel { left:10px; top:10px; width:calc(100% - 20px); padding:12px; }
    .is-map-embed-title { font-size:13px; }
    .is-map-embed-open { margin-left:0; }
    .is-map-stage.is-expanded .is-map-embed-fallback { height:100vh; }
}
