/* Pango Public Listing v9 — isolated listing page visual system. */
html, body.public-listing-v9 { height:100%; }
body.public-listing-v9 {
    min-height:100dvh !important;
    height:100dvh !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    background:
      radial-gradient(circle at 90% -10%, color-mix(in srgb, var(--accent, #f59e0b) 11%, transparent), transparent 28rem),
      radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--primary) 10%, transparent), transparent 30rem),
      var(--page-bg, var(--background, #f5f7fb)) !important;
}
body.public-listing-v9 > .page-header {
    position:relative !important;
    inset:auto !important;
    flex:0 0 auto !important;
    z-index:300 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent) !important;
    background:color-mix(in srgb,var(--surface,#fff) 91%,transparent) !important;
    backdrop-filter:blur(18px) saturate(150%);
    box-shadow:0 8px 28px rgba(15,23,42,.055) !important;
}
body.public-listing-v9 > .page-header .header-row {
    min-height:64px !important;
    padding-block:.55rem !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:.7rem !important;
    flex-wrap:nowrap !important;
}
body.public-listing-v9 > .app-shell-scroll {
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain;
    padding:.9rem 0 calc(var(--footer-h,0px) + 1.25rem) !important;
    scrollbar-gutter:stable;
}
body.public-listing-v9 .house-showcase {
    display:grid !important;
    gap:.9rem !important;
}
body.public-listing-v9 .property-hero-card {
    border:0 !important;
    border-radius:22px !important;
    padding:1rem 1.1rem !important;
    background:linear-gradient(135deg, color-mix(in srgb,var(--primary) 8%,var(--surface,#fff)), var(--surface,#fff) 55%) !important;
    box-shadow:0 14px 40px rgba(15,23,42,.08) !important;
}
body.public-listing-v9 .property-hero-card h1 {
    margin:.55rem 0 .35rem !important;
    font-size:clamp(1.45rem,4.5vw,2.25rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.025em;
}
body.public-listing-v9 .listing-meta {
    display:flex !important; flex-wrap:wrap !important; gap:.4rem !important;
}
body.public-listing-v9 .listing-meta .pill,
body.public-listing-v9 .listing-meta .status-pill {
    border-radius:999px !important;
    padding:.36rem .62rem !important;
    font-size:.76rem !important;
    box-shadow:none !important;
}
body.public-listing-v9 .gallery-showcase,
body.public-listing-v9 .info-panel,
body.public-listing-v9 .detail-card,
body.public-listing-v9 .message-box {
    border:0 !important;
    border-radius:20px !important;
    background:var(--surface,#fff) !important;
    box-shadow:0 10px 34px rgba(15,23,42,.075) !important;
}
body.public-listing-v9 .gallery-showcase { overflow:hidden !important; }
body.public-listing-v9 .gallery-showcase img,
body.public-listing-v9 .gallery-showcase video { border-radius:16px !important; }
body.public-listing-v9 .detail-layout {
    display:grid !important;
    grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr) !important;
    align-items:start !important;
    gap:1rem !important;
}
body.public-listing-v9 .info-panel { padding:1rem !important; }
body.public-listing-v9 .info-panel h2 { margin-top:0 !important; font-size:1.05rem !important; }
body.public-listing-v9 .button { border-radius:12px !important; }
body.public-listing-v9 .public-listing-header .header-actions {
    display:flex !important; align-items:center !important; gap:.45rem !important; flex-wrap:nowrap !important;
}
body.public-listing-v9 .public-listing-header .back-link { min-height:42px !important; }
body.public-listing-v9 .utility-nav { gap:.35rem !important; }
body.public-listing-v9 > .site-footer {
    position:fixed !important;
    left:0; right:0; bottom:0 !important;
    z-index:240 !important;
    margin:0 !important;
    transform:translateY(105%) !important;
    opacity:0 !important;
    transition:transform .22s ease, opacity .22s ease !important;
    box-shadow:0 -12px 30px rgba(15,23,42,.12) !important;
}
body.public-listing-v9.has-scrolled > .site-footer { transform:translateY(0) !important; opacity:1 !important; }
@media (max-width:860px) {
    body.public-listing-v9 .detail-layout { grid-template-columns:1fr !important; }
}
@media (max-width:700px) {
    body.public-listing-v9 > .page-header .container { padding-inline:.7rem !important; }
    body.public-listing-v9 .brand.small { font-size:.95rem !important; }
    body.public-listing-v9 .public-listing-header .back-link {
        width:42px !important; min-width:42px !important; padding:0 !important; font-size:0 !important;
        display:grid !important; place-items:center !important;
    }
    body.public-listing-v9 .public-listing-header .back-link svg { width:20px; height:20px; }
    body.public-listing-v9 > .app-shell-scroll { padding-top:.65rem !important; }
    body.public-listing-v9 .property-hero-card { border-radius:18px !important; padding:.9rem !important; }
    body.public-listing-v9 .gallery-showcase,
    body.public-listing-v9 .info-panel,
    body.public-listing-v9 .detail-card,
    body.public-listing-v9 .message-box { border-radius:17px !important; }
}

/* v10 HEADER RESET — own the public listing header completely. */
body.public-listing-v9 > header.page-header.public-listing-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    flex: 0 0 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--line) 68%, transparent) !important;
    border-radius: 0 !important;
    background: color-mix(in srgb, var(--surface, #fff) 96%, transparent) !important;
    box-shadow: 0 4px 18px rgba(15,23,42,.07) !important;
    backdrop-filter: blur(16px) saturate(145%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(145%) !important;
}
body.public-listing-v9 > header.page-header::before,
body.public-listing-v9 > header.page-header::after,
body.public-listing-v9 > header.page-header .header-row::before,
body.public-listing-v9 > header.page-header .header-row::after {
    content: none !important;
    display: none !important;
}
body.public-listing-v9 > header.page-header > .header-row,
body.public-listing-v9 > header.page-header > .container.header-row {
    width: min(100%, 1280px) !important;
    height: 62px !important;
    min-height: 62px !important;
    margin: 0 auto !important;
    padding: 0 1rem !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .65rem !important;
    flex-wrap: nowrap !important;
}
body.public-listing-v9 > header.page-header .brand,
body.public-listing-v9 > header.page-header .header-actions { margin: 0 !important; }
body.public-listing-v9 > header.page-header .header-actions,
body.public-listing-v9 > header.page-header .utility-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .4rem !important;
    flex-wrap: nowrap !important;
    min-width: 0 !important;
}
body.public-listing-v9 > header.page-header .theme-toggle,
body.public-listing-v9 > header.page-header .back-link { flex: 0 0 auto !important; }
@media (max-width:700px) {
    body.public-listing-v9 > header.page-header.public-listing-header,
    body.public-listing-v9 > header.page-header > .header-row,
    body.public-listing-v9 > header.page-header > .container.header-row {
        min-height: 58px !important;
        height: 58px !important;
        max-height: 58px !important;
    }
    body.public-listing-v9 > header.page-header.public-listing-header { flex-basis: 58px !important; }
    body.public-listing-v9 > header.page-header > .header-row,
    body.public-listing-v9 > header.page-header > .container.header-row { padding: 0 .7rem !important; }
    body.public-listing-v9 > header.page-header .brand.small { white-space: nowrap !important; }
    body.public-listing-v9 > header.page-header .utility-nav { gap: .18rem !important; }
    body.public-listing-v9 > header.page-header .utility-nav .button,
    body.public-listing-v9 > header.page-header .utility-nav a,
    body.public-listing-v9 > header.page-header .back-link {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 0 !important;
        display: grid !important;
        place-items: center !important;
    }
    body.public-listing-v9 > header.page-header .utility-nav svg,
    body.public-listing-v9 > header.page-header .back-link svg,
    body.public-listing-v9 > header.page-header .theme-toggle svg { width: 21px !important; height: 21px !important; }
}
