/* Shared property presentation: intentionally scoped to the redesigned detail page. */
body.pd-redesign {
    --pd-ink: #18304a;
    --pd-muted: #65788d;
    --pd-line: #dce5ed;
    --pd-paper: #f5f8fb;
    --pd-card: #ffffff;
    --pd-blue: #176fc1;
    --pd-green: #16a56b;
    --pd-radius: 13px;
    background: var(--pd-paper);
    color: var(--pd-ink);
}

body.pd-redesign .page-wrap {
    width: min(100%, 1740px);
    max-width: none !important;
    padding: 10px clamp(12px, 1.7vw, 28px) 56px !important;
    margin: 0 auto;
    box-sizing: border-box;
}

body.pd-redesign .pd-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 0 0 13px;
    color: var(--pd-muted);
    font: 500 12px/1.4 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
    white-space: nowrap;
    overflow: hidden;
}
body.pd-redesign .pd-breadcrumbs a { color: #53708c; text-decoration: none; }
body.pd-redesign .pd-breadcrumbs a:hover { color: var(--pd-blue); }
body.pd-redesign .pd-crumb-separator { color: #a8b8c6; }
body.pd-redesign .pd-crumb, body.pd-redesign .pd-crumb-current {
    overflow: hidden;
    text-overflow: ellipsis;
}
body.pd-redesign .pd-crumb-current { color: #304b66; font-weight: 650; }

body.pd-redesign .pd-layout {
    display: grid;
    grid-template-columns: minmax(184px, .78fr) minmax(0, 2.55fr) minmax(184px, .78fr);
    gap: clamp(12px, 1.35vw, 23px);
    align-items: start;
}
body.pd-redesign .pd-center { min-width: 0; }
body.pd-redesign .pd-rail { min-width: 0; padding-top: 1px; }
body.pd-redesign .pd-rail-heading {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-height: 42px;
    padding: 1px 1px 9px;
}
body.pd-redesign .pd-rail-heading h2 {
    margin: 0;
    color: var(--pd-ink);
    font: 750 14px/1.25 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
    letter-spacing: -.025em;
}
body.pd-redesign .pd-rail-heading > span { color: #8293a2; font-size: 10px; }
body.pd-redesign .pd-rail-list { display: grid; gap: 10px; }
body.pd-redesign .pd-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--pd-line);
    border-radius: 11px;
    background: var(--pd-card);
    color: inherit;
    text-decoration: none;
    box-shadow: 0 2px 9px rgba(27, 55, 79, .045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.pd-redesign .pd-card:hover {
    transform: translateY(-2px);
    border-color: #b7cddd;
    box-shadow: 0 9px 22px rgba(27, 55, 79, .1);
}
body.pd-redesign .pd-card-media {
    position: relative;
    display: block;
    aspect-ratio: 1.56;
    overflow: hidden;
    background: #e6edf2;
}
body.pd-redesign .pd-card-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    color: transparent;
    transition: transform .35s ease;
}
body.pd-redesign .pd-card:hover .pd-card-media img { transform: scale(1.035); }
body.pd-redesign .pd-card-price {
    position: absolute;
    right: 7px;
    bottom: 7px;
    max-width: calc(100% - 14px);
    overflow: hidden;
    padding: 4px 7px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 6px;
    background: rgba(20, 44, 65, .82);
    color: #fff;
    font-size: 10px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.pd-redesign .pd-card-price:empty { display: none; }
body.pd-redesign .pd-card-copy { display: grid; gap: 4px; padding: 9px 10px 10px; }
body.pd-redesign .pd-card-title {
    display: -webkit-box;
    overflow: hidden;
    color: #213b55;
    font-size: 11px;
    font-weight: 720;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
body.pd-redesign .pd-card-location {
    overflow: hidden;
    color: #718397;
    font-size: 9px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.pd-redesign .pd-card-facts { display: flex; flex-wrap: wrap; gap: 3px 8px; color: #5e7286; font-size: 9px; }
body.pd-redesign .pd-card-facts span { white-space: nowrap; }
body.pd-redesign .pd-rail-empty, body.pd-redesign .pd-discovery-empty {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px;
    border: 1px dashed #cbd8e2;
    border-radius: 11px;
    background: rgba(255,255,255,.62);
    color: #788a9b;
    font-size: 11px;
    line-height: 1.45;
}
body.pd-redesign .pd-rail-empty p, body.pd-redesign .pd-discovery-empty p { margin: 0; }
body.pd-redesign .pd-empty-mark { width: 27px; height: 21px; flex: 0 0 auto; border: 1px solid #aabdc9; border-radius: 4px; position: relative; }
body.pd-redesign .pd-empty-mark:after { content: ""; position: absolute; left: 4px; right: 4px; bottom: 4px; height: 7px; border-top: 1px solid #aabdc9; transform: skewY(-24deg); }

/* Desktop: preserve the legacy gallery nodes and handlers, replacing only presentation. */
body.pd-redesign #galleryGrid.gallery-grid {
    display: grid !important;
    position: relative !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    aspect-ratio: 1.75;
    min-height: 330px !important;
    max-height: 560px;
    height: auto !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(31, 61, 83, .1) !important;
    border-radius: 13px !important;
    background: #dfe8ef !important;
    box-shadow: 0 9px 26px rgba(33, 58, 78, .12) !important;
}
body.pd-redesign #galleryGrid .gallery-main {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    cursor: zoom-in !important;
}
body.pd-redesign #galleryGrid #avDesktopHeroImg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    background: #dce6ee !important;
    transition: none !important;
}
body.pd-redesign #galleryGrid .gallery-thumb { display: none !important; }
body.pd-redesign .pp-hero-overlay.pp-hero-desktop {
    position: absolute !important;
    inset: 0 !important;
    z-index: 8 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    width: 100% !important;
    padding: clamp(18px, 2.2vw, 34px) !important;
    pointer-events: none !important;
}
body.pd-redesign .pp-hero-overlay.pp-hero-desktop:before {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(12,28,42,.32) 0%, transparent 31%, rgba(7,22,37,.05) 48%, rgba(7,22,37,.76) 100%) !important;
    pointer-events: none !important;
}
body.pd-redesign .pp-hero-overlay .pp-hero-top {
    position: static !important;
    display: block !important;
    order: 1 !important;
    width: min(76%, 800px) !important;
    margin: 0 0 9px !important;
    pointer-events: none !important;
}
body.pd-redesign .pp-hero-overlay .pp-hero-title {
    max-width:none!important;
    width:100%!important;
    margin: 0 !important;
    color: #fff !important;
    font: 760 clamp(20px, 1.8vw, 28px)/1.15 "Be Vietnam Pro", "Trebuchet MS", sans-serif !important;
    letter-spacing: -.035em !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.38) !important;
    -webkit-line-clamp: 2 !important;
}
body.pd-redesign .pp-hero-overlay .pp-hero-badge {
    position: absolute !important;
    top: 17px !important;
    left: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 25px !important;
    padding: 5px 10px !important;
    border: 1px solid rgba(255,255,255,.58) !important;
    border-radius: 5px !important;
    background: #1675d1 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    pointer-events: auto !important;
}
body.pd-redesign .pp-hero-overlay .pp-hero-info {
    max-width:none!important;
    min-height:0!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    order: 2 !important;
    gap: 8px 16px !important;
    width: 100% !important;
    padding: 0 !important;
    pointer-events: none !important;
}
body.pd-redesign .pp-hero-overlay .pp-hero-item {
    padding:0!important;
    border:0!important;
    background:transparent!important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    color: rgba(255,255,255,.94) !important;
    font-size: 12px !important;
    font-weight: 550 !important;
    text-shadow: 0 1px 5px rgba(0,0,0,.3) !important;
}
body.pd-redesign .pp-hero-overlay .pp-hero-item svg { width: 16px !important; height: 16px !important; fill: none !important; stroke: currentColor !important; }
body.pd-redesign .pp-hero-overlay .pp-hero-price {
    margin-left: auto !important;
    color: #fff !important;
    font-size: clamp(20px, 2.5vw, 30px) !important;
    font-weight: 800 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
}
body.pd-redesign .pd-gallery-tools {
    position: absolute;
    z-index: 12;
    inset: 0;
    padding: 15px;
    display: flex;
    align-items: flex-start;
    gap: 7px;
    pointer-events: none;
}
body.pd-redesign .pd-gallery-tool, body.pd-redesign .pd-gallery-count {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 37px;
    height: 34px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.35);
    border-radius: 8px;
    background: rgba(16, 34, 49, .73);
    color: #fff;
    font: 650 11px/1 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
    backdrop-filter: blur(8px);
}
body.pd-redesign button.pd-gallery-tool { cursor: pointer; }
body.pd-redesign .pd-gallery-tool:hover { background: rgba(15, 42, 63, .94); }
body.pd-redesign .pd-gallery-tool svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body.pd-redesign .pd-gallery-tool.is-saved { background: rgba(20, 105, 77, .94); }
body.pd-redesign .pd-gallery-tool.is-saved svg { fill: currentColor; }
body.pd-redesign .pd-gallery-arrow { position:absolute; top:50%; left:14px; transform:translateY(-50%); width:36px; min-width:36px; padding:0; border-radius:50%; }
body.pd-redesign .pd-gallery-arrow[data-pd-action="next"] { left:auto;right:14px; }
body.pd-redesign .pd-gallery-spacer { flex:1; }
body.pd-redesign .pd-gallery-count { min-width: 62px; font-variant-numeric: tabular-nums; }
body.pd-redesign .pd-share-feedback {
    position: absolute;
    z-index: 20;
    top: 57px;
    right: 16px;
    padding: 7px 10px;
    border-radius: 7px;
    background: #fff;
    color: #18304a;
    font-size: 11px;
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
}

body.pd-redesign #thumbStrip.thumb-strip {
    display: flex !important;
    gap: 7px !important;
    margin: 0 0 14px !important;
    padding: 0 0 4px !important;
    overflow-x: auto !important;
    scrollbar-width: thin !important;
}
body.pd-redesign #thumbStrip .thumb-item {
    position: relative !important;
    flex: 0 0 clamp(88px, 12%, 126px) !important;
    width: auto !important;
    height: auto !important;
    aspect-ratio: 1.55 !important;
    border: 2px solid transparent !important;
    border-radius: 7px !important;
    opacity: .76 !important;
}
body.pd-redesign #thumbStrip .thumb-item.active { border-color: var(--pd-blue) !important; opacity: 1 !important; }
body.pd-redesign #galleryGrid .gallery-thumb[tabindex],
body.pd-redesign #thumbStrip .thumb-item[tabindex] { cursor: pointer; }
body.pd-redesign #galleryGrid .gallery-thumb:focus-visible,
body.pd-redesign #thumbStrip .thumb-item:focus-visible {
    outline: 3px solid #2f83cb !important;
    outline-offset: 2px !important;
}
body.pd-redesign #thumbStrip .thumb-item img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
body.pd-redesign #thumbStrip .av-mob-thumb-lock {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 0 4px 4px !important;
    border-radius: 0 !important;
    background: linear-gradient(transparent, rgba(19,42,59,.48)) !important;
    color: #fff !important;
    font-size: 8px !important;
}
body.pd-redesign #thumbStrip .av-mob-thumb-lock:after { content: "More photos"; font: 650 8px/1 "Be Vietnam Pro", sans-serif; }
body.pd-redesign #thumbStrip .av-mob-thumb-lock { font-size: 0 !important; }
body.pd-redesign #propSlider { display: none !important; }

body.pd-redesign .pd-mobile-summary { display: none; }
body.pd-redesign .pd-discovery { margin: 21px 0 25px; }
body.pd-redesign .pd-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 11px;
}
body.pd-redesign .pd-section-heading h2 {
    margin: 3px 0 0;
    color: var(--pd-ink);
    font: 760 clamp(18px, 1.8vw, 24px)/1.2 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
    letter-spacing: -.035em;
}
body.pd-redesign .pd-eyebrow { color: #6d8498; font-size: 9px; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
body.pd-redesign .pd-section-note { color: #8595a4; font-size: 10px; }
body.pd-redesign .pd-discovery-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; }
body.pd-redesign .pd-discovery-track .pd-card-media { aspect-ratio: 1.6; }
body.pd-redesign .pd-discovery-track .pd-card-title { font-size: 12px; }
body.pd-redesign .pd-discovery-track .pd-card-location { font-size: 10px; }
body.pd-redesign .pd-discovery-track .pd-card-facts { font-size: 10px; }
body.pd-redesign .pd-discovery-track .pd-card-copy { padding: 10px 11px 11px; }
body.pd-redesign .pd-layout .pd-center > :not(#galleryGrid):not(#propSlider):not(#thumbStrip):not(.pd-discovery) { min-width: 0; }
body.pd-redesign .pd-center .pp-contact-actions,
body.pd-redesign .pd-center .pp-contact-bar,
body.pd-redesign .pd-center .property-contact-actions { position: relative; }
body.pd-redesign .pd-center .pp-secondary-contact-actions,
body.pd-redesign .pd-center .pp-primary-contact-actions {
    display: grid !important;
    grid-template-columns: 1.35fr 1fr 1fr !important;
    gap: 8px !important;
    margin: 0 !important;
}
body.pd-redesign .pd-center .pp-secondary-contact,
body.pd-redesign .pd-center .pp-primary-contact {
    margin: 11px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.pd-redesign .pd-center .pp-action.pp-action-wa,
body.pd-redesign .pd-center .pp-action[data-contact-action="whatsapp"] {
    min-height: 54px !important;
    border: 1px solid #0d945e !important;
    border-radius: 9px !important;
    background: #16a56b !important;
    color: #fff !important;
    box-shadow: 0 4px 11px rgba(20, 143, 91, .16) !important;
}
body.pd-redesign .pd-center .pp-action.pp-action-wa strong,
body.pd-redesign .pd-center .pp-action.pp-action-wa small { color: #fff !important; }
body.pd-redesign .pd-center .pp-action.pp-action-viewing,
body.pd-redesign .pd-center .pp-action.pp-action-message {
    min-height: 54px !important;
    border: 1px solid #cbdbe8 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #24435d !important;
    box-shadow: 0 2px 6px rgba(27, 55, 79, .035) !important;
}
body.pd-redesign .pd-center .pp-action.pp-action-viewing strong,
body.pd-redesign .pd-center .pp-action.pp-action-message strong { color: #24435d !important; }
body.pd-redesign .pd-center .pp-action.pp-action-viewing small,
body.pd-redesign .pd-center .pp-action.pp-action-message small { color: #72869a !important; }
body.pd-redesign .pd-center .av-video-cta {
    bottom: 13px !important;
    left: 14px !important;
    min-height: 31px !important;
    padding: 5px 9px !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    border-radius: 7px !important;
    background: rgba(20, 39, 55, .55) !important;
    box-shadow: none !important;
    opacity: .88 !important;
}

@media (max-width: 1100px) {
    body.pd-redesign .pd-layout { grid-template-columns: minmax(150px, .68fr) minmax(0, 2.6fr) minmax(150px, .68fr); gap: 11px; }
    body.pd-redesign .pd-rail-heading h2 { font-size: 12px; }
    body.pd-redesign .pd-card-copy { padding: 8px; }
    body.pd-redesign .pd-card-facts { gap: 3px 5px; }
    body.pd-redesign #galleryGrid.gallery-grid { grid-template-rows:minmax(0,1fr) !important; min-height:315px!important; }
}
@media (max-width: 767px) {
    body.pd-redesign .page-wrap { padding: 7px 0 36px !important; }
    body.pd-redesign .pd-breadcrumbs { padding: 0 14px 9px; font-size: 10px; }
    body.pd-redesign .pd-layout { display: block; }
    body.pd-redesign .pd-rail { display: none !important; }
    body.pd-redesign #galleryGrid.gallery-grid {
        display: none !important;
    }
    body.pd-redesign #propSlider.slider-wrap {
        display: block !important;
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 4 / 3 !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: #dce6ee !important;
        overflow: hidden !important;
    }
    body.pd-redesign #propSlider .slider-track { height: 100% !important; }
    body.pd-redesign #propSlider .slide { min-width: 100% !important; height: 100% !important; }
    body.pd-redesign #propSlider .slide img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    body.pd-redesign #propSlider .pp-hero-overlay.pp-hero-mobile {
        position: absolute !important;
        inset: 0 !important;
        z-index: 8 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        width: 100% !important;
        padding: 18px 16px !important;
        pointer-events: none !important;
    }
    body.pd-redesign #propSlider .pp-hero-overlay:before {
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(180deg, rgba(10,28,43,.28), transparent 42%, rgba(7,22,37,.72)) !important;
        pointer-events: none !important;
    }
    body.pd-redesign #propSlider .pp-hero-overlay .pp-hero-top {
        position: static !important;
        order: 1 !important;
        width: 100% !important;
        margin: 0 0 7px !important;
    }
    body.pd-redesign #propSlider .pp-hero-overlay .pp-hero-title { font-size: 21px !important; line-height: 1.17 !important; }
    body.pd-redesign #propSlider .pp-hero-overlay .pp-hero-badge {
        top: 13px !important;
        left: 14px !important;
        min-height: 22px !important;
        padding: 4px 8px !important;
        font-size: 9px !important;
    }
    body.pd-redesign #propSlider .pp-hero-overlay .pp-hero-info {
        order: 2 !important;
        width: 100% !important;
        gap: 5px 11px !important;
    }
    body.pd-redesign #propSlider .pp-hero-overlay .pp-hero-item { font-size: 10px !important; }
    body.pd-redesign #propSlider .pp-hero-overlay .pp-hero-price { font-size: 17px !important; }
    body.pd-redesign #propSlider .slider-btn {
        z-index: 12 !important;
        width: 34px !important;
        height: 34px !important;
        border: 1px solid rgba(255,255,255,.54) !important;
        background: rgba(22,42,58,.65) !important;
        color: #fff !important;
        box-shadow: none !important;
    }
    body.pd-redesign #propSlider .slider-btn.prev { left: 9px !important; }
    body.pd-redesign #propSlider .slider-btn.next { right: 9px !important; }
    body.pd-redesign #propSlider .slider-counter {
        z-index: 12 !important;
        right: 11px !important;
        bottom: 11px !important;
        padding: 5px 9px !important;
        border-radius: 6px !important;
        background: rgba(19,39,56,.72) !important;
        color: #fff !important;
        font-size: 10px !important;
    }
    body.pd-redesign .pd-gallery-tools {
        top: 9px;
        right: 9px;
        gap: 5px;
    }
    body.pd-redesign .pd-gallery-tools .pd-gallery-arrow { display: none; }
    body.pd-redesign .pd-gallery-tool, body.pd-redesign .pd-gallery-count {
        min-width: 32px;
        height: 31px;
        padding: 0 8px;
        border-radius: 7px;
        font-size: 10px;
    }
    body.pd-redesign .pd-gallery-tool svg { width: 14px; height: 14px; }
    body.pd-redesign .pd-gallery-count { display: none; }
    body.pd-redesign #thumbStrip.thumb-strip {
        display: flex !important;
        gap: 6px !important;
        margin: 0 !important;
        padding: 8px 13px 4px !important;
        background: var(--pd-paper) !important;
    }
    body.pd-redesign #thumbStrip .thumb-item { flex-basis: 74px !important; border-radius: 5px !important; }
    body.pd-redesign .pd-mobile-summary {
        display: block;
        padding: 16px 16px 14px;
        border-bottom: 1px solid var(--pd-line);
        background: #fff;
    }
    body.pd-redesign .pd-mobile-title-row { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
    body.pd-redesign .pd-mobile-title-row .pd-mobile-title { margin: 0; color: var(--pd-ink); font: 760 20px/1.2 "Be Vietnam Pro", "Trebuchet MS", sans-serif; letter-spacing: -.035em; }
    body.pd-redesign .pd-mobile-title-row p { margin: 5px 0 0; color: var(--pd-muted); font-size: 11px; }
    body.pd-redesign .pd-mobile-price { flex: 0 0 auto; max-width: 46%; color: var(--pd-blue); font-size: 17px; line-height: 1.2; text-align: right; }
    body.pd-redesign .pd-mobile-facts { display: flex; gap: 22px; margin-top: 13px; }
    body.pd-redesign .pd-mobile-facts span { display: grid; gap: 2px; color: #405b73; }
    body.pd-redesign .pd-mobile-facts strong { font-size: 13px; font-weight: 750; }
    body.pd-redesign .pd-mobile-facts small { color: #8797a5; font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
    body.pd-redesign .pd-center > :not(#galleryGrid):not(#propSlider):not(#thumbStrip):not(.pd-mobile-summary) { margin-right: 14px; margin-left: 14px; }
    body.pd-redesign .pd-center .pp-secondary-contact-actions,
    body.pd-redesign .pd-center .pp-primary-contact-actions {
        grid-template-columns: 1fr 1fr !important;
    }
    body.pd-redesign .pd-center .pp-action.pp-action-wa {
        grid-column: 1 / -1 !important;
        min-height: 56px !important;
    }
    body.pd-redesign .pd-center .pp-action.pp-action-viewing,
    body.pd-redesign .pd-center .pp-action.pp-action-message { min-height: 48px !important; }
    body.pd-redesign .pd-center .pd-discovery { margin-top: 19px; }
    body.pd-redesign .pd-section-heading { align-items: end; }
    body.pd-redesign .pd-section-heading h2 { font-size: 19px; }
    body.pd-redesign .pd-section-note { max-width: 110px; text-align: right; font-size: 9px; }
    body.pd-redesign .pd-discovery-track {
        display: flex;
        gap: 10px;
        margin-right: -14px;
        padding: 0 14px 8px 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    body.pd-redesign .pd-discovery-track::-webkit-scrollbar { display: none; }
    body.pd-redesign .pd-discovery-track .pd-card { flex: 0 0 min(78vw, 294px); scroll-snap-align: start; }
    body.pd-redesign .pd-discovery-track .pd-card-media { aspect-ratio: 1.55; }
    body.pd-redesign .pd-discovery-track .pd-card-title { font-size: 12px; }
    body.pd-redesign .pd-discovery-track .pd-card-copy { padding: 10px; }
    body.pd-redesign .pd-discovery-empty { margin-right: 0; }
}
@media (max-width: 380px) {
    body.pd-redesign .pd-mobile-title-row .pd-mobile-title { font-size: 18px; }
    body.pd-redesign .pd-mobile-price { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
    body.pd-redesign .pd-card, body.pd-redesign .pd-card-media img { transition: none !important; }
}

/* Compact property-only header; the site's original logo and search dialog remain. */
body.pd-redesign .site-header .header-inner {
    width:100%!important;
    max-width:1740px!important;
    min-height:58px!important;
    padding:8px 24px!important;
}
body.pd-redesign .site-header { position:relative!important; }
body.pd-redesign .site-header [data-vt-control] {
    position:absolute!important;top:10px!important;right:12px!important;
    margin:0!important;max-width:130px!important;
}
body.pd-redesign .pp-hero-top .pg-property-save { display:none!important; }
body.pd-redesign .header-inner--compact-search>a:first-child img {
    height:36px!important;
    max-width:180px!important;
}
body.pd-redesign .pd-header-search {
    display:flex;
    flex:1;
    min-width:160px;
    max-width:640px;
    height:36px;
    margin:0 0 0 12px;
    overflow:hidden;
    border:1px solid #dce5ed;
    border-radius:7px;
    background:#f8fafc;
}
body.pd-redesign .pd-header-search input[type=search] {
    flex:1;min-width:0;border:0;background:transparent;padding:0 12px;
    font:inherit;font-size:12px;color:#18304a;outline-offset:-2px;
}
body.pd-redesign .pd-header-search button {
    width:40px;border:0;background:#176fc1;color:white;cursor:pointer;
}
body.pd-redesign .pd-header-search svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2; }
body.pd-redesign .pd-header-nav { display:flex;gap:18px;margin-left:auto;white-space:nowrap;font-size:12px; }
body.pd-redesign .pd-header-nav a { text-decoration:none;color:#18304a;font-weight:650; }
body.pd-redesign .av-search-launch { width:36px;height:36px;flex-basis:36px;box-shadow:none;border-radius:7px; }
body.pd-redesign #galleryGrid .pp-photo-count { display:none!important; }
body.pd-redesign #galleryGrid .gallery-view-all { display:none!important; }
body.pd-redesign #thumbStrip > .gallery-view-all {
    position:static!important;flex:0 0 96px!important;align-self:stretch!important;
    width:96px!important;min-height:56px!important;margin:0!important;
    border-radius:7px!important;border:1px solid #b9d8ed!important;
    background:#edf6fd!important;color:#185994!important;
    font:650 11px/1.4 "Be Vietnam Pro",sans-serif!important;
    white-space:normal!important;cursor:pointer!important;
}
body.pd-redesign .pd-video-request { margin:8px 0 14px; }
body.pd-redesign .pd-video-request .av-video-cta {
    position:static!important;display:inline-flex!important;color:#24435d!important;
    background:#fff!important;border:1px solid #dce5ed!important;box-shadow:none!important;
    font-size:12px!important;opacity:1!important;
}
@media (max-width:767px) {
    body.pd-redesign .site-header .header-inner { min-height:56px!important;padding:8px 14px!important; }
    body.pd-redesign .site-header [data-vt-control] { right:66px!important;top:12px!important;max-width:108px!important; }
    body.pd-redesign .pd-header-search,body.pd-redesign .pd-header-nav,body.pd-redesign .pp-mob-search { display:none!important; }
    body.pd-redesign #propSlider .pp-hero-top .pp-hero-title,
    body.pd-redesign #propSlider .pp-hero-info,
    body.pd-redesign #propSlider .pp-photo-count { display:none!important; }
    body.pd-redesign #propSlider .pp-hero-overlay:before { background:linear-gradient(180deg,rgba(10,28,43,.15),transparent 30%)!important; }
}

/* Property discovery refinement: balanced rails, compact listings, accessible saves. */
body.pd-redesign .pd-layout {
    grid-template-columns: minmax(190px, 19fr) minmax(0, 62fr) minmax(190px, 19fr);
    gap: clamp(13px, 1.45vw, 24px);
}
body.pd-redesign .pd-rail-list { gap: 9px; }
body.pd-redesign .pd-card-wrap {
    position: relative;
    min-width: 0;
    container-type: inline-size;
}
body.pd-redesign .pd-rail .pd-card {
    border-radius: 9px;
    box-shadow: 0 1px 5px rgba(27, 55, 79, .045);
}
body.pd-redesign .pd-rail .pd-card-media {
    aspect-ratio: 4 / 3;
}
body.pd-redesign .pd-rail .pd-card-copy {
    gap: 3px;
    padding: 7px 8px 8px;
}
body.pd-redesign .pd-rail .pd-card-title { font-size: 10px; }
body.pd-redesign .pd-rail .pd-card-location { font-size: 9px; }
body.pd-redesign .pd-rail .pd-card-facts { gap: 2px 6px; font-size: 8px; }
body.pd-redesign .pd-card-price {
    right: auto;
    left: 7px;
    bottom: 7px;
}
body.pd-redesign .pd-card-price.pd-card-price-body {
    position: static;
    max-width: 100%;
    background: transparent;
    color: var(--pd-blue, #0877c9);
    padding: 0;
    border: 0;
    border-radius: 0;
    white-space: normal;
    font-size: 11px;
    line-height: 1.35;
}
body.pd-redesign .pd-new {
    position: absolute;
    z-index: 3;
    top: 7px;
    right: 7px;
    display: inline-flex;
    align-items: center;
    min-height: 19px;
    padding: 3px 6px;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 4px;
    background: #176fc1;
    color: #fff;
    font: 750 8px/1 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
    letter-spacing: .07em;
}
body.pd-redesign .pg-save.pd-save {
    position: absolute;
    z-index: 5;
    top: calc(75cqi - 52px);
    right: 7px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-width: 44px;
    min-height: 44px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 8px;
    background: rgba(20, 44, 65, .86);
    color: #fff;
    box-shadow: 0 2px 8px rgba(10, 28, 43, .2);
    font: 650 10px/1 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
body.pd-redesign .pg-save.pd-save:hover { background: #153b5a; }
body.pd-redesign .pg-save.pd-save[aria-pressed="true"],
body.pd-redesign .pg-save.pd-save.is-saved {
    border-color: #b6e8d2;
    background: #126b4b;
    color: #fff;
}
body.pd-redesign .pg-save.pd-save:focus-visible,
body.pd-redesign .pd-card:focus-visible {
    outline: 3px solid #176fc1;
    outline-offset: 3px;
}
body.pd-redesign .pd-card:focus-visible { z-index: 2; }

/* The native preview dialog can receive its image lazily when opened. */
body.pd-redesign .pg-property-preview {
    display: grid;
    grid-template-columns: minmax(130px, .9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 16px;
    padding: 14px;
    border: 1px solid var(--pd-line);
    border-radius: 12px;
    background: #f5f8fb;
    color: var(--pd-ink);
}
body.pd-redesign .pg-property-preview img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    background: #e2eaf0;
    object-fit: cover;
}
body.pd-redesign .pg-property-preview h2,
body.pd-redesign .pg-property-preview h3 {
    margin: 0 0 8px;
    color: var(--pd-ink);
    font: 750 16px/1.3 "Be Vietnam Pro", "Trebuchet MS", sans-serif;
}
body.pd-redesign .pg-property-preview .pg-property-facts,
body.pd-redesign .pg-property-preview [class*="fact"] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    color: #536b80;
    font-size: 12px;
}

@media (max-width: 1100px) and (min-width: 768px) {
    body.pd-redesign .pd-layout {
        grid-template-columns: minmax(165px, 19fr) minmax(0, 62fr) minmax(165px, 19fr);
        gap: 11px;
    }
}
@media (max-width: 767px) {
    body.pd-redesign .pd-layout {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }
    body.pd-redesign .pd-center { order: 1; width: 100%; }
    body.pd-redesign .pd-rail {
        display: block !important;
        order: 2;
        width: 100%;
        margin: 17px 0 0;
        padding: 0 14px;
        box-sizing: border-box;
    }
    body.pd-redesign .pd-rail + .pd-rail { order: 3; }
    body.pd-redesign .pd-rail-heading {
        min-height: 0;
        padding: 0 0 8px;
    }
    body.pd-redesign .pd-rail-heading h2 { font-size: 14px; }
    body.pd-redesign .pd-rail-heading > span { font-size: 9px; }
    body.pd-redesign .pd-rail-list {
        display: flex;
        gap: 9px;
        margin-right: -14px;
        padding: 0 14px 9px 0;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
    }
    body.pd-redesign .pd-rail-list > .pd-card-wrap {
        flex: 0 0 min(43vw, 176px);
        scroll-snap-align: start;
    }
    body.pd-redesign .pd-rail-list > .pd-card {
        flex: 0 0 min(43vw, 176px);
        scroll-snap-align: start;
    }
    body.pd-redesign .pd-rail .pd-card-media { aspect-ratio: 4 / 3; }
    body.pd-redesign .pd-rail .pd-card-copy { padding: 7px; }
    body.pd-redesign .pd-rail .pd-card-title { font-size: 10px; }
    body.pd-redesign .pd-rail .pd-card-facts { font-size: 8px; }
    body.pd-redesign .pg-save.pd-save {
        top: calc(75cqi - 51px);
        right: 6px;
        min-width: 44px;
        min-height: 44px;
    }
    body.pd-redesign .pd-discovery-track { scroll-padding-inline: 14px; }
    body.pd-redesign .pd-discovery-track > .pd-card-wrap { flex: 0 0 min(78vw, 294px); }
    body.pd-redesign .pg-property-preview {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 11px;
    }
    body.pd-redesign .pg-property-preview img { max-height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
    body.pd-redesign .pd-card,
    body.pd-redesign .pd-card-media img { transition: none !important; }
}
