@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=DM+Sans:wght@400;500;700;800&display=swap");

/* =========================================================
   CERCA BRANCA - SITE PÚBLICO
   Parte 01 - Home + busca + captação pública
========================================================= */

:root {
    --cb-blue-950: #071B3A;
    --cb-blue-900: #0B2346;
    --cb-blue-800: #12335F;
    --cb-blue-700: #1C477E;
    --cb-gold-600: #C9A45C;
    --cb-gold-500: #D8B76B;
    --cb-gold-soft: #F4E8CA;
    --cb-bg: #F6F8FB;
    --cb-surface: #FFFFFF;
    --cb-surface-soft: #F9FBFE;
    --cb-border: #D9E2EF;
    --cb-text: #071B3A;
    --cb-muted: #64748B;
    --cb-shadow: 0 24px 70px rgba(7, 27, 58, .12);
    --cb-radius-lg: 28px;
    --cb-radius-md: 18px;
    --cb-radius-sm: 12px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--cb-bg);
    color: var(--cb-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

button,
input,
select,
textarea {
    font: inherit;
}

.site-container {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(217, 226, 239, .9);
    backdrop-filter: blur(18px);
}

.site-header-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.site-brand img {
    width: 172px;
    height: auto;
}

.site-nav {
    display: flex;
    align-items: center;
    gap: 8px;
}

.site-nav a {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    border-radius: 999px;
    color: var(--cb-blue-900);
    font-size: 14px;
    font-weight: 800;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.site-nav a:hover {
    background: #EEF3FA;
    transform: translateY(-1px);
}

.site-nav .site-nav-admin {
    border: 1px solid var(--cb-border);
    background: var(--cb-surface);
}

.site-menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--cb-border);
    border-radius: 999px;
    background: var(--cb-surface);
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
}

.site-menu-toggle span {
    width: 18px;
    height: 2px;
    background: var(--cb-blue-950);
    border-radius: 999px;
}

.site-hero {
    position: relative;
    min-height: 690px;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 18%, rgba(216, 183, 107, .24), transparent 30%),
        linear-gradient(135deg, #F6F8FB 0%, #EEF3FA 45%, #E8EEF7 100%);
}

.site-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(246,248,251,.96) 0%, rgba(246,248,251,.86) 33%, rgba(246,248,251,.12) 70%),
        url('/assets/img/site-hero-home.svg') right center / auto 100% no-repeat;
}

.site-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(360px, 540px) 1fr;
    align-items: center;
    gap: 48px;
    padding: 70px 0 56px;
}

.site-hero-card {
    display: grid;
    gap: 18px;
}

.site-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cb-gold-600);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .13em;
}

.site-eyebrow::before {
    content: "";
    width: 30px;
    height: 1px;
    background: var(--cb-gold-600);
}

.site-hero h1,
.site-page-hero h1,
.site-section h2 {
    margin: 0;
    color: var(--cb-blue-950);
    font-weight: 950;
    line-height: 1.06;
    letter-spacing: -.04em;
}

.site-hero h1 {
    font-size: clamp(42px, 5vw, 68px);
}

.site-hero p,
.site-page-hero p,
.site-section-head p,
.site-service-grid p {
    margin: 0;
    color: var(--cb-muted);
    font-size: 17px;
    font-weight: 650;
}

.site-search-card {
    margin-top: 10px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(217,226,239,.9);
    border-radius: var(--cb-radius-lg);
    box-shadow: var(--cb-shadow);
    overflow: hidden;
}

.site-search-tabs {
    display: flex;
    padding: 18px 22px 0;
    border-bottom: 1px solid var(--cb-border);
}

.site-search-tabs button {
    position: relative;
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    background: transparent;
    color: var(--cb-muted);
    font-weight: 900;
    cursor: pointer;
}

.site-search-tabs button.is-active {
    color: var(--cb-blue-950);
}

.site-search-tabs button.is-active::after {
    content: "";
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: -1px;
    height: 3px;
    border-radius: 999px;
    background: var(--cb-gold-600);
}

.site-search-main,
.site-search-row {
    padding: 18px 22px;
    border-bottom: 1px solid var(--cb-border);
}

.site-search-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.site-search-card label,
.site-list-search label,
.site-capture-form label {
    display: grid;
    gap: 7px;
}

.site-search-card label span,
.site-list-search label span,
.site-capture-form label span {
    color: var(--cb-blue-900);
    font-size: 13px;
    font-weight: 950;
}

.site-search-card input,
.site-search-card select,
.site-list-search input,
.site-list-search select,
.site-capture-form input,
.site-capture-form select,
.site-capture-form textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--cb-border);
    border-radius: 14px;
    background: var(--cb-surface-soft);
    color: var(--cb-text);
    padding: 0 14px;
    outline: none;
    font-weight: 750;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.site-capture-form textarea {
    min-height: 116px;
    padding-top: 14px;
    resize: vertical;
}

.site-search-card input:focus,
.site-search-card select:focus,
.site-list-search input:focus,
.site-list-search select:focus,
.site-capture-form input:focus,
.site-capture-form select:focus,
.site-capture-form textarea:focus {
    border-color: rgba(201, 164, 92, .75);
    background: #FFFFFF;
    box-shadow: 0 0 0 4px rgba(201,164,92,.13);
}

.site-btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 14px;
    padding: 0 20px;
    font-weight: 950;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.site-btn:hover {
    transform: translateY(-1px);
}

.site-btn-primary {
    background: var(--cb-blue-950);
    color: #FFFFFF;
    box-shadow: 0 16px 28px rgba(7, 27, 58, .16);
}

.site-btn-primary:hover {
    background: var(--cb-blue-800);
}

.site-btn-outline {
    background: #FFFFFF;
    border-color: var(--cb-border);
    color: var(--cb-blue-950);
}

.site-btn-outline:hover {
    border-color: rgba(201,164,92,.7);
    box-shadow: 0 14px 28px rgba(7,27,58,.08);
}

.site-btn-block {
    width: calc(100% - 44px);
    margin: 22px;
}

.site-owner-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--cb-border);
    border-radius: var(--cb-radius-md);
    padding: 18px 20px;
    box-shadow: 0 16px 42px rgba(7,27,58,.08);
}

.site-owner-cta strong,
.site-owner-cta span {
    display: block;
}

.site-owner-cta strong {
    color: var(--cb-blue-950);
    font-size: 16px;
    font-weight: 950;
}

.site-owner-cta span {
    color: var(--cb-muted);
    font-size: 13px;
    font-weight: 750;
}

.site-hero-visual {
    min-height: 520px;
}

.site-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    pointer-events: none;
}

.site-section {
    padding: 80px 0;
    background: var(--cb-bg);
}

.site-section-soft {
    padding: 26px 0;
    background: #FFFFFF;
    border-top: 1px solid var(--cb-border);
    border-bottom: 1px solid var(--cb-border);
}

.site-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.site-stats a {
    display: grid;
    gap: 3px;
    padding: 18px;
    border: 1px solid var(--cb-border);
    border-radius: 18px;
    background: var(--cb-surface);
}

.site-stats strong {
    color: var(--cb-blue-950);
    font-size: 22px;
    font-weight: 950;
}

.site-stats span {
    color: var(--cb-muted);
    font-size: 13px;
    font-weight: 800;
}

.site-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.site-section h2 {
    margin-top: 10px;
    font-size: clamp(30px, 4vw, 44px);
}

.site-link-arrow {
    color: var(--cb-blue-950);
    font-weight: 950;
}

.site-link-arrow::after {
    content: " →";
    color: var(--cb-gold-600);
}

.site-property-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.site-property-card {
    overflow: hidden;
    border: 1px solid var(--cb-border);
    border-radius: 24px;
    background: var(--cb-surface);
    box-shadow: 0 18px 45px rgba(7,27,58,.07);
    transition: transform .2s ease, box-shadow .2s ease;
}

.site-property-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 70px rgba(7,27,58,.12);
}

.site-property-photo {
    position: relative;
    height: 230px;
    display: block;
    overflow: hidden;
    background: #EEF3FA;
}

.site-property-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-property-photo span {
    position: absolute;
    left: 14px;
    top: 14px;
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--cb-gold-500);
    color: var(--cb-blue-950);
    font-size: 12px;
    font-weight: 950;
}

.site-property-body {
    display: grid;
    gap: 15px;
    padding: 18px;
}

.site-property-body small,
.site-property-body p {
    margin: 0;
    color: var(--cb-muted);
    font-size: 13px;
    font-weight: 750;
}

.site-property-body h3 {
    min-height: 48px;
    margin: 4px 0 6px;
    color: var(--cb-blue-950);
    font-size: 18px;
    line-height: 1.25;
    font-weight: 950;
}

.site-property-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.site-property-meta span {
    padding: 6px 9px;
    border-radius: 999px;
    background: #EEF3FA;
    color: var(--cb-blue-800);
    font-size: 12px;
    font-weight: 850;
}

.site-property-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid var(--cb-border);
    padding-top: 14px;
}

.site-property-foot strong {
    color: var(--cb-blue-950);
    font-size: 18px;
    font-weight: 950;
}

.site-property-foot a {
    color: var(--cb-gold-600);
    font-size: 13px;
    font-weight: 950;
}

.site-empty {
    border: 1px dashed var(--cb-border);
    border-radius: 22px;
    background: var(--cb-surface);
    padding: 26px;
    color: var(--cb-muted);
    font-weight: 800;
}

.site-section-dark {
    background:
        radial-gradient(circle at 80% 20%, rgba(216,183,107,.18), transparent 32%),
        linear-gradient(135deg, var(--cb-blue-950), #0A274F);
    color: #FFFFFF;
}

.site-section-dark h2 {
    color: #FFFFFF;
}

.site-section-dark p {
    color: rgba(255,255,255,.74);
}

.site-service-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 42px;
    align-items: center;
}

.site-service-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.site-service-cards article {
    min-height: 150px;
    display: grid;
    align-content: space-between;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 20px;
    background: rgba(255,255,255,.08);
}

.site-service-cards strong {
    font-size: 18px;
    font-weight: 950;
}

.site-service-cards span {
    color: rgba(255,255,255,.7);
    font-size: 13px;
    font-weight: 700;
}

.site-footer {
    background: #06152E;
    color: #FFFFFF;
    padding: 46px 0 24px;
}

.site-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .7fr .7fr;
    gap: 32px;
}

.site-footer-logo {
    width: 160px;
    margin-bottom: 16px;
}

.site-footer p,
.site-footer span,
.site-footer a {
    color: rgba(255,255,255,.68);
    font-size: 14px;
    font-weight: 700;
}

.site-footer strong {
    display: block;
    margin-bottom: 12px;
    color: #FFFFFF;
    font-weight: 950;
}

.site-footer a {
    display: block;
    margin-bottom: 8px;
}

.site-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    margin-top: 30px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.12);
}

.site-page-hero {
    padding: 72px 0 44px;
    background:
        radial-gradient(circle at 12% 8%, rgba(216,183,107,.20), transparent 28%),
        linear-gradient(135deg, #F6F8FB, #EEF3FA);
}

.site-page-hero h1 {
    margin-top: 10px;
    font-size: clamp(36px, 5vw, 56px);
}

.site-list-search {
    margin-top: 26px;
    display: grid;
    grid-template-columns: 1.4fr .7fr .7fr auto;
    gap: 12px;
    align-items: end;
    padding: 16px;
    border: 1px solid var(--cb-border);
    border-radius: 22px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 18px 44px rgba(7,27,58,.08);
}

.site-page-hero-capture {
    padding-bottom: 80px;
}

.site-capture-grid {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 44px;
    align-items: start;
}

.site-capture-form {
    border: 1px solid var(--cb-border);
    border-radius: 26px;
    background: var(--cb-surface);
    box-shadow: var(--cb-shadow);
    padding: 22px;
}

.site-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.site-form-full {
    grid-column: 1 / -1;
}

.site-honeypot {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.site-form-note {
    margin: 14px 0 0;
    color: var(--cb-muted);
    font-size: 13px;
    font-weight: 750;
}

.site-alert {
    margin-bottom: 14px;
    border-radius: 16px;
    padding: 12px 14px;
    font-size: 14px;
    font-weight: 850;
}

.site-alert-success {
    background: #EAF8EF;
    color: #17663A;
}

.site-alert-danger {
    background: #FDECEC;
    color: #A12A2A;
}

@media (max-width: 1080px) {
    .site-hero-grid,
    .site-capture-grid,
    .site-service-grid {
        grid-template-columns: 1fr;
    }

    .site-hero {
        min-height: auto;
    }

    .site-hero-bg {
        opacity: .38;
        background-position: center right;
    }

    .site-hero-visual {
        display: none;
    }

    .site-property-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-list-search {
        grid-template-columns: 1fr 1fr;
    }

    .site-list-search .site-btn {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .site-container {
        width: min(100% - 28px, 1180px);
    }

    .site-header-inner {
        min-height: 72px;
    }

    .site-brand img {
        width: 142px;
    }

    .site-menu-toggle {
        display: inline-flex;
    }

    .site-nav {
        position: fixed;
        left: 14px;
        right: 14px;
        top: 78px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        padding: 14px;
        border: 1px solid var(--cb-border);
        border-radius: 22px;
        background: #FFFFFF;
        box-shadow: var(--cb-shadow);
    }

    .site-nav.is-open {
        display: flex;
    }

    .site-nav a {
        justify-content: center;
    }

    .site-hero-grid {
        padding: 38px 0 34px;
    }

    .site-hero h1 {
        font-size: 38px;
    }

    .site-search-row,
    .site-stats,
    .site-property-grid,
    .site-service-cards,
    .site-footer-grid,
    .site-list-search,
    .site-form-grid {
        grid-template-columns: 1fr;
    }

    .site-owner-cta,
    .site-section-head,
    .site-footer-bottom {
        align-items: stretch;
        flex-direction: column;
    }

    .site-property-photo {
        height: 220px;
    }

    .site-section {
        padding: 56px 0;
    }
}

/* =========================================================
   PARTE 02 - FIX LOGO HEADER SITE PÚBLICO
   Evita logo estourado no topo.
========================================================= */

.site-brand {
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    flex: 0 0 auto;
}

.site-brand img {
    width: auto !important;
    max-width: 210px;
    height: auto !important;
    max-height: 58px;
    object-fit: contain;
}

.site-header-inner {
    min-height: 78px;
}

@media (max-width: 820px) {
    .site-brand {
        height: 54px;
    }

    .site-brand img {
        max-width: 168px;
        max-height: 48px;
    }

    .site-header-inner {
        min-height: 68px;
    }
}

/* =========================================================
   PARTE 03 - HEADER COM MARCA COMPLETA
   Brasão + escrita "Cerca Branca Imóveis", igual conceito do admin.
========================================================= */

.site-brand {
    height: 64px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
}

.site-brand-mark {
    width: 48px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.site-brand-mark img,
.site-brand img {
    width: auto !important;
    height: auto !important;
    max-width: 48px !important;
    max-height: 56px !important;
    object-fit: contain;
}

.site-brand-copy {
    display: grid;
    gap: 2px;
    line-height: 1;
}

.site-brand-copy strong {
    color: var(--cb-blue-950);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: .045em;
    white-space: nowrap;
}

.site-brand-copy small {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    color: var(--cb-gold-600);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .38em;
}

.site-brand-copy small::before,
.site-brand-copy small::after {
    content: "";
    width: 32px;
    height: 1px;
    background: rgba(201, 164, 92, .75);
}

@media (max-width: 820px) {
    .site-brand {
        height: 54px;
        gap: 9px;
    }

    .site-brand-mark {
        width: 38px;
        height: 46px;
    }

    .site-brand-mark img,
    .site-brand img {
        max-width: 38px !important;
        max-height: 46px !important;
    }

    .site-brand-copy strong {
        font-size: 15px;
        letter-spacing: .035em;
    }

    .site-brand-copy small {
        font-size: 7px;
        letter-spacing: .28em;
        gap: 6px;
    }

    .site-brand-copy small::before,
    .site-brand-copy small::after {
        width: 20px;
    }
}

@media (max-width: 420px) {
    .site-brand-copy strong {
        font-size: 13px;
    }

    .site-brand-copy small {
        font-size: 6px;
        letter-spacing: .22em;
    }

    .site-brand-copy small::before,
    .site-brand-copy small::after {
        width: 14px;
    }
}

/* =========================================================
   PARTE 04 - HEADER COM LOCKUP IGUAL AO ADMIN
   Corrige a parte 03: não troca fonte, não recria logo, usa o mesmo padrão do admin.
========================================================= */

/* Neutraliza o header manual da parte anterior */
.site-brand,
.site-brand-mark,
.site-brand-copy {
    all: unset;
}

.site-brand-lockup {
    height: 64px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 226px;
    color: var(--cb-blue-950);
    text-decoration: none;
    flex: 0 0 auto;
}

.site-brand-lockup:hover {
    color: var(--cb-blue-950);
}

.site-brand-emblem {
    display: block;
    width: 38px !important;
    max-width: 38px !important;
    height: auto !important;
    max-height: 52px !important;
    object-fit: contain;
    flex: 0 0 auto;
}

.site-brand-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1;
    min-width: 0;
}

.site-brand-text strong {
    display: block;
    font-family: "Cinzel", Georgia, "Times New Roman", serif;
    color: var(--cb-blue-950);
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.04em;
    line-height: 1;
    white-space: nowrap;
}

.site-brand-text small {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-top: 5px;
    font-family: "Cinzel", Georgia, "Times New Roman", serif;
    color: var(--cb-blue-950);
    font-size: 7px;
    font-weight: 500;
    letter-spacing: 0.34em;
    line-height: 1;
    white-space: nowrap;
}

.site-brand-text small::before,
.site-brand-text small::after {
    content: "";
    width: 20px;
    height: 1px;
    background: var(--cb-blue-950);
    opacity: 0.32;
}

.site-brand-text small span {
    display: inline-block;
}

.site-header-inner {
    min-height: 78px;
}

@media (max-width: 820px) {
    .site-brand-lockup {
        height: 54px;
        min-width: 0;
        gap: 8px;
    }

    .site-brand-emblem {
        width: 34px !important;
        max-width: 34px !important;
        max-height: 46px !important;
    }

    .site-brand-text strong {
        font-size: 15px;
    }

    .site-brand-text small {
        font-size: 6.5px;
        letter-spacing: 0.28em;
    }

    .site-brand-text small::before,
    .site-brand-text small::after {
        width: 16px;
    }
}

@media (max-width: 420px) {
    .site-brand-text strong {
        font-size: 13px;
    }

    .site-brand-text small {
        font-size: 6px;
        letter-spacing: 0.22em;
    }

    .site-brand-text small::before,
    .site-brand-text small::after {
        width: 12px;
    }
}

/* =========================================================
   PARTE 05 - HEADER ALINHADO À ESQUERDA
   Corrige header do site público para ficar no canto, igual aplicação/admin.
========================================================= */

/* O header não deve usar o container centralizado da home */
.site-header .site-container.site-header-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 22px;
}

/* Mantém o lockup com a mesma sensação do admin */
.site-header-inner {
    min-height: 72px;
    height: 72px;
}

.site-brand-lockup {
    min-width: 226px;
    height: 72px;
    gap: 10px;
}

.site-brand-emblem {
    width: 38px !important;
    max-width: 38px !important;
    max-height: 52px !important;
}

.site-brand-text strong {
    font-family: "Cinzel", Georgia, "Times New Roman", serif;
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.04em;
}

.site-brand-text small {
    font-family: "Cinzel", Georgia, "Times New Roman", serif;
    margin-top: 5px;
    font-size: 7px;
    font-weight: 500;
    letter-spacing: 0.34em;
    gap: 6px;
}

.site-brand-text small::before,
.site-brand-text small::after {
    width: 20px;
    opacity: 0.32;
}

/* Navegação fica no lado direito, sem deslocar a marca */
.site-nav {
    margin-left: auto;
}

@media (max-width: 820px) {
    .site-header .site-container.site-header-inner {
        padding: 0 14px;
    }

    .site-header-inner {
        min-height: 66px;
        height: 66px;
    }

    .site-brand-lockup {
        height: 66px;
        min-width: 0;
        gap: 8px;
    }

    .site-brand-emblem {
        width: 34px !important;
        max-width: 34px !important;
        max-height: 46px !important;
    }
}

/* =========================================================
   PARTE 06 - LOGO DO SITE EXATAMENTE NO PADRÃO DO ADMIN
   Mantém fonte, medidas e lockup iguais ao admin.
========================================================= */

/* Header full width, mas sem alterar o lockup da marca */
.site-header .site-container.site-header-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 22px;
}

.site-header-inner {
    min-height: 64px !important;
    height: 64px !important;
}

/* Neutraliza tentativas anteriores que recriaram a marca */
.site-brand,
.site-brand-mark,
.site-brand-copy {
    all: unset;
}

/* Mesma estrutura visual do admin */
.site-brand-lockup {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 226px !important;
    height: 64px !important;
    color: #0B1F3A !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
}

.site-brand-lockup:hover {
    color: #0B1F3A !important;
}

.site-brand-emblem {
    display: block !important;
    width: 38px !important;
    max-width: 38px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.site-brand-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-width: 0 !important;
}

.site-brand-text strong {
    display: block !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #0B1F3A !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-brand-text small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #0B1F3A !important;
    font-size: 7px !important;
    font-weight: 500 !important;
    letter-spacing: 0.34em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-brand-text small::before,
.site-brand-text small::after {
    content: "" !important;
    width: 20px !important;
    height: 1px !important;
    background: #0B1F3A !important;
    opacity: 0.32 !important;
}

.site-brand-text small span {
    display: inline-block !important;
}

/* Navegação fica no lado direito, sem empurrar a marca para o centro */
.site-nav {
    margin-left: auto !important;
}

@media (max-width: 820px) {
    .site-header .site-container.site-header-inner {
        padding: 0 14px;
    }

    .site-header-inner {
        min-height: 64px !important;
        height: 64px !important;
    }

    .site-brand-lockup {
        min-width: 0 !important;
        height: 64px !important;
        gap: 8px !important;
    }

    .site-brand-emblem {
        width: 36px !important;
        max-width: 36px !important;
    }

    .site-brand-text strong {
        font-size: 15px !important;
    }

    .site-brand-text small {
        font-size: 6.5px !important;
        letter-spacing: 0.30em !important;
    }

    .site-brand-text small::before,
    .site-brand-text small::after {
        width: 16px !important;
    }
}

/* =========================================================
   PARTE 07 - NAV PREMIUM SITE PÚBLICO
   Ajuste fino apenas do menu superior.
========================================================= */

/* Header */
.site-header {
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid rgba(216, 222, 232, .88) !important;
    box-shadow: 0 10px 30px rgba(7, 27, 58, .035);
}

.site-header .site-container.site-header-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 22px;
}

.site-header-inner {
    min-height: 64px !important;
    height: 64px !important;
    gap: 24px;
}

/* Nav geral */
.site-nav {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 22px !important;
}

.site-nav-main,
.site-nav-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.site-nav-main {
    gap: 26px;
}

.site-nav-actions {
    gap: 10px;
    padding-left: 8px;
}

/* Links normais: sem cara de botão de sistema */
.site-nav a,
.site-nav-link {
    min-height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    position: relative;
    transition: color .2s ease, transform .2s ease, opacity .2s ease;
}

.site-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -11px;
    height: 2px;
    border-radius: 999px;
    background: #C9A45C;
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
}

.site-nav-link:hover {
    color: #06162B !important;
    transform: translateY(-1px);
}

.site-nav-link:hover::after {
    transform: scaleX(1);
    opacity: 1;
}

/* CTA refinado para captação */
.site-nav-capture {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    border: 1px solid rgba(201, 164, 92, .70) !important;
    border-radius: 999px !important;
    color: #0B1F3A !important;
    background: rgba(201, 164, 92, .06) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    box-shadow: 0 8px 20px rgba(201, 164, 92, .08);
}

.site-nav-capture::after {
    display: none !important;
}

.site-nav-capture:hover {
    background: rgba(201, 164, 92, .15) !important;
    border-color: rgba(201, 164, 92, .95) !important;
    transform: translateY(-1px);
}

/* Área admin discreta */
.site-nav .site-nav-admin {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border: 1px solid rgba(216, 222, 232, .95) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .72) !important;
    color: rgba(11, 31, 58, .72) !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

.site-nav .site-nav-admin::after {
    display: none !important;
}

.site-nav .site-nav-admin:hover {
    color: #0B1F3A !important;
    border-color: rgba(201, 164, 92, .52) !important;
    background: #FFFFFF !important;
    transform: translateY(-1px);
}

/* Mobile */
@media (max-width: 980px) {
    .site-nav {
        gap: 14px !important;
    }

    .site-nav-main {
        gap: 18px;
    }

    .site-nav-capture {
        padding: 0 13px !important;
    }
}

@media (max-width: 820px) {
    .site-header .site-container.site-header-inner {
        padding: 0 14px;
    }

    .site-nav {
        position: fixed !important;
        left: 14px !important;
        right: 14px !important;
        top: 74px !important;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        padding: 16px !important;
        border: 1px solid rgba(216, 222, 232, .95) !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 22px 60px rgba(7, 27, 58, .14) !important;
        backdrop-filter: blur(18px);
    }

    .site-nav.is-open {
        display: flex !important;
    }

    .site-nav-main,
    .site-nav-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 0;
    }

    .site-nav-actions {
        padding-top: 10px;
        border-top: 1px solid rgba(216, 222, 232, .9);
    }

    .site-nav a,
    .site-nav-link {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 12px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }

    .site-nav-link::after {
        display: none;
    }

    .site-nav-link:hover {
        background: #F4F7FB !important;
        transform: none;
    }

    .site-nav-capture,
    .site-nav .site-nav-admin {
        min-height: 44px !important;
        width: 100% !important;
        justify-content: center !important;
        padding: 0 14px !important;
    }
}

/* =========================================================
   PARTE 08 - NAV LIMPO SEM ÁREA ADMIN
   Remove exposição de área administrativa no site público
   e deixa "Anunciar imóvel" como link normal premium.
========================================================= */

/* Remove qualquer comportamento visual antigo de CTA/admin no header */
.site-nav-actions,
.site-nav-capture,
.site-nav-admin {
    display: none !important;
}

.site-nav {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
}

.site-nav-main {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
}

/* Todos os itens do menu seguem o mesmo padrão sofisticado */
.site-nav a,
.site-nav-link {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    text-decoration: none !important;
    position: relative;
    transition: color .2s ease, transform .2s ease;
}

.site-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -11px;
    height: 2px;
    border-radius: 999px;
    background: #C9A45C;
    transform: scaleX(0);
    transform-origin: center;
    opacity: 0;
    transition: transform .22s ease, opacity .22s ease;
}

.site-nav-link:hover {
    color: #06162B !important;
    transform: translateY(-1px);
}

.site-nav-link:hover::after {
    transform: scaleX(1);
    opacity: 1;
}

.site-nav-link:focus-visible {
    color: #06162B !important;
}

.site-nav-link:focus-visible::after {
    transform: scaleX(1);
    opacity: 1;
}

/* Mobile */
@media (max-width: 820px) {
    .site-nav {
        position: fixed !important;
        left: 14px !important;
        right: 14px !important;
        top: 74px !important;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        padding: 16px !important;
        border: 1px solid rgba(216, 222, 232, .95) !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 22px 60px rgba(7, 27, 58, .14) !important;
        backdrop-filter: blur(18px);
    }

    .site-nav.is-open {
        display: flex !important;
    }

    .site-nav-main {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .site-nav a,
    .site-nav-link {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        padding: 0 12px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }

    .site-nav-link::after {
        display: none !important;
    }

    .site-nav-link:hover,
    .site-nav-link:focus-visible {
        background: #F4F7FB !important;
        transform: none !important;
    }
}

/* =========================================================
   PARTE 09 - NAV COM REDES SOCIAIS
   Menu menos colado no canto direito + redes no extremo direito.
========================================================= */

.site-header-right {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
}

.site-nav {
    margin-left: 0 !important;
}

.site-nav-main {
    gap: 28px !important;
}

.site-social-nav {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding-left: 20px;
    border-left: 1px solid rgba(216, 222, 232, .9);
}

.site-social-nav a {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(216, 222, 232, .92);
    border-radius: 999px;
    background: rgba(255, 255, 255, .74);
    color: rgba(11, 31, 58, .76);
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.site-social-nav a:hover {
    color: #0B1F3A;
    border-color: rgba(201, 164, 92, .70);
    background: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(7, 27, 58, .08);
}

.site-social-nav svg {
    width: 16px;
    height: 16px;
    display: block;
}

/* Menu fica mais para o centro porque as redes ocupam a ponta direita */
@media (min-width: 821px) {
    .site-header-right {
        padding-right: 2px;
    }
}

@media (max-width: 1080px) {
    .site-header-right {
        gap: 22px;
    }

    .site-nav-main {
        gap: 20px !important;
    }

    .site-social-nav {
        padding-left: 14px;
        gap: 7px;
    }

    .site-social-nav a {
        width: 32px;
        height: 32px;
    }
}

@media (max-width: 820px) {
    .site-header-right {
        margin-left: 0;
        display: block;
        position: static;
    }

    .site-social-nav {
        display: none;
    }

    .site-nav.is-open .site-social-nav {
        display: none;
    }
}

/* =========================================================
   PARTE 10 - FIX ÍCONES SOCIAIS GIGANTES
   Travamento forte para SVGs não estourarem caso CSS anterior conflite.
========================================================= */

.site-social-nav {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}

.site-social-nav a {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    overflow: hidden !important;
    flex: 0 0 34px !important;
    box-sizing: border-box !important;
}

.site-social-nav svg,
.site-social-icon {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    display: block !important;
    flex: 0 0 16px !important;
    transform: none !important;
}

/* Garante que nenhum SVG das redes herde comportamento global */
.site-header .site-social-nav svg {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
}

/* Em telas menores, se começar a apertar, escondemos as redes antes de quebrar o header */
@media (max-width: 1120px) {
    .site-social-nav {
        display: none !important;
    }
}

@media (max-width: 820px) {
    .site-social-nav {
        display: none !important;
    }
}

/* =========================================================
   PARTE 11 - NAV + SEÇÃO SOCIAL SEPARADA
   Menu principal fica antes, redes ficam como seção própria no canto direito.
========================================================= */

/* Estrutura do header: logo | espaço | nav + redes */
.site-header .site-container.site-header-inner {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 22px !important;
}

.site-header-right {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 42px !important;
    min-width: 0 !important;
}

/* Nav: fica antes da seção social, sem grudar no canto */
.site-nav {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.site-nav-main {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
    white-space: nowrap !important;
}

/* Neutraliza a versão anterior dos ícones que ficou colada/bugada */
.site-social-nav {
    display: none !important;
}

/* Seção social separada */
.site-header-social {
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding-left: 26px !important;
    border-left: 1px solid rgba(216, 222, 232, .9) !important;
    flex: 0 0 auto !important;
}

.site-header-social-label {
    display: inline-block !important;
    color: rgba(11, 31, 58, .50) !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    line-height: 1 !important;
}

.site-header-social-links {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.site-header-social a {
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 1px solid rgba(216, 222, 232, .95) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .74) !important;
    color: rgba(11, 31, 58, .74) !important;
    box-shadow: none !important;
    overflow: hidden !important;
    flex: 0 0 34px !important;
    transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

.site-header-social a:hover {
    color: #0B1F3A !important;
    border-color: rgba(201, 164, 92, .75) !important;
    background: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 10px 24px rgba(7, 27, 58, .08) !important;
}

.site-header-social svg,
.site-header-social .site-social-icon {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    display: block !important;
    flex: 0 0 16px !important;
    transform: none !important;
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
}

/* Ajuste fino para notebooks menores */
@media (max-width: 1180px) {
    .site-header-right {
        gap: 28px !important;
    }

    .site-nav-main {
        gap: 22px !important;
    }

    .site-header-social {
        padding-left: 20px !important;
    }

    .site-header-social-label {
        display: none !important;
    }
}

/* Em telas menores, não mostra redes no header para não quebrar */
@media (max-width: 980px) {
    .site-header-social {
        display: none !important;
    }

    .site-header-right {
        gap: 0 !important;
    }
}

/* Mobile mantém apenas o menu hamburguer */
@media (max-width: 820px) {
    .site-header .site-container.site-header-inner {
        padding: 0 14px !important;
    }

    .site-header-right {
        margin-left: 0 !important;
        display: block !important;
        position: static !important;
    }

    .site-nav {
        position: fixed !important;
        left: 14px !important;
        right: 14px !important;
        top: 74px !important;
        display: none !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        padding: 16px !important;
        border: 1px solid rgba(216, 222, 232, .95) !important;
        border-radius: 22px !important;
        background: rgba(255, 255, 255, .98) !important;
        box-shadow: 0 22px 60px rgba(7, 27, 58, .14) !important;
        backdrop-filter: blur(18px) !important;
    }

    .site-nav.is-open {
        display: flex !important;
    }

    .site-nav-main {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        white-space: normal !important;
    }

    .site-header-social {
        display: none !important;
    }
}

/* =========================================================
   PARTE 12 - ÍCONES SOCIAIS POR ARQUIVO SVG
   Substitui SVG inline por arquivos em assets/img/icons.
========================================================= */

.site-header-social svg,
.site-social-nav svg {
    display: none !important;
}

/* Ícones sociais como máscara: cor controlada por CSS, sem risco de estourar layout */
.site-header-social .site-social-icon {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    display: block !important;
    flex: 0 0 16px !important;
    background: currentColor !important;
    color: inherit !important;
    transform: none !important;
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-social-instagram {
    -webkit-mask-image: url("/assets/img/icons/instagram.svg");
    mask-image: url("/assets/img/icons/instagram.svg");
}

.site-social-tiktok {
    -webkit-mask-image: url("/assets/img/icons/tiktok.svg");
    mask-image: url("/assets/img/icons/tiktok.svg");
}

.site-social-whatsapp {
    -webkit-mask-image: url("/assets/img/icons/whatsapp.svg");
    mask-image: url("/assets/img/icons/whatsapp.svg");
}

.site-header-social a {
    color: rgba(11, 31, 58, .74) !important;
}

.site-header-social a:hover {
    color: #0B1F3A !important;
}

/* =========================================================
   PARTE 13 - REDES SOCIAIS DENTRO DO NAV MOBILE
   Mantém desktop como seção separada e adiciona contato no menu mobile.
========================================================= */

.site-mobile-social {
    display: none;
}

/* Mobile: redes aparecem dentro do menu hamburguer */
@media (max-width: 820px) {
    .site-nav .site-mobile-social {
        display: block !important;
        margin-top: 12px !important;
        padding-top: 14px !important;
        border-top: 1px solid rgba(216, 222, 232, .95) !important;
    }

    .site-mobile-social-title {
        display: block !important;
        margin: 0 0 10px !important;
        padding: 0 12px !important;
        color: rgba(11, 31, 58, .58) !important;
        font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        letter-spacing: .08em !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    .site-mobile-social-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .site-mobile-social-links a {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 0 12px !important;
        border: 1px solid rgba(216, 222, 232, .72) !important;
        border-radius: 14px !important;
        background: rgba(246, 248, 251, .72) !important;
        color: #0B1F3A !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        text-decoration: none !important;
        transition: background .2s ease, border-color .2s ease, color .2s ease !important;
    }

    .site-mobile-social-links a:hover,
    .site-mobile-social-links a:focus-visible {
        background: #FFFFFF !important;
        border-color: rgba(201, 164, 92, .58) !important;
        color: #06162B !important;
    }

    .site-mobile-social-links .site-social-icon {
        width: 17px !important;
        min-width: 17px !important;
        max-width: 17px !important;
        height: 17px !important;
        min-height: 17px !important;
        max-height: 17px !important;
        display: block !important;
        flex: 0 0 17px !important;
        background: currentColor !important;
        color: inherit !important;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-size: contain;
        mask-size: contain;
    }
}

/* Desktop: o bloco mobile nunca aparece */
@media (min-width: 821px) {
    .site-mobile-social {
        display: none !important;
    }
}

/* =========================================================
   PARTE 14 - FIX VISIBILIDADE REDES MOBILE/DESKTOP
   Desktop mantém apenas a seção social do canto direito.
   Mobile mostra redes dentro do menu hamburguer.
========================================================= */

/* REGRA GLOBAL: a seção mobile nunca aparece no desktop */
.site-header .site-nav .site-mobile-social,
.site-header .site-nav-main + .site-mobile-social,
.site-mobile-social {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Desktop: mantém somente a seção social separada do canto direito */
@media (min-width: 821px) {
    .site-header-social {
        display: inline-flex !important;
        visibility: visible !important;
    }

    .site-header .site-nav .site-mobile-social,
    .site-mobile-social {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }
}

/* Mobile: esconde a seção social do header e mostra dentro do menu */
@media (max-width: 820px) {
    .site-header-social {
        display: none !important;
        visibility: hidden !important;
    }

    .site-nav.is-open .site-mobile-social {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        max-height: none !important;
        margin-top: 12px !important;
        padding-top: 14px !important;
        border-top: 1px solid rgba(216, 222, 232, .95) !important;
        overflow: visible !important;
    }

    .site-nav.is-open .site-mobile-social-title {
        display: block !important;
        margin: 0 0 10px !important;
        padding: 0 12px !important;
        color: rgba(11, 31, 58, .58) !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        letter-spacing: .08em !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
    }

    .site-nav.is-open .site-mobile-social-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .site-nav.is-open .site-mobile-social-links a {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 10px !important;
        padding: 0 12px !important;
        border: 1px solid rgba(216, 222, 232, .72) !important;
        border-radius: 14px !important;
        background: rgba(246, 248, 251, .72) !important;
        color: #0B1F3A !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    .site-nav.is-open .site-mobile-social-links a:hover,
    .site-nav.is-open .site-mobile-social-links a:focus-visible {
        background: #FFFFFF !important;
        border-color: rgba(201, 164, 92, .58) !important;
        color: #06162B !important;
    }

    .site-nav.is-open .site-mobile-social-links .site-social-icon {
        width: 17px !important;
        min-width: 17px !important;
        max-width: 17px !important;
        height: 17px !important;
        min-height: 17px !important;
        max-height: 17px !important;
        display: block !important;
        flex: 0 0 17px !important;
        background: currentColor !important;
        color: inherit !important;
    }
}

/* =========================================================
   PARTE 15 - BRILHO SUTIL NAS REDES SOCIAIS
   Efeito elegante/moderno sem ficar chamativo.
========================================================= */

.site-header-social a,
.site-mobile-social-links a {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

/* brilho desktop */
.site-header-social a::before {
    content: "" !important;
    position: absolute !important;
    top: -45% !important;
    left: -120% !important;
    width: 78% !important;
    height: 190% !important;
    background: linear-gradient(
        115deg,
        transparent 0%,
        transparent 34%,
        rgba(255, 255, 255, .00) 38%,
        rgba(255, 255, 255, .75) 50%,
        rgba(201, 164, 92, .24) 58%,
        transparent 72%,
        transparent 100%
    ) !important;
    transform: rotate(18deg) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
    animation: cbSocialShine 6.8s ease-in-out infinite !important;
}

.site-header-social a:nth-child(2)::before {
    animation-delay: .55s !important;
}

.site-header-social a:nth-child(3)::before {
    animation-delay: 1.1s !important;
}

.site-header-social a:hover::before {
    animation: cbSocialShineHover .95s ease-out 1 !important;
    opacity: 1 !important;
}

/* garante que o ícone fica acima do brilho */
.site-header-social .site-social-icon,
.site-mobile-social-links .site-social-icon,
.site-mobile-social-links span {
    position: relative !important;
    z-index: 2 !important;
}

/* brilho mobile, mais suave e horizontal */
.site-mobile-social-links a::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    left: -120% !important;
    width: 46% !important;
    background: linear-gradient(
        110deg,
        transparent 0%,
        rgba(255, 255, 255, .00) 32%,
        rgba(255, 255, 255, .70) 50%,
        rgba(201, 164, 92, .16) 60%,
        transparent 100%
    ) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 1 !important;
    animation: cbSocialShineMobile 7.6s ease-in-out infinite !important;
}

.site-mobile-social-links a:nth-child(2)::before {
    animation-delay: .65s !important;
}

.site-mobile-social-links a:nth-child(3)::before {
    animation-delay: 1.3s !important;
}

.site-mobile-social-links a:hover::before,
.site-mobile-social-links a:focus-visible::before {
    animation: cbSocialShineMobileHover .9s ease-out 1 !important;
    opacity: 1 !important;
}

@keyframes cbSocialShine {
    0% {
        left: -120%;
        opacity: 0;
    }

    8% {
        opacity: .85;
    }

    18% {
        left: 135%;
        opacity: 0;
    }

    100% {
        left: 135%;
        opacity: 0;
    }
}

@keyframes cbSocialShineHover {
    0% {
        left: -120%;
        opacity: 0;
    }

    35% {
        opacity: .95;
    }

    100% {
        left: 135%;
        opacity: 0;
    }
}

@keyframes cbSocialShineMobile {
    0% {
        left: -120%;
        opacity: 0;
    }

    7% {
        opacity: .72;
    }

    17% {
        left: 125%;
        opacity: 0;
    }

    100% {
        left: 125%;
        opacity: 0;
    }
}

@keyframes cbSocialShineMobileHover {
    0% {
        left: -120%;
        opacity: 0;
    }

    35% {
        opacity: .85;
    }

    100% {
        left: 125%;
        opacity: 0;
    }
}

/* acessibilidade: sem animação para quem reduz movimento */
@media (prefers-reduced-motion: reduce) {
    .site-header-social a::before,
    .site-mobile-social-links a::before {
        animation: none !important;
        display: none !important;
    }
}

/* =========================================================
   PARTE 16 - BRILHO VISÍVEL NAS REDES SOCIAIS
   Ajuste do efeito anterior: mais perceptível, mas ainda elegante.
========================================================= */

/* Grupo das redes no desktop recebe um brilho passando pela seção inteira */
.site-header-social-links {
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;
}

.site-header-social-links::before {
    content: "" !important;
    position: absolute !important;
    top: -6px !important;
    bottom: -6px !important;
    left: -44px !important;
    width: 34px !important;
    border-radius: 999px !important;
    background: linear-gradient(
        105deg,
        transparent 0%,
        rgba(201, 164, 92, .00) 18%,
        rgba(201, 164, 92, .30) 46%,
        rgba(255, 255, 255, .92) 52%,
        rgba(201, 164, 92, .28) 60%,
        transparent 100%
    ) !important;
    filter: blur(.4px) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 3 !important;
    animation: cbSocialGroupShine 4.2s ease-in-out infinite !important;
}

/* Cada botão ganha um brilho interno bem leve para reforçar o efeito */
.site-header-social a {
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

.site-header-social a::after {
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    border-radius: inherit !important;
    background:
        radial-gradient(circle at 30% 22%, rgba(255,255,255,.78), transparent 34%),
        linear-gradient(135deg, rgba(201,164,92,.14), transparent 58%) !important;
    opacity: .35 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.site-header-social a:hover {
    box-shadow:
        0 10px 24px rgba(7, 27, 58, .08),
        0 0 0 3px rgba(201, 164, 92, .10) !important;
}

.site-header-social a:hover::before {
    display: none !important;
}

.site-header-social a:hover::after {
    opacity: .70 !important;
}

.site-header-social .site-social-icon {
    position: relative !important;
    z-index: 4 !important;
}

/* Mobile: brilho passa pela área das redes dentro do menu aberto */
@media (max-width: 820px) {
    .site-nav.is-open .site-mobile-social-links {
        position: relative !important;
        isolation: isolate !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }

    .site-nav.is-open .site-mobile-social-links::before {
        content: "" !important;
        position: absolute !important;
        top: -8px !important;
        bottom: -8px !important;
        left: -48px !important;
        width: 38px !important;
        background: linear-gradient(
            105deg,
            transparent 0%,
            rgba(201, 164, 92, .00) 20%,
            rgba(201, 164, 92, .24) 42%,
            rgba(255, 255, 255, .88) 52%,
            rgba(201, 164, 92, .20) 62%,
            transparent 100%
        ) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        z-index: 5 !important;
        animation: cbSocialMobileGroupShine 4.8s ease-in-out infinite !important;
    }

    .site-nav.is-open .site-mobile-social-links a {
        position: relative !important;
        overflow: hidden !important;
        isolation: isolate !important;
    }

    .site-nav.is-open .site-mobile-social-links a::after {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        border-radius: inherit !important;
        background: linear-gradient(135deg, rgba(201,164,92,.12), transparent 54%) !important;
        opacity: .42 !important;
        pointer-events: none !important;
        z-index: 1 !important;
    }

    .site-nav.is-open .site-mobile-social-links .site-social-icon,
    .site-nav.is-open .site-mobile-social-links a span {
        position: relative !important;
        z-index: 6 !important;
    }
}

@keyframes cbSocialGroupShine {
    0% {
        left: -44px;
        opacity: 0;
    }

    12% {
        opacity: .95;
    }

    32% {
        left: calc(100% + 14px);
        opacity: 0;
    }

    100% {
        left: calc(100% + 14px);
        opacity: 0;
    }
}

@keyframes cbSocialMobileGroupShine {
    0% {
        left: -48px;
        opacity: 0;
    }

    12% {
        opacity: .88;
    }

    34% {
        left: calc(100% + 18px);
        opacity: 0;
    }

    100% {
        left: calc(100% + 18px);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header-social-links::before,
    .site-nav.is-open .site-mobile-social-links::before {
        display: none !important;
        animation: none !important;
    }
}

/* =========================================================
   PARTE 17 - BRILHO REALMENTE VISÍVEL NAS REDES SOCIAIS
   Agora o efeito aparece de forma clara, sem depender de fundo/contraste.
========================================================= */

/* Desktop: cada botão recebe brilho passando por cima + pulso dourado sutil */
.site-header-social a {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: rgba(255, 255, 255, .88) !important;
    border-color: rgba(190, 155, 88, .42) !important;
    animation: cbSocialSoftPulse 4.8s ease-in-out infinite !important;
}

.site-header-social a:nth-child(2) {
    animation-delay: .35s !important;
}

.site-header-social a:nth-child(3) {
    animation-delay: .70s !important;
}

/* Este é o brilho visível passando sobre o botão */
.site-header-social a::before {
    content: "" !important;
    position: absolute !important;
    top: -45% !important;
    left: -85% !important;
    width: 52% !important;
    height: 190% !important;
    background: linear-gradient(
        115deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0) 22%,
        rgba(216,183,107,.20) 38%,
        rgba(255,255,255,.98) 50%,
        rgba(216,183,107,.42) 61%,
        rgba(255,255,255,0) 78%,
        rgba(255,255,255,0) 100%
    ) !important;
    transform: rotate(18deg) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 20 !important;
    animation: cbSocialButtonShine 3.2s ease-in-out infinite !important;
}

.site-header-social a:nth-child(2)::before {
    animation-delay: .35s !important;
}

.site-header-social a:nth-child(3)::before {
    animation-delay: .70s !important;
}

/* Brilho permanente bem fraco dentro do botão */
.site-header-social a::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border-radius: inherit !important;
    background:
        radial-gradient(circle at 28% 20%, rgba(255,255,255,.95), transparent 30%),
        linear-gradient(145deg, rgba(216,183,107,.18), transparent 58%) !important;
    opacity: .55 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.site-header-social .site-social-icon {
    position: relative !important;
    z-index: 10 !important;
}

.site-header-social a:hover {
    border-color: rgba(201, 164, 92, .95) !important;
    box-shadow:
        0 10px 24px rgba(7, 27, 58, .08),
        0 0 0 4px rgba(201, 164, 92, .16),
        0 0 18px rgba(201, 164, 92, .22) !important;
}

.site-header-social a:hover::before {
    animation: cbSocialButtonShineHover .85s ease-out 1 !important;
    opacity: 1 !important;
}

/* Mobile: efeito visível nos cards de redes dentro do menu */
@media (max-width: 820px) {
    .site-nav.is-open .site-mobile-social-links a {
        position: relative !important;
        isolation: isolate !important;
        overflow: hidden !important;
        background: rgba(255, 255, 255, .82) !important;
        border-color: rgba(201, 164, 92, .28) !important;
        animation: cbSocialMobilePulse 4.8s ease-in-out infinite !important;
    }

    .site-nav.is-open .site-mobile-social-links a:nth-child(2) {
        animation-delay: .35s !important;
    }

    .site-nav.is-open .site-mobile-social-links a:nth-child(3) {
        animation-delay: .70s !important;
    }

    .site-nav.is-open .site-mobile-social-links a::before {
        content: "" !important;
        position: absolute !important;
        top: -30% !important;
        left: -40% !important;
        width: 22% !important;
        height: 160% !important;
        background: linear-gradient(
            110deg,
            rgba(255,255,255,0) 0%,
            rgba(216,183,107,.18) 35%,
            rgba(255,255,255,.92) 50%,
            rgba(216,183,107,.32) 62%,
            rgba(255,255,255,0) 100%
        ) !important;
        transform: rotate(14deg) !important;
        opacity: 0 !important;
        pointer-events: none !important;
        z-index: 20 !important;
        animation: cbSocialMobileShine 3.6s ease-in-out infinite !important;
    }

    .site-nav.is-open .site-mobile-social-links a:nth-child(2)::before {
        animation-delay: .35s !important;
    }

    .site-nav.is-open .site-mobile-social-links a:nth-child(3)::before {
        animation-delay: .70s !important;
    }

    .site-nav.is-open .site-mobile-social-links .site-social-icon,
    .site-nav.is-open .site-mobile-social-links a span {
        position: relative !important;
        z-index: 10 !important;
    }
}

@keyframes cbSocialButtonShine {
    0% {
        left: -85%;
        opacity: 0;
    }

    16% {
        opacity: 1;
    }

    38% {
        left: 132%;
        opacity: 0;
    }

    100% {
        left: 132%;
        opacity: 0;
    }
}

@keyframes cbSocialButtonShineHover {
    0% {
        left: -85%;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    100% {
        left: 132%;
        opacity: 0;
    }
}

@keyframes cbSocialSoftPulse {
    0%, 100% {
        box-shadow: 0 0 0 rgba(201, 164, 92, 0);
    }

    24% {
        box-shadow: 0 0 0 3px rgba(201, 164, 92, .08);
    }

    34% {
        box-shadow: 0 0 14px rgba(201, 164, 92, .18);
    }

    48% {
        box-shadow: 0 0 0 rgba(201, 164, 92, 0);
    }
}

@keyframes cbSocialMobileShine {
    0% {
        left: -40%;
        opacity: 0;
    }

    16% {
        opacity: .95;
    }

    42% {
        left: 120%;
        opacity: 0;
    }

    100% {
        left: 120%;
        opacity: 0;
    }
}

@keyframes cbSocialMobilePulse {
    0%, 100% {
        box-shadow: 0 0 0 rgba(201, 164, 92, 0);
    }

    24% {
        box-shadow: 0 0 0 3px rgba(201, 164, 92, .06);
    }

    34% {
        box-shadow: 0 0 16px rgba(201, 164, 92, .14);
    }

    48% {
        box-shadow: 0 0 0 rgba(201, 164, 92, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header-social a,
    .site-header-social a::before,
    .site-nav.is-open .site-mobile-social-links a,
    .site-nav.is-open .site-mobile-social-links a::before {
        animation: none !important;
    }
}

/* =========================================================
   PARTE 18 - REDES SOCIAIS AZUL + DOURADO
   Remove a dependência do brilho automático e deixa o visual mais premium.
========================================================= */

/* DESKTOP: círculos azul escuro com ícones dourados */
.site-header-social a {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    background: #0B1F3A !important;
    border: 1px solid rgba(201, 164, 92, .48) !important;
    color: #D8B76B !important;
    box-shadow: 0 10px 22px rgba(11, 31, 58, .12) !important;
    animation: none !important;
    overflow: hidden !important;
}

.site-header-social a::before,
.site-header-social a::after,
.site-header-social-links::before {
    display: none !important;
    content: none !important;
    animation: none !important;
}

.site-header-social a:hover {
    background: #D8B76B !important;
    border-color: #D8B76B !important;
    color: #0B1F3A !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 14px 30px rgba(11, 31, 58, .16),
        0 0 0 4px rgba(216, 183, 107, .16) !important;
}

.site-header-social a:active {
    transform: translateY(0) !important;
}

.site-header-social .site-social-icon {
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    background: currentColor !important;
    color: inherit !important;
    z-index: 2 !important;
}

/* Rótulo e separador mais alinhados ao novo visual */
.site-header-social {
    border-left-color: rgba(11, 31, 58, .12) !important;
}

.site-header-social-label {
    color: rgba(11, 31, 58, .54) !important;
}

/* MOBILE: cards elegantes com ícone azul/dourado */
@media (max-width: 820px) {
    .site-nav.is-open .site-mobile-social-links::before {
        display: none !important;
        content: none !important;
        animation: none !important;
    }

    .site-nav.is-open .site-mobile-social-links a {
        background: #0B1F3A !important;
        border-color: rgba(201, 164, 92, .42) !important;
        color: #F3D88B !important;
        box-shadow: 0 10px 24px rgba(11, 31, 58, .12) !important;
        animation: none !important;
        overflow: hidden !important;
    }

    .site-nav.is-open .site-mobile-social-links a::before,
    .site-nav.is-open .site-mobile-social-links a::after {
        display: none !important;
        content: none !important;
        animation: none !important;
    }

    .site-nav.is-open .site-mobile-social-links a:hover,
    .site-nav.is-open .site-mobile-social-links a:focus-visible {
        background: #D8B76B !important;
        border-color: #D8B76B !important;
        color: #0B1F3A !important;
        box-shadow:
            0 14px 30px rgba(11, 31, 58, .15),
            0 0 0 4px rgba(216, 183, 107, .14) !important;
    }

    .site-nav.is-open .site-mobile-social-links .site-social-icon {
        background: currentColor !important;
        color: inherit !important;
    }
}

/* =========================================================
   PARTE 22 - HERO CORRIGIDO COM CSS ÚNICO
   Vídeo de fundo + slogan dinâmico sem CSS separado.
========================================================= */

/*
    Vídeo usado:
    public_html/assets/videos/hero-cerca-branca.mp4

    Mobile:
    usa poster WebP e não carrega vídeo para não pesar.
*/

.site-hero.site-hero-video-mode {
    position: relative !important;
    min-height: clamp(720px, calc(100vh - 64px), 880px) !important;
    display: grid !important;
    align-items: center !important;
    overflow: hidden !important;
    isolation: isolate !important;
    background:
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 44%, #123A6F 100%) !important;
}

/* O vídeo precisa ficar ATRÁS do conteúdo, nunca ocupando espaço no fluxo da página */
.site-hero-video-mode .site-hero-media,
.site-hero-video-mode .site-hero-video,
.site-hero-video-mode .site-hero-overlay {
    position: absolute !important;
    inset: 0 !important;
}

.site-hero-video-mode .site-hero-media {
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, #071B3A, #123A6F),
        url("/assets/img/site-hero-poster.webp") center / cover no-repeat !important;
}

.site-hero-video-mode .site-hero-video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: .58 !important;
    filter: saturate(.86) contrast(1.06) brightness(.78) !important;
}

.site-hero-video-mode .site-hero-overlay {
    z-index: 1 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 18% 26%, rgba(216, 183, 107, .22), transparent 28%),
        linear-gradient(90deg, rgba(7, 27, 58, .94) 0%, rgba(7, 27, 58, .82) 36%, rgba(7, 27, 58, .50) 66%, rgba(7, 27, 58, .42) 100%),
        linear-gradient(180deg, rgba(7, 27, 58, .28), rgba(7, 27, 58, .86)) !important;
}

/* Conteúdo por cima do vídeo */
.site-hero-video-mode .site-hero-grid {
    position: relative !important;
    z-index: 2 !important;
    min-height: inherit !important;
    width: min(1180px, calc(100% - 40px)) !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(380px, 472px) !important;
    align-items: center !important;
    gap: clamp(34px, 5vw, 76px) !important;
    padding: 74px 0 70px !important;
}

.site-hero-copy {
    max-width: 760px !important;
    display: grid !important;
    gap: 22px !important;
}

.site-hero-video-mode .site-eyebrow {
    color: #D8B76B !important;
    text-shadow: 0 10px 26px rgba(0, 0, 0, .28) !important;
}

.site-hero-video-mode .site-eyebrow::before {
    background: #D8B76B !important;
}

.site-hero-copy h1 {
    margin: 0 !important;
    max-width: 820px !important;
    color: #FFFFFF !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    font-size: clamp(42px, 5.4vw, 78px) !important;
    font-weight: 500 !important;
    line-height: 1.03 !important;
    letter-spacing: -.035em !important;
    text-shadow: 0 18px 40px rgba(0, 0, 0, .34) !important;
}

.site-hero-copy h1 span,
.site-hero-copy h1 strong {
    display: block !important;
}

.site-hero-copy h1 strong {
    min-height: 1.08em !important;
    margin-top: 8px !important;
    color: #F3D88B !important;
    font-weight: 500 !important;
    letter-spacing: -.04em !important;
}

.site-hero-copy h1 strong::after {
    content: "" !important;
    display: inline-block !important;
    width: .09em !important;
    height: .82em !important;
    margin-left: .10em !important;
    transform: translateY(.09em) !important;
    background: #D8B76B !important;
    border-radius: 999px !important;
    animation: cbHeroCursor 1s step-end infinite !important;
}

.site-hero-copy h1 strong:not(.is-ready)::after {
    display: none !important;
}

.site-hero-copy p {
    max-width: 620px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .80) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: clamp(16px, 1.6vw, 20px) !important;
    font-weight: 650 !important;
    line-height: 1.65 !important;
    text-shadow: 0 12px 28px rgba(0, 0, 0, .24) !important;
}

.site-hero-mini-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 4px !important;
}

.site-hero-mini-actions a {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    border: 1px solid rgba(255, 255, 255, .22) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .08) !important;
    color: rgba(255, 255, 255, .86) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
    backdrop-filter: blur(12px) !important;
    transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease !important;
}

.site-hero-mini-actions a:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(216, 183, 107, .70) !important;
    background: rgba(216, 183, 107, .14) !important;
    color: #FFFFFF !important;
}

.site-hero-search-panel {
    display: grid !important;
    gap: 16px !important;
}

.site-hero-search-panel .site-search-card {
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .20) !important;
    border-radius: 28px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .28) !important;
    backdrop-filter: blur(18px) !important;
}

.site-search-panel-head {
    padding: 22px 24px 0 !important;
}

.site-search-panel-head span,
.site-search-panel-head strong {
    display: block !important;
}

.site-search-panel-head span {
    color: #C9A45C !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.site-search-panel-head strong {
    margin-top: 5px !important;
    color: #0B1F3A !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    letter-spacing: -.01em !important;
}

.site-hero-search-panel .site-search-tabs {
    padding: 18px 22px 0 !important;
}

.site-hero-search-panel .site-search-tabs button {
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.site-hero-search-panel .site-search-card label span {
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-weight: 900 !important;
}

.site-hero-search-panel .site-search-card input,
.site-hero-search-panel .site-search-card select {
    background: #F7F9FC !important;
    border-color: #D8DEE8 !important;
    color: #17213A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
}

.site-hero-search-panel .site-search-card input:focus,
.site-hero-search-panel .site-search-card select:focus {
    background: #FFFFFF !important;
}

.site-hero-search-panel .site-btn-primary {
    background: #0B1F3A !important;
    color: #FFFFFF !important;
}

.site-hero-search-panel .site-btn-primary:hover {
    background: #06162B !important;
}

.site-hero-search-panel .site-owner-cta {
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 22px !important;
    background: rgba(11, 31, 58, .72) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .22) !important;
    backdrop-filter: blur(18px) !important;
}

.site-hero-search-panel .site-owner-cta strong {
    color: #FFFFFF !important;
}

.site-hero-search-panel .site-owner-cta span {
    color: rgba(255, 255, 255, .72) !important;
}

.site-hero-search-panel .site-owner-cta .site-btn-outline {
    border-color: rgba(216, 183, 107, .72) !important;
    background: rgba(216, 183, 107, .08) !important;
    color: #F3D88B !important;
}

.site-hero-search-panel .site-owner-cta .site-btn-outline:hover {
    background: #D8B76B !important;
    color: #0B1F3A !important;
}

@keyframes cbHeroCursor {
    0%, 48% {
        opacity: 1;
    }

    49%, 100% {
        opacity: 0;
    }
}

@media (max-width: 1080px) {
    .site-hero.site-hero-video-mode {
        min-height: auto !important;
    }

    .site-hero-video-mode .site-hero-grid {
        grid-template-columns: 1fr !important;
        padding: 58px 0 52px !important;
    }

    .site-hero-search-panel {
        max-width: 560px !important;
    }
}

@media (max-width: 820px) {
    .site-hero-video-mode .site-hero-video {
        display: none !important;
    }

    .site-hero-video-mode .site-hero-media {
        background:
            linear-gradient(135deg, #071B3A, #123A6F),
            url("/assets/img/site-hero-poster.webp") center / cover no-repeat !important;
    }

    .site-hero-video-mode .site-hero-grid {
        width: min(100% - 28px, 1180px) !important;
        padding: 42px 0 38px !important;
        gap: 28px !important;
    }

    .site-hero-copy h1 {
        font-size: clamp(34px, 10vw, 48px) !important;
        letter-spacing: -.025em !important;
    }

    .site-hero-copy p {
        font-size: 15px !important;
        line-height: 1.55 !important;
    }

    .site-hero-mini-actions {
        display: none !important;
    }

    .site-hero-search-panel .site-search-row {
        grid-template-columns: 1fr !important;
    }

    .site-hero-search-panel .site-owner-cta {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .site-hero-search-panel .site-owner-cta .site-btn {
        width: 100% !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-hero-copy h1 strong::after {
        animation: none !important;
        opacity: 0 !important;
    }
}

/* =========================================================
   PARTE 24 - REFINO DO HERO: TIPOGRAFIA + TYPEWRITER
   Menos grosseiro, mais premium e mais estável visualmente.
========================================================= */

/* Hero mais editorial, sem título exagerado */
.site-hero-copy {
    max-width: 690px !important;
    gap: 18px !important;
}

.site-hero-copy h1 {
    max-width: 720px !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: clamp(38px, 4.45vw, 64px) !important;
    font-weight: 850 !important;
    line-height: 1.04 !important;
    letter-spacing: -.055em !important;
    text-transform: none !important;
}

/* Primeira linha branca mais limpa */
.site-hero-copy h1 > span {
    color: rgba(255, 255, 255, .94) !important;
}

/* Linha dinâmica menor, mais controlada e com altura fixa para não "pular" */
.site-hero-copy h1 strong {
    width: min(100%, 690px) !important;
    min-height: 2.12em !important;
    max-height: 2.12em !important;
    display: block !important;
    overflow: hidden !important;
    margin-top: 6px !important;
    color: #F3D88B !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: .84em !important;
    font-weight: 850 !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
}

/* Cursor mais fino e menos chamativo */
.site-hero-copy h1 strong::after {
    width: 2px !important;
    height: .78em !important;
    margin-left: .08em !important;
    transform: translateY(.10em) !important;
    background: rgba(243, 216, 139, .82) !important;
}

/* Texto de apoio com mais respiro */
.site-hero-copy p {
    max-width: 580px !important;
    color: rgba(255, 255, 255, .76) !important;
    font-size: clamp(15px, 1.25vw, 18px) !important;
    font-weight: 650 !important;
    line-height: 1.68 !important;
}

/* Overline mais discreto */
.site-hero-video-mode .site-eyebrow {
    font-size: 11px !important;
    letter-spacing: .16em !important;
}

/* Chips menores para não competir com o título */
.site-hero-mini-actions {
    margin-top: 0 !important;
}

.site-hero-mini-actions a {
    min-height: 34px !important;
    padding: 0 13px !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    background: rgba(255, 255, 255, .07) !important;
}

/* Card de busca menos "pesado" */
.site-hero-search-panel .site-search-card {
    border-radius: 24px !important;
}

.site-search-panel-head strong {
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 21px !important;
    font-weight: 850 !important;
    letter-spacing: -.035em !important;
    text-transform: none !important;
}

.site-search-panel-head span {
    font-size: 10px !important;
}

/* Dá um pouco mais de equilíbrio entre texto e card */
.site-hero-video-mode .site-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(370px, 448px) !important;
    gap: clamp(42px, 6vw, 92px) !important;
}

/* Em telas médias, evita que a linha dinâmica fique gigante */
@media (max-width: 1280px) {
    .site-hero-copy h1 {
        font-size: clamp(36px, 4.15vw, 56px) !important;
    }
}

@media (max-width: 820px) {
    .site-hero-copy h1 {
        font-size: clamp(32px, 8.6vw, 44px) !important;
        letter-spacing: -.045em !important;
    }

    .site-hero-copy h1 strong {
        min-height: 2.20em !important;
        max-height: 2.20em !important;
        font-size: .86em !important;
    }

    .site-hero-copy p {
        font-size: 14.5px !important;
        line-height: 1.58 !important;
    }
}

/* =========================================================
   PARTE 25 - HERO: ESPAÇAMENTO, LINHA DINÂMICA E MOBILE
   Corrige quebra estranha do título e reduz o "espação" visual.
========================================================= */

/* Bloco de texto mais controlado */
.site-hero-copy {
    max-width: 720px !important;
    gap: 16px !important;
}

/* Título menor, menos bruto e com largura suficiente para não quebrar "interior" sozinho */
.site-hero-copy h1 {
    max-width: 760px !important;
    font-size: clamp(36px, 3.85vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.052em !important;
}

/* Primeira frase fica como uma linha editorial */
.site-hero-copy h1 .site-hero-title-static {
    display: block !important;
    white-space: nowrap !important;
    color: rgba(255, 255, 255, .95) !important;
}

/* Frase dinâmica com altura menor e mais estável */
.site-hero-copy h1 strong {
    width: min(100%, 760px) !important;
    min-height: 1.18em !important;
    max-height: 1.18em !important;
    margin-top: 8px !important;
    overflow: hidden !important;
    font-size: .82em !important;
    line-height: 1.08 !important;
    letter-spacing: -.042em !important;
}

/* Cursor mais delicado */
.site-hero-copy h1 strong::after {
    width: 2px !important;
    height: .74em !important;
    margin-left: .075em !important;
    transform: translateY(.09em) !important;
}

/* Aproxima o texto de apoio, sem grudar */
.site-hero-copy p {
    margin-top: 4px !important;
    max-width: 590px !important;
    font-size: clamp(15px, 1.18vw, 17px) !important;
    line-height: 1.58 !important;
}

/* Chips ficam mais sutis */
.site-hero-mini-actions {
    margin-top: 2px !important;
}

/* Equilibra melhor o texto e o card no desktop */
.site-hero-video-mode .site-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(370px, 448px) !important;
    align-items: center !important;
}

/* Mobile: evita estouro e deixa leitura limpa */
@media (max-width: 820px) {
    .site-hero-video-mode .site-hero-grid {
        padding: 34px 0 34px !important;
        gap: 22px !important;
    }

    .site-hero-copy {
        max-width: 100% !important;
        gap: 14px !important;
    }

    .site-hero-copy h1 {
        max-width: 100% !important;
        font-size: clamp(30px, 9vw, 40px) !important;
        line-height: 1.04 !important;
        letter-spacing: -.045em !important;
    }

    .site-hero-copy h1 .site-hero-title-static {
        white-space: normal !important;
        max-width: 12ch !important;
    }

    .site-hero-copy h1 strong {
        min-height: 2.18em !important;
        max-height: 2.18em !important;
        width: 100% !important;
        margin-top: 8px !important;
        font-size: .82em !important;
        line-height: 1.08 !important;
    }

    .site-hero-copy p {
        max-width: 100% !important;
        margin-top: 0 !important;
        font-size: 14.5px !important;
        line-height: 1.55 !important;
    }

    .site-hero-search-panel {
        max-width: 100% !important;
    }
}

/* Mobile bem estreito: reduz mais um pouco para não ficar grosseiro */
@media (max-width: 420px) {
    .site-hero-copy h1 {
        font-size: clamp(28px, 8.6vw, 36px) !important;
    }

    .site-hero-copy h1 .site-hero-title-static {
        max-width: 11ch !important;
    }
}

/* =========================================================
   PARTE 26 - HERO MOBILE STACK FIX
   Corrige sobreposição do texto/card no mobile e melhora o comportamento Compra/Alugar.
========================================================= */

/* Desktop: mantém composição aprovada */
.site-hero-video-mode .site-hero-grid > * {
    min-width: 0 !important;
}

.site-hero-search-panel {
    position: relative !important;
    z-index: 3 !important;
}

.site-hero-copy {
    position: relative !important;
    z-index: 2 !important;
}

/* Evita que as abas ou labels vazem quando troca Comprar/Alugar */
.site-hero-search-panel .site-search-tabs button,
.site-hero-search-panel .site-search-card label span,
.site-hero-search-panel .site-search-card input,
.site-hero-search-panel .site-search-card select {
    white-space: normal !important;
}

/* Mobile/tablet pequeno: vira layout vertical real, sem grid sobreposto */
@media (max-width: 820px) {
    .site-hero.site-hero-video-mode {
        min-height: auto !important;
        display: block !important;
        overflow: hidden !important;
    }

    .site-hero-video-mode .site-hero-grid {
        width: min(100% - 28px, 1180px) !important;
        min-height: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 22px !important;
        padding: 30px 0 34px !important;
        margin: 0 auto !important;
    }

    .site-hero-copy {
        order: 1 !important;
        width: 100% !important;
        max-width: none !important;
        display: grid !important;
        gap: 13px !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        transform: none !important;
    }

    .site-hero-search-panel {
        order: 2 !important;
        width: 100% !important;
        max-width: none !important;
        display: grid !important;
        gap: 14px !important;
        padding: 0 !important;
        margin: 0 !important;
        transform: none !important;
    }

    .site-hero-copy h1 {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: clamp(30px, 8.2vw, 40px) !important;
        line-height: 1.05 !important;
        letter-spacing: -.045em !important;
    }

    .site-hero-copy h1 .site-hero-title-static {
        max-width: 100% !important;
        white-space: normal !important;
    }

    .site-hero-copy h1 strong {
        width: 100% !important;
        min-height: 2.20em !important;
        max-height: 2.20em !important;
        margin-top: 7px !important;
        font-size: .82em !important;
        line-height: 1.10 !important;
        overflow: hidden !important;
    }

    .site-hero-copy p {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1.52 !important;
    }

    .site-hero-search-panel .site-search-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 22px !important;
    }

    .site-search-panel-head {
        padding: 20px 22px 0 !important;
    }

    .site-search-panel-head strong {
        font-size: 20px !important;
    }

    .site-hero-search-panel .site-search-tabs {
        padding: 16px 22px 0 !important;
    }

    .site-hero-search-panel .site-search-main,
    .site-hero-search-panel .site-search-row {
        padding: 16px 22px !important;
    }

    .site-hero-search-panel .site-search-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
    }

    .site-hero-search-panel .site-search-card input,
    .site-hero-search-panel .site-search-card select {
        min-height: 46px !important;
        font-size: 15px !important;
    }

    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 44px) !important;
        margin: 20px 22px 22px !important;
    }

    .site-hero-search-panel .site-owner-cta {
        width: 100% !important;
        margin: 0 !important;
        border-radius: 20px !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
        padding: 18px !important;
    }

    .site-hero-search-panel .site-owner-cta .site-btn {
        width: 100% !important;
    }
}

/* Celulares muito estreitos */
@media (max-width: 420px) {
    .site-hero-video-mode .site-hero-grid {
        width: min(100% - 24px, 1180px) !important;
        padding-top: 26px !important;
    }

    .site-hero-copy h1 {
        font-size: clamp(28px, 8vw, 35px) !important;
    }

    .site-hero-copy h1 strong {
        min-height: 2.28em !important;
        max-height: 2.28em !important;
    }

    .site-search-panel-head,
    .site-hero-search-panel .site-search-main,
    .site-hero-search-panel .site-search-row {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 36px) !important;
        margin-left: 18px !important;
        margin-right: 18px !important;
    }
}

/* =========================================================
   PARTE 27 - HERO MOBILE COMPACTO
   Mobile com texto fixo e busca mais objetiva.
========================================================= */

/* Botão existe no HTML, mas só aparece no mobile */
.site-mobile-filter-toggle {
    display: none;
}

/* Desktop não muda o conceito já aprovado */
@media (min-width: 821px) {
    [data-mobile-filter-fields] {
        display: grid !important;
    }
}

/* Mobile: remove sensação de bloco pesado */
@media (max-width: 820px) {
    .site-hero-copy {
        gap: 12px !important;
    }

    .site-hero-copy h1 {
        font-size: clamp(29px, 8.1vw, 38px) !important;
        line-height: 1.05 !important;
        letter-spacing: -.045em !important;
    }

    .site-hero-copy h1 strong {
        min-height: auto !important;
        max-height: none !important;
        margin-top: 5px !important;
        overflow: visible !important;
        font-size: .84em !important;
        line-height: 1.08 !important;
    }

    .site-hero-copy h1 strong::after {
        display: none !important;
    }

    .site-hero-copy p {
        max-width: 96% !important;
        font-size: 13.8px !important;
        line-height: 1.48 !important;
    }

    /* Card mais compacto e menos alto */
    .site-hero-search-panel .site-search-card {
        border-radius: 20px !important;
    }

    .site-search-panel-head {
        padding: 18px 18px 0 !important;
    }

    .site-search-panel-head span {
        font-size: 9.5px !important;
        letter-spacing: .11em !important;
    }

    .site-search-panel-head strong {
        margin-top: 4px !important;
        font-size: 18px !important;
        line-height: 1.15 !important;
    }

    .site-hero-search-panel .site-search-tabs {
        padding: 13px 18px 0 !important;
    }

    .site-hero-search-panel .site-search-tabs button {
        min-height: 38px !important;
        padding: 0 18px !important;
        font-size: 13px !important;
    }

    .site-hero-search-panel .site-search-main {
        padding: 14px 18px !important;
    }

    .site-hero-search-panel .site-search-card label {
        gap: 6px !important;
    }

    .site-hero-search-panel .site-search-card label span {
        font-size: 12px !important;
    }

    .site-hero-search-panel .site-search-card input,
    .site-hero-search-panel .site-search-card select {
        min-height: 44px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
        padding: 0 13px !important;
    }

    /*
        Mobile não precisa mostrar tudo de cara.
        Primeiro foco: cidade/bairro/código + comprar/alugar + buscar.
    */
    .site-mobile-filter-toggle {
        width: calc(100% - 36px) !important;
        min-height: 38px !important;
        margin: 0 18px 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(216, 183, 107, .38) !important;
        border-radius: 999px !important;
        background: rgba(11, 31, 58, .04) !important;
        color: #0B1F3A !important;
        font-family: "DM Sans", Inter, system-ui, sans-serif !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        letter-spacing: .02em !important;
        cursor: pointer !important;
    }

    .site-mobile-filter-toggle.is-open {
        background: rgba(216, 183, 107, .16) !important;
        border-color: rgba(216, 183, 107, .70) !important;
    }

    .site-hero-search-panel [data-mobile-filter-fields] {
        display: none !important;
        padding: 0 18px 14px !important;
        border-bottom: 1px solid #D8DEE8 !important;
    }

    .site-hero-search-panel [data-mobile-filter-fields].is-open {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 36px) !important;
        min-height: 46px !important;
        margin: 0 18px 18px !important;
        border-radius: 14px !important;
        font-size: 14px !important;
    }

    /* CTA proprietário fica mais discreto no mobile para não alongar demais */
    .site-hero-search-panel .site-owner-cta {
        padding: 16px !important;
        gap: 12px !important;
        border-radius: 18px !important;
    }

    .site-hero-search-panel .site-owner-cta strong {
        font-size: 15px !important;
    }

    .site-hero-search-panel .site-owner-cta span {
        font-size: 12.5px !important;
        line-height: 1.35 !important;
    }

    .site-hero-search-panel .site-owner-cta .site-btn {
        min-height: 42px !important;
        font-size: 13px !important;
        border-radius: 13px !important;
    }
}

@media (max-width: 420px) {
    .site-hero-copy h1 {
        font-size: clamp(28px, 7.9vw, 34px) !important;
    }

    .site-search-panel-head {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-hero-search-panel .site-search-tabs,
    .site-hero-search-panel .site-search-main {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-mobile-filter-toggle,
    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
    }

    .site-hero-search-panel [data-mobile-filter-fields] {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* =========================================================
   PARTE 28 - TYPEWRITER DESKTOP FIX
   Desktop volta a digitar. Mobile permanece fixo.
========================================================= */

@media (min-width: 821px) {
    .site-hero-copy h1 strong.is-ready:not(.is-static-mobile)::after {
        display: inline-block !important;
    }
}

@media (max-width: 820px) {
    .site-hero-copy h1 strong.is-static-mobile::after {
        display: none !important;
    }
}

/* =========================================================
   PARTE 29 - FIX TYPEWRITER CORTANDO FINAL DA FRASE
   Evita cortar as últimas letras quando a frase chega ao limite.
========================================================= */

/* Desktop: deixa a frase dinâmica respirar mais e não corta o final */
@media (min-width: 821px) {
    .site-hero-copy {
        max-width: 820px !important;
    }

    .site-hero-copy h1 {
        max-width: 900px !important;
    }

    .site-hero-copy h1 strong {
        width: auto !important;
        max-width: 900px !important;
        min-height: 1.18em !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: .34em !important;
        white-space: nowrap !important;
        font-size: .80em !important;
        line-height: 1.08 !important;
    }

    .site-hero-copy h1 strong::after {
        margin-left: .075em !important;
    }
}

/* Telas intermediárias: reduz um pouco para não estourar próximo do card */
@media (min-width: 821px) and (max-width: 1280px) {
    .site-hero-copy h1 {
        font-size: clamp(34px, 3.65vw, 52px) !important;
    }

    .site-hero-copy h1 strong {
        font-size: .78em !important;
    }
}

/* Mobile continua fixo e pode quebrar linha normalmente */
@media (max-width: 820px) {
    .site-hero-copy h1 strong {
        white-space: normal !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }
}

/* =========================================================
   PARTE 30 - HERO SEM BOTÕES / SEGMENTOS VISUAIS
   Remove excesso de CTAs e troca o overline por indicadores simples.
========================================================= */

.site-hero-video-mode .site-eyebrow {
    display: none !important;
}

.site-hero-segments {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: fit-content !important;
    color: #D8B76B !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-shadow: 0 10px 26px rgba(0, 0, 0, .28) !important;
}

.site-hero-segments i {
    width: 4px !important;
    height: 4px !important;
    display: inline-block !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .72) !important;
    box-shadow: 0 0 0 3px rgba(216, 183, 107, .10) !important;
}

.site-hero-mini-actions {
    display: none !important;
}

.site-hero-copy {
    gap: 18px !important;
}

.site-hero-copy p {
    margin-top: 2px !important;
    max-width: 560px !important;
}

@media (max-width: 820px) {
    .site-hero-segments {
        gap: 8px !important;
        font-size: 10px !important;
        letter-spacing: .11em !important;
        flex-wrap: wrap !important;
    }

    .site-hero-segments i {
        width: 3px !important;
        height: 3px !important;
    }

    .site-hero-copy {
        gap: 12px !important;
    }

    .site-hero-copy p {
        max-width: 100% !important;
    }
}

/* =========================================================
   PARTE 31 - REFINO DOS SEGMENTOS DO HERO
   Compra · Locação · Captação mais discreto e proporcional.
========================================================= */

.site-hero-segments {
    gap: 8px !important;
    color: rgba(216, 183, 107, .86) !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
    letter-spacing: .135em !important;
    opacity: .92 !important;
}

.site-hero-segments i {
    width: 3px !important;
    height: 3px !important;
    background: rgba(216, 183, 107, .48) !important;
    box-shadow: none !important;
}

/* Dá mais hierarquia para o título ser o protagonista */
.site-hero-copy {
    gap: 15px !important;
}

.site-hero-copy h1 {
    margin-top: 2px !important;
}

@media (max-width: 820px) {
    .site-hero-segments {
        gap: 7px !important;
        font-size: 9px !important;
        letter-spacing: .095em !important;
    }

    .site-hero-segments i {
        width: 3px !important;
        height: 3px !important;
    }
}

/* =========================================================
   PARTE 32 - SEGMENTOS DO HERO EQUILIBRADOS
   Nem pequenos demais, nem competindo com o título.
========================================================= */

.site-hero-segments {
    gap: 11px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .145em !important;
    opacity: 1 !important;
    margin-bottom: 2px !important;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .22) !important;
}

.site-hero-segments i {
    width: 4px !important;
    height: 4px !important;
    background: rgba(216, 183, 107, .66) !important;
    box-shadow: 0 0 0 3px rgba(216, 183, 107, .08) !important;
}

/* O título continua protagonista, mas a linha de segmentos volta a ter presença */
.site-hero-copy {
    gap: 16px !important;
}

.site-hero-copy h1 {
    margin-top: 0 !important;
}

/* Ajuste no mobile: visível, mas sem quebrar feio */
@media (max-width: 820px) {
    .site-hero-segments {
        gap: 8px !important;
        font-size: 10px !important;
        letter-spacing: .105em !important;
        line-height: 1.3 !important;
    }

    .site-hero-segments i {
        width: 3px !important;
        height: 3px !important;
        box-shadow: none !important;
    }
}

/* =========================================================
   PARTE 33 - HERO COM OVERLAY AZUL MAIS TRANSPARENTE
   Deixa o vídeo aparecer um pouco mais sem perder leitura.
========================================================= */

/* Vídeo um pouco mais presente */
.site-hero-video-mode .site-hero-video {
    opacity: .68 !important;
    filter: saturate(.92) contrast(1.04) brightness(.84) !important;
}

/* Azul menos fechado na frente do vídeo */
.site-hero-video-mode .site-hero-overlay {
    background:
        radial-gradient(circle at 18% 26%, rgba(216, 183, 107, .18), transparent 28%),
        linear-gradient(90deg, rgba(7, 27, 58, .82) 0%, rgba(7, 27, 58, .68) 36%, rgba(7, 27, 58, .36) 66%, rgba(7, 27, 58, .28) 100%),
        linear-gradient(180deg, rgba(7, 27, 58, .20), rgba(7, 27, 58, .72)) !important;
}

/* No mobile mantém mais escuro para leitura, já que o espaço é menor */
@media (max-width: 820px) {
    .site-hero-video-mode .site-hero-overlay {
        background:
            radial-gradient(circle at 18% 20%, rgba(216, 183, 107, .14), transparent 30%),
            linear-gradient(90deg, rgba(7, 27, 58, .90) 0%, rgba(7, 27, 58, .78) 55%, rgba(7, 27, 58, .70) 100%),
            linear-gradient(180deg, rgba(7, 27, 58, .28), rgba(7, 27, 58, .82)) !important;
    }
}

/* =========================================================
   PARTE 34 - BUSCA INTELIGENTE DO HERO
   Autocomplete + valor corrigido + refinamento visual do filtro.
========================================================= */

.site-hero-search-panel .site-search-card {
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .94) !important;
}

.site-search-panel-head {
    padding: 20px 24px 0 !important;
}

.site-search-panel-head span {
    color: #C9A45C !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .13em !important;
}

.site-search-panel-head strong {
    margin-top: 6px !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: -.035em !important;
}

.site-hero-search-panel .site-search-tabs {
    padding: 16px 22px 0 !important;
}

.site-hero-search-panel .site-search-tabs button {
    min-height: 40px !important;
    padding: 0 18px !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.site-hero-search-panel .site-search-main,
.site-hero-search-panel .site-search-row {
    padding-left: 22px !important;
    padding-right: 22px !important;
}

.site-hero-search-panel .site-search-card label {
    gap: 7px !important;
}

.site-hero-search-panel .site-search-card label span {
    color: #0B1F3A !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.site-hero-search-panel .site-search-card input,
.site-hero-search-panel .site-search-card select {
    min-height: 44px !important;
    border-radius: 14px !important;
    border: 1px solid #D6DFEA !important;
    background: #F8FAFD !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

.site-hero-search-panel .site-search-card input::placeholder {
    color: rgba(11, 31, 58, .45) !important;
    font-weight: 700 !important;
}

.site-hero-search-panel .site-search-card input:focus,
.site-hero-search-panel .site-search-card select:focus {
    border-color: rgba(201, 164, 92, .82) !important;
    background: #FFFFFF !important;
    box-shadow:
        0 0 0 4px rgba(201, 164, 92, .12),
        inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.site-hero-search-panel .site-btn-block {
    min-height: 46px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

.site-autocomplete {
    position: relative !important;
}

.site-autocomplete-panel {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    display: none !important;
    max-height: 292px !important;
    overflow: auto !important;
    z-index: 30 !important;
    padding: 8px !important;
    border: 1px solid rgba(214, 223, 234, .95) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 22px 50px rgba(11, 31, 58, .18) !important;
    backdrop-filter: blur(14px) !important;
}

.site-autocomplete-panel.is-open {
    display: grid !important;
    gap: 5px !important;
}

.site-autocomplete-item {
    width: 100% !important;
    min-height: 52px !important;
    display: grid !important;
    grid-template-columns: 72px 1fr !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 9px 10px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #0B1F3A !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background .16s ease !important;
}

.site-autocomplete-item:hover,
.site-autocomplete-item:focus-visible {
    background: rgba(11, 31, 58, .055) !important;
    outline: none !important;
}

.site-autocomplete-type {
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .18) !important;
    color: #8A6727 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.site-autocomplete-content {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

.site-autocomplete-content strong {
    overflow: hidden !important;
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.site-autocomplete-content small {
    overflow: hidden !important;
    color: rgba(11, 31, 58, .58) !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.site-autocomplete-empty,
.site-autocomplete-loading {
    padding: 14px 12px !important;
    color: rgba(11, 31, 58, .62) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

@media (max-width: 820px) {
    .site-search-panel-head {
        padding: 18px 18px 0 !important;
    }

    .site-search-panel-head strong {
        font-size: 19px !important;
    }

    .site-hero-search-panel .site-search-tabs {
        padding: 14px 18px 0 !important;
    }

    .site-hero-search-panel .site-search-main {
        padding: 14px 18px !important;
    }

    .site-hero-search-panel .site-search-card input,
    .site-hero-search-panel .site-search-card select {
        min-height: 44px !important;
        font-size: 14px !important;
    }

    .site-autocomplete-panel {
        top: calc(100% + 7px) !important;
        max-height: 238px !important;
        border-radius: 14px !important;
        z-index: 50 !important;
    }

    .site-autocomplete-item {
        grid-template-columns: 66px 1fr !important;
        min-height: 50px !important;
        padding: 8px !important;
    }

    .site-autocomplete-type {
        font-size: 9px !important;
    }

    .site-autocomplete-content strong {
        font-size: 12.5px !important;
    }

    .site-autocomplete-content small {
        font-size: 10.5px !important;
    }
}

/* =========================================================
   PARTE 35 - FIX BUSCA: VALOR, SUGESTÕES E LABEL
   Corrige zeros no valor, exibição do autocomplete e label Localização.
========================================================= */

/* O autocomplete não pode ser cortado pelo card */
.site-hero-search-panel,
.site-hero-search-panel .site-search-card,
.site-hero-search-panel .site-search-main,
.site-search-location-field,
.site-autocomplete {
    overflow: visible !important;
}

.site-hero-search-panel .site-search-card {
    position: relative !important;
    z-index: 2 !important;
}

/* "Onde?" virou Localização e fica menos estranho visualmente */
.site-search-location-field > span {
    margin-bottom: 1px !important;
    color: rgba(11, 31, 58, .76) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

/* Autocomplete acima das divisórias do card */
.site-autocomplete-panel {
    z-index: 999 !important;
}

/* Campo de valor com fonte mais estável para número */
.site-hero-search-panel [data-money-mask] {
    font-variant-numeric: tabular-nums !important;
    letter-spacing: .01em !important;
}

/* Resultado vazio um pouco mais claro */
.site-autocomplete-empty {
    color: rgba(11, 31, 58, .58) !important;
    background: rgba(11, 31, 58, .035) !important;
    border-radius: 12px !important;
}

/* Mobile também precisa deixar a lista sair do bloco sem ser cortada */
@media (max-width: 820px) {
    .site-hero-search-panel,
    .site-hero-search-panel .site-search-card,
    .site-hero-search-panel .site-search-main,
    .site-search-location-field,
    .site-autocomplete {
        overflow: visible !important;
    }

    .site-autocomplete-panel {
        z-index: 999 !important;
    }
}

/* =========================================================
   PARTE 38 - AUTOCOMPLETE UX
   Sugestões mais limpas, orientadas e sem atrapalhar cliques.
========================================================= */

/* Ajuda abaixo do campo */
.site-search-helper {
    display: none !important;
    margin-top: 7px !important;
    color: rgba(11, 31, 58, .58) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.site-search-helper.is-visible {
    display: block !important;
}

.site-search-helper.is-success {
    color: #2F684E !important;
}

.site-search-helper.is-muted {
    color: rgba(11, 31, 58, .56) !important;
}

/* Lista mais enxuta */
.site-autocomplete-panel {
    max-height: 248px !important;
    padding: 7px !important;
    border-radius: 15px !important;
}

.site-autocomplete-item {
    min-height: 48px !important;
    grid-template-columns: 64px 1fr !important;
    gap: 9px !important;
    padding: 8px 9px !important;
}

.site-autocomplete-type {
    min-height: 22px !important;
    padding: 0 7px !important;
    font-size: 9px !important;
}

.site-autocomplete-content strong {
    font-size: 12.5px !important;
}

.site-autocomplete-content small {
    font-size: 10.8px !important;
}

/* Ação final "Buscar por..." */
.site-autocomplete-item.is-submit {
    margin-top: 4px !important;
    border-top: 1px solid rgba(216, 223, 234, .85) !important;
    border-radius: 12px !important;
    background: rgba(11, 31, 58, .035) !important;
}

.site-autocomplete-item.is-submit .site-autocomplete-type {
    background: rgba(11, 31, 58, .10) !important;
    color: #0B1F3A !important;
}

.site-autocomplete-item.is-submit:hover {
    background: rgba(216, 183, 107, .14) !important;
}

/* Estado vazio com orientação clara */
.site-autocomplete-empty {
    display: grid !important;
    gap: 8px !important;
    padding: 13px !important;
    background: rgba(11, 31, 58, .035) !important;
    border-radius: 13px !important;
}

.site-autocomplete-empty strong {
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.site-autocomplete-empty span {
    color: rgba(11, 31, 58, .62) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.site-autocomplete-submit {
    width: fit-content !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border: 1px solid rgba(216, 183, 107, .60) !important;
    border-radius: 999px !important;
    background: #0B1F3A !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.site-autocomplete-submit:hover {
    background: #D8B76B !important;
    color: #0B1F3A !important;
}

/* Mobile: mantém compacto */
@media (max-width: 820px) {
    .site-autocomplete-panel {
        max-height: 222px !important;
    }

    .site-autocomplete-item {
        grid-template-columns: 60px 1fr !important;
        min-height: 46px !important;
    }

    .site-search-helper {
        font-size: 10.5px !important;
    }
}

/* =========================================================
   PARTE 39 - AUTOCOMPLETE SELEÇÃO LIMPA
   Lista menor, seleção clara e sem item "buscar" poluindo.
========================================================= */

/* Remove visual de ação final antigo se estiver em cache */
.site-autocomplete-item.is-submit {
    display: none !important;
}

/* A lista agora é de seleção, não de resultado final */
.site-autocomplete-panel {
    max-height: 218px !important;
    padding: 7px !important;
}

.site-autocomplete-item {
    min-height: 46px !important;
    grid-template-columns: 62px 1fr !important;
    padding: 8px 9px !important;
    border-radius: 12px !important;
}

.site-autocomplete-item:hover,
.site-autocomplete-item:focus-visible {
    background: rgba(216, 183, 107, .13) !important;
}

.site-autocomplete-type {
    min-height: 22px !important;
    font-size: 9px !important;
}

.site-autocomplete-content strong {
    font-size: 12.5px !important;
}

.site-autocomplete-content small {
    font-size: 10.5px !important;
}

/* Ajuda depois da seleção */
.site-search-helper {
    margin-top: 7px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.site-search-helper.is-success {
    color: #2F684E !important;
}

.site-search-helper.is-muted {
    color: rgba(11, 31, 58, .56) !important;
}

/* Empty state bem orientado */
.site-autocomplete-empty {
    display: grid !important;
    gap: 8px !important;
}

.site-autocomplete-submit {
    width: fit-content !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border: 1px solid rgba(216, 183, 107, .60) !important;
    border-radius: 999px !important;
    background: #0B1F3A !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.site-autocomplete-submit:hover {
    background: #D8B76B !important;
    color: #0B1F3A !important;
}

@media (max-width: 820px) {
    .site-autocomplete-panel {
        max-height: 210px !important;
    }

    .site-autocomplete-item {
        grid-template-columns: 58px 1fr !important;
        min-height: 44px !important;
    }
}

/* =========================================================
   PARTE 41 - BUSCA SEM SUGESTÕES
   Campo Localização fica livre; resultado será tratado na página de busca.
========================================================= */

/* Garante que nenhuma sugestão antiga apareça por cache/HTML residual */
.site-autocomplete,
.site-autocomplete-panel,
.site-autocomplete-empty,
.site-autocomplete-loading,
.site-autocomplete-item,
.site-search-helper {
    display: none !important;
}

/* Campo livre mais limpo */
.site-search-location-field > span {
    margin-bottom: 1px !important;
    color: rgba(11, 31, 58, .76) !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

.site-hero-search-panel .site-search-location-field input {
    width: 100% !important;
}

/* Como não existe dropdown, o card pode voltar a se comportar como bloco normal */
.site-hero-search-panel .site-search-card {
    overflow: hidden !important;
}

/* Mantém o valor com fonte estável */
.site-hero-search-panel [data-money-mask] {
    font-variant-numeric: tabular-nums !important;
    letter-spacing: .01em !important;
}

/* =========================================================
   PARTE 42 - HERO BUSCA COM ÍCONES + CTA MELHORADO
   Filtro mais bonito, funcional e alinhado à proposta do site.
========================================================= */

/* Segmentos do hero sem o termo "captação" */
.site-hero-segments span {
    white-space: nowrap !important;
}

/* Card de busca mais harmônico */
.site-hero-search-panel .site-search-card {
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, .24) !important;
}

.site-search-panel-head {
    padding: 20px 24px 2px !important;
}

.site-search-panel-head span {
    font-size: 10px !important;
    letter-spacing: .12em !important;
}

.site-search-panel-head strong {
    margin-top: 6px !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
}

/* Abas mais limpas */
.site-hero-search-panel .site-search-tabs {
    padding: 14px 24px 0 !important;
}

.site-hero-search-panel .site-search-tabs button {
    min-height: 38px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

/* Área dos campos */
.site-hero-search-panel .site-search-main,
.site-hero-search-panel .site-search-row {
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.site-hero-search-panel .site-search-main {
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

.site-hero-search-panel .site-search-row {
    gap: 12px !important;
    padding-top: 17px !important;
    padding-bottom: 17px !important;
}

/* Novo field shell com ícones */
.site-search-field {
    min-width: 0 !important;
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 14px !important;
    border: 1px solid #D6DFEA !important;
    border-radius: 16px !important;
    background: #F8FAFD !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        0 10px 24px rgba(11,31,58,.035) !important;
    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        transform .18s ease !important;
}

.site-search-field:hover {
    border-color: rgba(201, 164, 92, .48) !important;
    background: #FFFFFF !important;
}

.site-search-field:focus-within {
    border-color: rgba(201, 164, 92, .92) !important;
    background: #FFFFFF !important;
    box-shadow:
        0 0 0 4px rgba(201, 164, 92, .13),
        0 16px 32px rgba(11,31,58,.08) !important;
}

.site-search-field-icon {
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    background: rgba(216, 183, 107, .15) !important;
    color: #C9A45C !important;
}

.site-search-field-icon svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

.site-search-field-body {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
}

.site-search-field-title {
    display: block !important;
    color: rgba(11, 31, 58, .66) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .045em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Neutraliza o estilo antigo dentro do shell */
.site-hero-search-panel .site-search-card .site-search-field input,
.site-hero-search-panel .site-search-card .site-search-field select {
    width: 100% !important;
    min-height: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    outline: none !important;
}

.site-hero-search-panel .site-search-card .site-search-field input::placeholder {
    color: rgba(11, 31, 58, .44) !important;
    font-weight: 750 !important;
}

.site-hero-search-panel .site-search-card .site-search-field select {
    cursor: pointer !important;
}

.site-search-field-location {
    grid-template-columns: 42px minmax(0, 1fr) !important;
}

/* Botão de busca proporcional aos campos */
.site-hero-search-panel .site-btn-block {
    min-height: 48px !important;
    margin-top: 1px !important;
    border-radius: 15px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    box-shadow: 0 18px 36px rgba(11,31,58,.18) !important;
}

/* CTA do proprietário: sem "captação", mais comercial e alinhado */
.site-hero-search-panel .site-owner-cta {
    min-height: 92px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(216, 183, 107, .34) !important;
    border-radius: 22px !important;
    background:
        linear-gradient(135deg, rgba(11,31,58,.92), rgba(16,48,88,.84)) !important;
    box-shadow: 0 22px 60px rgba(0,0,0,.18) !important;
}

.site-hero-search-panel .site-owner-cta strong {
    display: block !important;
    margin-bottom: 4px !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    line-height: 1.2 !important;
}

.site-hero-search-panel .site-owner-cta span {
    max-width: 315px !important;
    display: block !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 12.2px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.site-hero-search-panel .site-owner-cta .site-btn-outline {
    min-width: 160px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-color: rgba(216, 183, 107, .88) !important;
    background: rgba(216, 183, 107, .08) !important;
    color: #F3D88B !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

.site-hero-search-panel .site-owner-cta .site-btn-outline:hover {
    background: #D8B76B !important;
    color: #0B1F3A !important;
}

/* Mobile: mantém rápido, mas com o mesmo visual */
@media (max-width: 820px) {
    .site-search-panel-head {
        padding: 18px 18px 0 !important;
    }

    .site-search-panel-head strong {
        font-size: 19px !important;
    }

    .site-hero-search-panel .site-search-tabs {
        padding: 13px 18px 0 !important;
    }

    .site-hero-search-panel .site-search-main,
    .site-hero-search-panel .site-search-row {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .site-hero-search-panel .site-search-main {
        padding-top: 15px !important;
        padding-bottom: 15px !important;
    }

    .site-hero-search-panel .site-search-row {
        gap: 11px !important;
        padding-top: 0 !important;
        padding-bottom: 14px !important;
    }

    .site-search-field {
        min-height: 56px !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 9px 12px !important;
        border-radius: 15px !important;
    }

    .site-search-field-icon {
        width: 34px !important;
        height: 34px !important;
        border-radius: 13px !important;
    }

    .site-search-field-icon svg {
        width: 19px !important;
        height: 19px !important;
    }

    .site-hero-search-panel .site-search-card .site-search-field input,
    .site-hero-search-panel .site-search-card .site-search-field select {
        font-size: 14px !important;
    }

    .site-hero-search-panel .site-owner-cta {
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 17px !important;
        border-radius: 20px !important;
    }

    .site-hero-search-panel .site-owner-cta span {
        max-width: none !important;
    }

    .site-hero-search-panel .site-owner-cta .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 420px) {
    .site-hero-search-panel .site-search-main,
    .site-hero-search-panel .site-search-row {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-search-field {
        min-height: 54px !important;
    }
}

/* =========================================================
   PARTE 43 - REFINO VISUAL DO FILTRO DO HERO
   Corrige distribuição dos campos com ícones e deixa o card menos "bugado".
========================================================= */

/*
    Nesta etapa o layout deixa de parecer "cards dentro de card".
    Os campos ficam mais integrados, com ícone discreto e leitura melhor.
*/

.site-hero-search-panel .site-search-card {
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    overflow: hidden !important;
}

/* Cabeçalho mais compacto */
.site-search-panel-head {
    padding: 20px 24px 0 !important;
}

.site-search-panel-head span {
    color: #C9A45C !important;
    font-size: 9.5px !important;
    font-weight: 950 !important;
    letter-spacing: .135em !important;
}

.site-search-panel-head strong {
    margin-top: 6px !important;
    color: #0B1F3A !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
}

/* Abas sem exagero */
.site-hero-search-panel .site-search-tabs {
    padding: 14px 24px 0 !important;
    gap: 20px !important;
}

.site-hero-search-panel .site-search-tabs button {
    min-height: 38px !important;
    padding: 0 2px !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

/* Distribuição principal */
.site-hero-search-panel .site-search-main {
    padding: 16px 24px 16px !important;
}

.site-hero-search-panel .site-search-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 16px 24px !important;
}

/* Campo base: menor, mais elegante e sem cara de bug */
.site-search-field {
    min-width: 0 !important;
    min-height: 56px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 13px !important;
    border: 1px solid #D8E1EC !important;
    border-radius: 16px !important;
    background:
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.site-search-field:hover {
    border-color: rgba(201, 164, 92, .45) !important;
    background: #FFFFFF !important;
}

.site-search-field:focus-within {
    border-color: rgba(201, 164, 92, .88) !important;
    background: #FFFFFF !important;
    box-shadow:
        0 0 0 3px rgba(201, 164, 92, .12),
        inset 0 1px 0 rgba(255,255,255,.95) !important;
}

/* Ícone menor e melhor alinhado */
.site-search-field-icon {
    width: 32px !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background: rgba(216, 183, 107, .13) !important;
    color: #0B1F3A !important;
}

.site-search-field-icon svg {
    width: 18px !important;
    height: 18px !important;
}

/* Conteúdo do campo */
.site-search-field-body {
    min-width: 0 !important;
    display: grid !important;
    gap: 4px !important;
}

.site-search-field-title {
    color: rgba(11, 31, 58, .68) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Inputs/selects dentro do novo campo */
.site-hero-search-panel .site-search-card .site-search-field input,
.site-hero-search-panel .site-search-card .site-search-field select {
    width: 100% !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    outline: none !important;
}

.site-hero-search-panel .site-search-card .site-search-field input::placeholder {
    color: rgba(11, 31, 58, .46) !important;
    font-weight: 750 !important;
}

/* Select precisa respirar para a seta não comer texto */
.site-hero-search-panel .site-search-card .site-search-field select {
    padding-right: 20px !important;
    appearance: auto !important;
    cursor: pointer !important;
}

/* Localização pode ser mais larga e com presença */
.site-search-field-location {
    min-height: 58px !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
}

.site-search-field-location .site-search-field-icon {
    width: 34px !important;
    height: 34px !important;
    color: #0B1F3A !important;
}

/* Valor não deve parecer destacado/selecionado quando não está em foco */
.site-search-field:has([data-money-mask]) {
    border-color: #D8E1EC !important;
}

.site-search-field:has([data-money-mask]):focus-within {
    border-color: rgba(201, 164, 92, .88) !important;
}

/* Botão alinhado com largura dos campos */
.site-hero-search-panel .site-btn-block {
    width: calc(100% - 48px) !important;
    min-height: 48px !important;
    margin: 0 24px 22px !important;
    border-radius: 15px !important;
    font-size: 14px !important;
    font-weight: 950 !important;
}

/* CTA abaixo: menos pesado e mais alinhado */
.site-hero-search-panel .site-owner-cta {
    min-height: 86px !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    padding: 17px 18px !important;
    border-radius: 21px !important;
}

.site-hero-search-panel .site-owner-cta strong {
    font-size: 15px !important;
}

.site-hero-search-panel .site-owner-cta span {
    max-width: 330px !important;
    font-size: 12px !important;
    line-height: 1.36 !important;
}

.site-hero-search-panel .site-owner-cta .site-btn-outline {
    min-width: 148px !important;
    min-height: 40px !important;
    border-radius: 14px !important;
}

/* Mobile: mesmo conceito, sem ficar alto demais */
@media (max-width: 820px) {
    .site-search-panel-head {
        padding: 18px 18px 0 !important;
    }

    .site-search-panel-head strong {
        font-size: 19px !important;
    }

    .site-hero-search-panel .site-search-tabs {
        padding: 13px 18px 0 !important;
        gap: 20px !important;
    }

    .site-hero-search-panel .site-search-main {
        padding: 15px 18px !important;
    }

    .site-hero-search-panel .site-search-row {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
        padding: 0 18px 15px !important;
    }

    .site-search-field,
    .site-search-field-location {
        min-height: 54px !important;
        grid-template-columns: 34px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 9px 12px !important;
        border-radius: 15px !important;
    }

    .site-search-field-icon,
    .site-search-field-location .site-search-field-icon {
        width: 32px !important;
        height: 32px !important;
        border-radius: 12px !important;
    }

    .site-search-field-icon svg {
        width: 18px !important;
        height: 18px !important;
    }

    .site-hero-search-panel .site-search-card .site-search-field input,
    .site-hero-search-panel .site-search-card .site-search-field select {
        font-size: 13.5px !important;
    }

    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 36px) !important;
        margin: 0 18px 18px !important;
    }

    .site-hero-search-panel .site-owner-cta {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 16px !important;
    }

    .site-hero-search-panel .site-owner-cta span {
        max-width: none !important;
    }

    .site-hero-search-panel .site-owner-cta .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

@media (max-width: 420px) {
    .site-hero-search-panel .site-search-main,
    .site-hero-search-panel .site-search-row {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
}

/* =========================================================
   PARTE 49 - FILTRO HERO EQUILIBRADO + DROPDOWN CUSTOM
   Corrige excesso de largura da Parte 47 e mantém o layout mais próximo do anterior.
========================================================= */

/*
    Ajuste desta etapa:
    - A caixa total volta a ficar mais enxuta.
    - O filtro não fica colado no texto do hero.
    - Tipo de imóvel ganha mais espaço que Valor.
    - Valor não precisa ter o mesmo tamanho do Tipo.
    - Mobile mostra todos os filtros, sem "Mais filtros".
    - Dropdown do Tipo fica customizado e mais bonito.
*/

/* =========================
   HERO / POSICIONAMENTO
========================= */

@media (min-width: 981px) {
    .site-hero-video-mode .site-hero-grid,
    .site-hero-grid {
        grid-template-columns: minmax(460px, 1fr) minmax(430px, 468px) !important;
        gap: clamp(56px, 6vw, 92px) !important;
    }

    .site-hero-search-panel {
        width: min(468px, 100%) !important;
        max-width: 468px !important;
        justify-self: end !important;
    }
}

.site-hero-search-panel .site-search-card {
    width: 100% !important;
    border-radius: 24px !important;
    background: rgba(255, 255, 255, .96) !important;
    border: 1px solid rgba(216, 225, 236, .96) !important;
    overflow: visible !important;
    box-shadow: 0 26px 70px rgba(0, 0, 0, .20) !important;
}

/* =========================
   CABEÇALHO
========================= */

.site-search-panel-head {
    padding: 20px 24px 7px !important;
    border-radius: 24px 24px 0 0 !important;
    overflow: hidden !important;
}

.site-search-panel-head span {
    color: #C9A45C !important;
    font-size: 9.5px !important;
    font-weight: 950 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
}

.site-search-panel-head strong {
    max-width: 100% !important;
    display: block !important;
    margin-top: 6px !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 20px !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
    line-height: 1.12 !important;
}

/* =========================
   ABAS
========================= */

.site-hero-search-panel .site-search-tabs {
    display: flex !important;
    align-items: flex-end !important;
    gap: 10px !important;
    padding: 8px 24px 0 !important;
    border-bottom: 1px solid #D8E1EC !important;
}

.site-hero-search-panel .site-search-tabs button {
    position: relative !important;
    width: 86px !important;
    min-width: 86px !important;
    height: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(11, 31, 58, .58) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
}

.site-hero-search-panel .site-search-tabs button:hover,
.site-hero-search-panel .site-search-tabs button.is-active {
    color: #0B1F3A !important;
}

.site-hero-search-panel .site-search-tabs button::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -1px !important;
    width: 40px !important;
    height: 3px !important;
    border-radius: 999px !important;
    background: transparent !important;
    transform: translateX(-50%) !important;
}

.site-hero-search-panel .site-search-tabs button.is-active::after {
    background: #C9A45C !important;
}

.site-hero-search-panel .site-search-tabs button:focus {
    outline: none !important;
    box-shadow: none !important;
}

.site-hero-search-panel .site-search-tabs button:focus-visible {
    border-radius: 10px !important;
    box-shadow: 0 0 0 3px rgba(201, 164, 92, .18) !important;
}

/* =========================
   REMOVE MAIS FILTROS
========================= */

.site-mobile-filter-toggle {
    display: none !important;
}

[data-mobile-filter-fields] {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

/* =========================
   CAMPOS DO FILTRO
========================= */

.site-hero-search-panel .site-search-main {
    padding: 0 !important;
    border-bottom: 1px solid #D8E1EC !important;
    overflow: visible !important;
}

.site-hero-search-panel .site-search-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.34fr) minmax(138px, .78fr) !important;
    gap: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #D8E1EC !important;
    overflow: visible !important;
}

.site-search-field,
.site-search-field-location {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 66px !important;
    display: grid !important;
    grid-template-columns: 31px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 13px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: background .16s ease !important;
    overflow: visible !important;
}

.site-search-field:hover,
.site-search-field-location:hover {
    background: rgba(11, 31, 58, .018) !important;
}

.site-search-field:focus-within,
.site-search-field-location:focus-within {
    background: rgba(216, 183, 107, .055) !important;
    box-shadow: none !important;
}

.site-hero-search-panel .site-search-row .site-search-field + .site-search-field {
    border-left: 1px solid #D8E1EC !important;
}

.site-search-field-icon,
.site-search-field-location .site-search-field-icon {
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .14) !important;
    color: #0B1F3A !important;
}

.site-search-field-icon svg {
    width: 17px !important;
    height: 17px !important;
}

.site-search-field-body {
    min-width: 0 !important;
    display: grid !important;
    gap: 4px !important;
    overflow: visible !important;
}

.site-search-field-title {
    max-width: 100% !important;
    display: block !important;
    overflow: hidden !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .03em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.site-hero-search-panel .site-search-card .site-search-field input {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 23px !important;
    min-height: 23px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    color: rgba(11, 31, 58, .72) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 23px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.site-hero-search-panel .site-search-card .site-search-field input::placeholder {
    color: rgba(11, 31, 58, .46) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

/* Select nativo oculto, usado só para enviar o form */
.site-hero-search-panel .site-search-card .site-search-field select[data-site-native-select] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================
   DROPDOWN TIPO DE IMÓVEL
========================= */

.site-custom-select {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
}

.site-custom-select-trigger {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 23px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 18px !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 23px !important;
    text-align: left !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
}

.site-custom-select-trigger span {
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.site-custom-select-trigger svg {
    width: 18px !important;
    height: 18px !important;
    color: #0B1F3A !important;
    transition: transform .16s ease !important;
}

.site-custom-select.is-open .site-custom-select-trigger svg {
    transform: rotate(180deg) !important;
}

.site-custom-select-menu {
    position: absolute !important;
    left: -43px !important;
    top: calc(100% + 11px) !important;
    display: none !important;
    width: 244px !important;
    max-width: calc(100vw - 48px) !important;
    padding: 8px !important;
    border: 1px solid rgba(216, 225, 236, .96) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 22px 50px rgba(11, 31, 58, .18) !important;
    z-index: 9999 !important;
    backdrop-filter: blur(14px) !important;
}

.site-custom-select.is-open .site-custom-select-menu {
    display: grid !important;
    gap: 4px !important;
}

.site-custom-select-menu button {
    width: 100% !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 0 12px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    text-align: left !important;
    cursor: pointer !important;
}

.site-custom-select-menu button:hover,
.site-custom-select-menu button:focus-visible {
    background: rgba(216, 183, 107, .14) !important;
    outline: none !important;
}

.site-custom-select-menu button.is-selected {
    background: rgba(11, 31, 58, .06) !important;
}

.site-custom-select-menu button.is-selected::after {
    content: "✓" !important;
    color: #C9A45C !important;
    font-weight: 950 !important;
}

/* =========================
   BOTÃO
========================= */

.site-hero-search-panel .site-btn-block {
    width: calc(100% - 48px) !important;
    min-height: 48px !important;
    margin: 20px 24px 22px !important;
    border-radius: 13px !important;
    background: #0B1F3A !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    box-shadow: 0 16px 32px rgba(11, 31, 58, .16) !important;
}

.site-hero-search-panel .site-btn-block:hover {
    background: #123A6F !important;
}

/* =========================
   CTA ANUNCIANTE
========================= */

.site-hero-search-panel .site-owner-cta {
    min-height: 86px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 17px 18px !important;
    border: 1px solid rgba(216, 183, 107, .34) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, rgba(11,31,58,.92), rgba(16,48,88,.84)) !important;
    box-shadow: 0 20px 54px rgba(0,0,0,.16) !important;
}

.site-hero-search-panel .site-owner-cta strong {
    display: block !important;
    margin-bottom: 4px !important;
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
}

.site-hero-search-panel .site-owner-cta span {
    max-width: 330px !important;
    display: block !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.36 !important;
}

.site-hero-search-panel .site-owner-cta .site-btn-outline {
    min-width: 146px !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border-color: rgba(216, 183, 107, .86) !important;
    border-radius: 14px !important;
    background: rgba(216, 183, 107, .08) !important;
    color: #F3D88B !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
}

/* =========================
   RESPONSIVO
========================= */

/* Desktop médio: empilha só quando necessário, para não cortar */
@media (max-width: 1060px) and (min-width: 821px) {
    .site-hero-search-panel .site-search-row {
        grid-template-columns: 1fr !important;
    }

    .site-hero-search-panel .site-search-row .site-search-field + .site-search-field {
        border-left: 0 !important;
        border-top: 1px solid #D8E1EC !important;
    }

    .site-custom-select-menu {
        left: 0 !important;
    }
}

/* Mobile: filtro completo sem aumentar demais o card */
@media (max-width: 820px) {
    .site-search-panel-head {
        padding: 19px 20px 6px !important;
    }

    .site-search-panel-head strong {
        font-size: 20px !important;
        line-height: 1.16 !important;
    }

    .site-hero-search-panel .site-search-tabs {
        gap: 8px !important;
        padding: 8px 20px 0 !important;
    }

    .site-hero-search-panel .site-search-tabs button {
        width: 82px !important;
        min-width: 82px !important;
        height: 44px !important;
        min-height: 44px !important;
        font-size: 13px !important;
    }

    .site-hero-search-panel .site-search-tabs button::after,
    .site-hero-search-panel .site-search-tabs button.is-active::after {
        width: 40px !important;
    }

    .site-hero-search-panel .site-search-row {
        grid-template-columns: 1fr !important;
    }

    .site-hero-search-panel .site-search-row .site-search-field + .site-search-field {
        border-left: 0 !important;
        border-top: 1px solid #D8E1EC !important;
    }

    .site-search-field,
    .site-search-field-location {
        min-height: 62px !important;
        grid-template-columns: 31px minmax(0, 1fr) !important;
        gap: 11px !important;
        padding: 12px 20px !important;
    }

    .site-custom-select-menu {
        left: -42px !important;
        width: 250px !important;
        max-width: calc(100vw - 70px) !important;
    }

    .site-hero-search-panel .site-btn-block {
        width: calc(100% - 40px) !important;
        margin: 19px 20px 21px !important;
    }

    .site-hero-search-panel .site-owner-cta {
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 17px !important;
    }

    .site-hero-search-panel .site-owner-cta .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   PARTE 50 - AJUSTE FINO PROPORÇÃO TIPO / VALOR
   Tipo estava grande demais e Valor pequeno demais.
========================================================= */

/*
    Ajuste:
    - Antes o Tipo estava ocupando espaço demais.
    - Valor ficou apertado.
    - Agora a divisão fica mais equilibrada: Tipo um pouco maior, Valor com respiro real.
*/

@media (min-width: 1061px) {
    .site-hero-search-panel .site-search-row {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
    }

    .site-search-field,
    .site-search-field-location {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }

    .site-custom-select-menu {
        width: 236px !important;
    }
}

/* Em telas intermediárias mantém empilhado para não voltar a cortar texto */
@media (max-width: 1060px) and (min-width: 821px) {
    .site-hero-search-panel .site-search-row {
        grid-template-columns: 1fr !important;
    }
}

/* Mobile não muda a proporção, continua empilhado */
@media (max-width: 820px) {
    .site-hero-search-panel .site-search-row {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   PARTE 51 - HERO ALTURA EM TELAS 2K / TELAS ALTAS
   Evita aparecer pedaço do módulo de baixo em notebooks/telas com viewport alto.
========================================================= */

/*
    Problema:
    O hero estava limitado por um clamp com teto aproximado de 880px.
    Em Full HD com viewport menor ficava ok.
    Em tela 2K/viewport alto, sobrava altura e começava a aparecer o próximo módulo.

    Solução:
    - Em desktop, o hero passa a ocupar no mínimo a altura útil da tela.
    - Mantém um mínimo seguro para telas menores.
    - Em telas altas, remove o teto visual de 880px.
    - Mobile/tablet continuam com altura automática para não criar rolagem artificial.
*/

@media (min-width: 981px) {
    .site-hero.site-hero-video-mode {
        min-height: max(720px, calc(100svh - 72px)) !important;
    }

    .site-hero-video-mode .site-hero-grid {
        min-height: inherit !important;
        align-items: center !important;
    }
}

/* Fallback para navegadores que não entendem svh */
@media (min-width: 981px) {
    @supports not (height: 100svh) {
        .site-hero.site-hero-video-mode {
            min-height: max(720px, calc(100vh - 72px)) !important;
        }
    }
}

/* Telas realmente altas: dá um respiro maior sem exagerar no conteúdo */
@media (min-width: 981px) and (min-height: 1050px) {
    .site-hero.site-hero-video-mode {
        min-height: calc(100svh - 72px) !important;
    }

    .site-hero-video-mode .site-hero-grid {
        padding-top: clamp(74px, 8vh, 112px) !important;
        padding-bottom: clamp(70px, 8vh, 112px) !important;
    }
}

/* Mobile/tablet: mantém comportamento anterior, sem forçar altura de tela */
@media (max-width: 980px) {
    .site-hero.site-hero-video-mode {
        min-height: auto !important;
    }
}

/* =========================================================
   PARTE 52 - HERO ALTURA FULL HD / 2K BALANCE
   Corrige a faixa branca no Full HD sem voltar o problema da tela 2K.
========================================================= */

/*
    A Parte 51 resolveu o 2K, mas subtraiu 72px da viewport.
    O header real do site está mais próximo de 64px.
    Resultado: no Full HD sobrou uma faixa branca embaixo.

    Ajuste:
    - Desktop usa 64px como altura útil do header.
    - Adiciona 2px de segurança para eliminar fresta por arredondamento.
    - Telas altas continuam ocupando a viewport.
    - Mobile/tablet continuam com altura automática.
*/

@media (min-width: 981px) {
    .site-hero.site-hero-video-mode {
        min-height: max(720px, calc(100svh - 64px + 2px)) !important;
    }

    .site-hero-video-mode .site-hero-grid {
        min-height: inherit !important;
        align-items: center !important;
    }
}

@media (min-width: 981px) {
    @supports not (height: 100svh) {
        .site-hero.site-hero-video-mode {
            min-height: max(720px, calc(100vh - 64px + 2px)) !important;
        }
    }
}

/* Em telas altas, ocupa a altura útil da tela sem teto visual */
@media (min-width: 981px) and (min-height: 1050px) {
    .site-hero.site-hero-video-mode {
        min-height: calc(100svh - 64px + 2px) !important;
    }

    .site-hero-video-mode .site-hero-grid {
        padding-top: clamp(74px, 8vh, 112px) !important;
        padding-bottom: clamp(70px, 8vh, 112px) !important;
    }
}

/* Mobile/tablet: mantém automático */
@media (max-width: 980px) {
    .site-hero.site-hero-video-mode {
        min-height: auto !important;
    }
}

/* =========================================================
   PARTE 53 - CTA ANUNCIAR IMÓVEL REFINADO
   Remove texto inferior e cria CTA mais vivo, alinhado ao dourado da marca.
========================================================= */

/*
    Decisão:
    - Remove a frase "receba orientação para publicar com segurança".
    - Mantém uma chamada direta para proprietário.
    - Usa fundo dourado sofisticado, sem ficar gritante.
    - Botão azul para contraste e hierarquia.
*/

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
    min-height: 76px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 17px 18px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 16% 18%, rgba(255,255,255,.30), transparent 30%),
        linear-gradient(135deg, #E3C77C 0%, #D8B76B 48%, #B98B3D 100%) !important;
    box-shadow:
        0 22px 54px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.34) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
    display: block !important;
    margin: 0 !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    line-height: 1.18 !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold span {
    display: none !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
    min-width: 146px !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(11,31,58,.92) !important;
    border-radius: 14px !important;
    background: #0B1F3A !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    box-shadow: 0 14px 28px rgba(11,31,58,.20) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline:hover {
    background: #123A6F !important;
    border-color: #123A6F !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 820px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 17px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
        font-size: 15px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   PARTE 54 - CTA ANUNCIAR PREMIUM / MAIS ALINHADO
   Mantém a frase aprovada, mas remove o bloco dourado pesado.
========================================================= */

/*
    Ajuste:
    - O fundo dourado chapado ficou chamativo demais e desalinhado com o hero.
    - Voltamos para uma base azul premium, com detalhe dourado sutil.
    - A frase fica em uma linha no desktop.
    - O botão fica menor e mais proporcional para não quebrar o texto.
*/

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
    position: relative !important;
    min-height: 74px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 17px 18px 17px 20px !important;
    border: 1px solid rgba(216, 183, 107, .42) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 8% 20%, rgba(216,183,107,.20), transparent 34%),
        linear-gradient(135deg, rgba(11,31,58,.96) 0%, rgba(14,43,80,.92) 100%) !important;
    box-shadow:
        0 20px 54px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
    overflow: hidden !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 18px !important;
    bottom: 18px !important;
    width: 4px !important;
    border-radius: 0 999px 999px 0 !important;
    background: linear-gradient(180deg, #F3D88B, #C9A45C) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
    max-width: 100% !important;
    display: block !important;
    margin: 0 !important;
    color: #FFFFFF !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 14.2px !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold span {
    display: none !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
    min-width: 126px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(216, 183, 107, .78) !important;
    border-radius: 14px !important;
    background: rgba(216, 183, 107, .10) !important;
    color: #F3D88B !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline:hover {
    background: #D8B76B !important;
    border-color: #D8B76B !important;
    color: #0B1F3A !important;
    transform: translateY(-1px) !important;
}

/* Em telas um pouco menores, mantém elegante sem forçar quebra feia */
@media (max-width: 1180px) and (min-width: 821px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
        width: 100% !important;
    }
}

@media (max-width: 820px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 17px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold::before {
        top: 16px !important;
        bottom: 16px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
        font-size: 14.5px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   PARTE 55 - CTA ANUNCIAR INTEGRADO AO LAYOUT
   Deixa o bloco de anunciar mais alinhado ao card de busca, sem destoar do hero.
========================================================= */

/*
    Ajuste:
    - Remove o aspecto de "bloco promocional separado".
    - Faz o CTA parecer uma continuação visual do filtro.
    - Fundo claro/translúcido como o card principal.
    - Texto azul, botão azul, detalhe dourado sutil.
*/

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
    position: relative !important;
    min-height: 70px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 15px 18px !important;
    border: 1px solid rgba(216, 225, 236, .86) !important;
    border-radius: 20px !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,250,253,.90)) !important;
    box-shadow:
        0 18px 46px rgba(0,0,0,.14),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
    overflow: hidden !important;
    backdrop-filter: blur(10px) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold::before {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    top: 50% !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: #C9A45C !important;
    transform: translateY(-50%) !important;
    box-shadow: 0 0 0 5px rgba(201,164,92,.12) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold > div {
    min-width: 0 !important;
    padding-left: 18px !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
    max-width: 100% !important;
    display: block !important;
    margin: 0 !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 14.2px !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold span {
    display: none !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
    min-width: 132px !important;
    min-height: 38px !important;
    padding: 0 15px !important;
    border: 1px solid #0B1F3A !important;
    border-radius: 13px !important;
    background: #0B1F3A !important;
    color: #FFFFFF !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    box-shadow: 0 12px 24px rgba(11,31,58,.16) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline:hover {
    background: #123A6F !important;
    border-color: #123A6F !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

/* Quando faltar largura, empilha sem quebrar feio */
@media (max-width: 1180px) and (min-width: 821px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
        width: 100% !important;
    }
}

@media (max-width: 820px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 16px 17px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold::before {
        left: 17px !important;
        top: 25px !important;
        transform: none !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold > div {
        padding-left: 18px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
        font-size: 14.5px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   PARTE 56 - CTA PROPRIETÁRIO SIMPLES / CONCEITO APROVADO
   Volta para o conceito limpo: "Proprietário de imóvel?" + botão.
========================================================= */

/*
    Decisão final:
    - Sem bloco dourado.
    - Sem frase explicativa.
    - CTA simples, branco/translúcido, alinhado ao card de busca.
    - Visual inspirado no conceito analisado, mas com identidade Cerca Branca.
*/

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold,
.site-hero-search-panel .site-owner-cta {
    position: relative !important;
    min-height: 78px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 17px 20px !important;
    border: 1px solid rgba(216, 225, 236, .92) !important;
    border-radius: 20px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow:
        0 20px 52px rgba(0, 0, 0, .16),
        inset 0 1px 0 rgba(255, 255, 255, .88) !important;
    overflow: hidden !important;
    backdrop-filter: blur(10px) !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold::before,
.site-hero-search-panel .site-owner-cta::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, #F3D88B, #C9A45C) !important;
    opacity: .88 !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold > div,
.site-hero-search-panel .site-owner-cta > div {
    min-width: 0 !important;
    padding-left: 6px !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong,
.site-hero-search-panel .site-owner-cta strong {
    display: block !important;
    margin: 0 !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 15.5px !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold span,
.site-hero-search-panel .site-owner-cta span {
    display: none !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline,
.site-hero-search-panel .site-owner-cta .site-btn-outline {
    min-width: 138px !important;
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 17px !important;
    border: 1px solid rgba(11, 31, 58, .92) !important;
    border-radius: 13px !important;
    background: transparent !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline:hover,
.site-hero-search-panel .site-owner-cta .site-btn-outline:hover {
    background: #0B1F3A !important;
    border-color: #0B1F3A !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

/* Desktop médio: não deixa a frase quebrar de forma estranha */
@media (max-width: 1180px) and (min-width: 821px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold,
    .site-hero-search-panel .site-owner-cta {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        padding: 17px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong,
    .site-hero-search-panel .site-owner-cta strong {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline,
    .site-hero-search-panel .site-owner-cta .site-btn-outline {
        width: 100% !important;
    }
}

@media (max-width: 820px) {
    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold,
    .site-hero-search-panel .site-owner-cta {
        min-height: auto !important;
        grid-template-columns: 1fr !important;
        gap: 13px !important;
        padding: 17px !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong,
    .site-hero-search-panel .site-owner-cta strong {
        font-size: 15px !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: initial !important;
    }

    .site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline,
    .site-hero-search-panel .site-owner-cta .site-btn-outline {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* =========================================================
   PARTE 57 - HOME ENXUTA: DESTAQUES + FOOTER
   Remove stats/atendimento e deixa a home seguir direto para os destaques.
========================================================= */

/* A antiga seção de estatísticas e atendimento não devem mais aparecer se ficarem em cache/HTML antigo */
.site-section-soft .site-stats,
.site-section-dark#atendimento,
#atendimento.site-section-dark {
    display: none !important;
}

/* =========================
   DESTAQUES
========================= */

.site-featured-section {
    position: relative !important;
    padding: clamp(74px, 8vw, 112px) 0 !important;
    background:
        radial-gradient(circle at 12% 12%, rgba(216, 183, 107, .13), transparent 32%),
        linear-gradient(180deg, #F7F9FC 0%, #FFFFFF 54%, #F5F8FC 100%) !important;
    border-top: 1px solid rgba(216, 225, 236, .82) !important;
}

.site-featured-section::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    width: min(1180px, calc(100% - 40px)) !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(216,183,107,.62), transparent) !important;
    transform: translateX(-50%) !important;
}

.site-featured-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 28px !important;
    margin-bottom: 30px !important;
}

.site-section-kicker {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 13px !important;
    color: #C9A45C !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.site-section-kicker::before {
    content: "" !important;
    width: 32px !important;
    height: 1px !important;
    background: #C9A45C !important;
}

.site-featured-head h2 {
    max-width: 720px !important;
    margin: 0 !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: clamp(30px, 3.1vw, 46px) !important;
    font-weight: 950 !important;
    letter-spacing: -.055em !important;
    line-height: 1.04 !important;
}

.site-featured-head p {
    max-width: 560px !important;
    margin: 14px 0 0 !important;
    color: rgba(11, 31, 58, .62) !important;
    font-size: 15.5px !important;
    font-weight: 700 !important;
    line-height: 1.62 !important;
}

.site-featured-link {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border: 1px solid rgba(11,31,58,.18) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.78) !important;
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 32px rgba(11,31,58,.06) !important;
}

.site-featured-link:hover {
    border-color: rgba(216,183,107,.72) !important;
    background: #FFFFFF !important;
    color: #0B1F3A !important;
    transform: translateY(-1px) !important;
}

.site-featured-grid {
    align-items: stretch !important;
}

/* Refino dos cards de imóveis nesta home */
.site-featured-section .site-property-card {
    border: 1px solid rgba(216, 225, 236, .92) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 24px 60px rgba(11,31,58,.08) !important;
    overflow: hidden !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.site-featured-section .site-property-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(216,183,107,.58) !important;
    box-shadow: 0 30px 70px rgba(11,31,58,.13) !important;
}

.site-featured-section .site-property-photo {
    min-height: 230px !important;
    background: #EAF0F7 !important;
}

.site-featured-section .site-property-photo img {
    transition: transform .22s ease !important;
}

.site-featured-section .site-property-card:hover .site-property-photo img {
    transform: scale(1.035) !important;
}

.site-featured-section .site-property-body {
    padding: 20px !important;
}

.site-featured-section .site-property-body small {
    color: #C9A45C !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

.site-featured-section .site-property-body h3 {
    color: #0B1F3A !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
    line-height: 1.18 !important;
}

.site-featured-section .site-property-body p {
    color: rgba(11,31,58,.58) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.site-featured-section .site-property-meta span {
    border-color: rgba(216, 225, 236, .96) !important;
    background: #F7FAFD !important;
    color: rgba(11,31,58,.72) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.site-featured-section .site-property-foot strong {
    color: #0B1F3A !important;
    font-size: 17px !important;
    font-weight: 950 !important;
}

.site-featured-section .site-property-foot a {
    color: #C9A45C !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.site-featured-empty {
    border-radius: 22px !important;
    background: #FFFFFF !important;
    box-shadow: 0 20px 50px rgba(11,31,58,.07) !important;
}

/* =========================
   FOOTER
========================= */

.site-footer.site-footer-premium {
    position: relative !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216, 183, 107, .16), transparent 32%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
    color: #FFFFFF !important;
    overflow: hidden !important;
}

.site-footer.site-footer-premium::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg, rgba(255,255,255,.04), transparent 42%, rgba(216,183,107,.08)) !important;
}

.site-footer-main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    gap: clamp(34px, 5vw, 80px) !important;
    padding: 54px 0 42px !important;
}

.site-footer-brand-block {
    max-width: 520px !important;
}

.site-footer-brand-lockup {
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    color: #FFFFFF !important;
}

.site-footer-brand-emblem {
    width: 46px !important;
    height: 46px !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.site-footer-brand-text {
    display: grid !important;
    gap: 3px !important;
    color: #FFFFFF !important;
    line-height: 1 !important;
}

.site-footer-brand-text strong {
    color: #FFFFFF !important;
    font-family: "Cinzel", Georgia, serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    letter-spacing: .055em !important;
}

.site-footer-brand-text small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    color: rgba(255,255,255,.76) !important;
    font-family: "Cinzel", Georgia, serif !important;
    font-size: 7px !important;
    font-weight: 600 !important;
    letter-spacing: .42em !important;
}

.site-footer-brand-text small::before,
.site-footer-brand-text small::after {
    content: "" !important;
    width: 34px !important;
    height: 1px !important;
    background: rgba(216,183,107,.78) !important;
}

.site-footer-brand-block p {
    max-width: 440px !important;
    margin: 18px 0 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.62 !important;
}

.site-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.site-footer-links > div {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.site-footer-links strong {
    margin-bottom: 6px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-footer-links a {
    width: fit-content !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.site-footer-links a:hover {
    color: #FFFFFF !important;
}

.site-footer-bottom {
    position: relative !important;
    z-index: 1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

@media (max-width: 900px) {
    .site-featured-head,
    .site-footer-main {
        grid-template-columns: 1fr !important;
    }

    .site-featured-link {
        width: fit-content !important;
    }

    .site-footer-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-featured-section {
        padding: 60px 0 !important;
    }

    .site-featured-head {
        gap: 18px !important;
        margin-bottom: 24px !important;
    }

    .site-featured-head h2 {
        font-size: clamp(28px, 8vw, 36px) !important;
    }

    .site-featured-link {
        width: 100% !important;
    }

    .site-footer-main {
        padding: 44px 0 34px !important;
    }

    .site-footer-links {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .site-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 58 - FOOTER COM LOGO EXATO DO HEADER
   Corrige o rodapé sem alterar header/admin/login.
========================================================= */

/*
    Correção:
    - O footer anterior recriava a marca e parecia diferente do header/admin.
    - Agora o footer usa a MESMA estrutura e classes do header:
      .site-brand-lockup
      .site-brand-emblem
      .site-brand-text
    - O fundo passa a ser claro para preservar o logo azul original.
    - Não altera o header. Não altera admin. Não altera login.
*/

.site-footer.site-footer-clean {
    position: relative !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(216, 183, 107, .12), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F7F9FC 100%) !important;
    border-top: 1px solid rgba(216, 225, 236, .92) !important;
    color: #0B1F3A !important;
}

.site-footer-clean-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 34px !important;
    padding: 42px 0 30px !important;
}

.site-footer-clean-brand {
    min-width: 0 !important;
    display: grid !important;
    gap: 14px !important;
}

/* Mantém exatamente o lockup do header, só ajustando o contexto do rodapé */
.site-footer-clean .site-brand-lockup {
    width: fit-content !important;
    min-width: 226px !important;
    height: 64px !important;
    color: #0B1F3A !important;
}

.site-footer-clean .site-brand-emblem {
    width: 38px !important;
    max-width: 38px !important;
}

.site-footer-clean .site-brand-text strong {
    color: #0B1F3A !important;
}

.site-footer-clean .site-brand-text small {
    color: #0B1F3A !important;
}

.site-footer-clean .site-brand-text small::before,
.site-footer-clean .site-brand-text small::after {
    background: #0B1F3A !important;
    opacity: .32 !important;
}

.site-footer-clean-brand p {
    max-width: 500px !important;
    margin: 0 !important;
    color: rgba(11, 31, 58, .62) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    line-height: 1.62 !important;
}

.site-footer-clean-links {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.site-footer-clean-links a {
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    text-decoration: none !important;
}

.site-footer-clean-links a:hover {
    background: rgba(216, 183, 107, .13) !important;
}

.site-footer-clean-bottom {
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 16px 0 !important;
    border-top: 1px solid rgba(216, 225, 236, .92) !important;
    color: rgba(11,31,58,.54) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Neutraliza apenas o footer premium anterior, caso algum HTML antigo fique em cache */
.site-footer-premium .site-footer-brand-lockup,
.site-footer-premium .site-footer-brand-text,
.site-footer-premium .site-footer-brand-emblem {
    all: unset;
}

@media (max-width: 900px) {
    .site-footer-clean-main {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        padding: 36px 0 28px !important;
    }

    .site-footer-clean-links {
        justify-content: flex-start !important;
    }
}

@media (max-width: 640px) {
    .site-footer-clean .site-brand-lockup {
        min-width: 0 !important;
    }

    .site-footer-clean-brand p {
        font-size: 13px !important;
    }

    .site-footer-clean-links {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .site-footer-clean-links a {
        justify-content: flex-start !important;
        padding: 0 !important;
    }

    .site-footer-clean-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 59 - FOOTER AZUL COM LOGO NO PADRÃO DO HEADER
   Restaura o layout azul aprovado e corrige somente o lockup da marca.
========================================================= */

/*
    Correção:
    - Volta o footer azul premium.
    - Volta a marca branca/invertida no footer.
    - NÃO recria fonte/layout manual do logo.
    - Usa a mesma estrutura do header: .site-brand-lockup / .site-brand-emblem / .site-brand-text
    - Ajusta apenas as cores para o footer escuro.
    - Neutraliza o footer claro da parte 58.
*/

/* Garante que o footer claro anterior não interfira */
.site-footer.site-footer-clean {
    display: none !important;
}

.site-footer.site-footer-premium {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216, 183, 107, .16), transparent 32%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
    color: #FFFFFF !important;
    border-top: 1px solid rgba(216, 183, 107, .18) !important;
    overflow: hidden !important;
}

.site-footer.site-footer-premium::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 42%, rgba(216,183,107,.08)) !important;
}

/* Layout volta para o aprovado da versão azul */
.site-footer-main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: start !important;
    gap: clamp(34px, 5vw, 80px) !important;
    padding: 54px 0 42px !important;
}

.site-footer-brand-block {
    max-width: 520px !important;
    display: grid !important;
    gap: 18px !important;
}

/* Marca: mesma estrutura do header, apenas invertida para footer escuro */
.site-footer-premium .site-brand-lockup.site-footer-brand-lockup {
    width: fit-content !important;
    min-width: 226px !important;
    height: 64px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
}

.site-footer-premium .site-brand-lockup.site-footer-brand-lockup:hover {
    color: #FFFFFF !important;
}

.site-footer-premium .site-brand-emblem {
    display: block !important;
    width: 38px !important;
    max-width: 38px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.site-footer-premium .site-brand-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-width: 0 !important;
}

.site-footer-premium .site-brand-text strong {
    display: block !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #FFFFFF !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-footer-premium .site-brand-text small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 7px !important;
    font-weight: 500 !important;
    letter-spacing: 0.34em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-footer-premium .site-brand-text small::before,
.site-footer-premium .site-brand-text small::after {
    content: "" !important;
    width: 20px !important;
    height: 1px !important;
    background: rgba(216, 183, 107, .82) !important;
    opacity: 1 !important;
}

.site-footer-premium .site-brand-text small span {
    display: inline-block !important;
}

.site-footer-brand-block p {
    max-width: 440px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.62 !important;
}

/* Links do footer azul */
.site-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.site-footer-links > div {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.site-footer-links strong {
    margin-bottom: 6px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-footer-links a {
    width: fit-content !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.site-footer-links a:hover {
    color: #FFFFFF !important;
}

/* Base inferior */
.site-footer-bottom {
    position: relative !important;
    z-index: 1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Remove qualquer neutralização antiga que tenha vindo da parte 58 */
.site-footer-premium .site-footer-brand-lockup,
.site-footer-premium .site-footer-brand-text,
.site-footer-premium .site-footer-brand-emblem {
    all: revert-layer;
}

/* Responsivo */
@media (max-width: 900px) {
    .site-footer-main {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 44px 0 34px !important;
    }

    .site-footer-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-footer-premium .site-brand-lockup.site-footer-brand-lockup {
        min-width: 0 !important;
    }

    .site-footer-links {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .site-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 60 - FOOTER AZUL + LOGO INVERTIDO NO PADRÃO EXATO
   Mantém o layout azul anterior e corrige só proporção/fonte do logo.
========================================================= */

/*
    Ponto corrigido:
    - O footer continua azul, como estava melhor.
    - O logo usa o brasão branco.
    - A escrita usa exatamente a lógica/proporção do lockup do header,
      apenas com cor invertida para fundo escuro.
    - Não altera header, admin, login, index ou JS.
*/

/* Mantém o footer azul premium */
.site-footer.site-footer-premium.site-footer-fixed-logo {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216, 183, 107, .16), transparent 32%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
    color: #FFFFFF !important;
    border-top: 1px solid rgba(216, 183, 107, .18) !important;
    overflow: hidden !important;
}

.site-footer.site-footer-premium.site-footer-fixed-logo::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 42%, rgba(216,183,107,.08)) !important;
}

/* Layout do footer azul */
.site-footer-fixed-logo .site-footer-main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: start !important;
    gap: clamp(34px, 5vw, 80px) !important;
    padding: 54px 0 42px !important;
}

.site-footer-fixed-logo .site-footer-brand-block {
    max-width: 520px !important;
    display: grid !important;
    gap: 18px !important;
}

/* LOCKUP: mesma proporção do header, somente invertido */
.site-footer-fixed-logo .site-brand-lockup.site-footer-lockup {
    width: fit-content !important;
    min-width: 226px !important;
    height: 64px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
}

.site-footer-fixed-logo .site-brand-lockup.site-footer-lockup:hover {
    color: #FFFFFF !important;
}

/* Brasão igual ao header */
.site-footer-fixed-logo .site-brand-emblem.site-footer-emblem {
    display: block !important;
    width: 38px !important;
    max-width: 38px !important;
    min-width: 38px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

/* Texto igual ao header */
.site-footer-fixed-logo .site-brand-text.site-footer-brand-text-fixed {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-width: 0 !important;
}

.site-footer-fixed-logo .site-brand-text.site-footer-brand-text-fixed strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #FFFFFF !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.site-footer-fixed-logo .site-brand-text.site-footer-brand-text-fixed small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    padding: 0 !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 7px !important;
    font-weight: 500 !important;
    letter-spacing: 0.34em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.site-footer-fixed-logo .site-brand-text.site-footer-brand-text-fixed small::before,
.site-footer-fixed-logo .site-brand-text.site-footer-brand-text-fixed small::after {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 1px !important;
    background: #FFFFFF !important;
    opacity: 0.32 !important;
}

.site-footer-fixed-logo .site-brand-text.site-footer-brand-text-fixed small span {
    display: inline-block !important;
}

/* Texto institucional */
.site-footer-fixed-logo .site-footer-brand-block p {
    max-width: 440px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.62 !important;
}

/* Links */
.site-footer-fixed-logo .site-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.site-footer-fixed-logo .site-footer-links > div {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.site-footer-fixed-logo .site-footer-links strong {
    margin-bottom: 6px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-footer-fixed-logo .site-footer-links a {
    width: fit-content !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.site-footer-fixed-logo .site-footer-links a:hover {
    color: #FFFFFF !important;
}

.site-footer-fixed-logo .site-footer-bottom {
    position: relative !important;
    z-index: 1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Neutraliza apenas restos do footer claro, sem mexer no header */
.site-footer.site-footer-clean {
    display: none !important;
}

/* Responsivo */
@media (max-width: 900px) {
    .site-footer-fixed-logo .site-footer-main {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 44px 0 34px !important;
    }

    .site-footer-fixed-logo .site-footer-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-footer-fixed-logo .site-brand-lockup.site-footer-lockup {
        min-width: 0 !important;
    }

    .site-footer-fixed-logo .site-footer-links {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .site-footer-fixed-logo .site-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 61 - FOOTER COM LOGO EXATO DO LOGIN / ADMIN
   Para fundo escuro, o padrão correto é o lockup do login, não o header horizontal.
========================================================= */

/*
    Correção definitiva:
    - Mantém o footer azul aprovado.
    - Para o logo do footer, usa a mesma composição do login:
      brasão em cima, CERCA BRANCA centralizado, IMÓVEIS com linhas.
    - Classes isoladas para não afetar header, admin ou login.
    - Não usa .site-brand-* no footer para não herdar estilos conflitantes.
*/

/* Footer azul premium */
.site-footer.site-footer-premium.site-footer-auth-logo {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216, 183, 107, .16), transparent 32%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
    color: #FFFFFF !important;
    border-top: 1px solid rgba(216, 183, 107, .18) !important;
    overflow: hidden !important;
}

.site-footer.site-footer-premium.site-footer-auth-logo::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 42%, rgba(216,183,107,.08)) !important;
}

.site-footer-auth-logo .site-footer-main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: start !important;
    gap: clamp(34px, 5vw, 80px) !important;
    padding: 54px 0 42px !important;
}

.site-footer-auth-logo .site-footer-brand-block {
    max-width: 520px !important;
    display: grid !important;
    gap: 18px !important;
}

/* LOGO: mesmo padrão visual do login/admin */
.site-footer-auth-lockup {
    width: fit-content !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 0 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

.site-footer-auth-lockup:hover {
    color: #FFFFFF !important;
}

.site-footer-auth-emblem {
    display: block !important;
    width: 72px !important;
    max-width: 72px !important;
    height: auto !important;
    margin: 0 0 10px !important;
    object-fit: contain !important;
}

.site-footer-auth-text {
    display: block !important;
    text-align: center !important;
    color: #FFFFFF !important;
    line-height: 1 !important;
}

.site-footer-auth-text strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: #FFFFFF !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.site-footer-auth-text span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    margin-top: 7px !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.40em !important;
    color: rgba(255,255,255,.88) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.site-footer-auth-text span::before,
.site-footer-auth-text span::after {
    content: "" !important;
    width: 38px !important;
    height: 1px !important;
    background: rgba(255,255,255,.88) !important;
    opacity: .32 !important;
}

/* Texto institucional */
.site-footer-auth-logo .site-footer-brand-block p {
    max-width: 440px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.62 !important;
}

/* Links do footer */
.site-footer-auth-logo .site-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.site-footer-auth-logo .site-footer-links > div {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.site-footer-auth-logo .site-footer-links strong {
    margin-bottom: 6px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-footer-auth-logo .site-footer-links a {
    width: fit-content !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.site-footer-auth-logo .site-footer-links a:hover {
    color: #FFFFFF !important;
}

.site-footer-auth-logo .site-footer-bottom {
    position: relative !important;
    z-index: 1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Neutraliza versões anteriores apenas no rodapé */
.site-footer.site-footer-clean {
    display: none !important;
}

/* Se algum footer antigo com classes anteriores ficar em cache, não deixa aparecer torto */
.site-footer-fixed-logo:not(.site-footer-auth-logo) .site-footer-brand-block,
.site-footer-premium:not(.site-footer-auth-logo) .site-footer-brand-block {
    visibility: visible !important;
}

/* Responsivo */
@media (max-width: 900px) {
    .site-footer-auth-logo .site-footer-main {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 44px 0 34px !important;
    }

    .site-footer-auth-logo .site-footer-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-footer-auth-lockup {
        align-items: flex-start !important;
    }

    .site-footer-auth-emblem {
        width: 62px !important;
        max-width: 62px !important;
    }

    .site-footer-auth-text strong {
        font-size: 24px !important;
    }

    .site-footer-auth-text span {
        font-size: 9px !important;
        letter-spacing: 0.34em !important;
    }

    .site-footer-auth-text span::before,
    .site-footer-auth-text span::after {
        width: 30px !important;
    }

    .site-footer-auth-logo .site-footer-links {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .site-footer-auth-logo .site-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 62 - FOOTER AZUL + LOGO HORIZONTAL BRANCO
   Mesmo conceito/proporção do header, apenas invertido para branco.
========================================================= */

/*
    Correção:
    - O logo do footer não é vertical.
    - É o mesmo lockup horizontal do header:
      brasão à esquerda + escrita à direita.
    - Única diferença: usa branco no lugar do azul.
    - Classes isoladas para não bagunçar header/admin/login.
*/

/* Mantém o footer azul premium */
.site-footer.site-footer-premium.site-footer-horizontal-logo {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216, 183, 107, .16), transparent 32%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
    color: #FFFFFF !important;
    border-top: 1px solid rgba(216, 183, 107, .18) !important;
    overflow: hidden !important;
}

.site-footer.site-footer-premium.site-footer-horizontal-logo::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 42%, rgba(216,183,107,.08)) !important;
}

/* Layout do footer */
.site-footer-horizontal-logo .site-footer-main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: start !important;
    gap: clamp(34px, 5vw, 80px) !important;
    padding: 54px 0 42px !important;
}

.site-footer-horizontal-logo .site-footer-brand-block {
    max-width: 520px !important;
    display: grid !important;
    gap: 18px !important;
}

/* LOGO HORIZONTAL: medidas iguais ao header, somente branco */
.site-footer-logo-row {
    width: fit-content !important;
    min-width: 226px !important;
    height: 64px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
}

.site-footer-logo-row:hover {
    color: #FFFFFF !important;
}

.site-footer-logo-emblem {
    display: block !important;
    width: 38px !important;
    max-width: 38px !important;
    min-width: 38px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.site-footer-logo-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-width: 0 !important;
}

.site-footer-logo-text strong {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #FFFFFF !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.site-footer-logo-text small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    padding: 0 !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 7px !important;
    font-weight: 500 !important;
    letter-spacing: 0.34em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    text-transform: none !important;
}

.site-footer-logo-text small::before,
.site-footer-logo-text small::after {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 1px !important;
    background: #FFFFFF !important;
    opacity: 0.32 !important;
}

.site-footer-logo-text small span {
    display: inline-block !important;
}

/* Texto institucional */
.site-footer-horizontal-logo .site-footer-brand-block p {
    max-width: 440px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.62 !important;
}

/* Links do footer */
.site-footer-horizontal-logo .site-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.site-footer-horizontal-logo .site-footer-links > div {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.site-footer-horizontal-logo .site-footer-links strong {
    margin-bottom: 6px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-footer-horizontal-logo .site-footer-links a {
    width: fit-content !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.site-footer-horizontal-logo .site-footer-links a:hover {
    color: #FFFFFF !important;
}

.site-footer-horizontal-logo .site-footer-bottom {
    position: relative !important;
    z-index: 1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Neutraliza versões antigas de footer claro/vertical sem mexer em header/admin/login */
.site-footer.site-footer-clean {
    display: none !important;
}

/* Responsivo */
@media (max-width: 900px) {
    .site-footer-horizontal-logo .site-footer-main {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 44px 0 34px !important;
    }

    .site-footer-horizontal-logo .site-footer-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-footer-logo-row {
        min-width: 0 !important;
        height: 64px !important;
    }

    .site-footer-logo-emblem {
        width: 36px !important;
        max-width: 36px !important;
        min-width: 36px !important;
    }

    .site-footer-logo-text strong {
        font-size: 15px !important;
    }

    .site-footer-logo-text small {
        font-size: 6.5px !important;
        letter-spacing: 0.28em !important;
    }

    .site-footer-logo-text small::before,
    .site-footer-logo-text small::after {
        width: 16px !important;
    }

    .site-footer-horizontal-logo .site-footer-links {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .site-footer-horizontal-logo .site-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 63 - REFINO DO "IMÓVEIS" NO LOGO DO FOOTER
   Ajusta a segunda linha do lockup para ficar proporcional ao header.
========================================================= */

/*
    Ajuste fino:
    - O problema visual estava principalmente no "IMÓVEIS".
    - No fundo escuro, o espaçamento/leitura ficava mais pesado que no header.
    - Reduzi um pouco a fonte, a abertura e as linhas laterais.
    - Mantém o logo horizontal e branco.
*/

.site-footer-horizontal-logo .site-footer-logo-row {
    gap: 10px !important;
}

.site-footer-horizontal-logo .site-footer-logo-emblem {
    width: 38px !important;
    max-width: 38px !important;
    min-width: 38px !important;
}

.site-footer-horizontal-logo .site-footer-logo-text strong {
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
}

.site-footer-horizontal-logo .site-footer-logo-text small {
    gap: 5px !important;
    margin-top: 5px !important;
    font-size: 6.2px !important;
    font-weight: 500 !important;
    letter-spacing: 0.30em !important;
    line-height: 1 !important;
    color: rgba(255,255,255,.76) !important;
}

.site-footer-horizontal-logo .site-footer-logo-text small::before,
.site-footer-horizontal-logo .site-footer-logo-text small::after {
    width: 18px !important;
    height: 1px !important;
    background: #FFFFFF !important;
    opacity: 0.30 !important;
}

/* Evita que o span do IMÓVEIS herde qualquer espaçamento estranho de versões anteriores */
.site-footer-horizontal-logo .site-footer-logo-text small span {
    display: inline-block !important;
    padding: 0 !important;
    margin: 0 !important;
    font: inherit !important;
    letter-spacing: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
}

/* Mobile: mantém o mesmo comportamento do header, só proporcionalmente menor */
@media (max-width: 640px) {
    .site-footer-horizontal-logo .site-footer-logo-text small {
        font-size: 5.9px !important;
        letter-spacing: 0.26em !important;
        gap: 4px !important;
    }

    .site-footer-horizontal-logo .site-footer-logo-text small::before,
    .site-footer-horizontal-logo .site-footer-logo-text small::after {
        width: 14px !important;
    }
}

/* =========================================================
   PARTE 64 - FOOTER COM LOGO EXATAMENTE IGUAL AO HEADER
   Mesma proporção completa do header, incluindo o "IMÓVEIS".
========================================================= */

/*
    Regra desta versão:
    - O footer usa o MESMO HTML estrutural do header:
      .site-brand-lockup
      .site-brand-emblem
      .site-brand-text
    - As medidas são exatamente as mesmas do header aprovado.
    - Única diferença: cor branca no lugar do azul.
    - O "IMÓVEIS" faz parte do lockup e usa a mesma proporção do header.
*/

/* Mantém o footer azul premium */
.site-footer.site-footer-premium.site-footer-header-logo-exact {
    position: relative !important;
    display: block !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(216, 183, 107, .16), transparent 32%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
    color: #FFFFFF !important;
    border-top: 1px solid rgba(216, 183, 107, .18) !important;
    overflow: hidden !important;
}

.site-footer.site-footer-premium.site-footer-header-logo-exact::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.035), transparent 42%, rgba(216,183,107,.08)) !important;
}

/* Layout do footer */
.site-footer-header-logo-exact .site-footer-main {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: start !important;
    gap: clamp(34px, 5vw, 80px) !important;
    padding: 54px 0 42px !important;
}

.site-footer-header-logo-exact .site-footer-brand-block {
    max-width: 520px !important;
    display: grid !important;
    gap: 18px !important;
}

/* =========================================================
   LOGO DO FOOTER = LOGO DO HEADER
   Copiado proporcionalmente do header aprovado.
========================================================= */

.site-footer-header-logo-exact .site-brand-lockup.site-footer-brand-lockup-exact {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 226px !important;
    height: 64px !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
    flex: 0 0 auto !important;
    width: fit-content !important;
}

.site-footer-header-logo-exact .site-brand-lockup.site-footer-brand-lockup-exact:hover {
    color: #FFFFFF !important;
}

.site-footer-header-logo-exact .site-brand-emblem {
    display: block !important;
    width: 38px !important;
    max-width: 38px !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

.site-footer-header-logo-exact .site-brand-text {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-width: 0 !important;
}

.site-footer-header-logo-exact .site-brand-text strong {
    display: block !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #FFFFFF !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    margin: 0 !important;
    padding: 0 !important;
    text-transform: none !important;
}

.site-footer-header-logo-exact .site-brand-text small {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 5px !important;
    font-family: "Cinzel", Georgia, "Times New Roman", serif !important;
    color: #FFFFFF !important;
    font-size: 7px !important;
    font-weight: 500 !important;
    letter-spacing: 0.34em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    padding: 0 !important;
    text-transform: none !important;
}

.site-footer-header-logo-exact .site-brand-text small::before,
.site-footer-header-logo-exact .site-brand-text small::after {
    content: "" !important;
    width: 20px !important;
    height: 1px !important;
    background: #FFFFFF !important;
    opacity: 0.32 !important;
    display: block !important;
    flex: 0 0 auto !important;
}

.site-footer-header-logo-exact .site-brand-text small span {
    display: inline-block !important;
    font-family: inherit !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Texto institucional */
.site-footer-header-logo-exact .site-footer-brand-block p {
    max-width: 440px !important;
    margin: 0 !important;
    color: rgba(255,255,255,.68) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.62 !important;
}

/* Links do footer */
.site-footer-header-logo-exact .site-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.site-footer-header-logo-exact .site-footer-links > div {
    display: grid !important;
    align-content: start !important;
    gap: 10px !important;
}

.site-footer-header-logo-exact .site-footer-links strong {
    margin-bottom: 6px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-footer-header-logo-exact .site-footer-links a {
    width: fit-content !important;
    color: rgba(255,255,255,.74) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;
}

.site-footer-header-logo-exact .site-footer-links a:hover {
    color: #FFFFFF !important;
}

.site-footer-header-logo-exact .site-footer-bottom {
    position: relative !important;
    z-index: 1 !important;
    min-height: 58px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 17px 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

/* Desliga versões antigas de footer claro, vertical ou refinado */
.site-footer.site-footer-clean {
    display: none !important;
}

/* Responsivo seguindo exatamente a proporção mobile do header */
@media (max-width: 820px) {
    .site-footer-header-logo-exact .site-brand-lockup.site-footer-brand-lockup-exact {
        min-width: 0 !important;
        height: 64px !important;
        gap: 8px !important;
    }

    .site-footer-header-logo-exact .site-brand-emblem {
        width: 36px !important;
        max-width: 36px !important;
    }

    .site-footer-header-logo-exact .site-brand-text strong {
        font-size: 15px !important;
    }

    .site-footer-header-logo-exact .site-brand-text small {
        font-size: 6.5px !important;
        letter-spacing: 0.28em !important;
    }

    .site-footer-header-logo-exact .site-brand-text small::before,
    .site-footer-header-logo-exact .site-brand-text small::after {
        width: 16px !important;
    }
}

@media (max-width: 900px) {
    .site-footer-header-logo-exact .site-footer-main {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 44px 0 34px !important;
    }

    .site-footer-header-logo-exact .site-footer-links {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 640px) {
    .site-footer-header-logo-exact .site-footer-links {
        grid-template-columns: 1fr !important;
        gap: 26px !important;
    }

    .site-footer-header-logo-exact .site-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}

/* =========================================================
   PARTE 65 - DESTAQUES: CARDS COM TAG DE FINALIDADE
   Exibe Venda / Locação / Venda e locação com base no campo finalidade do banco.
========================================================= */

/*
    Ajuste:
    - Os cards de destaque passam a exibir uma tag de finalidade.
    - A tag vem do campo $imovel['finalidade'].
    - Usa site_finalidade_label() quando disponível.
    - Melhora a leitura do card sem poluir o layout.
*/

/* Cabeçalho da seção de destaques fica mais limpo e menos genérico */
.site-featured-head h2 {
    max-width: 760px !important;
}

.site-featured-head p {
    max-width: 610px !important;
}

/* Card de destaque mais consistente */
.site-featured-section .site-property-card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
}

/* Foto e badges */
.site-featured-section .site-property-photo,
.site-property-photo {
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
}

.site-property-badges {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: 14px !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    pointer-events: none !important;
}

.site-property-badge {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .065em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    backdrop-filter: blur(12px) !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .16) !important;
}

.site-property-purpose {
    border: 1px solid rgba(255,255,255,.28) !important;
    background: rgba(11, 31, 58, .88) !important;
    color: #FFFFFF !important;
}

.site-property-purpose-venda {
    background: rgba(11, 31, 58, .90) !important;
    color: #FFFFFF !important;
}

.site-property-purpose-locacao {
    background: rgba(216, 183, 107, .94) !important;
    color: #0B1F3A !important;
}

.site-property-purpose-venda_locacao {
    background:
        linear-gradient(135deg, rgba(11, 31, 58, .94), rgba(216, 183, 107, .94)) !important;
    color: #FFFFFF !important;
}

.site-property-badge-highlight {
    margin-left: auto !important;
    border: 1px solid rgba(216, 183, 107, .58) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0B1F3A !important;
}

/* Remove visual antigo do span direto dentro da foto */
.site-property-photo > span:not(.site-property-badges) {
    display: none !important;
}

/* Overline novo: código + tipo do imóvel */
.site-property-overline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 9px !important;
}

.site-property-overline span {
    display: inline-flex !important;
    align-items: center !important;
    color: #C9A45C !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-overline span + span::before {
    content: "" !important;
    width: 4px !important;
    height: 4px !important;
    margin-right: 8px !important;
    border-radius: 999px !important;
    background: rgba(201, 164, 92, .64) !important;
}

/* Evita duplicidade visual do small antigo se algum cache ainda carregar */
.site-featured-section .site-property-body small {
    display: none !important;
}

/* Rodapé do card mais firme */
.site-featured-section .site-property-foot {
    align-items: center !important;
    gap: 14px !important;
    margin-top: auto !important;
}

.site-featured-section .site-property-foot a {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 12px !important;
    border: 1px solid rgba(201, 164, 92, .45) !important;
    border-radius: 999px !important;
    background: rgba(201, 164, 92, .08) !important;
    color: #0B1F3A !important;
    font-size: 11.5px !important;
    font-weight: 950 !important;
}

.site-featured-section .site-property-foot a:hover {
    background: #C9A45C !important;
    color: #FFFFFF !important;
}

/* Mobile */
@media (max-width: 640px) {
    .site-property-badges {
        left: 12px !important;
        right: 12px !important;
        top: 12px !important;
    }

    .site-property-badge {
        min-height: 26px !important;
        padding: 0 9px !important;
        font-size: 10px !important;
    }

    .site-property-overline {
        gap: 7px !important;
    }
}

/* =========================================================
   PARTE 66 - DESTAQUES PROFISSIONAL + CARROSSEL
   Remove a faixa feia, melhora fundo da seção e adiciona carrossel automático.
========================================================= */

/*
    Ajuste visual:
    - Remove qualquer faixa/barra horizontal antiga sobre a foto.
    - Tags viram pills pequenas e discretas.
    - Fundo da seção ganha profundidade.
    - Cards viram carrossel no desktop/mobile.
    - Se houver mais de 3 imóveis, o carrossel avança automaticamente.
*/

/* =========================
   SEÇÃO DE DESTAQUES
========================= */

.site-featured-carousel-section {
    position: relative !important;
    padding: clamp(78px, 8vw, 118px) 0 !important;
    background:
        radial-gradient(circle at 10% 4%, rgba(216,183,107,.18), transparent 28%),
        radial-gradient(circle at 88% 16%, rgba(11,31,58,.08), transparent 30%),
        linear-gradient(180deg, #F8FAFD 0%, #EEF3F8 48%, #F7F9FC 100%) !important;
    overflow: hidden !important;
}

.site-featured-carousel-section::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.52), transparent 34%, rgba(255,255,255,.34)),
        repeating-linear-gradient(135deg, rgba(11,31,58,.025) 0, rgba(11,31,58,.025) 1px, transparent 1px, transparent 22px) !important;
}

.site-featured-carousel-section > .site-container {
    position: relative !important;
    z-index: 1 !important;
}

.site-featured-carousel-section .site-featured-head {
    align-items: center !important;
    margin-bottom: 34px !important;
}

.site-featured-carousel-section .site-featured-head h2 {
    max-width: 760px !important;
    font-size: clamp(31px, 3vw, 44px) !important;
}

.site-featured-carousel-section .site-featured-head p {
    max-width: 640px !important;
    margin-top: 13px !important;
}

.site-featured-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
}

.site-carousel-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.site-carousel-controls button {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(11,31,58,.16) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.82) !important;
    color: #0B1F3A !important;
    cursor: pointer !important;
    box-shadow: 0 12px 30px rgba(11,31,58,.07) !important;
}

.site-carousel-controls button span {
    display: block !important;
    margin-top: -2px !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.site-carousel-controls button:hover:not(:disabled) {
    border-color: rgba(201,164,92,.68) !important;
    background: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

.site-carousel-controls button:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

/* =========================
   CARROSSEL
========================= */

.site-featured-carousel {
    position: relative !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 4px 2px 18px !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
}

.site-featured-carousel::-webkit-scrollbar {
    display: none !important;
}

.site-featured-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 48px) / 3) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.site-featured-slide {
    min-width: 0 !important;
    scroll-snap-align: start !important;
}

.site-featured-slide .site-property-card {
    height: 100% !important;
}

/* =========================
   CARDS
========================= */

.site-featured-carousel-section .site-property-card {
    border: 1px solid rgba(216,225,236,.92) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow:
        0 18px 42px rgba(11,31,58,.07),
        0 1px 0 rgba(255,255,255,.78) inset !important;
    overflow: hidden !important;
}

.site-featured-carousel-section .site-property-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(201,164,92,.52) !important;
    box-shadow:
        0 30px 76px rgba(11,31,58,.14),
        0 1px 0 rgba(255,255,255,.84) inset !important;
}

.site-featured-carousel-section .site-property-photo {
    min-height: 235px !important;
    background: linear-gradient(135deg, #EAF0F7, #F7FAFD) !important;
}

/* Remove de vez a faixa/barra antiga sobre a foto */
.site-property-photo::before,
.site-property-photo::after,
.site-featured-carousel-section .site-property-photo::before,
.site-featured-carousel-section .site-property-photo::after {
    content: none !important;
    display: none !important;
}

.site-property-photo > span:not(.site-property-badges),
.site-featured-carousel-section .site-property-photo > span:not(.site-property-badges) {
    display: none !important;
}

.site-featured-carousel-section .site-property-photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: 235px !important;
    object-fit: cover !important;
}

/* Badges discretas */
.site-property-badges {
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: 14px !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    pointer-events: none !important;
}

.site-property-badge {
    min-height: 27px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    backdrop-filter: blur(14px) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}

.site-property-purpose,
.site-property-purpose-venda {
    background: rgba(11,31,58,.88) !important;
    color: #FFFFFF !important;
}

.site-property-purpose-locacao {
    background: rgba(255,255,255,.92) !important;
    color: #0B1F3A !important;
    border-color: rgba(201,164,92,.48) !important;
}

.site-property-purpose-venda_locacao {
    background: rgba(11,31,58,.88) !important;
    color: #FFFFFF !important;
    border-color: rgba(201,164,92,.62) !important;
}

.site-property-badge-highlight {
    margin-left: auto !important;
    background: rgba(216,183,107,.92) !important;
    color: #0B1F3A !important;
    border-color: rgba(255,255,255,.32) !important;
}

/* Linha de código/tipo mais limpa */
.site-property-overline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
}

.site-property-overline span {
    color: #B98B3D !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-overline span + span::before {
    content: "" !important;
    width: 4px !important;
    height: 4px !important;
    margin-right: 8px !important;
    border-radius: 999px !important;
    background: rgba(185,139,61,.60) !important;
}

/* Rodapé do card */
.site-featured-carousel-section .site-property-foot {
    border-top: 1px solid rgba(216,225,236,.88) !important;
    padding-top: 18px !important;
}

.site-featured-carousel-section .site-property-foot a {
    min-height: 34px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(201,164,92,.48) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.72) !important;
    color: #0B1F3A !important;
}

.site-featured-carousel-section .site-property-foot a:hover {
    background: #0B1F3A !important;
    border-color: #0B1F3A !important;
    color: #FFFFFF !important;
}

/* =========================
   RESPONSIVO
========================= */

@media (max-width: 980px) {
    .site-featured-track {
        grid-auto-columns: calc((100% - 20px) / 2) !important;
        gap: 20px !important;
    }
}

@media (max-width: 700px) {
    .site-featured-carousel-section {
        padding: 62px 0 !important;
    }

    .site-featured-carousel-section .site-featured-head {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .site-featured-actions {
        width: 100% !important;
        justify-content: space-between !important;
    }

    .site-featured-link {
        min-height: 42px !important;
        padding: 0 16px !important;
    }

    .site-featured-track {
        grid-auto-columns: 88% !important;
        gap: 16px !important;
    }

    .site-featured-carousel-section .site-property-photo,
    .site-featured-carousel-section .site-property-photo img {
        min-height: 220px !important;
    }
}

/* =========================================================
   PARTE 67 - DESTAQUES SEM FAIXA DOURADA + SEM CÓDIGO
   Remove definitivamente a barra/faixa dourada e oculta código do card.
========================================================= */

/*
    Problema:
    A faixa dourada ainda vinha de pseudo-elementos antigos do card/foto,
    não apenas do badge.

    Correção:
    - Desliga pseudo-elementos decorativos nos cards de destaque.
    - Desliga qualquer borda/faixa superior antiga.
    - Mantém somente as tags pequenas de finalidade/destaque.
    - Remove o código da exibição do card via property-card.php.
*/

/* Remove qualquer faixa antiga no card e na foto */
.site-featured-carousel-section .site-property-card::before,
.site-featured-carousel-section .site-property-card::after,
.site-featured-section .site-property-card::before,
.site-featured-section .site-property-card::after,
.site-property-card::before,
.site-property-card::after,
.site-featured-carousel-section .site-property-photo::before,
.site-featured-carousel-section .site-property-photo::after,
.site-featured-section .site-property-photo::before,
.site-featured-section .site-property-photo::after,
.site-property-photo::before,
.site-property-photo::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Garante que não exista "barra superior" por borda ou box-shadow interno */
.site-featured-carousel-section .site-property-card,
.site-featured-section .site-property-card {
    border-top: 1px solid rgba(216,225,236,.92) !important;
    box-shadow:
        0 18px 42px rgba(11,31,58,.07),
        0 1px 0 rgba(255,255,255,.78) inset !important;
}

.site-featured-carousel-section .site-property-photo,
.site-featured-section .site-property-photo,
.site-property-photo {
    border-top: 0 !important;
    box-shadow: none !important;
}

/* Remove qualquer span antigo que tenha sobrado em cima da imagem */
.site-featured-carousel-section .site-property-photo > span:not(.site-property-badges),
.site-featured-section .site-property-photo > span:not(.site-property-badges),
.site-property-photo > span:not(.site-property-badges) {
    display: none !important;
}

/* As tags continuam, mas sem parecer faixa */
.site-featured-carousel-section .site-property-badges,
.site-featured-section .site-property-badges,
.site-property-badges {
    left: 14px !important;
    right: auto !important;
    top: 14px !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    justify-content: flex-start !important;
}

.site-featured-carousel-section .site-property-badge,
.site-featured-section .site-property-badge,
.site-property-badge {
    min-height: 26px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}

/* Se houver duas tags, ficam lado a lado e não espalhadas pelas pontas */
.site-featured-carousel-section .site-property-badge-highlight,
.site-featured-section .site-property-badge-highlight,
.site-property-badge-highlight {
    margin-left: 6px !important;
}

/* Código removido: overline agora mostra só tipo do imóvel */
.site-property-overline {
    margin-bottom: 10px !important;
}

.site-property-overline span + span::before {
    content: none !important;
    display: none !important;
}

/* Caso algum HTML antigo ainda traga código IMV..., esconde o primeiro span só em cache antigo */
.site-property-overline span:first-child:nth-last-child(2) {
    display: none !important;
}

.site-property-overline span:first-child:nth-last-child(2) + span {
    display: inline-flex !important;
}

/* =========================================================
   PARTE 69 - DESTAQUES SHOWCASE LIMPO
   Corrige a bolinha na origem e troca o bloco escuro por vitrine premium clara.
========================================================= */

/*
    Correção real da bolinha:
    - O container dos badges virou DIV no property-card.php.
    - Antes era SPAN e herdava .site-property-photo span do CSS antigo.
    - Também removi a tag Destaque do HTML.
*/

/* =========================
   VITRINE DE DESTAQUES
========================= */

.site-featured-section.site-featured-showcase,
.site-featured-carousel-section.site-featured-showcase {
    position: relative !important;
    padding: clamp(72px, 7vw, 104px) 0 !important;
    background:
        radial-gradient(circle at 9% 4%, rgba(216, 183, 107, .16), transparent 28%),
        radial-gradient(circle at 88% 20%, rgba(11, 31, 58, .07), transparent 30%),
        linear-gradient(180deg, #F8FAFD 0%, #FFFFFF 46%, #F3F7FB 100%) !important;
    border-top: 1px solid rgba(216, 225, 236, .86) !important;
    overflow: hidden !important;
}

.site-featured-showcase::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    width: min(1180px, calc(100% - 40px)) !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(216,183,107,.70), transparent) !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.site-featured-showcase::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.55), transparent 36%, rgba(255,255,255,.35)),
        radial-gradient(circle at 52% 120%, rgba(11,31,58,.08), transparent 40%) !important;
    pointer-events: none !important;
}

.site-featured-showcase > .site-container {
    position: relative !important;
    z-index: 1 !important;
}

/* Cabeçalho: premium, curto e sem parágrafo */
.site-featured-showcase .site-featured-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 24px !important;
    margin-bottom: 30px !important;
}

.site-featured-showcase .site-section-kicker {
    margin-bottom: 12px !important;
    color: #C9A45C !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .17em !important;
}

.site-featured-showcase .site-section-kicker::before {
    background: #C9A45C !important;
}

.site-featured-showcase .site-featured-head h2 {
    max-width: 680px !important;
    margin: 0 !important;
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: clamp(34px, 3vw, 48px) !important;
    font-weight: 950 !important;
    letter-spacing: -.06em !important;
    line-height: 1.02 !important;
}

.site-featured-showcase .site-featured-head p {
    display: none !important;
}

.site-featured-showcase .site-featured-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 12px !important;
}

.site-featured-showcase .site-carousel-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.site-featured-showcase .site-carousel-controls button {
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(11,31,58,.12) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.84) !important;
    color: #0B1F3A !important;
    cursor: pointer !important;
    box-shadow: 0 12px 32px rgba(11,31,58,.07) !important;
}

.site-featured-showcase .site-carousel-controls button span {
    display: block !important;
    margin-top: -2px !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.site-featured-showcase .site-carousel-controls button:hover:not(:disabled) {
    border-color: rgba(201,164,92,.68) !important;
    background: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

.site-featured-showcase .site-carousel-controls button:disabled {
    opacity: .42 !important;
    cursor: default !important;
}

.site-featured-showcase .site-featured-link {
    min-height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 17px !important;
    border: 1px solid rgba(11,31,58,.14) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.86) !important;
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 32px rgba(11,31,58,.06) !important;
}

.site-featured-showcase .site-featured-link:hover {
    border-color: rgba(201,164,92,.72) !important;
    background: #FFFFFF !important;
}

/* =========================
   CARROSSEL
========================= */

.site-featured-showcase .site-featured-carousel {
    position: relative !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 4px 2px 18px !important;
    scroll-behavior: smooth !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
}

.site-featured-showcase .site-featured-carousel::-webkit-scrollbar {
    display: none !important;
}

.site-featured-showcase .site-featured-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 48px) / 3) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.site-featured-showcase .site-featured-slide {
    min-width: 0 !important;
    scroll-snap-align: start !important;
}

.site-featured-showcase .site-featured-slide .site-property-card {
    height: 100% !important;
}

/* =========================
   CARD
========================= */

.site-featured-showcase .site-property-card {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    border: 1px solid rgba(216,225,236,.96) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow:
        0 24px 64px rgba(11,31,58,.10),
        inset 0 1px 0 rgba(255,255,255,.90) !important;
    overflow: hidden !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease !important;
}

/* Remove pseudo-elementos antigos, faixas e bolinhas */
.site-featured-showcase .site-property-card::before,
.site-featured-showcase .site-property-card::after,
.site-featured-showcase .site-property-photo::before,
.site-featured-showcase .site-property-photo::after,
.site-featured-showcase .site-property-badge-highlight {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.site-featured-showcase .site-property-card:hover {
    transform: translateY(-5px) !important;
    border-color: rgba(201,164,92,.54) !important;
    box-shadow:
        0 34px 84px rgba(11,31,58,.16),
        inset 0 1px 0 rgba(255,255,255,.92) !important;
}

.site-featured-showcase .site-property-photo {
    position: relative !important;
    display: block !important;
    min-height: 245px !important;
    overflow: hidden !important;
    background: linear-gradient(135deg, #EAF0F7, #F7FAFD) !important;
    border: 0 !important;
    box-shadow: none !important;
}

.site-featured-showcase .site-property-photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: 245px !important;
    object-fit: cover !important;
    transition: transform .25s ease !important;
}

.site-featured-showcase .site-property-card:hover .site-property-photo img {
    transform: scale(1.035) !important;
}

.site-featured-showcase .site-property-photo > span:not(.site-property-badge) {
    display: none !important;
}

/* Badges: container agora é DIV, não herda .site-property-photo span */
.site-featured-showcase .site-property-badges,
.site-property-photo .site-property-badges {
    position: absolute !important;
    left: 14px !important;
    right: auto !important;
    top: 14px !important;
    z-index: 3 !important;
    width: auto !important;
    max-width: calc(100% - 28px) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Remove qualquer span antigo direto na foto; mantém somente badge real */
.site-featured-showcase .site-property-photo > span:not(.site-property-badge),
.site-featured-showcase .site-property-photo > span:not(.site-property-badges) {
    display: none !important;
}

/* Badge real */
.site-featured-showcase .site-property-badge,
.site-property-photo .site-property-badge {
    position: static !important;
    min-height: 27px !important;
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    backdrop-filter: blur(14px) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.16) !important;
}

.site-featured-showcase .site-property-purpose,
.site-featured-showcase .site-property-purpose-venda {
    background: rgba(11,31,58,.88) !important;
    color: #FFFFFF !important;
}

.site-featured-showcase .site-property-purpose-locacao {
    background: rgba(255,255,255,.92) !important;
    color: #0B1F3A !important;
    border-color: rgba(216,183,107,.52) !important;
}

.site-featured-showcase .site-property-purpose-venda_locacao {
    background: rgba(11,31,58,.88) !important;
    color: #FFFFFF !important;
    border-color: rgba(216,183,107,.58) !important;
}

/* Conteúdo */
.site-featured-showcase .site-property-body {
    padding: 20px !important;
}

.site-featured-showcase .site-property-overline {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 10px !important;
}

.site-featured-showcase .site-property-overline span {
    color: #B98B3D !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-featured-showcase .site-property-overline span + span::before,
.site-featured-showcase .site-property-body small {
    display: none !important;
    content: none !important;
}

.site-featured-showcase .site-property-body h3 {
    color: #0B1F3A !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
    line-height: 1.18 !important;
}

.site-featured-showcase .site-property-body p {
    color: rgba(11,31,58,.58) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
}

.site-featured-showcase .site-property-meta span {
    border-color: rgba(216,225,236,.72) !important;
    background: #F5F8FC !important;
    color: rgba(11,31,58,.72) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.site-featured-showcase .site-property-foot {
    align-items: center !important;
    gap: 14px !important;
    margin-top: auto !important;
    padding-top: 18px !important;
    border-top: 1px solid rgba(216,225,236,.86) !important;
}

.site-featured-showcase .site-property-foot strong {
    color: #0B1F3A !important;
    font-size: 17px !important;
    font-weight: 950 !important;
}

.site-featured-showcase .site-property-foot a {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 13px !important;
    border: 1px solid rgba(201,164,92,.48) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.78) !important;
    color: #0B1F3A !important;
    font-size: 11.5px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.site-featured-showcase .site-property-foot a:hover {
    background: #0B1F3A !important;
    border-color: #0B1F3A !important;
    color: #FFFFFF !important;
}

/* Responsivo */
@media (max-width: 980px) {
    .site-featured-showcase .site-featured-track {
        grid-auto-columns: calc((100% - 20px) / 2) !important;
        gap: 20px !important;
    }
}

@media (max-width: 700px) {
    .site-featured-showcase {
        padding: 62px 0 !important;
    }

    .site-featured-showcase .site-featured-head {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        align-items: start !important;
    }

    .site-featured-showcase .site-featured-actions {
        width: 100% !important;
        justify-content: space-between !important;
    }

    .site-featured-showcase .site-featured-track {
        grid-auto-columns: 88% !important;
        gap: 16px !important;
    }

    .site-featured-showcase .site-property-photo,
    .site-featured-showcase .site-property-photo img {
        min-height: 220px !important;
    }
}

/* =========================================================
   PARTE 70 - ÁREA CRECI NO FOOTER
   Bloco preparado para exibir/ocultar CRECI sem quebrar o layout.
========================================================= */

/*
    Uso:
    - Por enquanto fica visível para validação visual.
    - Para ocultar depois, basta adicionar a classe is-hidden:
      <div class="site-footer-creci is-hidden">
*/

.site-footer-creci {
    width: fit-content !important;
    max-width: 100% !important;
    display: grid !important;
    gap: 5px !important;
    margin-top: 4px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(216, 183, 107, .28) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .055) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 14px 34px rgba(0,0,0,.10) !important;
    color: #FFFFFF !important;
}

.site-footer-creci.is-hidden {
    display: none !important;
}

.site-footer-creci span {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    min-height: 22px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .13) !important;
    color: #D8B76B !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-footer-creci strong {
    display: block !important;
    margin: 0 !important;
    color: #FFFFFF !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    line-height: 1.2 !important;
}

.site-footer-creci small {
    display: block !important;
    max-width: 320px !important;
    color: rgba(255, 255, 255, .58) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

@media (max-width: 640px) {
    .site-footer-creci {
        width: 100% !important;
    }

    .site-footer-creci small {
        max-width: none !important;
    }
}

/* =========================================================
   PARTE 71 - CRECI SIMPLES NO FOOTER
   Remove o card do CRECI e deixa apenas uma linha discreta abaixo do logo/texto.
========================================================= */

/*
    Uso:
    - Visível agora para validação.
    - Para ocultar futuramente, adicionar is-hidden:
      <p class="site-footer-creci-line is-hidden">CRECI: 000000-F</p>
*/

.site-footer-creci,
.site-footer-creci span,
.site-footer-creci strong,
.site-footer-creci small {
    all: unset !important;
    display: none !important;
}

.site-footer-creci-line {
    display: block !important;
    width: fit-content !important;
    margin: -6px 0 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, .58) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    letter-spacing: .01em !important;
}

.site-footer-creci-line.is-hidden {
    display: none !important;
}

@media (max-width: 640px) {
    .site-footer-creci-line {
        margin-top: -4px !important;
        font-size: 11.5px !important;
    }
}

/* =========================================================
   PARTE 72 - PÁGINA DE DETALHE DO IMÓVEL
   Página exclusiva do imóvel com galeria, informações e CTA.
========================================================= */

/* =========================
   DETALHE - HERO
========================= */

.site-property-detail-hero {
    position: relative;
    padding: clamp(64px, 7vw, 104px) 0 clamp(54px, 6vw, 86px);
    background:
        radial-gradient(circle at 13% 16%, rgba(216,183,107,.22), transparent 30%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 56%, #123A6F 100%);
    color: #FFFFFF;
    overflow: hidden;
}

.site-property-detail-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04), transparent 42%, rgba(216,183,107,.09)),
        radial-gradient(circle at 82% 18%, rgba(255,255,255,.08), transparent 28%);
}

.site-property-detail-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 370px);
    align-items: end;
    gap: clamp(28px, 5vw, 78px);
}

.site-property-back {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    margin-bottom: 26px;
    color: rgba(255,255,255,.70);
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.site-property-back:hover {
    color: #FFFFFF;
}

.site-property-detail-tags {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}

.site-property-detail-tag {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.86);
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .075em;
    line-height: 1;
    text-transform: uppercase;
    backdrop-filter: blur(12px);
}

.site-property-detail-tag-purpose {
    border-color: rgba(216,183,107,.48);
    background: rgba(216,183,107,.12);
    color: #F3D88B;
}

.site-property-detail-copy h1 {
    max-width: 850px;
    margin: 0;
    color: #FFFFFF;
    font-family: "DM Sans", Inter, system-ui, sans-serif;
    font-size: clamp(38px, 5vw, 72px);
    font-weight: 950;
    letter-spacing: -.065em;
    line-height: .98;
}

.site-property-detail-copy p {
    max-width: 680px;
    margin: 22px 0 0;
    color: rgba(255,255,255,.72);
    font-size: 17px;
    font-weight: 750;
    line-height: 1.5;
}

.site-property-detail-price {
    display: grid;
    gap: 10px;
    padding: 22px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    box-shadow: 0 24px 64px rgba(0,0,0,.18);
    backdrop-filter: blur(16px);
}

.site-property-detail-price div {
    display: grid;
    gap: 5px;
}

.site-property-detail-price span {
    color: #D8B76B;
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .14em;
    line-height: 1;
    text-transform: uppercase;
}

.site-property-detail-price strong {
    color: #FFFFFF;
    font-size: clamp(24px, 2.4vw, 34px);
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1.05;
}

/* =========================
   DETALHE - MAIN
========================= */

.site-property-detail-main {
    position: relative;
    padding: 0 0 clamp(74px, 8vw, 112px);
    background:
        radial-gradient(circle at 8% 12%, rgba(216,183,107,.10), transparent 26%),
        linear-gradient(180deg, #F4F7FB 0%, #FFFFFF 42%, #F6F8FB 100%);
}

.site-property-detail-gallery {
    position: relative;
    z-index: 3;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 126px;
    gap: 14px;
    margin-top: -42px;
}

.site-property-main-photo {
    min-height: clamp(420px, 48vw, 620px);
    border: 1px solid rgba(216,225,236,.90);
    border-radius: 28px;
    background: #EAF0F7;
    box-shadow: 0 34px 90px rgba(11,31,58,.18);
    overflow: hidden;
}

.site-property-main-photo img {
    width: 100%;
    height: 100%;
    min-height: inherit;
    display: block;
    object-fit: cover;
}

.site-property-thumbs {
    display: grid;
    gap: 12px;
    align-content: start;
}

.site-property-thumbs button {
    width: 100%;
    height: 88px;
    display: block;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 18px;
    background: #FFFFFF;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 0 12px 30px rgba(11,31,58,.08);
}

.site-property-thumbs button.is-active {
    border-color: #C9A45C;
}

.site-property-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.site-property-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    align-items: start;
    gap: clamp(28px, 4vw, 54px);
    margin-top: 38px;
}

.site-property-detail-content {
    display: grid;
    gap: 24px;
}

.site-property-detail-facts {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.site-property-detail-facts div {
    min-height: 92px;
    display: grid;
    align-content: center;
    gap: 5px;
    padding: 16px;
    border: 1px solid rgba(216,225,236,.88);
    border-radius: 20px;
    background: rgba(255,255,255,.86);
    box-shadow: 0 18px 44px rgba(11,31,58,.06);
}

.site-property-detail-facts strong {
    color: #0B1F3A;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -.04em;
    line-height: 1;
}

.site-property-detail-facts span {
    color: rgba(11,31,58,.56);
    font-size: 11.5px;
    font-weight: 850;
    line-height: 1.2;
}

.site-property-detail-block {
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid rgba(216,225,236,.88);
    border-radius: 26px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 20px 54px rgba(11,31,58,.07);
}

.site-property-detail-block .site-section-kicker {
    margin-bottom: 13px;
}

.site-property-detail-block h2 {
    margin: 0;
    color: #0B1F3A;
    font-family: "DM Sans", Inter, system-ui, sans-serif;
    font-size: clamp(25px, 2.4vw, 34px);
    font-weight: 950;
    letter-spacing: -.05em;
    line-height: 1.08;
}

.site-property-detail-block p {
    margin: 16px 0 0;
    color: rgba(11,31,58,.66);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.78;
}

.site-property-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.site-property-detail-info-grid div {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid rgba(216,225,236,.82);
    border-radius: 18px;
    background: #F7FAFD;
}

.site-property-detail-info-grid span {
    color: rgba(11,31,58,.50);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .09em;
    line-height: 1;
    text-transform: uppercase;
}

.site-property-detail-info-grid strong {
    color: #0B1F3A;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.25;
}

.site-property-map-placeholder {
    min-height: 190px;
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 8px;
    margin-top: 20px;
    padding: 24px;
    border: 1px dashed rgba(11,31,58,.18);
    border-radius: 22px;
    background:
        radial-gradient(circle at 70% 24%, rgba(216,183,107,.18), transparent 22%),
        linear-gradient(135deg, #F6F9FC, #FFFFFF);
    text-align: center;
}

.site-property-map-placeholder span {
    min-height: 26px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(216,183,107,.12);
    color: #B98B3D;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.site-property-map-placeholder strong {
    color: #0B1F3A;
    font-size: 17px;
    font-weight: 950;
}

.site-property-map-placeholder small {
    color: rgba(11,31,58,.54);
    font-size: 12px;
    font-weight: 750;
}

/* =========================
   CONTATO LATERAL
========================= */

.site-property-contact-card {
    position: sticky;
    top: 96px;
    display: grid;
    gap: 16px;
    padding: 24px;
    border: 1px solid rgba(216,183,107,.30);
    border-radius: 26px;
    background:
        radial-gradient(circle at 18% 10%, rgba(216,183,107,.16), transparent 34%),
        linear-gradient(135deg, #0B1F3A 0%, #123A6F 100%);
    color: #FFFFFF;
    box-shadow: 0 28px 74px rgba(11,31,58,.24);
}

.site-property-contact-card .site-section-kicker {
    margin: 0;
    color: #D8B76B;
}

.site-property-contact-card .site-section-kicker::before {
    background: #D8B76B;
}

.site-property-contact-card h2 {
    margin: 0;
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.site-property-contact-card p {
    margin: 0;
    color: rgba(255,255,255,.70);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.55;
}

.site-property-contact-price {
    display: grid;
    gap: 10px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: rgba(255,255,255,.07);
}

.site-property-contact-price div {
    display: grid;
    gap: 4px;
}

.site-property-contact-price span {
    color: #D8B76B;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .13em;
    line-height: 1;
    text-transform: uppercase;
}

.site-property-contact-price strong {
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 950;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.site-property-contact-main {
    width: 100%;
    min-height: 50px;
}

.site-property-contact-secondary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 14px;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 950;
    text-decoration: none;
}

.site-property-contact-secondary:hover {
    background: rgba(255,255,255,.08);
    color: #FFFFFF;
}

.site-property-contact-card small {
    color: rgba(255,255,255,.46);
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

/* =========================
   EMPTY
========================= */

.site-property-detail-empty {
    min-height: calc(100vh - 64px);
    display: grid;
    align-items: center;
    padding: 80px 0;
    background:
        radial-gradient(circle at 14% 14%, rgba(216,183,107,.16), transparent 28%),
        linear-gradient(180deg, #F8FAFD, #FFFFFF);
}

.site-property-detail-empty h1 {
    max-width: 720px;
    margin: 0;
    color: #0B1F3A;
    font-size: clamp(36px, 5vw, 68px);
    font-weight: 950;
    letter-spacing: -.06em;
    line-height: 1;
}

.site-property-detail-empty p {
    max-width: 560px;
    margin: 18px 0 28px;
    color: rgba(11,31,58,.62);
    font-weight: 700;
    line-height: 1.6;
}

/* =========================
   RESPONSIVO
========================= */

@media (max-width: 1020px) {
    .site-property-detail-hero-grid,
    .site-property-detail-layout {
        grid-template-columns: 1fr;
    }

    .site-property-contact-card {
        position: relative;
        top: auto;
    }

    .site-property-detail-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .site-property-detail-gallery {
        grid-template-columns: 1fr;
        margin-top: -28px;
    }

    .site-property-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .site-property-thumbs button {
        height: 74px;
    }

    .site-property-main-photo {
        min-height: 330px;
        border-radius: 24px;
    }

    .site-property-detail-facts,
    .site-property-detail-info-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .site-property-detail-copy h1 {
        font-size: 36px;
    }

    .site-property-detail-facts,
    .site-property-detail-info-grid {
        grid-template-columns: 1fr;
    }

    .site-property-thumbs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* =========================================================
   PARTE 73 - DETALHE DO IMÓVEL / LAYOUT PREMIUM COMPACTO
   Corrige a página de exibição exclusiva para um layout menos grosseiro.
========================================================= */

.site-property-detail-stage.site-property-detail-compact {
    position: relative !important;
    padding: 34px 0 clamp(56px, 6vw, 86px) !important;
    background:
        radial-gradient(circle at 12% 4%, rgba(216,183,107,.17), transparent 28%),
        linear-gradient(135deg, #06162D 0%, #0B1F3A 54%, #102F58 100%) !important;
    color: #FFFFFF !important;
    overflow: hidden !important;
}

.site-property-detail-stage.site-property-detail-compact::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        linear-gradient(90deg, rgba(255,255,255,.04), transparent 42%, rgba(216,183,107,.08)),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.075), transparent 26%) !important;
}

.site-property-detail-stage.site-property-detail-compact > .site-container {
    position: relative !important;
    z-index: 1 !important;
}

.site-property-breadcrumb {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-bottom: 30px !important;
    color: rgba(255,255,255,.52) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.site-property-breadcrumb a {
    color: rgba(255,255,255,.66) !important;
    text-decoration: none !important;
}

.site-property-breadcrumb a:hover {
    color: #FFFFFF !important;
}

.site-property-breadcrumb strong {
    max-width: 620px !important;
    color: #D8B76B !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.site-property-detail-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr) !important;
    align-items: start !important;
    gap: clamp(28px, 4vw, 56px) !important;
}

.site-property-detail-compact .site-property-detail-gallery {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 0 !important;
}

.site-property-detail-compact .site-property-main-photo {
    position: relative !important;
    min-height: clamp(410px, 39vw, 560px) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 12px !important;
    background: #EAF0F7 !important;
    box-shadow: 0 30px 86px rgba(0,0,0,.30) !important;
    overflow: hidden !important;
}

.site-property-detail-compact .site-property-main-photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    display: block !important;
    object-fit: cover !important;
}

.site-property-photo-count {
    position: absolute !important;
    left: 50% !important;
    bottom: 16px !important;
    transform: translateX(-50%) !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.52) !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    backdrop-filter: blur(10px) !important;
}

.site-property-detail-compact .site-property-thumbs {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.site-property-detail-compact .site-property-thumbs button {
    height: 68px !important;
    width: 100% !important;
    padding: 0 !important;
    border: 2px solid transparent !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,.08) !important;
    overflow: hidden !important;
    cursor: pointer !important;
    opacity: .72 !important;
    box-shadow: none !important;
}

.site-property-detail-compact .site-property-thumbs button.is-active {
    border-color: #D8B76B !important;
    opacity: 1 !important;
}

.site-property-detail-compact .site-property-thumbs img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.site-property-detail-summary {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 20px !important;
    padding-top: 6px !important;
}

.site-property-detail-topline {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.site-property-detail-topline > span {
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .16em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-share {
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 11px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.06) !important;
    color: rgba(255,255,255,.66) !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

.site-property-detail-summary h1 {
    max-width: 720px !important;
    margin: 0 !important;
    color: #FFFFFF !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: clamp(33px, 4vw, 54px) !important;
    font-weight: 950 !important;
    letter-spacing: -.06em !important;
    line-height: 1.01 !important;
}

.site-property-detail-location {
    max-width: 620px !important;
    margin: -6px 0 0 !important;
    color: rgba(255,255,255,.66) !important;
    font-size: 14.5px !important;
    font-weight: 750 !important;
    line-height: 1.5 !important;
}

.site-property-detail-compact .site-property-detail-tags {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 0 !important;
}

.site-property-detail-compact .site-property-detail-tag {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    background: rgba(255,255,255,.07) !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .075em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-detail-compact .site-property-detail-tag-purpose {
    border-color: rgba(216,183,107,.48) !important;
    background: rgba(216,183,107,.13) !important;
    color: #F3D88B !important;
}

.site-property-detail-compact .site-property-detail-price {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.site-property-detail-compact .site-property-detail-price div {
    display: grid !important;
    gap: 5px !important;
    padding: 15px 16px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.055) !important;
}

.site-property-detail-compact .site-property-detail-price span {
    color: #D8B76B !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.site-property-detail-compact .site-property-detail-price strong {
    color: #FFFFFF !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    font-weight: 950 !important;
    letter-spacing: -.04em !important;
    line-height: 1 !important;
}

.site-property-detail-compact .site-property-detail-facts {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.site-property-detail-compact .site-property-detail-facts div {
    min-height: 74px !important;
    display: grid !important;
    align-content: center !important;
    gap: 7px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.055) !important;
    box-shadow: none !important;
}

.site-property-detail-compact .site-property-detail-facts span {
    order: 1 !important;
    color: rgba(255,255,255,.56) !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.site-property-detail-compact .site-property-detail-facts strong {
    order: 2 !important;
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    line-height: 1.1 !important;
}

.site-property-detail-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-top: 2px !important;
}

.site-property-detail-actions .site-btn {
    min-height: 48px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.site-property-detail-actions .site-btn-outline {
    border: 1px solid rgba(255,255,255,.18) !important;
    background: transparent !important;
    color: #FFFFFF !important;
}

.site-property-detail-actions .site-btn-outline:hover {
    background: rgba(255,255,255,.08) !important;
}

.site-property-detail-note {
    display: grid !important;
    gap: 5px !important;
    padding: 15px 16px !important;
    border: 1px solid rgba(216,183,107,.30) !important;
    border-radius: 12px !important;
    background: rgba(216,183,107,.08) !important;
}

.site-property-detail-note span {
    color: #D8B76B !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-detail-note strong {
    color: rgba(255,255,255,.82) !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
}

.site-property-detail-info-section {
    padding: clamp(58px, 7vw, 94px) 0 !important;
    background:
        radial-gradient(circle at 10% 0%, rgba(216,183,107,.12), transparent 30%),
        linear-gradient(180deg, #F6F8FB 0%, #FFFFFF 100%) !important;
}

.site-property-detail-info-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 360px !important;
    align-items: start !important;
    gap: clamp(28px, 4vw, 54px) !important;
}

.site-property-detail-info-section .site-property-detail-content {
    display: grid !important;
    gap: 22px !important;
}

.site-property-detail-info-section .site-property-detail-block {
    padding: clamp(24px, 3vw, 34px) !important;
    border: 1px solid rgba(216,225,236,.88) !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 20px 54px rgba(11,31,58,.07) !important;
}

.site-property-detail-info-section .site-property-detail-block h2 {
    margin: 0 !important;
    color: #0B1F3A !important;
    font-size: clamp(24px, 2.3vw, 32px) !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
    line-height: 1.08 !important;
}

.site-property-detail-info-section .site-property-detail-block p {
    margin: 15px 0 0 !important;
    color: rgba(11,31,58,.66) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.72 !important;
}

.site-property-detail-info-section .site-property-detail-info-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

.site-property-detail-info-section .site-property-detail-info-grid div {
    display: grid !important;
    gap: 6px !important;
    padding: 15px !important;
    border: 1px solid rgba(216,225,236,.82) !important;
    border-radius: 16px !important;
    background: #F7FAFD !important;
}

.site-property-detail-info-section .site-property-detail-info-grid span {
    color: rgba(11,31,58,.50) !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.site-property-detail-info-section .site-property-detail-info-grid strong {
    color: #0B1F3A !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

.site-property-side-panel {
    position: sticky !important;
    top: 96px !important;
}

.site-property-location-card {
    margin: 0 !important;
}

.site-property-detail-info-section .site-property-map-placeholder {
    min-height: 180px !important;
    display: grid !important;
    align-content: center !important;
    justify-items: center !important;
    gap: 8px !important;
    margin-top: 20px !important;
    padding: 24px !important;
    border: 1px dashed rgba(11,31,58,.18) !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 70% 24%, rgba(216,183,107,.18), transparent 22%),
        linear-gradient(135deg, #F6F9FC, #FFFFFF) !important;
    text-align: center !important;
}

@media (max-width: 1080px) {
    .site-property-detail-shell,
    .site-property-detail-info-layout {
        grid-template-columns: 1fr !important;
    }

    .site-property-side-panel {
        position: relative !important;
        top: auto !important;
    }

    .site-property-detail-summary {
        padding-top: 0 !important;
    }
}

@media (max-width: 760px) {
    .site-property-detail-stage.site-property-detail-compact {
        padding-top: 24px !important;
    }

    .site-property-breadcrumb {
        margin-bottom: 22px !important;
    }

    .site-property-detail-compact .site-property-main-photo {
        min-height: 340px !important;
        border-radius: 10px !important;
    }

    .site-property-detail-compact .site-property-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .site-property-detail-compact .site-property-thumbs button {
        height: 64px !important;
    }

    .site-property-detail-actions,
    .site-property-detail-compact .site-property-detail-price,
    .site-property-detail-info-section .site-property-detail-info-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    .site-property-detail-summary h1 {
        font-size: 32px !important;
    }

    .site-property-detail-compact .site-property-detail-facts {
        grid-template-columns: 1fr 1fr !important;
    }

    .site-property-detail-compact .site-property-main-photo {
        min-height: 300px !important;
    }
}

/* =========================================================
   PARTE 74 - REFINO DETALHE: ALTURA DA PRIMEIRA DOBRA + GALERIA
========================================================= */
.site-property-detail-stage.site-property-detail-compact{padding:24px 0 38px!important;}
.site-property-detail-stage.site-property-detail-compact .site-container{max-width:1280px!important;}
.site-property-breadcrumb{margin-bottom:20px!important;font-size:11px!important;gap:7px!important;}
.site-property-detail-shell{grid-template-columns:minmax(0,1.02fr) minmax(380px,.88fr)!important;gap:clamp(24px,3vw,44px)!important;align-items:start!important;}
.site-property-detail-compact .site-property-main-photo{min-height:0!important;height:clamp(390px,calc(100svh - 245px),520px)!important;max-height:520px!important;border-radius:10px!important;box-shadow:0 22px 64px rgba(0,0,0,.26)!important;}
.site-property-detail-compact .site-property-main-photo img{min-height:0!important;height:100%!important;}
.site-property-gallery-arrow{position:absolute!important;top:50%!important;z-index:4!important;width:40px!important;height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;background:rgba(0,0,0,.36)!important;color:#fff!important;cursor:pointer!important;transform:translateY(-50%)!important;backdrop-filter:blur(10px)!important;}
.site-property-gallery-arrow:hover{background:rgba(0,0,0,.55)!important;border-color:rgba(216,183,107,.55)!important;}
.site-property-gallery-arrow span{display:block!important;margin-top:-2px!important;font-size:28px!important;font-weight:700!important;line-height:1!important;}
.site-property-gallery-arrow-prev{left:14px!important;}
.site-property-gallery-arrow-next{right:14px!important;}
.site-property-photo-count{min-height:28px!important;bottom:13px!important;padding:0 12px!important;font-size:11px!important;}
.site-property-detail-compact .site-property-thumbs{grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:8px!important;}
.site-property-detail-compact .site-property-thumbs button{position:relative!important;height:54px!important;border-radius:6px!important;}
.site-property-detail-compact .site-property-thumbs button.is-hidden-thumb{display:none!important;}
.site-property-thumb-more{position:absolute!important;inset:0!important;z-index:2!important;display:grid!important;place-items:center!important;background:rgba(6,22,45,.72)!important;color:#fff!important;font-size:13px!important;font-weight:950!important;letter-spacing:-.02em!important;backdrop-filter:blur(4px)!important;}
.site-property-detail-summary{gap:13px!important;padding-top:2px!important;}
.site-property-detail-topline>span{font-size:10px!important;letter-spacing:.15em!important;}
.site-property-share{min-height:29px!important;padding:0 10px!important;font-size:10.5px!important;}
.site-property-detail-summary h1{max-width:620px!important;font-size:clamp(28px,3vw,42px)!important;letter-spacing:-.055em!important;line-height:1.04!important;}
.site-property-detail-location{margin:-2px 0 0!important;font-size:13px!important;line-height:1.42!important;}
.site-property-detail-compact .site-property-detail-tags{gap:7px!important;}
.site-property-detail-compact .site-property-detail-tag{min-height:25px!important;padding:0 9px!important;font-size:9.5px!important;}
.site-property-detail-compact .site-property-detail-price{grid-template-columns:minmax(0,260px) minmax(0,260px)!important;gap:10px!important;}
.site-property-detail-compact .site-property-detail-price div{padding:12px 14px!important;border-radius:10px!important;}
.site-property-detail-compact .site-property-detail-price span{font-size:9.5px!important;}
.site-property-detail-compact .site-property-detail-price strong{font-size:clamp(22px,2vw,30px)!important;}
.site-property-detail-compact .site-property-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.site-property-detail-compact .site-property-detail-facts div{min-height:58px!important;padding:11px 13px!important;border-radius:10px!important;gap:5px!important;}
.site-property-detail-compact .site-property-detail-facts span{font-size:10px!important;}
.site-property-detail-compact .site-property-detail-facts strong{font-size:14.5px!important;}
.site-property-detail-actions{gap:10px!important;}
.site-property-detail-actions .site-btn{min-height:42px!important;font-size:12.5px!important;}
.site-property-detail-note{padding:12px 14px!important;border-radius:10px!important;gap:4px!important;}
.site-property-detail-note span{font-size:9.5px!important;}
.site-property-detail-note strong{font-size:11.5px!important;line-height:1.35!important;}
.site-property-detail-info-section{padding:52px 0 72px!important;}
.site-property-detail-info-section .site-property-detail-block{border-radius:20px!important;}
@media(max-width:1180px){.site-property-detail-shell{grid-template-columns:1fr!important}.site-property-detail-compact .site-property-main-photo{height:clamp(340px,48vw,520px)!important}}
@media(max-width:760px){.site-property-detail-stage.site-property-detail-compact{padding-top:18px!important}.site-property-detail-compact .site-property-main-photo{height:330px!important;max-height:330px!important}.site-property-detail-compact .site-property-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))!important}.site-property-detail-compact .site-property-thumbs button{height:56px!important}.site-property-detail-summary h1{font-size:30px!important}.site-property-detail-compact .site-property-detail-price,.site-property-detail-actions{grid-template-columns:1fr!important}}
@media(max-width:520px){.site-property-detail-compact .site-property-main-photo{height:290px!important;max-height:290px!important}.site-property-gallery-arrow{width:36px!important;height:36px!important}.site-property-gallery-arrow-prev{left:10px!important}.site-property-gallery-arrow-next{right:10px!important}}



/* =========================================================
   PARTE 75 - DETALHE IMÓVEL: PRIMEIRA DOBRA + MODAL DE GALERIA
========================================================= */

/* Primeira área como hero: ocupa a dobra da tela sem mostrar a seção inferior cedo demais */
.site-property-detail-stage.site-property-detail-compact {
    min-height: calc(100svh - 64px) !important;
    display: flex !important;
    align-items: center !important;
    padding: 18px 0 24px !important;
}
.site-property-detail-stage.site-property-detail-compact > .site-container {
    width: 100% !important;
    max-width: 1260px !important;
    display: grid !important;
    gap: 17px !important;
}
.site-property-breadcrumb { margin-bottom: 0 !important; font-size: 10.5px !important; gap: 7px !important; }
.site-property-detail-shell {
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .86fr) !important;
    gap: clamp(22px, 3vw, 42px) !important;
}
.site-property-detail-compact .site-property-main-photo {
    height: clamp(360px, calc(100svh - 255px), 500px) !important;
    max-height: 500px !important;
    min-height: 0 !important;
}
.site-property-main-photo-open {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    cursor: zoom-in !important;
}
.site-property-main-photo-open img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
}
.site-property-detail-compact .site-property-thumbs { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; gap: 8px !important; }
.site-property-detail-compact .site-property-thumbs button { height: 50px !important; }
.site-property-detail-summary { gap: 11px !important; }
.site-property-detail-summary h1 { font-size: clamp(26px, 2.75vw, 39px) !important; line-height: 1.04 !important; max-width: 620px !important; }
.site-property-detail-location { font-size: 12.5px !important; }
.site-property-detail-compact .site-property-detail-tag { min-height: 24px !important; font-size: 9px !important; }
.site-property-detail-compact .site-property-detail-price div { padding: 10px 12px !important; }
.site-property-detail-compact .site-property-detail-price strong { font-size: clamp(21px, 1.9vw, 28px) !important; }
.site-property-detail-compact .site-property-detail-facts { gap: 9px !important; }
.site-property-detail-compact .site-property-detail-facts div { min-height: 52px !important; padding: 10px 12px !important; }
.site-property-detail-compact .site-property-detail-facts span { font-size: 9.5px !important; }
.site-property-detail-compact .site-property-detail-facts strong { font-size: 14px !important; }
.site-property-detail-actions .site-btn { min-height: 40px !important; }
.site-property-detail-note { padding: 10px 12px !important; }
.site-property-detail-info-section { padding-top: 64px !important; }

/* Modal */
.site-property-gallery-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px !important;
}
.site-property-gallery-modal.is-open { display: flex !important; }
.site-property-gallery-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(3, 12, 26, .88) !important;
    backdrop-filter: blur(10px) !important;
}
.site-property-gallery-modal-panel {
    position: relative !important;
    z-index: 1 !important;
    width: min(1180px, 100%) !important;
    height: min(760px, calc(100svh - 56px)) !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 18px !important;
    background: #06162D !important;
    box-shadow: 0 36px 110px rgba(0,0,0,.55) !important;
    overflow: hidden !important;
}
.site-property-gallery-modal-panel img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    background: #06162D !important;
}
.site-property-gallery-modal-top {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    right: 16px !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    pointer-events: none !important;
}
.site-property-gallery-modal-top span,
.site-property-gallery-modal-top button {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(0,0,0,.42) !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    backdrop-filter: blur(10px) !important;
    pointer-events: auto !important;
}
.site-property-gallery-modal-top button { cursor: pointer !important; }
.site-property-gallery-modal-arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 4 !important;
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.38) !important;
    color: #FFFFFF !important;
    cursor: pointer !important;
    transform: translateY(-50%) !important;
    backdrop-filter: blur(10px) !important;
}
.site-property-gallery-modal-arrow:hover { background: rgba(0,0,0,.56) !important; border-color: rgba(216,183,107,.60) !important; }
.site-property-gallery-modal-arrow span { display: block !important; margin-top: -3px !important; font-size: 34px !important; font-weight: 700 !important; line-height: 1 !important; }
.site-property-gallery-modal-prev { left: 20px !important; }
.site-property-gallery-modal-next { right: 20px !important; }
body.site-gallery-modal-open { overflow: hidden !important; }

@media (max-width: 1180px) {
    .site-property-detail-stage.site-property-detail-compact {
        min-height: auto !important;
        display: block !important;
        padding: 24px 0 42px !important;
    }
    .site-property-detail-compact .site-property-main-photo { height: clamp(340px, 48vw, 500px) !important; }
}
@media (max-width: 760px) {
    .site-property-detail-compact .site-property-main-photo { height: 330px !important; max-height: 330px !important; }
    .site-property-detail-compact .site-property-thumbs { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
    .site-property-gallery-modal { padding: 12px !important; }
    .site-property-gallery-modal-panel { height: calc(100svh - 24px) !important; border-radius: 14px !important; }
    .site-property-gallery-modal-arrow { width: 40px !important; height: 40px !important; }
    .site-property-gallery-modal-prev { left: 12px !important; }
    .site-property-gallery-modal-next { right: 12px !important; }
}


/* =========================================================
   PARTE 76 - DETALHE: MOBILE, MODAL REAL E INFORMAÇÕES NA DOBRA
========================================================= */

/*
    Correções:
    - Mobile deixa de quebrar em duas colunas.
    - Modal exibe imagem inteira, respeitando proporção real da foto.
    - Desktop usa melhor o espaço da primeira dobra com descrição/informações compactas.
    - Exibição considera possíveis flags do admin: exibir_*/mostrar_*/publicar_*.
*/

/* Mais informação útil na primeira dobra */
.site-property-inline-overview {
    display: grid !important;
    gap: 10px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.045) !important;
}

.site-property-inline-overview p {
    max-height: 64px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12.2px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.site-property-inline-info {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
}

.site-property-inline-info div {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
    padding: 8px 9px !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.045) !important;
}

.site-property-inline-info span {
    overflow: hidden !important;
    color: rgba(255,255,255,.46) !important;
    font-size: 8.7px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.site-property-inline-info strong {
    overflow: hidden !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Modal: imagem real, sem corte, sem forçar proporção */
.site-property-gallery-modal-panel {
    padding: 0 !important;
}

.site-property-gallery-modal-panel img[data-property-modal-image],
.site-property-gallery-modal-panel > img {
    width: auto !important;
    height: auto !important;
    max-width: calc(100% - 28px) !important;
    max-height: calc(100% - 28px) !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* Primeira dobra desktop: reduz o "sobrando" sem trazer seção inferior cedo demais */
@media (min-width: 1181px) {
    .site-property-detail-stage.site-property-detail-compact {
        min-height: calc(100svh - 64px) !important;
        padding-top: 14px !important;
        padding-bottom: 18px !important;
    }

    .site-property-detail-stage.site-property-detail-compact > .site-container {
        gap: 14px !important;
    }

    .site-property-detail-compact .site-property-main-photo {
        height: clamp(370px, calc(100svh - 232px), 510px) !important;
        max-height: 510px !important;
    }

    .site-property-detail-summary {
        gap: 9px !important;
    }

    .site-property-detail-summary h1 {
        font-size: clamp(25px, 2.55vw, 37px) !important;
    }

    .site-property-detail-compact .site-property-detail-price strong {
        font-size: clamp(20px, 1.75vw, 27px) !important;
    }

    .site-property-detail-compact .site-property-detail-facts div {
        min-height: 48px !important;
        padding: 9px 11px !important;
    }

    .site-property-detail-actions .site-btn {
        min-height: 38px !important;
    }

    .site-property-detail-note {
        padding: 9px 11px !important;
    }
}

/* Mobile: força layout empilhado, sem sobreposição */
@media (max-width: 900px) {
    .site-property-detail-stage.site-property-detail-compact {
        min-height: auto !important;
        display: block !important;
        padding: 18px 0 36px !important;
    }

    .site-property-detail-stage.site-property-detail-compact > .site-container {
        width: 100% !important;
        max-width: none !important;
        display: block !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        overflow: hidden !important;
    }

    .site-property-breadcrumb {
        display: flex !important;
        margin-bottom: 16px !important;
        max-width: 100% !important;
        overflow: hidden !important;
        font-size: 10px !important;
    }

    .site-property-breadcrumb strong {
        max-width: 100% !important;
        white-space: normal !important;
    }

    .site-property-detail-shell {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 20px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .site-property-detail-gallery,
    .site-property-detail-summary {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .site-property-detail-summary {
        order: 1 !important;
        gap: 12px !important;
        padding: 0 !important;
    }

    .site-property-detail-gallery {
        order: 2 !important;
    }

    .site-property-detail-topline {
        gap: 10px !important;
    }

    .site-property-share {
        flex: 0 0 auto !important;
        max-width: 118px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .site-property-detail-summary h1 {
        max-width: 100% !important;
        font-size: clamp(26px, 8vw, 34px) !important;
        line-height: 1.06 !important;
        overflow-wrap: anywhere !important;
    }

    .site-property-detail-location {
        max-width: 100% !important;
        font-size: 12.5px !important;
    }

    .site-property-detail-compact .site-property-detail-price,
    .site-property-detail-compact .site-property-detail-facts,
    .site-property-detail-actions,
    .site-property-inline-info {
        grid-template-columns: 1fr 1fr !important;
    }

    .site-property-inline-overview p {
        max-height: none !important;
        font-size: 12px !important;
    }

    .site-property-detail-compact .site-property-main-photo {
        width: 100% !important;
        height: 300px !important;
        max-height: 300px !important;
        min-height: 0 !important;
    }

    .site-property-detail-compact .site-property-thumbs {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 7px !important;
    }

    .site-property-detail-compact .site-property-thumbs button {
        height: 52px !important;
    }

    .site-property-detail-info-layout {
        display: block !important;
    }
}

@media (max-width: 520px) {
    .site-property-detail-stage.site-property-detail-compact > .site-container {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .site-property-detail-summary h1 {
        font-size: 27px !important;
    }

    .site-property-detail-compact .site-property-detail-price,
    .site-property-detail-actions,
    .site-property-inline-info {
        grid-template-columns: 1fr !important;
    }

    .site-property-detail-compact .site-property-detail-facts {
        grid-template-columns: 1fr 1fr !important;
    }

    .site-property-detail-compact .site-property-main-photo {
        height: 280px !important;
        max-height: 280px !important;
    }

    .site-property-gallery-modal {
        padding: 10px !important;
    }

    .site-property-gallery-modal-panel img[data-property-modal-image],
    .site-property-gallery-modal-panel > img {
        max-width: calc(100% - 14px) !important;
        max-height: calc(100% - 14px) !important;
    }
}


/* =========================================================
   PARTE 77 - DETALHE RESPEITANDO PARAMETRIZAÇÃO DO ADMIN
========================================================= */

/*
    Respeita:
    - Endereço exibido no anúncio
    - Exibir valores
    - Exibir condomínio/IPTU
    - Exibir mapa no site
    - Exibir características
*/

.site-property-inline-features {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 1px !important;
}

.site-property-inline-features span {
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 9px !important;
    border: 1px solid rgba(216,183,107,.24) !important;
    border-radius: 999px !important;
    background: rgba(216,183,107,.09) !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

.site-property-features-grid {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    margin-top: 20px !important;
}

.site-property-features-grid span {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 13px !important;
    border: 1px solid rgba(216,225,236,.82) !important;
    border-radius: 999px !important;
    background: #F7FAFD !important;
    color: #0B1F3A !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

/* Quando o mapa for oculto pelo admin, o card de localização não fica com espaço sobrando */
.site-property-location-card:not(:has(.site-property-map-placeholder)) {
    align-content: start !important;
}

/* Fallback para navegadores sem :has */
.site-property-location-card p:last-child {
    margin-bottom: 0 !important;
}

/* Ajustes para a primeira dobra receber mais dados sem ficar pesada */
@media (min-width: 1181px) {
    .site-property-inline-overview {
        padding: 10px 12px !important;
        gap: 8px !important;
    }

    .site-property-inline-overview p {
        max-height: 48px !important;
        font-size: 11.8px !important;
    }

    .site-property-inline-info {
        gap: 6px !important;
    }

    .site-property-inline-info div {
        padding: 7px 8px !important;
    }

    .site-property-inline-features span {
        min-height: 22px !important;
        font-size: 9.5px !important;
    }
}

@media (max-width: 900px) {
    .site-property-inline-features {
        gap: 6px !important;
    }

    .site-property-inline-features span {
        font-size: 9.5px !important;
    }

    .site-property-features-grid span {
        min-height: 32px !important;
        font-size: 11.5px !important;
    }
}


/* =========================================================
   PARTE 79 - DETALHE DINÂMICO: CARACTERÍSTICAS + VÍDEOS
========================================================= */

/*
    Organização:
    - primeira dobra: resumo + chips curtos de comodidades
    - seção inferior: dados, características agrupadas e vídeos
    - mobile: foto primeiro, depois informações
*/

.site-property-inline-description {
    display: grid !important;
    gap: 5px !important;
}

.site-property-inline-description > span {
    color: #D8B76B !important;
    font-size: 9.5px !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-inline-description p {
    max-height: 54px !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 11.8px !important;
    font-weight: 700 !important;
    line-height: 1.42 !important;
}

.site-property-inline-info {
    display: none !important;
}

.site-property-features-groups {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 20px !important;
}

.site-property-features-group {
    min-width: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 12px !important;
    padding: 16px !important;
    border: 1px solid rgba(216,225,236,.82) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 16% 8%, rgba(216,183,107,.12), transparent 32%),
        #F7FAFD !important;
}

.site-property-features-group h3 {
    margin: 0 !important;
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    line-height: 1.15 !important;
}

.site-property-features-group .site-property-features-grid {
    margin-top: 0 !important;
    gap: 8px !important;
}

.site-property-features-group .site-property-features-grid span {
    min-height: 31px !important;
    background: #FFFFFF !important;
}

/* Vídeos */
.site-property-videos-card {
    overflow: hidden !important;
}

.site-property-videos-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 20px !important;
}

.site-property-video-card {
    min-width: 0 !important;
    display: grid !important;
    overflow: hidden !important;
    border: 1px solid rgba(216,225,236,.88) !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
    box-shadow: 0 16px 42px rgba(11,31,58,.06) !important;
}

.site-property-video-frame {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    background: #06162D !important;
}

.site-property-video-frame iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}

.site-property-video-fallback {
    min-height: 180px !important;
    display: grid !important;
    place-items: center !important;
    background:
        radial-gradient(circle at 20% 10%, rgba(216,183,107,.22), transparent 30%),
        linear-gradient(135deg, #071B3A, #102F58) !important;
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.site-property-video-caption {
    display: grid !important;
    gap: 5px !important;
    padding: 14px 15px !important;
}

.site-property-video-caption strong {
    color: #0B1F3A !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    line-height: 1.25 !important;
}

.site-property-video-caption span {
    color: #B98B3D !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

/* Mobile: imagem como prioridade */
@media (max-width: 900px) {
    .site-property-detail-shell {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
    }

    .site-property-detail-gallery {
        order: 1 !important;
    }

    .site-property-detail-summary {
        order: 2 !important;
    }

    .site-property-inline-description p {
        max-height: none !important;
        font-size: 12px !important;
    }

    .site-property-features-groups,
    .site-property-videos-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .site-property-features-group {
        padding: 14px !important;
    }

    .site-property-video-fallback {
        min-height: 150px !important;
    }
}


/* =========================================================
   PARTE 80 - MÍDIAS NA GALERIA + MODAL SEM CORTE
========================================================= */

/*
    Ajustes:
    - Vídeos passam a fazer parte da galeria junto com fotos.
    - Bloco de vídeo separado lá embaixo foi removido.
    - Modal não estica nem corta imagem: respeita a proporção real.
    - Resumo e características não ficam mais apertados no mesmo bloco.
*/

/* Resumo limpo, sem chips de características grudados */
.site-property-inline-summary-only {
    padding: 12px 14px !important;
}

.site-property-inline-summary-only .site-property-inline-description p {
    max-height: 72px !important;
}

/* Thumbs de vídeo junto com fotos */
.site-property-video-thumb {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    gap: 3px !important;
    padding: 6px !important;
    border: 2px solid transparent !important;
    border-radius: 6px !important;
    background:
        radial-gradient(circle at 18% 12%, rgba(216,183,107,.22), transparent 32%),
        linear-gradient(135deg, #071B3A, #102F58) !important;
    color: #FFFFFF !important;
    overflow: hidden !important;
    cursor: pointer !important;
    opacity: .86 !important;
}

.site-property-video-thumb.is-active {
    border-color: #D8B76B !important;
    opacity: 1 !important;
}

.site-property-video-thumb-icon {
    width: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(216,183,107,.92) !important;
    color: #071B3A !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.site-property-video-thumb small {
    max-width: 100% !important;
    overflow: hidden !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 8px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Modal com área real de mídia */
.site-property-gallery-modal-panel {
    width: min(1220px, calc(100vw - 44px)) !important;
    height: min(780px, calc(100svh - 44px)) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    overflow: hidden !important;
}

.site-property-gallery-modal-media {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    background: #06162D !important;
}

/* Regra importante: imagem no modal nunca pode cortar nem esticar */
.site-property-gallery-modal-panel .site-property-modal-image,
.site-property-gallery-modal-media .site-property-modal-image,
img[data-property-modal-image].site-property-modal-image {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
    background: #06162D !important;
}

/* Vídeo dentro do modal */
.site-property-modal-video {
    width: min(100%, 1120px) !important;
    aspect-ratio: 16 / 9 !important;
    max-height: 100% !important;
    display: none !important;
    border: 0 !important;
    background: #06162D !important;
}

.site-property-modal-video-link {
    min-height: 48px !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 18px !important;
    border: 1px solid rgba(216,183,107,.42) !important;
    border-radius: 999px !important;
    background: rgba(216,183,107,.12) !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    text-decoration: none !important;
}

.site-property-gallery-modal.is-video .site-property-modal-image {
    display: none !important;
}

.site-property-gallery-modal.is-video .site-property-modal-video.has-video {
    display: block !important;
}

.site-property-gallery-modal.is-video .site-property-modal-video-link.has-video-link {
    display: inline-flex !important;
}

/* Na primeira dobra, características não ficam mais amassadas no resumo */
.site-property-detail-summary .site-property-inline-features {
    display: none !important;
}

/* Características continuam bonitas e separadas na seção inferior */
.site-property-features-card .site-property-features-groups {
    margin-top: 18px !important;
}

@media (max-width: 900px) {
    .site-property-detail-gallery {
        order: 1 !important;
    }

    .site-property-detail-summary {
        order: 2 !important;
    }

    .site-property-gallery-modal-panel {
        width: calc(100vw - 20px) !important;
        height: calc(100svh - 20px) !important;
        padding: 10px !important;
    }

    .site-property-inline-summary-only .site-property-inline-description p {
        max-height: none !important;
    }
}

@media (max-width: 520px) {
    .site-property-video-thumb small {
        display: none !important;
    }

    .site-property-video-thumb-icon {
        width: 22px !important;
        height: 22px !important;
    }
}


/* =========================================================
   PARTE 81 - FOTO PADRÃO: FOTOS EM BREVE
========================================================= */

/*
    Quando o imóvel não tiver fotos cadastradas:
    - usa /assets/img/fotos_em_breve.svg
    - não distorce no card
    - não distorce na página de detalhe
*/

.site-property-photo img[src$="fotos_em_breve.svg"],
.site-property-main-photo img[src$="fotos_em_breve.svg"],
.site-property-gallery-modal img[src$="fotos_em_breve.svg"] {
    object-fit: contain !important;
    background:
        radial-gradient(circle at 72% 20%, rgba(216,183,107,.14), transparent 28%),
        linear-gradient(135deg, #EEF4FA, #FFFFFF) !important;
}

.site-property-photo:has(img[src$="fotos_em_breve.svg"]),
.site-property-main-photo:has(img[src$="fotos_em_breve.svg"]) {
    background:
        radial-gradient(circle at 72% 20%, rgba(216,183,107,.14), transparent 28%),
        linear-gradient(135deg, #EEF4FA, #FFFFFF) !important;
}


/* =========================================================
   PARTE 82 - FOTO EM BREVE NO CARD + FUNDO AJUSTADO
========================================================= */

/*
    Correções:
    - O card agora também usa /assets/img/fotos_em_breve.svg quando não houver foto cadastrada.
    - Remove o fundo branco estranho em volta do SVG.
    - Na listagem/card e na foto principal, a imagem padrão preenche melhor a área.
    - No modal continua respeitando proporção real.
*/

/* Card e foto principal: sem faixa/fundo branco ao redor */
.site-property-photo,
.site-property-main-photo,
.site-property-main-photo-open {
    background:
        radial-gradient(circle at 50% 8%, rgba(216,183,107,.18), transparent 28%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
}

.site-property-photo img[src$="fotos_em_breve.svg"],
.site-property-main-photo img[src$="fotos_em_breve.svg"],
.site-property-main-photo-open img[src$="fotos_em_breve.svg"] {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    background:
        radial-gradient(circle at 50% 8%, rgba(216,183,107,.18), transparent 28%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
}

/* Se o navegador suportar :has, escurece o container da imagem padrão */
.site-property-photo:has(img[src$="fotos_em_breve.svg"]),
.site-property-main-photo:has(img[src$="fotos_em_breve.svg"]) {
    background:
        radial-gradient(circle at 50% 8%, rgba(216,183,107,.18), transparent 28%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
}

/* Modal: mantém proporção real, sem esticar/cortar */
.site-property-gallery-modal-panel img[src$="fotos_em_breve.svg"],
.site-property-gallery-modal-media img[src$="fotos_em_breve.svg"],
.site-property-modal-image[src$="fotos_em_breve.svg"] {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #06162D !important;
}

/* Miniatura da imagem padrão */
.site-property-thumbs img[src$="fotos_em_breve.svg"] {
    object-fit: cover !important;
    background: #071B3A !important;
}


/* =========================================================
   PARTE 83 - HELPER GLOBAL: FOTOS EM BREVE
========================================================= */

/*
    O problema estava no helper global site_foto_url().
    A home/listagem usa esse helper; por isso ainda aparecia site-property-placeholder.svg.
    Agora o fallback global é /assets/img/fotos_em_breve.svg.
*/

.site-property-photo img[src*="site-property-placeholder.svg"] {
    content: url("/assets/img/fotos_em_breve.svg") !important;
    object-fit: cover !important;
    object-position: center !important;
    background:
        radial-gradient(circle at 50% 8%, rgba(216,183,107,.18), transparent 28%),
        linear-gradient(135deg, #071B3A 0%, #0B1F3A 58%, #102F58 100%) !important;
}


/* =========================================================
   PARTE 84 - VÍDEO NA GALERIA + COMPARTILHAR
========================================================= */

/*
    Ajustes:
    - Miniatura de vídeo fica elegante e sem texto espremido.
    - Clique no vídeo continua abrindo o modal direto no player.
    - Botão compartilhar usa SVG e Web Share API/clipboard via JS.
    - Modal reforçado para não cortar nem esticar foto.
*/

/* Topline com botão de compartilhar mais claro */
.site-property-detail-topline {
    align-items: center !important;
}

.site-property-share {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(216,183,107,.34) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.065) !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    backdrop-filter: blur(12px) !important;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, color .18s ease !important;
}

.site-property-share svg {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 auto !important;
    color: #D8B76B !important;
}

.site-property-share span {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
}

.site-property-share:hover {
    border-color: rgba(216,183,107,.72) !important;
    background: rgba(216,183,107,.12) !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

.site-property-share.is-copied {
    border-color: rgba(216,183,107,.80) !important;
    background: rgba(216,183,107,.18) !important;
    color: #FFFFFF !important;
}

/* Miniatura de vídeo: sem título grande esmagado */
.site-property-video-thumb {
    isolation: isolate !important;
    min-width: 0 !important;
    padding: 0 !important;
    border-radius: 7px !important;
    background:
        radial-gradient(circle at 50% 30%, rgba(216,183,107,.24), transparent 34%),
        linear-gradient(135deg, #071B3A 0%, #102F58 100%) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.site-property-video-thumb::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.06), transparent 42%),
        radial-gradient(circle at 78% 18%, rgba(216,183,107,.20), transparent 28%) !important;
}

.site-property-video-thumb-icon {
    width: 28px !important;
    height: 28px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #D8B76B !important;
    color: #071B3A !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.22) !important;
}

.site-property-video-thumb-icon svg {
    width: 15px !important;
    height: 15px !important;
    margin-left: 1px !important;
}

.site-property-video-thumb-badge {
    position: absolute !important;
    left: 5px !important;
    right: 5px !important;
    bottom: 4px !important;
    height: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(0,0,0,.36) !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 7.5px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(8px) !important;
}

.site-property-video-thumb small {
    display: none !important;
}

/* Garante que clicar em vídeo seja entendido como abrir galeria */
.site-property-video-thumb:hover {
    border-color: rgba(216,183,107,.74) !important;
    opacity: 1 !important;
}

/* Modal: regra final e mais específica para foto real sem corte/esticar */
body .site-property-gallery-modal .site-property-gallery-modal-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body .site-property-gallery-modal .site-property-gallery-modal-media {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

body .site-property-gallery-modal .site-property-gallery-modal-media img.site-property-modal-image[data-property-modal-image],
body .site-property-gallery-modal img.site-property-modal-image[data-property-modal-image] {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    flex: 0 1 auto !important;
}

/* Vídeo no modal */
body .site-property-gallery-modal.is-video .site-property-gallery-modal-media {
    padding: clamp(12px, 2vw, 22px) !important;
}

body .site-property-gallery-modal.is-video .site-property-modal-video.has-video {
    width: min(100%, 1120px) !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: calc(100% - 4px) !important;
}

/* Mobile */
@media (max-width: 900px) {
    .site-property-share {
        min-height: 32px !important;
        padding: 0 11px !important;
        gap: 7px !important;
    }

    .site-property-share span {
        font-size: 10.5px !important;
    }
}

@media (max-width: 520px) {
    .site-property-share {
        width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        border-radius: 999px !important;
    }

    .site-property-share span {
        display: none !important;
    }

    .site-property-share svg {
        width: 16px !important;
        height: 16px !important;
    }

    .site-property-video-thumb-icon {
        width: 25px !important;
        height: 25px !important;
    }

    .site-property-video-thumb-badge {
        display: none !important;
    }
}


/* =========================================================
   PARTE 85 - MINIATURA DE VÍDEO PREMIUM
========================================================= */

/*
    Nova proposta:
    - usa thumbnail real do YouTube quando disponível
    - remove o quadradinho grosseiro
    - mostra apenas ícone de play + selo discreto "Tour"
    - continua abrindo a galeria direto no vídeo
*/

.site-property-video-thumb {
    position: relative !important;
    isolation: isolate !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background:
        radial-gradient(circle at 50% 32%, rgba(216,183,107,.22), transparent 35%),
        linear-gradient(135deg, #071B3A 0%, #102F58 100%) !important;
    overflow: hidden !important;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.10),
        0 8px 18px rgba(0,0,0,.13) !important;
}

.site-property-video-thumb.has-video-thumb-image {
    background: #06162D !important;
}

.site-property-video-thumb-img {
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.04) !important;
}

.site-property-video-thumb-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background:
        linear-gradient(180deg, rgba(7,27,58,.20) 0%, rgba(7,27,58,.66) 100%),
        radial-gradient(circle at 50% 45%, rgba(0,0,0,.10), rgba(0,0,0,.42)) !important;
}

.site-property-video-thumb-icon {
    width: 25px !important;
    height: 25px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(216,183,107,.95) !important;
    color: #071B3A !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.30) !important;
}

.site-property-video-thumb-icon svg {
    width: 13px !important;
    height: 13px !important;
    margin-left: 1px !important;
}

.site-property-video-thumb-badge {
    position: absolute !important;
    left: 5px !important;
    bottom: 5px !important;
    right: auto !important;
    width: auto !important;
    height: 15px !important;
    min-width: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;
    background: rgba(7,27,58,.62) !important;
    color: #FFFFFF !important;
    font-size: 7px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(8px) !important;
}

.site-property-video-thumb:hover {
    border-color: rgba(216,183,107,.82) !important;
    opacity: 1 !important;
}

.site-property-video-thumb:hover .site-property-video-thumb-img {
    transform: scale(1.10) !important;
}

.site-property-video-thumb-img {
    transition: transform .22s ease !important;
}

/* Remove restos visuais da proposta anterior */
.site-property-video-thumb small {
    display: none !important;
}

/* Mobile: deixa só play, sem selo para não poluir */
@media (max-width: 520px) {
    .site-property-video-thumb-badge {
        display: none !important;
    }

    .site-property-video-thumb-icon {
        width: 24px !important;
        height: 24px !important;
    }
}


/* =========================================================
   PARTE 86 - VÍDEO COMO AÇÃO DA GALERIA, NÃO COMO MINIATURA
========================================================= */

/*
    Nova proposta:
    - O vídeo não aparece mais como quadradinho na faixa de miniaturas.
    - Ele continua existindo na galeria/modal.
    - A chamada fica sobre a foto principal como botão "Tour em vídeo".
    - Ao clicar, abre o modal diretamente no vídeo.
*/

/* Esconde completamente a miniatura de vídeo da faixa */
.site-property-thumbs .site-property-video-thumb,
.site-property-thumbs .is-video-media-hidden {
    display: none !important;
}

/* Botão de tour sobre a foto principal */
.site-property-video-tour-button {
    position: absolute !important;
    right: 16px !important;
    bottom: 13px !important;
    z-index: 5 !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 0 13px 0 8px !important;
    border: 1px solid rgba(216,183,107,.55) !important;
    border-radius: 999px !important;
    background: rgba(7, 27, 58, .70) !important;
    color: #FFFFFF !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.22) !important;
    backdrop-filter: blur(12px) !important;
    transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

.site-property-video-tour-button:hover {
    border-color: rgba(216,183,107,.88) !important;
    background: rgba(7, 27, 58, .88) !important;
    transform: translateY(-1px) !important;
}

.site-property-video-tour-icon {
    width: 24px !important;
    height: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #D8B76B !important;
    color: #071B3A !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.site-property-video-tour-icon svg {
    width: 13px !important;
    height: 13px !important;
    margin-left: 1px !important;
}

/* Como o contador fica centralizado, o botão vai no canto direito e não briga visualmente */
.site-property-photo-count {
    left: 50% !important;
    right: auto !important;
}

/* Mobile */
@media (max-width: 760px) {
    .site-property-video-tour-button {
        right: 12px !important;
        bottom: 12px !important;
        min-height: 32px !important;
        padding-right: 11px !important;
        font-size: 10.5px !important;
    }

    .site-property-video-tour-icon {
        width: 22px !important;
        height: 22px !important;
    }
}

@media (max-width: 420px) {
    .site-property-video-tour-button > span:last-child {
        display: none !important;
    }

    .site-property-video-tour-button {
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        justify-content: center !important;
        padding: 0 !important;
    }

    .site-property-video-tour-icon {
        width: 26px !important;
        height: 26px !important;
    }
}

/* =========================================================
   PARTE 87 - CARD DO IMÓVEL COM INDICADOR DE VÍDEO
   Mostra selo somente quando houver vídeo ativo em imoveis_videos.
========================================================= */

.site-property-card-has-video .site-property-photo::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background:
        linear-gradient(180deg, rgba(7, 27, 58, .08) 0%, rgba(7, 27, 58, .06) 48%, rgba(7, 27, 58, .50) 100%) !important;
}

.site-property-card-has-video .site-property-photo img {
    transition: transform .28s ease, filter .28s ease !important;
}

.site-property-card-has-video:hover .site-property-photo img {
    transform: scale(1.035) !important;
    filter: saturate(1.05) contrast(1.02) !important;
}

.site-property-card-video-flag {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 4 !important;
    min-height: 42px !important;
    display: inline-grid !important;
    grid-template-columns: 34px auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    column-gap: 10px !important;
    padding: 7px 12px 7px 7px !important;
    border: 1px solid rgba(255,255,255,.32) !important;
    border-radius: 999px !important;
    background: rgba(7, 27, 58, .88) !important;
    color: #FFFFFF !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.24) !important;
    backdrop-filter: blur(14px) !important;
    pointer-events: none !important;
}

.site-property-card-video-flag svg {
    grid-row: 1 / 3 !important;
    width: 34px !important;
    height: 34px !important;
    display: block !important;
    padding: 9px !important;
    border-radius: 999px !important;
    background: #D8B76B !important;
    color: #071B3A !important;
}

.site-property-card-video-flag b {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #FFFFFF !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .07em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

.site-property-card-video-flag small {
    display: block !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.72) !important;
    font-family: "DM Sans", Inter, system-ui, sans-serif !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-property-overline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
}

.site-property-overline-video {
    min-height: 21px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .13) !important;
    color: #8A6621 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .055em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

@media (max-width: 520px) {
    .site-property-card-video-flag {
        min-height: 38px !important;
        grid-template-columns: 30px auto !important;
        padding: 6px 10px 6px 6px !important;
    }

    .site-property-card-video-flag svg {
        width: 30px !important;
        height: 30px !important;
        padding: 8px !important;
    }

    .site-property-card-video-flag b {
        font-size: 10px !important;
    }

    .site-property-card-video-flag small {
        display: none !important;
    }
}


/* =========================================================
   PARTE 89 - VÍDEO DISCRETO NA GALERIA
   Mantém vídeo como item da galeria, mas remove o bloco grande.
   Exibe apenas uma chamada leve e alinhada próxima às miniaturas.
========================================================= */

/* Garante que o vídeo continue aparecendo como quadradinho da galeria. */
.site-property-thumbs .site-property-video-thumb,
.site-property-thumbs .is-video-media-hidden {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Não usa mais o botão grande sobre a foto principal. */
.site-property-video-tour-button {
    display: none !important;
}

/* Chamada discreta, sem card branco, sem altura exagerada. */
.site-property-video-callout {
    margin: 9px 0 7px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.site-property-video-gallery-call {
    width: auto !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, .78) !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: color .18s ease, opacity .18s ease, transform .18s ease !important;
}

.site-property-video-gallery-call:hover {
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
}

.site-property-video-gallery-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid rgba(216, 183, 107, .42) !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .12) !important;
    color: #D8B76B !important;
    box-shadow: none !important;
}

.site-property-video-gallery-icon svg {
    width: 13px !important;
    height: 13px !important;
    margin-left: 1px !important;
}

.site-property-video-gallery-copy {
    display: inline !important;
    min-width: 0 !important;
    color: inherit !important;
    white-space: normal !important;
}

.site-property-video-gallery-call:hover .site-property-video-gallery-copy {
    text-decoration: underline !important;
    text-decoration-color: rgba(216, 183, 107, .70) !important;
    text-underline-offset: 3px !important;
}

/* Miniatura do vídeo: fica como mídia da galeria, mas sem competir com o layout. */
.site-property-detail-compact .site-property-thumbs .site-property-video-thumb,
.site-property-thumbs .site-property-video-thumb {
    position: relative !important;
    isolation: isolate !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(216,183,107,.20), transparent 36%),
        linear-gradient(135deg, #071B3A 0%, #12335F 100%) !important;
    overflow: hidden !important;
    opacity: .88 !important;
    box-shadow: none !important;
}

.site-property-detail-compact .site-property-thumbs .site-property-video-thumb.is-active,
.site-property-thumbs .site-property-video-thumb.is-active {
    opacity: 1 !important;
    border-color: #D8B76B !important;
}

.site-property-video-thumb.has-video-thumb-image {
    background: #06162D !important;
}

.site-property-video-thumb-img {
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.04) !important;
    transition: transform .22s ease !important;
}

.site-property-video-thumb-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background:
        linear-gradient(180deg, rgba(7,27,58,.16) 0%, rgba(7,27,58,.68) 100%),
        radial-gradient(circle at 50% 45%, rgba(0,0,0,.05), rgba(0,0,0,.38)) !important;
}

.site-property-video-thumb-icon {
    width: 26px !important;
    height: 26px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(216,183,107,.94) !important;
    color: #071B3A !important;
    box-shadow:
        0 7px 16px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.28) !important;
}

.site-property-video-thumb-icon svg {
    width: 14px !important;
    height: 14px !important;
    margin-left: 2px !important;
}

.site-property-video-thumb-badge {
    position: absolute !important;
    left: 5px !important;
    bottom: 5px !important;
    min-height: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 999px !important;
    background: rgba(7,27,58,.62) !important;
    color: #FFFFFF !important;
    font-size: 7px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(8px) !important;
}

.site-property-video-thumb:hover {
    border-color: rgba(216,183,107,.78) !important;
    opacity: 1 !important;
}

.site-property-video-thumb:hover .site-property-video-thumb-img {
    transform: scale(1.09) !important;
}

/* Garante que o +N continue correto quando o vídeo cair na posição limite. */
.site-property-video-thumb .site-property-thumb-more {
    z-index: 5 !important;
}

@media (max-width: 520px) {
    .site-property-video-callout {
        margin: 8px 0 6px !important;
    }

    .site-property-video-gallery-call {
        font-size: 11px !important;
        gap: 6px !important;
    }

    .site-property-video-gallery-icon {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
    }

    .site-property-video-gallery-icon svg {
        width: 12px !important;
        height: 12px !important;
    }

    .site-property-video-thumb-badge {
        display: none !important;
    }
}


/* =========================================================
   PARTE 90 - VÍDEO NO OVERLAY + MINIATURA NA GALERIA
   Mantém a miniatura do vídeo e volta com o botão elegante
   sobre a foto principal, sem criar faixa/lacuna entre foto e galeria.
========================================================= */

/* Remove qualquer faixa textual entre a foto principal e as miniaturas. */
.site-property-video-callout {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* O botão volta para o canto inferior da foto principal, no estilo da primeira proposta. */
.site-property-video-tour-button {
    position: absolute !important;
    right: 16px !important;
    bottom: 13px !important;
    z-index: 8 !important;
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    padding: 0 13px 0 8px !important;
    border: 1px solid rgba(216, 183, 107, .62) !important;
    border-radius: 999px !important;
    background: rgba(7, 27, 58, .76) !important;
    color: #FFFFFF !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .24) !important;
    backdrop-filter: blur(12px) !important;
    transition: background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.site-property-video-tour-button:hover {
    border-color: rgba(216, 183, 107, .92) !important;
    background: rgba(7, 27, 58, .90) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 34px rgba(0, 0, 0, .30) !important;
}

.site-property-video-tour-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: #D8B76B !important;
    color: #071B3A !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

.site-property-video-tour-icon svg {
    width: 13px !important;
    height: 13px !important;
    margin-left: 1px !important;
}

/* Mantém o contador centralizado e o botão no canto direito. */
.site-property-photo-count {
    left: 50% !important;
    right: auto !important;
}

/* O vídeo continua sendo uma mídia real da galeria/miniaturas. */
.site-property-thumbs .site-property-video-thumb,
.site-property-thumbs .is-video-media-hidden {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.site-property-detail-compact .site-property-thumbs .site-property-video-thumb,
.site-property-thumbs .site-property-video-thumb {
    position: relative !important;
    isolation: isolate !important;
    padding: 0 !important;
    border-radius: 8px !important;
    background:
        radial-gradient(circle at 50% 38%, rgba(216, 183, 107, .20), transparent 36%),
        linear-gradient(135deg, #071B3A 0%, #12335F 100%) !important;
    overflow: hidden !important;
    opacity: .92 !important;
    box-shadow: none !important;
}

.site-property-detail-compact .site-property-thumbs .site-property-video-thumb.is-active,
.site-property-thumbs .site-property-video-thumb.is-active {
    opacity: 1 !important;
    border-color: #D8B76B !important;
}

.site-property-video-thumb.has-video-thumb-image {
    background: #06162D !important;
}

.site-property-video-thumb-img {
    position: absolute !important;
    inset: 0 !important;
    z-index: -2 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.04) !important;
    transition: transform .22s ease !important;
}

.site-property-video-thumb-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: -1 !important;
    background:
        linear-gradient(180deg, rgba(7, 27, 58, .16) 0%, rgba(7, 27, 58, .68) 100%),
        radial-gradient(circle at 50% 45%, rgba(0, 0, 0, .05), rgba(0, 0, 0, .38)) !important;
}

.site-property-video-thumb-icon {
    width: 26px !important;
    height: 26px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 999px !important;
    background: rgba(216, 183, 107, .94) !important;
    color: #071B3A !important;
    box-shadow:
        0 7px 16px rgba(0, 0, 0, .25),
        inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

.site-property-video-thumb-icon svg {
    width: 14px !important;
    height: 14px !important;
    margin-left: 2px !important;
}

.site-property-video-thumb-badge {
    position: absolute !important;
    left: 5px !important;
    bottom: 5px !important;
    min-height: 15px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 6px !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 999px !important;
    background: rgba(7, 27, 58, .62) !important;
    color: #FFFFFF !important;
    font-size: 7px !important;
    font-weight: 950 !important;
    letter-spacing: .05em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    backdrop-filter: blur(8px) !important;
}

.site-property-video-thumb:hover {
    border-color: rgba(216, 183, 107, .78) !important;
    opacity: 1 !important;
}

.site-property-video-thumb:hover .site-property-video-thumb-img {
    transform: scale(1.09) !important;
}

.site-property-video-thumb .site-property-thumb-more {
    z-index: 5 !important;
}

@media (max-width: 760px) {
    .site-property-video-tour-button {
        right: 12px !important;
        bottom: 12px !important;
        min-height: 32px !important;
        padding-right: 11px !important;
        font-size: 10.5px !important;
    }

    .site-property-video-tour-icon {
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
    }
}

@media (max-width: 520px) {
    .site-property-video-thumb-badge {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .site-property-video-tour-button > span:last-child {
        display: none !important;
    }

    .site-property-video-tour-button {
        width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        justify-content: center !important;
        padding: 0 !important;
    }

    .site-property-video-tour-icon {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
    }
}
/* =========================================================
   SITE PÚBLICO - PARTE 91
   Detalhe do imóvel: cards alinhados, CTAs com ícones e modal mobile
========================================================= */

/* Cards do topo sempre com a mesma largura visual. */
.site-property-detail-compact .site-property-detail-price,
.site-property-detail-compact .site-property-detail-facts,
.site-property-detail-actions-enhanced {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.site-property-detail-compact .site-property-detail-price div,
.site-property-detail-compact .site-property-detail-facts div {
    width: 100% !important;
    min-width: 0 !important;
}

/* Quando sobrar um card sozinho, ele não fica perdido desalinhado. */
.site-property-detail-compact .site-property-detail-facts div:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
}

/* CTAs mais fortes e com ícones. */
.site-property-detail-actions-enhanced {
    margin-top: 4px !important;
}

.site-property-detail-actions-enhanced .site-btn {
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.16) !important;
}

.site-property-action-interest {
    border-color: rgba(216,183,107,.92) !important;
    background: #D8B76B !important;
    color: #071B3A !important;
}

.site-property-action-interest:hover {
    background: #E6C77B !important;
    border-color: #E6C77B !important;
}

.site-property-action-team {
    border-color: rgba(216,183,107,.45) !important;
    background: rgba(255,255,255,.08) !important;
    color: #FFFFFF !important;
}

.site-property-action-team:hover {
    border-color: rgba(216,183,107,.82) !important;
    background: rgba(255,255,255,.13) !important;
}

.site-property-action-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: currentColor !important;
}

.site-property-action-icon svg {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
}

.site-property-action-icon-whatsapp {
    background: currentColor !important;
    -webkit-mask-image: url("/assets/img/icons/whatsapp.svg") !important;
    mask-image: url("/assets/img/icons/whatsapp.svg") !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    mask-position: center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
}

/* O bloco de atendimento foi removido no HTML; este fallback evita sobra caso exista cache antigo. */
.site-property-detail-note {
    display: none !important;
}

/* Resumo não pode controlar a altura do topo. */
.site-property-summary-preview {
    padding: 10px 12px !important;
    border-radius: 10px !important;
}

.site-property-summary-preview .site-property-inline-description p {
    display: -webkit-box !important;
    max-height: none !important;
    overflow: hidden !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    color: rgba(255,255,255,.72) !important;
    font-size: 11.8px !important;
    line-height: 1.4 !important;
}

.site-property-summary-more {
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: 1px !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.site-property-summary-more:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

#sobre-imovel {
    scroll-margin-top: 92px !important;
}

/* Modal mobile: botão de fechar sempre visível. */
@media (max-width: 760px) {
    .site-property-gallery-modal {
        padding: 0 !important;
    }

    .site-property-gallery-modal-panel {
        width: 100vw !important;
        height: 100svh !important;
        border-radius: 0 !important;
        border: 0 !important;
        padding: 10px !important;
        touch-action: pan-y !important;
    }

    .site-property-gallery-modal-top {
        top: max(12px, env(safe-area-inset-top)) !important;
        left: 12px !important;
        right: 12px !important;
        z-index: 60 !important;
        pointer-events: none !important;
    }

    .site-property-gallery-modal-top span {
        min-height: 32px !important;
        padding: 0 12px !important;
        background: rgba(0,0,0,.58) !important;
        pointer-events: auto !important;
    }

    .site-property-gallery-modal-top button[data-property-modal-close] {
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        display: inline-grid !important;
        place-items: center !important;
        padding: 0 !important;
        border-radius: 999px !important;
        border: 1px solid rgba(255,255,255,.22) !important;
        background: rgba(0,0,0,.62) !important;
        color: #FFFFFF !important;
        font-size: 0 !important;
        line-height: 1 !important;
        box-shadow: 0 10px 28px rgba(0,0,0,.34) !important;
        pointer-events: auto !important;
    }

    .site-property-gallery-modal-top button[data-property-modal-close]::before {
        content: "×" !important;
        display: block !important;
        margin-top: -2px !important;
        color: #FFFFFF !important;
        font-size: 30px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
    }

    .site-property-gallery-modal-media {
        touch-action: pan-y !important;
    }

    .site-property-gallery-modal-arrow {
        width: 38px !important;
        height: 38px !important;
        opacity: .82 !important;
    }

    .site-property-gallery-modal-prev {
        left: 10px !important;
    }

    .site-property-gallery-modal-next {
        right: 10px !important;
    }
}

@media (max-width: 620px) {
    .site-property-detail-compact .site-property-detail-price,
    .site-property-detail-actions-enhanced {
        grid-template-columns: 1fr !important;
    }

    .site-property-detail-compact .site-property-detail-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-property-detail-compact .site-property-detail-facts div:last-child:nth-child(odd) {
        grid-column: 1 / -1 !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 92
   Botões padronizados: azul como ação principal e dourado apenas como acento
========================================================= */

:root {
    --cb-action-primary: #071B3A;
    --cb-action-primary-hover: #0B2346;
    --cb-action-primary-soft: rgba(7, 27, 58, .08);
    --cb-action-gold: #D8B76B;
    --cb-action-gold-hover: #E6C77B;
    --cb-action-border-light: rgba(255, 255, 255, .24);
    --cb-action-border-dark: rgba(7, 27, 58, .18);
}

/* Base comum: evita cada botão parecer de um layout diferente. */
.site-btn {
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    border-radius: 14px !important;
    padding: 0 20px !important;
    font-family: "DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease !important;
}

.site-btn:hover {
    transform: translateY(-1px) !important;
}

/* Ação principal do site: sempre azul escuro. */
.site-btn-primary,
.site-hero-search-panel .site-btn-primary,
.site-hero-search-panel .site-btn-block.site-btn-primary {
    border: 1px solid rgba(7, 27, 58, .96) !important;
    background: var(--cb-action-primary) !important;
    color: #FFFFFF !important;
    box-shadow: 0 16px 34px rgba(7, 27, 58, .18) !important;
}

.site-btn-primary:hover,
.site-hero-search-panel .site-btn-primary:hover,
.site-hero-search-panel .site-btn-block.site-btn-primary:hover {
    border-color: var(--cb-action-primary-hover) !important;
    background: var(--cb-action-primary-hover) !important;
    box-shadow: 0 20px 42px rgba(7, 27, 58, .22) !important;
}

/* Ação secundária em áreas claras. */
.site-btn-outline,
.site-hero-search-panel .site-owner-cta .site-btn-outline,
.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline {
    border: 1px solid rgba(7, 27, 58, .24) !important;
    background: rgba(255, 255, 255, .72) !important;
    color: var(--cb-action-primary) !important;
    box-shadow: none !important;
}

.site-btn-outline:hover,
.site-hero-search-panel .site-owner-cta .site-btn-outline:hover,
.site-hero-search-panel .site-owner-cta.site-owner-cta-gold .site-btn-outline:hover {
    border-color: rgba(201, 164, 92, .64) !important;
    background: #FFFFFF !important;
    color: var(--cb-action-primary) !important;
    box-shadow: 0 14px 30px rgba(7, 27, 58, .10) !important;
}

/* Card "Proprietário de imóvel?" segue a mesma linguagem do formulário. */
.site-hero-search-panel .site-owner-cta,
.site-hero-search-panel .site-owner-cta.site-owner-cta-gold {
    border: 1px solid rgba(255,255,255,.78) !important;
    background: rgba(255,255,255,.90) !important;
    box-shadow: 0 18px 44px rgba(7,27,58,.14) !important;
}

.site-hero-search-panel .site-owner-cta strong,
.site-hero-search-panel .site-owner-cta.site-owner-cta-gold strong {
    color: var(--cb-action-primary) !important;
}

/* Detalhe do imóvel: remove o dourado chapado do CTA principal. */
.site-property-detail-actions-enhanced {
    gap: 10px !important;
}

.site-property-detail-actions-enhanced .site-btn {
    min-height: 46px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.site-property-action-interest,
.site-property-detail-actions-enhanced .site-property-action-interest {
    border: 1px solid rgba(216, 183, 107, .34) !important;
    background: #071B3A !important;
    color: #FFFFFF !important;
    box-shadow: 0 16px 34px rgba(0,0,0,.18) !important;
}

.site-property-action-interest:hover,
.site-property-detail-actions-enhanced .site-property-action-interest:hover {
    border-color: rgba(216, 183, 107, .54) !important;
    background: #0B2346 !important;
    color: #FFFFFF !important;
}

.site-property-action-interest .site-property-action-icon {
    color: var(--cb-action-gold) !important;
}

.site-property-action-team,
.site-property-detail-actions-enhanced .site-property-action-team {
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.045) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.site-property-action-team:hover,
.site-property-detail-actions-enhanced .site-property-action-team:hover {
    border-color: rgba(216,183,107,.50) !important;
    background: rgba(255,255,255,.085) !important;
    color: #FFFFFF !important;
}

.site-property-action-team .site-property-action-icon,
.site-property-action-team .site-property-action-icon-whatsapp {
    color: #FFFFFF !important;
}

/* Compartilhar acompanha o padrão secundário discreto da tela escura. */
.site-property-share {
    border-color: rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.055) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

.site-property-share:hover {
    border-color: rgba(216,183,107,.46) !important;
    background: rgba(255,255,255,.09) !important;
}

.site-property-share svg {
    color: var(--cb-action-gold) !important;
}

/* Botão de vídeo mantém o dourado como acento, não como bloco pesado. */
.site-property-video-tour-button,
.site-property-main-video-button {
    border-color: rgba(216,183,107,.70) !important;
    background: rgba(7,27,58,.72) !important;
    color: #FFFFFF !important;
    backdrop-filter: blur(10px) !important;
}

.site-property-video-tour-button:hover,
.site-property-main-video-button:hover {
    border-color: rgba(216,183,107,.92) !important;
    background: rgba(7,27,58,.88) !important;
}

/* Links/botões de navegação mantêm o mesmo raio e peso visual. */
.site-featured-link,
.site-nav-capture,
.site-nav .site-nav-admin {
    border-radius: 999px !important;
}

@media (max-width: 620px) {
    .site-btn {
        min-height: 46px !important;
    }

    .site-property-detail-actions-enhanced .site-btn {
        min-height: 48px !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 93
   Modal mobile: fechar fixo dentro da galeria
========================================================= */

.site-property-gallery-modal-floating-close {
    display: none !important;
}

@media (max-width: 760px) {
    body.site-gallery-modal-open .site-header {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal.is-open {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100svh !important;
        padding: 0 !important;
        background: #06162D !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 1 !important;
        background: rgba(3, 12, 26, .96) !important;
        backdrop-filter: blur(8px) !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-panel {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100svh !important;
        max-width: none !important;
        max-height: none !important;
        padding: max(62px, calc(env(safe-area-inset-top) + 48px)) 12px max(58px, calc(env(safe-area-inset-bottom) + 46px)) !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #06162D !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-media {
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        max-height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        background: #06162D !important;
        overflow: hidden !important;
        touch-action: pan-y !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-media img.site-property-modal-image[data-property-modal-image],
    body.site-gallery-modal-open .site-property-gallery-modal img.site-property-modal-image[data-property-modal-image] {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-top {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483002 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100svh !important;
        pointer-events: none !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-top button[data-property-modal-close] {
        display: none !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-top span[data-property-modal-counter] {
        position: fixed !important;
        left: 50% !important;
        bottom: max(14px, calc(env(safe-area-inset-bottom) + 10px)) !important;
        transform: translateX(-50%) !important;
        z-index: 2147483003 !important;
        min-height: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 12px !important;
        border: 1px solid rgba(255,255,255,.18) !important;
        border-radius: 999px !important;
        background: rgba(0,0,0,.62) !important;
        color: #FFFFFF !important;
        font-size: 12px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        backdrop-filter: blur(10px) !important;
        pointer-events: none !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-floating-close {
        position: fixed !important;
        top: max(14px, calc(env(safe-area-inset-top) + 10px)) !important;
        right: max(14px, calc(env(safe-area-inset-right) + 12px)) !important;
        z-index: 2147483004 !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border: 1px solid rgba(255,255,255,.26) !important;
        border-radius: 999px !important;
        background: rgba(0,0,0,.68) !important;
        color: #FFFFFF !important;
        box-shadow: 0 12px 34px rgba(0,0,0,.38) !important;
        backdrop-filter: blur(12px) !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-floating-close span {
        display: block !important;
        margin-top: -2px !important;
        color: #FFFFFF !important;
        font-size: 32px !important;
        font-weight: 400 !important;
        line-height: 1 !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-arrow {
        position: fixed !important;
        z-index: 2147483003 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 42px !important;
        height: 42px !important;
        background: rgba(0,0,0,.48) !important;
        border-color: rgba(255,255,255,.18) !important;
        opacity: .92 !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-prev {
        left: 12px !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-next {
        right: 12px !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal.is-video .site-property-gallery-modal-media {
        padding: 0 !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal.is-video .site-property-modal-video.has-video {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        max-height: 100% !important;
    }
}


/* =========================================================
   SITE PÚBLICO - PARTE 94
   Ajustes mobile: fechar do modal e selo de vídeo no card
========================================================= */

/* Fecha o modal com ícone SVG limpo, sem X tipográfico estourado. */
.site-property-gallery-modal-floating-close svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
}

@media (max-width: 760px) {
    body.site-gallery-modal-open .site-property-gallery-modal-floating-close {
        top: max(12px, calc(env(safe-area-inset-top) + 10px)) !important;
        right: max(12px, calc(env(safe-area-inset-right) + 10px)) !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        border: 1px solid rgba(255,255,255,.22) !important;
        background: rgba(3, 12, 26, .74) !important;
        color: #FFFFFF !important;
        box-shadow: 0 14px 32px rgba(0,0,0,.34) !important;
        backdrop-filter: blur(12px) !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-floating-close span {
        display: none !important;
    }

    body.site-gallery-modal-open .site-property-gallery-modal-floating-close svg {
        width: 20px !important;
        height: 20px !important;
        display: block !important;
    }
}

/* Ajusta o selo de vídeo dos cards no mobile para não parecer botão desalinhado/pesado. */
@media (max-width: 620px) {
    .site-property-card-video-flag {
        right: 12px !important;
        bottom: 12px !important;
        min-height: 36px !important;
        grid-template-columns: 28px auto !important;
        column-gap: 8px !important;
        padding: 5px 11px 5px 5px !important;
        border-color: rgba(216,183,107,.68) !important;
        background: rgba(7, 27, 58, .86) !important;
        box-shadow: 0 12px 26px rgba(0,0,0,.24) !important;
    }

    .site-property-card-video-flag svg {
        width: 28px !important;
        height: 28px !important;
        padding: 8px !important;
        background: #D8B76B !important;
        color: #071B3A !important;
    }

    .site-property-card-video-flag b {
        font-size: 9.5px !important;
        letter-spacing: .06em !important;
        line-height: 1 !important;
    }

    .site-property-card-video-flag small {
        display: none !important;
    }

    .site-featured-showcase .site-property-overline {
        align-items: center !important;
        gap: 6px !important;
    }

    .site-featured-showcase .site-property-overline-video,
    .site-property-overline-video {
        min-height: 20px !important;
        padding: 0 8px !important;
        font-size: 9px !important;
        letter-spacing: .055em !important;
    }
}

@media (max-width: 420px) {
    .site-property-card-video-flag {
        right: 11px !important;
        bottom: 11px !important;
        min-height: 34px !important;
        grid-template-columns: 26px auto !important;
        padding: 4px 10px 4px 4px !important;
    }

    .site-property-card-video-flag svg {
        width: 26px !important;
        height: 26px !important;
        padding: 7px !important;
    }

    .site-property-card-video-flag b {
        font-size: 9px !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 95
   Card mobile: selo de vídeo alinhado e menos pesado
   Correção apenas visual do property-card no mobile.
========================================================= */

@media (max-width: 620px) {
    .site-property-card .site-property-photo {
        position: relative !important;
    }

    .site-property-card-video-flag {
        right: 11px !important;
        bottom: 11px !important;
        min-width: 0 !important;
        width: auto !important;
        min-height: 34px !important;
        height: 34px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        column-gap: 0 !important;
        padding: 4px 11px 4px 4px !important;
        border: 1px solid rgba(216, 183, 107, .58) !important;
        border-radius: 999px !important;
        background: rgba(7, 27, 58, .86) !important;
        box-shadow: 0 10px 24px rgba(0, 0, 0, .22) !important;
        backdrop-filter: blur(12px) !important;
        transform: none !important;
    }

    .site-property-card-video-flag svg {
        flex: 0 0 26px !important;
        grid-row: auto !important;
        width: 26px !important;
        height: 26px !important;
        display: block !important;
        padding: 7px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: #D8B76B !important;
        color: #071B3A !important;
    }

    .site-property-card-video-flag b {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #FFFFFF !important;
        font-size: 9px !important;
        font-weight: 950 !important;
        letter-spacing: .065em !important;
        line-height: 1 !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
        transform: translateY(0) !important;
    }

    .site-property-card-video-flag small {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .site-property-card-video-flag {
        right: 10px !important;
        bottom: 10px !important;
        height: 32px !important;
        min-height: 32px !important;
        gap: 6px !important;
        padding: 3px 10px 3px 3px !important;
    }

    .site-property-card-video-flag svg {
        flex-basis: 26px !important;
        width: 26px !important;
        height: 26px !important;
        padding: 7px !important;
    }

    .site-property-card-video-flag b {
        font-size: 8.8px !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 96
   Detalhe inferior limpo: remove redundância e card lateral móvel
========================================================= */

.site-property-detail-info-section-clean {
    padding: clamp(54px, 6vw, 84px) 0 clamp(68px, 7vw, 96px) !important;
    background:
        radial-gradient(circle at 12% 0%, rgba(216, 183, 107, .09), transparent 30%),
        linear-gradient(180deg, #F7F9FC 0%, #FFFFFF 100%) !important;
}

.site-property-detail-info-layout-clean,
.site-property-detail-info-section-clean .site-property-detail-info-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 980px) !important;
    justify-content: center !important;
    align-items: start !important;
    gap: 0 !important;
}

.site-property-detail-info-section-clean .site-property-detail-content {
    width: 100% !important;
    display: grid !important;
    gap: 18px !important;
}

.site-property-detail-info-section-clean .site-property-side-panel,
.site-property-detail-info-section-clean .site-property-location-card {
    display: none !important;
}

.site-property-detail-info-section-clean .site-property-detail-block {
    padding: clamp(24px, 3vw, 34px) !important;
    border: 1px solid rgba(216, 225, 236, .92) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 20px 58px rgba(11, 31, 58, .055) !important;
}

.site-property-detail-info-section-clean .site-property-detail-block h2 {
    margin: 0 !important;
    color: #0B1F3A !important;
    font-size: clamp(25px, 2.2vw, 32px) !important;
    font-weight: 950 !important;
    letter-spacing: -.05em !important;
    line-height: 1.08 !important;
}

.site-property-detail-info-section-clean .site-property-detail-block p {
    max-width: 860px !important;
    margin: 16px 0 0 !important;
    color: rgba(11, 31, 58, .68) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.78 !important;
}

.site-property-detail-complement-grid,
.site-property-detail-info-section-clean .site-property-detail-info-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(178px, 1fr)) !important;
    gap: 10px !important;
    margin-top: 20px !important;
}

.site-property-detail-info-section-clean .site-property-detail-info-grid div {
    min-height: 74px !important;
    display: grid !important;
    align-content: center !important;
    gap: 6px !important;
    padding: 14px 15px !important;
    border: 1px solid rgba(216, 225, 236, .88) !important;
    border-radius: 15px !important;
    background: #F7FAFD !important;
    box-shadow: none !important;
}

.site-property-detail-info-section-clean .site-property-detail-info-grid span {
    color: rgba(11, 31, 58, .48) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .095em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-detail-info-section-clean .site-property-detail-info-grid strong {
    color: #0B1F3A !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.25 !important;
}

.site-property-detail-info-section-clean .site-property-features-groups {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    align-items: start !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

.site-property-detail-info-section-clean .site-property-features-group {
    min-height: 0 !important;
    display: grid !important;
    align-content: start !important;
    gap: 12px !important;
    padding: 16px !important;
    border: 1px solid rgba(216, 225, 236, .86) !important;
    border-radius: 16px !important;
    background: #F7FAFD !important;
    box-shadow: none !important;
}

.site-property-detail-info-section-clean .site-property-features-group h3 {
    margin: 0 !important;
    color: #0B1F3A !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    line-height: 1.18 !important;
}

.site-property-detail-info-section-clean .site-property-features-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 0 !important;
}

.site-property-detail-info-section-clean .site-property-features-grid span {
    min-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 12px !important;
    border: 1px solid rgba(216, 225, 236, .88) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: #0B1F3A !important;
    font-size: 11.5px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    .site-property-detail-info-section-clean {
        padding: 42px 0 64px !important;
    }

    .site-property-detail-info-layout-clean,
    .site-property-detail-info-section-clean .site-property-detail-info-layout {
        grid-template-columns: 1fr !important;
    }

    .site-property-detail-complement-grid,
    .site-property-detail-info-section-clean .site-property-detail-info-grid,
    .site-property-detail-info-section-clean .site-property-features-groups {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    .site-property-detail-info-section-clean .site-property-detail-block {
        padding: 22px !important;
        border-radius: 18px !important;
    }

    .site-property-detail-info-section-clean .site-property-detail-block h2 {
        font-size: 26px !important;
    }

    .site-property-detail-info-section-clean .site-property-detail-block p {
        font-size: 14px !important;
        line-height: 1.68 !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 97
   Detalhe: endereço público sem número/complemento + custos adicionais
========================================================= */

.site-property-detail-extra-costs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: -4px !important;
}

.site-property-detail-extra-costs div {
    min-height: 54px !important;
    display: grid !important;
    align-content: center !important;
    gap: 4px !important;
    padding: 10px 13px !important;
    border: 1px solid rgba(216, 183, 107, .34) !important;
    border-radius: 13px !important;
    background: rgba(216, 183, 107, .075) !important;
    box-shadow: none !important;
}

.site-property-detail-extra-costs span {
    color: rgba(216, 183, 107, .95) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.site-property-detail-extra-costs strong {
    color: #FFFFFF !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
}

.site-property-detail-location {
    max-width: 100% !important;
    color: rgba(255, 255, 255, .74) !important;
}

.site-property-detail-info-section-clean .site-property-detail-complement-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}

@media (max-width: 700px) {
    .site-property-detail-extra-costs {
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    .site-property-detail-extra-costs div {
        min-height: 50px !important;
        padding: 9px 11px !important;
        border-radius: 12px !important;
    }

    .site-property-detail-extra-costs strong {
        font-size: 13.5px !important;
    }
}

@media (max-width: 420px) {
    .site-property-detail-extra-costs {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SITE PÚBLICO - PARTE 98
   Card com tipo + vídeo e prévia social do compartilhamento
========================================================= */

.site-property-overline .site-property-overline-kind,
.site-property-overline span.site-property-overline-kind,
.site-property-overline span:first-child:nth-last-child(2),
.site-property-overline span:first-child:nth-last-child(2) + span {
    display: inline-flex !important;
}

.site-featured-showcase .site-property-overline .site-property-overline-kind,
.site-featured-showcase .site-property-overline-video,
.site-property-overline-video {
    display: inline-flex !important;
    align-items: center !important;
}

.site-property-overline {
    gap: 7px !important;
}

.site-property-overline-video {
    margin-left: 0 !important;
}

@media (max-width: 620px) {
    .site-property-overline {
        align-items: flex-start !important;
        gap: 6px !important;
    }

    .site-property-overline .site-property-overline-kind,
    .site-property-overline-video {
        min-height: 20px !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 102
   Ícones de dormitórios, banheiros e vagas nos cards e detalhe
========================================================= */

.site-property-card .site-property-meta .site-property-meta-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-property-card .site-property-meta .site-property-meta-icon::before {
    content: "";
    width: 14px;
    height: 14px;
    display: inline-block;
    flex: 0 0 14px;
    background: currentColor;
    opacity: .86;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-property-card .site-property-meta .site-property-meta-bed::before {
    -webkit-mask-image: url('/assets/img/icons/dormitorio.svg');
    mask-image: url('/assets/img/icons/dormitorio.svg');
}

.site-property-card .site-property-meta .site-property-meta-bath::before {
    -webkit-mask-image: url('/assets/img/icons/banheiro.svg');
    mask-image: url('/assets/img/icons/banheiro.svg');
}

.site-property-card .site-property-meta .site-property-meta-car::before {
    -webkit-mask-image: url('/assets/img/icons/vaga.svg');
    mask-image: url('/assets/img/icons/vaga.svg');
}

.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bed,
.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bath,
.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-car {
    position: relative !important;
    padding-left: 46px !important;
}

.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bed::before,
.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bath::before,
.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-car::before {
    content: "";
    position: absolute;
    left: 14px;
    top: 50%;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    background: var(--cb-gold-500);
    opacity: .96;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bed::before {
    -webkit-mask-image: url('/assets/img/icons/dormitorio.svg');
    mask-image: url('/assets/img/icons/dormitorio.svg');
}

.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bath::before {
    -webkit-mask-image: url('/assets/img/icons/banheiro.svg');
    mask-image: url('/assets/img/icons/banheiro.svg');
}

.site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-car::before {
    -webkit-mask-image: url('/assets/img/icons/vaga.svg');
    mask-image: url('/assets/img/icons/vaga.svg');
}

@media (max-width: 620px) {
    .site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bed,
    .site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bath,
    .site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-car {
        padding-left: 42px !important;
    }

    .site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bed::before,
    .site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-bath::before,
    .site-property-detail-compact .site-property-detail-facts .site-property-detail-fact-car::before {
        left: 12px;
        width: 18px;
        height: 18px;
    }
}

/* =========================================================
   SITE PÚBLICO - NOTA DISCRETA DO ANÚNCIO
   Observação separada, alinhada ao conteúdo dos cards
========================================================= */

.site-property-detail-info-section-clean .site-property-disclaimer-note {
    width: 100% !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    margin: -2px 0 0 !important;
    padding: 0 clamp(24px, 3vw, 34px) !important;
    color: rgba(11, 31, 58, .52) !important;
}

.site-property-detail-info-section-clean .site-property-disclaimer-note::before {
    content: "" !important;
    flex: 0 0 6px !important;
    width: 6px !important;
    height: 6px !important;
    margin-top: .72em !important;
    border-radius: 999px !important;
    background: #C9A45C !important;
    opacity: .72 !important;
}

.site-property-detail-info-section-clean .site-property-disclaimer-note p {
    max-width: 880px !important;
    margin: 0 !important;
    color: inherit !important;
    font-size: 12.5px !important;
    font-weight: 650 !important;
    letter-spacing: -.005em !important;
    line-height: 1.62 !important;
}

.site-property-detail-info-section-clean .site-property-disclaimer-note strong {
    color: rgba(11, 31, 58, .66) !important;
    font-weight: 850 !important;
}

@media (max-width: 520px) {
    .site-property-detail-info-section-clean .site-property-disclaimer-note {
        gap: 8px !important;
        padding: 0 22px !important;
    }

    .site-property-detail-info-section-clean .site-property-disclaimer-note p {
        font-size: 12px !important;
        line-height: 1.58 !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 104
   Lead do imóvel: modal elegante + aviso de retorno
========================================================= */

.site-property-lead-feedback {
    max-width: 640px !important;
    margin: 0 0 18px auto !important;
    padding: 12px 15px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}

.site-property-lead-feedback.is-success {
    border: 1px solid rgba(216,183,107,.40) !important;
    background: rgba(216,183,107,.12) !important;
    color: #F7E5A9 !important;
}

.site-property-lead-feedback.is-error {
    border: 1px solid rgba(255,255,255,.18) !important;
    background: rgba(255,255,255,.08) !important;
    color: #FFFFFF !important;
}

.site-property-action-interest {
    appearance: none !important;
    font-family: inherit !important;
}

.site-property-lead-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
}

.site-property-lead-modal.is-open {
    display: flex !important;
}

.site-property-lead-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(7, 27, 58, .72) !important;
    backdrop-filter: blur(12px) !important;
}

.site-property-lead-modal-panel {
    position: relative !important;
    z-index: 1 !important;
    width: min(100%, 620px) !important;
    max-height: min(92vh, 820px) !important;
    display: grid !important;
    gap: 18px !important;
    padding: clamp(22px, 3vw, 32px) !important;
    border: 1px solid rgba(216,183,107,.24) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.12), transparent 34%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%) !important;
    box-shadow: 0 36px 120px rgba(3, 12, 26, .36) !important;
    overflow: auto !important;
}

.site-property-lead-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(11,31,58,.12) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.76) !important;
    color: #0B1F3A !important;
    cursor: pointer !important;
}

.site-property-lead-close svg {
    width: 18px !important;
    height: 18px !important;
}

.site-property-lead-head {
    max-width: 470px !important;
    display: grid !important;
    gap: 7px !important;
    padding-right: 36px !important;
}

.site-property-lead-head > span {
    color: #C9A45C !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.site-property-lead-head h2 {
    margin: 0 !important;
    color: #0B1F3A !important;
    font-size: clamp(26px, 3vw, 34px) !important;
    font-weight: 950 !important;
    letter-spacing: -.045em !important;
    line-height: 1.05 !important;
}

.site-property-lead-head p {
    margin: 0 !important;
    color: rgba(11,31,58,.62) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
}

.site-property-lead-property {
    display: grid !important;
    gap: 4px !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(11,31,58,.10) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.76) !important;
}

.site-property-lead-property span {
    color: rgba(11,31,58,.48) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.site-property-lead-property strong {
    color: #0B1F3A !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

.site-property-lead-form {
    display: grid !important;
    gap: 14px !important;
}

.site-property-lead-row {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.site-property-lead-form label:not(.site-property-lead-check) {
    display: grid !important;
    gap: 7px !important;
}

.site-property-lead-form label > span {
    color: rgba(11,31,58,.72) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.site-property-lead-form input[type="text"],
.site-property-lead-form input[type="tel"],
.site-property-lead-form input[type="email"],
.site-property-lead-form textarea {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid rgba(11,31,58,.13) !important;
    border-radius: 14px !important;
    padding: 0 14px !important;
    background: #FFFFFF !important;
    color: #0B1F3A !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    outline: none !important;
    box-shadow: none !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

.site-property-lead-form textarea {
    min-height: 92px !important;
    padding-top: 13px !important;
    resize: vertical !important;
}

.site-property-lead-form input:focus,
.site-property-lead-form textarea:focus {
    border-color: rgba(201,164,92,.75) !important;
    box-shadow: 0 0 0 4px rgba(201,164,92,.13) !important;
}

.site-property-lead-check {
    width: fit-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    color: rgba(11,31,58,.62) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    cursor: pointer !important;
}

.site-property-lead-check input {
    width: 16px !important;
    height: 16px !important;
    accent-color: #C9A45C !important;
}

.site-property-lead-submit {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.site-property-lead-form.is-submitting .site-property-lead-submit {
    pointer-events: none !important;
    opacity: .72 !important;
}

.site-property-lead-form.is-submitting .site-property-lead-submit::after {
    content: "..." !important;
}

.site-property-lead-error {
    padding: 11px 13px !important;
    border: 1px solid rgba(130, 28, 28, .16) !important;
    border-radius: 13px !important;
    background: rgba(130, 28, 28, .06) !important;
    color: #7B1F1F !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.42 !important;
}

.site-property-lead-privacy {
    margin: -2px 0 0 !important;
    color: rgba(11,31,58,.46) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.45 !important;
    text-align: center !important;
}

.site-property-lead-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

body.site-lead-modal-open {
    overflow: hidden !important;
}

@media (max-width: 760px) {
    .site-property-lead-feedback {
        max-width: none !important;
        margin: 0 0 14px !important;
    }

    .site-property-lead-modal {
        padding: 14px !important;
    }

    .site-property-lead-modal-panel {
        border-radius: 20px !important;
    }

    .site-property-lead-row {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 105
   Lead do imóvel: aviso flutuante temporário após envio
========================================================= */
.site-property-lead-toast {
    position: fixed !important;
    left: 50% !important;
    top: 86px !important;
    z-index: 10050 !important;
    width: min(calc(100vw - 32px), 430px) !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(201,164,92,.30) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.96) !important;
    color: #0B1F3A !important;
    box-shadow: 0 18px 50px rgba(11,31,58,.16) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translate(-50%, -12px) !important;
    transition: opacity .24s ease, transform .24s ease !important;
}

.site-property-lead-toast.is-visible {
    opacity: 1 !important;
    transform: translate(-50%, 0) !important;
}

.site-property-lead-toast-icon {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(201,164,92,.14) !important;
    color: #B38A3E !important;
}

.site-property-lead-toast-icon svg {
    width: 20px !important;
    height: 20px !important;
}

.site-property-lead-toast-text {
    min-width: 0 !important;
    display: grid !important;
    gap: 1px !important;
}

.site-property-lead-toast-text strong {
    color: #0B1F3A !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
}

.site-property-lead-toast-text small {
    color: rgba(11,31,58,.62) !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

@media (max-width: 640px) {
    .site-property-lead-toast {
        top: 14px !important;
        width: min(calc(100vw - 24px), 420px) !important;
        padding: 12px 13px !important;
        border-radius: 16px !important;
    }
}

/* =========================================================
   SITE PÚBLICO - PARTE 112
   Correção UX: modal de lead no mobile + envio com feedback
========================================================= */

.site-property-lead-modal {
    z-index: 12000 !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom)) !important;
}

.site-property-lead-modal-panel {
    width: min(100%, 620px) !important;
    max-height: calc(100dvh - 36px) !important;
    margin: auto 0 !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
}

.site-property-lead-close {
    z-index: 6 !important;
}

.site-property-lead-error {
    display: block !important;
}

.site-property-lead-error[hidden] {
    display: none !important;
}

.site-property-lead-error.is-info {
    border-color: rgba(11, 31, 58, .14) !important;
    background: rgba(11, 31, 58, .055) !important;
    color: #0B1F3A !important;
}

.site-property-lead-error.is-success {
    border-color: rgba(201, 164, 92, .34) !important;
    background: rgba(201, 164, 92, .11) !important;
    color: #0B1F3A !important;
}

.site-property-lead-submit {
    position: relative !important;
    overflow: hidden !important;
}

.site-property-lead-form.is-submitting .site-property-lead-submit {
    pointer-events: none !important;
    opacity: 1 !important;
    background: #071B3A !important;
    color: #FFFFFF !important;
}

.site-property-lead-form.is-submitting .site-property-lead-submit::after {
    content: none !important;
}

.site-property-lead-submit-inner {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
}

.site-property-lead-submit-spinner {
    width: 16px !important;
    height: 16px !important;
    border: 2px solid rgba(255,255,255,.32) !important;
    border-top-color: #FFFFFF !important;
    border-radius: 999px !important;
    animation: cbLeadSpin .72s linear infinite !important;
}

@keyframes cbLeadSpin {
    to {
        transform: rotate(360deg);
    }
}

.site-property-lead-toast {
    z-index: 13000 !important;
}

@media (max-width: 760px) {
    .site-property-lead-modal {
        padding: 10px !important;
        align-items: flex-start !important;
    }

    .site-property-lead-modal-panel {
        width: 100% !important;
        max-height: calc(100dvh - 20px) !important;
        margin: 0 !important;
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .site-property-lead-close {
        top: 10px !important;
        right: 10px !important;
        width: 40px !important;
        height: 40px !important;
        background: rgba(255,255,255,.92) !important;
        box-shadow: 0 12px 30px rgba(7,27,58,.12) !important;
    }

    .site-property-lead-head {
        max-width: none !important;
        gap: 6px !important;
        padding-right: 46px !important;
    }

    .site-property-lead-head h2 {
        font-size: clamp(25px, 7vw, 32px) !important;
        line-height: 1.04 !important;
    }

    .site-property-lead-head p {
        font-size: 13px !important;
        line-height: 1.48 !important;
    }

    .site-property-lead-property {
        padding: 12px 14px !important;
        border-radius: 15px !important;
    }

    .site-property-lead-form {
        gap: 12px !important;
    }

    .site-property-lead-row {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .site-property-lead-form input[type="text"],
    .site-property-lead-form input[type="tel"],
    .site-property-lead-form input[type="email"],
    .site-property-lead-form textarea {
        min-height: 46px !important;
        border-radius: 13px !important;
    }

    .site-property-lead-form textarea {
        min-height: 82px !important;
    }

    .site-property-lead-submit {
        position: sticky !important;
        bottom: -1px !important;
        z-index: 4 !important;
        min-height: 52px !important;
        margin-top: 2px !important;
        box-shadow: 0 -12px 24px rgba(248,250,253,.88), 0 16px 28px rgba(7,27,58,.16) !important;
    }

    .site-property-lead-privacy {
        padding-bottom: 2px !important;
        font-size: 11px !important;
    }

    .site-property-lead-toast {
        top: auto !important;
        bottom: max(18px, env(safe-area-inset-bottom)) !important;
        width: min(calc(100vw - 24px), 430px) !important;
        transform: translate(-50%, 14px) !important;
    }

    .site-property-lead-toast.is-visible {
        transform: translate(-50%, 0) !important;
    }
}


/* =========================================================
   SITE PÚBLICO - PARTE 113
   Mobile: modal do lead abaixo do header + menu isolado
========================================================= */

.site-mobile-menu-backdrop {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: var(--cb-mobile-header-h, 72px) !important;
    bottom: 0 !important;
    z-index: 9990 !important;
    display: block !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(201,164,92,.12), transparent 34%),
        rgba(7, 27, 58, .72) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .22s ease, visibility .22s ease !important;
    backdrop-filter: blur(6px) !important;
}

body.site-mobile-menu-open .site-mobile-menu-backdrop {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

body.site-mobile-menu-open {
    overflow: hidden !important;
    touch-action: none !important;
}

@media (max-width: 820px) {
    .site-header {
        z-index: 10050 !important;
    }

    .site-header-right {
        position: static !important;
    }

    .site-nav {
        top: calc(var(--cb-mobile-header-h, 72px) + 10px) !important;
        z-index: 10070 !important;
        max-height: calc(100dvh - var(--cb-mobile-header-h, 72px) - 22px) !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
        box-shadow: 0 30px 90px rgba(3, 12, 26, .28) !important;
    }

    .site-nav.is-open {
        pointer-events: auto !important;
    }

    .site-menu-toggle {
        position: relative !important;
        z-index: 10090 !important;
    }
}

/* O modal do lead, no mobile, respeita o header: começa abaixo dele */
@media (max-width: 760px) {
    .site-property-lead-modal {
        inset: var(--cb-mobile-header-h, 72px) 0 0 0 !important;
        top: var(--cb-mobile-header-h, 72px) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 10020 !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding: 10px !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
    }

    .site-property-lead-modal-panel {
        width: min(100%, 430px) !important;
        max-height: calc(100dvh - var(--cb-mobile-header-h, 72px) - 20px) !important;
        margin: 0 auto !important;
        padding: 18px !important;
        border-radius: 20px !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .site-property-lead-backdrop,
    .site-property-lead-modal-backdrop {
        top: 0 !important;
        bottom: 0 !important;
    }

    .site-property-lead-close {
        top: 10px !important;
        right: 10px !important;
        z-index: 8 !important;
    }

    .site-property-lead-head {
        padding-right: 48px !important;
    }

    .site-property-lead-head h2 {
        font-size: clamp(24px, 7vw, 31px) !important;
        line-height: 1.04 !important;
    }

    .site-property-lead-submit {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 6 !important;
        margin-bottom: 0 !important;
    }
}


/* =========================================================
   SITE PÚBLICO - PARTE 114
   Mobile: botão explícito para fechar menu
========================================================= */

.site-mobile-menu-close {
    display: none;
}

@media (max-width: 820px) {
    .site-nav.is-open {
        padding-top: 54px !important;
    }

    .site-mobile-menu-close {
        position: absolute !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 3 !important;
        width: 38px !important;
        height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(11, 31, 58, .12) !important;
        border-radius: 999px !important;
        background: rgba(255, 255, 255, .94) !important;
        color: #0B1F3A !important;
        box-shadow: 0 12px 28px rgba(7, 27, 58, .10) !important;
        cursor: pointer !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    .site-mobile-menu-close:hover,
    .site-mobile-menu-close:focus-visible {
        border-color: rgba(201, 164, 92, .55) !important;
        background: #F8FAFD !important;
        color: #071B3A !important;
        outline: none !important;
        box-shadow:
            0 12px 28px rgba(7, 27, 58, .12),
            0 0 0 4px rgba(201, 164, 92, .12) !important;
    }

    .site-mobile-menu-close svg {
        width: 20px !important;
        height: 20px !important;
        display: block !important;
    }
}


/* =========================================================
   CERCA BRANCA - INDEX HERO DEFINITIVO
   Visual escolhido: Clara Contraste
========================================================= */

.site-hero.site-hero-video-mode.site-hero-variant-clara-contraste .site-hero-video {
    opacity: .88 !important;
    filter: saturate(1.04) contrast(.96) brightness(1.08) !important;
}

.site-hero.site-hero-video-mode.site-hero-variant-clara-contraste .site-hero-overlay {
    background:
        radial-gradient(circle at 18% 28%, rgba(216, 183, 107, .16), transparent 30%),
        linear-gradient(90deg, rgba(7, 27, 58, .82) 0%, rgba(7, 27, 58, .62) 35%, rgba(7, 27, 58, .20) 64%, rgba(7, 27, 58, .10) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, .06) 0%, rgba(7, 27, 58, .34) 100%) !important;
}

.site-hero.site-hero-video-mode.site-hero-variant-clara-contraste .site-hero-copy h1,
.site-hero.site-hero-video-mode.site-hero-variant-clara-contraste .site-hero-copy h1 .site-hero-title-static {
    color: #FFFFFF !important;
    text-shadow: 0 18px 40px rgba(0, 0, 0, .38) !important;
}

.site-hero.site-hero-video-mode.site-hero-variant-clara-contraste .site-hero-copy h1 strong {
    color: #F3D88B !important;
    text-shadow: 0 18px 38px rgba(0, 0, 0, .30) !important;
}

.site-hero.site-hero-video-mode.site-hero-variant-clara-contraste .site-hero-copy p {
    color: rgba(255, 255, 255, .88) !important;
    text-shadow: 0 14px 34px rgba(0, 0, 0, .28) !important;
}


/* =========================================================
   SITE PÚBLICO - PÁGINAS DE STATUS
   Imóvel indisponível + recurso em breve
========================================================= */

.site-status-page {
    position: relative;
    min-height: calc(100dvh - 82px);
    display: grid;
    align-items: center;
    padding: clamp(74px, 9vw, 118px) 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 12% 18%, rgba(216, 183, 107, .22), transparent 30%),
        linear-gradient(135deg, #F7F9FC 0%, #EDF2F8 48%, #E7EEF7 100%);
}

.site-status-page::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.72) 42%, rgba(255,255,255,.25) 100%),
        url("/assets/img/site-hero-poster.webp") center / cover no-repeat;
    opacity: .32;
    pointer-events: none;
}

.site-status-page::after {
    content: "";
    position: absolute;
    right: -180px;
    bottom: -240px;
    width: 520px;
    height: 520px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(7, 27, 58, .14), transparent 68%);
    pointer-events: none;
}

.site-status-card-wrap {
    position: relative;
    z-index: 1;
}

.site-status-card {
    width: min(100%, 760px);
    display: grid;
    gap: 18px;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid rgba(217, 226, 239, .92);
    border-radius: 30px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.12), transparent 32%),
        rgba(255,255,255,.94);
    box-shadow: 0 30px 90px rgba(7, 27, 58, .14);
    backdrop-filter: blur(14px);
}

.site-status-card h1 {
    max-width: 620px;
    margin: 0;
    color: #071B3A;
    font-size: clamp(34px, 5vw, 58px);
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.055em;
}

.site-status-card p {
    max-width: 640px;
    margin: 0;
    color: #475569;
    font-size: clamp(15px, 1.4vw, 17px);
    font-weight: 700;
    line-height: 1.65;
}

.site-status-code {
    width: fit-content;
    min-width: min(100%, 260px);
    display: grid;
    gap: 3px;
    padding: 13px 15px;
    border: 1px solid rgba(11,31,58,.10);
    border-radius: 16px;
    background: rgba(246,248,251,.84);
}

.site-status-code span {
    color: #7B8797;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.site-status-code strong {
    color: #071B3A;
    font-size: 15px;
    font-weight: 950;
}

.site-status-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 6px;
}

.site-status-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: #64748B;
    font-size: 14px;
    font-weight: 850;
}

.site-status-link:hover {
    color: #071B3A;
}

.site-status-page-soon .site-status-card {
    width: min(100%, 680px);
}

@media (max-width: 760px) {
    .site-status-page {
        min-height: calc(100dvh - 72px);
        padding: 44px 0 58px;
    }

    .site-status-card {
        border-radius: 24px;
        padding: 24px;
    }

    .site-status-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .site-status-actions .site-btn,
    .site-status-link {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   SITE PÚBLICO - PÁGINA DE IMÓVEIS / MARKETPLACE
   Layout compacto, filtros laterais e cards com alta densidade.
========================================================= */

.site-listing-page {
    background: #F6F8FB;
}

.site-listing-top {
    padding: 26px 0 18px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .12), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-listing-breadcrumb {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 18px;
    color: #64748B;
    font-size: 12px;
    font-weight: 750;
}

.site-listing-breadcrumb a:hover {
    color: #071B3A;
}

.site-listing-breadcrumb strong {
    color: #071B3A;
}

.site-listing-title-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.site-listing-title-row h1 {
    margin: 5px 0 5px;
    color: #071B3A;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.06;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-listing-title-row p {
    margin: 0;
    max-width: 620px;
    color: #64748B;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.55;
}

.site-listing-filter-toggle {
    display: none;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.site-listing-shell {
    padding: 22px 0 56px;
}

.site-listing-layout {
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.site-listing-sidebar {
    position: sticky;
    top: 100px;
    max-height: calc(100dvh - 118px);
    display: grid;
    align-content: start;
    overflow: auto;
    border: 1px solid rgba(217, 226, 239, .92);
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 18px 46px rgba(7, 27, 58, .08);
}

.site-listing-filter-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 17px 16px 13px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(12px);
}

.site-listing-filter-head strong {
    display: block;
    color: #071B3A;
    font-size: 15px;
    font-weight: 950;
    letter-spacing: -.01em;
}

.site-listing-filter-head span {
    display: block;
    margin-top: 1px;
    color: #64748B;
    font-size: 11px;
    font-weight: 750;
}

.site-listing-filter-close {
    display: none;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(7,27,58,.12);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.site-listing-filter-clean {
    padding: 12px 16px 0;
}

.site-listing-filter-clean a {
    color: #64748B;
    font-size: 12px;
    font-weight: 850;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-listing-filters {
    display: grid;
    gap: 0;
    padding: 14px 16px 16px;
}

.site-listing-purpose {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(217, 226, 239, .9);
    border-radius: 999px;
    background: #F1F5FA;
    margin-bottom: 15px;
}

.site-listing-purpose label {
    cursor: pointer;
}

.site-listing-purpose input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.site-listing-purpose span {
    min-height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #64748B;
    font-size: 12px;
    font-weight: 900;
}

.site-listing-purpose input:checked + span {
    background: #FFFFFF;
    color: #071B3A;
    box-shadow: 0 8px 22px rgba(7, 27, 58, .08);
}

.site-listing-filter-group {
    display: grid;
    gap: 10px;
    padding: 15px 0;
    border-top: 1px solid rgba(217, 226, 239, .76);
}

.site-listing-filter-group:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.site-listing-filter-label {
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
}

.site-listing-field {
    display: grid;
    gap: 6px;
}

.site-listing-field span {
    color: #64748B;
    font-size: 11px;
    font-weight: 850;
}

.site-listing-field input,
.site-listing-field select {
    width: 100%;
    min-height: 42px;
    border: 1px solid rgba(7,27,58,.14);
    border-radius: 12px;
    padding: 0 11px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 760;
    outline: none;
}

.site-listing-field input:focus,
.site-listing-field select:focus {
    border-color: rgba(201, 164, 92, .68);
    box-shadow: 0 0 0 4px rgba(201, 164, 92, .12);
}

.site-listing-two-cols {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.site-listing-three-cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.site-listing-feature-list {
    display: grid;
    gap: 7px;
    max-height: 190px;
    overflow: auto;
    padding-right: 4px;
}

.site-listing-feature-list label {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 9px;
    border: 1px solid rgba(217, 226, 239, .72);
    border-radius: 12px;
    background: #F8FAFD;
    color: #334155;
    font-size: 12px;
    font-weight: 780;
    cursor: pointer;
}

.site-listing-feature-list input {
    width: 15px;
    height: 15px;
    accent-color: #C9A45C;
}

.site-listing-filter-actions {
    display: grid;
    gap: 8px;
    padding-top: 12px;
}

.site-listing-filter-actions .site-btn {
    min-height: 44px;
    border-radius: 12px;
    font-size: 12px;
}

.site-listing-results {
    min-width: 0;
    display: grid;
    gap: 14px;
}

.site-listing-toolbar {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 14px;
    border: 1px solid rgba(217, 226, 239, .86);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 12px 32px rgba(7, 27, 58, .06);
}

.site-listing-toolbar strong {
    display: block;
    color: #071B3A;
    font-size: 16px;
    font-weight: 950;
    letter-spacing: -.015em;
}

.site-listing-toolbar span {
    display: block;
    margin-top: 1px;
    color: #64748B;
    font-size: 12px;
    font-weight: 700;
}

.site-listing-sort label {
    display: flex;
    align-items: center;
    gap: 9px;
}

.site-listing-sort span {
    margin: 0;
    color: #64748B;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.site-listing-sort select {
    min-height: 38px;
    border: 1px solid rgba(7,27,58,.13);
    border-radius: 12px;
    padding: 0 34px 0 11px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 850;
    outline: none;
}

.site-listing-chips {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.site-listing-chip {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    border: 1px solid rgba(201, 164, 92, .28);
    border-radius: 999px;
    background: rgba(255, 249, 235, .82);
    color: #071B3A;
    font-size: 12px;
    font-weight: 850;
}

.site-listing-chip span {
    color: #9B7A34;
    font-weight: 900;
}

.site-listing-chip strong {
    font-weight: 900;
}

.site-listing-chip em {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(7,27,58,.08);
    color: #071B3A;
    font-style: normal;
    line-height: 1;
}

.site-listing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.site-listing-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(217, 226, 239, .90);
    border-radius: 18px;
    background: #FFFFFF;
    box-shadow: 0 14px 34px rgba(7, 27, 58, .075);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.site-listing-card:hover {
    transform: translateY(-2px);
    border-color: rgba(201, 164, 92, .40);
    box-shadow: 0 20px 48px rgba(7, 27, 58, .12);
}

.site-listing-card-photo {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #E9EFF7;
}

.site-listing-card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .24s ease;
}

.site-listing-card:hover .site-listing-card-photo img {
    transform: scale(1.035);
}

.site-listing-card-badge,
.site-listing-card-video {
    position: absolute;
    left: 10px;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .02em;
}

.site-listing-card-badge {
    top: 10px;
    background: rgba(7, 27, 58, .92);
    color: #F3D88B;
}

.site-listing-card-video {
    bottom: 10px;
    background: rgba(255,255,255,.92);
    color: #071B3A;
}

.site-listing-card-body {
    display: grid;
    gap: 8px;
    padding: 12px 12px 13px;
}

.site-listing-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.site-listing-card-top span {
    color: #7B8797;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.site-listing-card-top em {
    padding: 3px 7px;
    border-radius: 999px;
    background: #EEF7F1;
    color: #17663A;
    font-size: 10px;
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}

.site-listing-card h2 {
    margin: 0;
    color: #071B3A;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.22;
    letter-spacing: -.018em;
}

.site-listing-card h2 a:hover {
    color: #123A6F;
}

.site-listing-card-location {
    margin: 0;
    min-height: 18px;
    color: #64748B;
    font-size: 12px;
    font-weight: 720;
    line-height: 1.35;
}

.site-listing-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    min-height: 25px;
}

.site-listing-card-meta span {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    padding: 0 7px;
    border-radius: 999px;
    background: #F3F6FA;
    color: #334155;
    font-size: 11px;
    font-weight: 850;
}

.site-listing-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 4px;
    border-top: 1px solid rgba(217, 226, 239, .76);
}

.site-listing-card-footer strong {
    color: #071B3A;
    font-size: 17px;
    font-weight: 950;
    letter-spacing: -.025em;
}

.site-listing-card-footer a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 11px;
    border-radius: 10px;
    background: #071B3A;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}

.site-listing-card-footer a:hover {
    background: #C9A45C;
    color: #071B3A;
}

.site-listing-empty {
    display: grid;
    gap: 10px;
    padding: 34px;
    border: 1px dashed rgba(201, 164, 92, .42);
    border-radius: 22px;
    background: #FFFFFF;
    text-align: center;
    box-shadow: 0 14px 34px rgba(7, 27, 58, .06);
}

.site-listing-empty span {
    color: #C9A45C;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-listing-empty strong {
    color: #071B3A;
    font-size: 22px;
    font-weight: 950;
}

.site-listing-empty p {
    max-width: 540px;
    margin: 0 auto;
    color: #64748B;
    font-size: 14px;
    font-weight: 700;
}

.site-listing-empty > div {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.site-listing-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-top: 8px;
}

.site-listing-pagination a,
.site-listing-pagination span {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 850;
}

.site-listing-pagination a {
    border: 1px solid rgba(7,27,58,.14);
    background: #FFFFFF;
    color: #071B3A;
}

.site-listing-pagination span {
    color: #64748B;
}

.site-listing-filter-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10080;
    display: none;
    background: rgba(7, 27, 58, .68);
    backdrop-filter: blur(6px);
}

body.site-listing-filter-open {
    overflow: hidden;
}

body.site-listing-filter-open .site-listing-filter-backdrop {
    display: block;
}

@media (max-width: 1180px) {
    .site-listing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 920px) {
    .site-listing-title-row {
        align-items: flex-start;
    }

    .site-listing-filter-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-listing-layout {
        grid-template-columns: 1fr;
    }

    .site-listing-sidebar {
        position: fixed;
        left: 12px;
        right: 12px;
        top: calc(var(--cb-mobile-header-h, 72px) + 12px);
        z-index: 10090;
        max-height: calc(100dvh - var(--cb-mobile-header-h, 72px) - 24px);
        display: none;
        border-radius: 22px;
        box-shadow: 0 30px 90px rgba(3, 12, 26, .30);
    }

    .site-listing-sidebar.is-open {
        display: grid;
    }

    .site-listing-filter-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-listing-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .site-listing-sort,
    .site-listing-sort label,
    .site-listing-sort select {
        width: 100%;
    }

    .site-listing-sort label {
        align-items: stretch;
        flex-direction: column;
        gap: 5px;
    }
}

@media (max-width: 640px) {
    .site-listing-top {
        padding: 20px 0 14px;
    }

    .site-listing-breadcrumb {
        margin-bottom: 13px;
    }

    .site-listing-title-row {
        gap: 14px;
    }

    .site-listing-title-row h1 {
        font-size: 28px;
    }

    .site-listing-title-row p {
        font-size: 13px;
    }

    .site-listing-shell {
        padding-top: 14px;
    }

    .site-listing-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .site-listing-card {
        border-radius: 16px;
    }

    .site-listing-card-photo {
        aspect-ratio: 16 / 10;
    }

    .site-listing-two-cols,
    .site-listing-three-cols {
        grid-template-columns: 1fr;
    }

    .site-listing-empty {
        padding: 24px 18px;
    }

    .site-listing-empty > div {
        align-items: stretch;
        flex-direction: column;
    }

    .site-listing-empty .site-btn {
        width: 100%;
    }

    .site-listing-pagination {
        flex-wrap: wrap;
    }
}


/* =========================================================
   SITE PÚBLICO - PÁGINA DE IMÓVEIS / AJUSTES DE DENSIDADE + GALERIA
========================================================= */

.site-listing-top {
    padding: 18px 0 13px !important;
}

.site-listing-breadcrumb {
    margin-bottom: 10px !important;
    font-size: 11px !important;
}

.site-listing-title-row {
    align-items: center !important;
}

.site-listing-title-row h1 {
    margin: 3px 0 2px !important;
    font-size: clamp(24px, 2.55vw, 34px) !important;
    line-height: 1 !important;
}

.site-listing-title-row p {
    max-width: 560px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
}

.site-listing-shell {
    padding-top: 16px !important;
}

.site-listing-card-gallery {
    position: relative;
    overflow: hidden;
    background: #E9EFF7;
}

.site-listing-card-gallery .site-listing-card-photo {
    aspect-ratio: 4 / 3;
}

.site-listing-card-photo img {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: scale(1.01);
    transition: opacity .20s ease, transform .24s ease;
}

.site-listing-card-photo img.is-active {
    opacity: 1;
    transform: scale(1);
}

.site-listing-card-gallery-btn {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.70);
    border-radius: 999px;
    background: rgba(7, 27, 58, .72);
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transform: translateY(-50%);
    transition: opacity .18s ease, background .18s ease, transform .18s ease;
    backdrop-filter: blur(8px);
}

.site-listing-card-gallery:hover .site-listing-card-gallery-btn,
.site-listing-card-gallery:focus-within .site-listing-card-gallery-btn {
    opacity: 1;
}

.site-listing-card-gallery-prev {
    left: 9px;
}

.site-listing-card-gallery-next {
    right: 9px;
}

.site-listing-card-gallery-btn:hover,
.site-listing-card-gallery-btn:focus-visible {
    background: rgba(201, 164, 92, .95);
    color: #071B3A;
    outline: none;
}

.site-listing-card-gallery-count {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 4;
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 1px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(7, 27, 58, .78);
    color: #FFFFFF;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .02em;
    backdrop-filter: blur(8px);
}

.site-listing-card-gallery .site-listing-card-video {
    left: 10px;
    right: auto;
}

@media (max-width: 920px) {
    .site-listing-top {
        padding: 16px 0 12px !important;
    }

    .site-listing-title-row {
        align-items: flex-start !important;
    }

    .site-listing-card-gallery-btn {
        opacity: 1;
    }
}

@media (max-width: 640px) {
    .site-listing-title-row h1 {
        font-size: 25px !important;
    }

    .site-listing-title-row p {
        font-size: 12px !important;
    }

    .site-listing-card-gallery .site-listing-card-photo {
        aspect-ratio: 16 / 10;
    }
}


/* =========================================================
   SITE PÚBLICO - PÁGINA DE IMÓVEIS / AJUSTE FINO GALERIA + BUSCA
========================================================= */

.site-listing-card-gallery-btn {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: translateY(-50%) !important;
}

.site-listing-card-gallery-btn svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    flex: 0 0 auto !important;
}

.site-listing-card-gallery-prev {
    left: 10px !important;
}

.site-listing-card-gallery-next {
    right: 10px !important;
}

.site-listing-card-gallery-count {
    right: 10px !important;
    bottom: 10px !important;
    min-width: 34px !important;
    justify-content: center !important;
}

.site-listing-card-photo img {
    object-position: center center !important;
}


/* =========================================================
   SITE PÚBLICO - PÁGINA DE IMÓVEIS / SETAS DEFINITIVAS
   Usa pseudo-elemento centralizado, independente do SVG.
========================================================= */

.site-listing-card-gallery-btn {
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    color: #FFFFFF !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: translateY(-50%) !important;
}

.site-listing-card-gallery-btn svg {
    display: none !important;
}

.site-listing-card-gallery-btn::before {
    content: "" !important;
    width: 9px !important;
    height: 9px !important;
    display: block !important;
    border-top: 2.4px solid currentColor !important;
    border-right: 2.4px solid currentColor !important;
}

.site-listing-card-gallery-prev::before {
    transform: rotate(225deg) translate(-1px, -1px) !important;
}

.site-listing-card-gallery-next::before {
    transform: rotate(45deg) translate(-1px, 1px) !important;
}

.site-listing-card-gallery-prev {
    left: 10px !important;
    background: rgba(7, 27, 58, .82) !important;
}

.site-listing-card-gallery-next {
    right: 10px !important;
    background: rgba(201, 164, 92, .94) !important;
    color: #071B3A !important;
}

.site-listing-card-gallery-btn:hover,
.site-listing-card-gallery-btn:focus-visible {
    background: #071B3A !important;
    color: #FFFFFF !important;
}


/* =========================================================
   SITE PÚBLICO - PÁGINA DE IMÓVEIS / DIAGNÓSTICO TEMPORÁRIO
========================================================= */

.site-listing-debug {
    border: 1px solid rgba(201, 164, 92, .35);
    border-radius: 18px;
    background: #FFFDF8;
    box-shadow: 0 14px 34px rgba(7, 27, 58, .07);
    overflow: hidden;
}

.site-listing-debug summary {
    padding: 14px 16px;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    cursor: pointer;
    border-bottom: 1px solid rgba(201, 164, 92, .22);
}

.site-listing-debug-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
}

.site-listing-debug h3 {
    margin: 0 0 7px;
    color: #9B7A34;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.site-listing-debug pre {
    max-height: 260px;
    margin: 0;
    overflow: auto;
    padding: 12px;
    border: 1px solid rgba(7, 27, 58, .10);
    border-radius: 12px;
    background: #071B3A;
    color: #D9E2EF;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 11px;
    line-height: 1.5;
    white-space: pre-wrap;
}

.site-listing-debug-wide {
    grid-column: 1 / -1;
}

@media (max-width: 760px) {
    .site-listing-debug-grid {
        grid-template-columns: 1fr;
    }
}


/* =========================================================
   SITE PÚBLICO - PÁGINA DE IMÓVEIS / EXPORTAR DIAGNÓSTICO
========================================================= */

.site-listing-debug-actions {
    display: flex;
    justify-content: flex-end;
    padding: 12px 14px 0;
}

.site-listing-debug-actions button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 13px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.site-listing-debug-actions button:hover,
.site-listing-debug-actions button:focus-visible {
    border-color: rgba(201, 164, 92, .50);
    background: #FFF9EB;
    outline: none;
}

/* =========================================================
   SITE PÚBLICO - ANUNCIAR IMÓVEL / FORMULÁRIO SIMPLES
   Baseado no padrão visual dos formulários públicos do site.
========================================================= */

.site-owner-page {
    min-height: calc(100dvh - 82px);
    background: #F6F8FB;
}

.site-owner-top {
    padding: 20px 0 14px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .12), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-owner-top .site-listing-breadcrumb {
    margin-bottom: 11px;
}

.site-owner-top-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
}

.site-owner-top-row h1 {
    margin: 3px 0 2px;
    color: #071B3A;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-owner-top-row p {
    max-width: 610px;
    margin: 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.42;
}

.site-owner-top-whatsapp {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 15px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(7, 27, 58, .07);
}

.site-owner-top-whatsapp svg {
    width: 18px;
    height: 18px;
    color: #C9A45C;
}

.site-owner-top-whatsapp:hover {
    border-color: rgba(201, 164, 92, .55);
    background: #FFF9EB;
}

.site-owner-form-section {
    padding: clamp(18px, 3vh, 28px) 0 42px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-owner-form {
    width: min(100%, 800px);
    margin: 0 auto;
    display: grid;
    gap: 13px;
    padding: clamp(20px, 2.6vw, 28px);
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 26px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.10), transparent 30%),
        #FFFFFF;
    box-shadow: 0 28px 84px rgba(7, 27, 58, .11);
}

.site-owner-form-head {
    display: grid;
    gap: 5px;
}

.site-owner-form-head span {
    color: #C9A45C;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.site-owner-form-head h2 {
    margin: 0;
    color: #071B3A;
    font-size: clamp(30px, 3.2vw, 42px);
    font-weight: 950;
    line-height: 1.02;
    letter-spacing: -.045em;
}

.site-owner-form-head p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.45;
}

.site-owner-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.site-owner-field,
.site-owner-field-phone > label:first-child {
    display: grid;
    gap: 6px;
}

.site-owner-field span,
.site-owner-field-phone > label:first-child span {
    color: #475569;
    font-size: 11px;
    font-weight: 900;
}

.site-owner-field input,
.site-owner-field select,
.site-owner-field textarea,
.site-owner-field-phone input[type="tel"] {
    width: 100%;
    min-height: 46px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 13px;
    background: #FFFFFF;
    color: #071B3A;
    padding: 0 13px;
    outline: none;
    font-size: 13px;
    font-weight: 760;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.site-owner-field textarea {
    min-height: 94px;
    padding-top: 13px;
    resize: vertical;
}

.site-owner-field input:focus,
.site-owner-field select:focus,
.site-owner-field textarea:focus,
.site-owner-field-phone input[type="tel"]:focus {
    border-color: rgba(201, 164, 92, .72);
    box-shadow: 0 0 0 4px rgba(201, 164, 92, .12);
}

.site-owner-whatsapp-check {
    min-height: 24px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 6px;
    color: #475569;
    font-size: 12px;
    font-weight: 850;
    cursor: pointer;
}

.site-owner-whatsapp-check input {
    width: 15px;
    height: 15px;
    accent-color: #C9A45C;
}

.site-owner-field-message {
    grid-column: 1 / -1;
}

.site-owner-submit {
    width: 100%;
    min-height: 50px;
    border-radius: 14px;
}

.site-owner-form.is-submitting .site-owner-submit {
    pointer-events: none;
    opacity: .96;
}

.site-owner-submit-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
}

.site-owner-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.32);
    border-top-color: #FFFFFF;
    border-radius: 999px;
    animation: cbOwnerSpin .72s linear infinite;
}

@keyframes cbOwnerSpin {
    to { transform: rotate(360deg); }
}

.site-owner-status {
    border: 1px solid rgba(11, 31, 58, .14);
    border-radius: 14px;
    padding: 11px 13px;
    background: rgba(11, 31, 58, .055);
    color: #071B3A;
    font-size: 13px;
    font-weight: 800;
}

.site-owner-status.is-error {
    border-color: rgba(161, 42, 42, .22);
    background: #FDECEC;
    color: #A12A2A;
}

.site-owner-form .site-form-note {
    margin: 0;
    font-size: 12px;
}

@media (min-height: 760px) and (min-width: 901px) {
    .site-owner-form-section {
        padding-top: clamp(22px, 4vh, 44px);
    }
}

@media (max-width: 760px) {
    .site-owner-top {
        padding: 16px 0 12px;
    }

    .site-owner-top-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .site-owner-top-row h1 {
        font-size: 28px;
    }

    .site-owner-top-row p {
        font-size: 13px;
    }

    .site-owner-top-whatsapp {
        width: 100%;
    }

    .site-owner-form-section {
        padding: 14px 0 42px;
    }

    .site-owner-form {
        padding: 18px;
        border-radius: 22px;
    }

    .site-owner-form-head h2 {
        font-size: 29px;
    }

    .site-owner-fields {
        grid-template-columns: 1fr;
    }

    .site-owner-field-message {
        grid-column: auto;
    }
}

/* =========================================================
   AJUSTE FINAL - ANUNCIAR IMÓVEL / FORMULÁRIO ALINHADO
   Corrige altura dos campos e evita o campo Nome esticar pela linha do WhatsApp.
========================================================= */

.site-owner-form-section {
    padding-top: 16px !important;
    padding-bottom: 30px !important;
}

.site-owner-form {
    width: min(100%, 780px) !important;
    gap: 10px !important;
    padding: 22px 24px !important;
    border-radius: 24px !important;
}

.site-owner-form-head {
    gap: 3px !important;
}

.site-owner-form-head h2 {
    font-size: clamp(28px, 2.7vw, 36px) !important;
    line-height: 1.02 !important;
}

.site-owner-form-head p {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.site-owner-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: start !important;
}

.site-owner-field,
.site-owner-field-phone,
.site-owner-field-phone > label:first-child {
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
    align-content: start !important;
}

.site-owner-field input,
.site-owner-field select,
.site-owner-field-phone input[type="tel"] {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    line-height: 44px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-self: start !important;
}

.site-owner-field textarea {
    height: 78px !important;
    min-height: 78px !important;
    max-height: 120px !important;
    line-height: 1.45 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

.site-owner-whatsapp-check {
    min-height: 20px !important;
    margin-top: 5px !important;
    font-size: 11px !important;
}

.site-owner-submit {
    min-height: 46px !important;
}

.site-owner-form .site-form-note {
    margin-top: -2px !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

@media (max-width: 760px) {
    .site-owner-form-section {
        padding-top: 14px !important;
        padding-bottom: 38px !important;
    }

    .site-owner-form {
        padding: 18px !important;
        border-radius: 22px !important;
    }

    .site-owner-fields {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   SITE PÚBLICO - ANUNCIAR IMÓVEL / WHATSAPP INLINE
   Mantém o checkbox na mesma linha do rótulo para não quebrar o grid.
========================================================= */

.site-owner-field-phone {
    display: grid !important;
    gap: 6px !important;
    align-self: start !important;
}

.site-owner-field-top {
    min-height: 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.site-owner-field-top > span {
    color: #475569;
    font-size: 11px;
    font-weight: 900;
}

.site-owner-field-phone .site-owner-whatsapp-check {
    min-height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    margin: 0 !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-owner-field-phone .site-owner-whatsapp-check input[type="hidden"] {
    display: none !important;
}

.site-owner-field-phone .site-owner-whatsapp-check input[type="checkbox"] {
    width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    padding: 0 !important;
    margin: 0 !important;
    accent-color: #C9A45C;
}

.site-owner-field-phone input[type="tel"] {
    width: 100%;
    min-height: 46px;
}

@media (max-width: 700px) {
    .site-owner-field-top {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .site-owner-field-phone .site-owner-whatsapp-check {
        justify-content: flex-start !important;
    }
}


/* =========================================================
   SITE PÚBLICO - CONSISTÊNCIA FINAL / ANUNCIAR + CARDS
   Ajustes de proporção, WhatsApp na linha do telefone e cards alinhados.
========================================================= */

/* Topos das páginas públicas com proporção mais próxima entre listagem e anunciar */
.site-owner-top,
.site-listing-top {
    padding-top: 20px !important;
    padding-bottom: 14px !important;
}

.site-owner-top .site-listing-breadcrumb,
.site-listing-top .site-listing-breadcrumb {
    margin-bottom: 10px !important;
}

.site-owner-top-row h1,
.site-listing-title-row h1 {
    margin: 3px 0 2px !important;
    font-size: clamp(25px, 2.55vw, 34px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

.site-owner-top-row p,
.site-listing-title-row p {
    font-size: 13px !important;
    line-height: 1.42 !important;
}

.site-owner-form-section {
    padding-top: 17px !important;
}

.site-owner-form {
    max-width: 900px !important;
    padding: 24px 26px 20px !important;
}

.site-owner-form-head h2 {
    font-size: clamp(26px, 2.65vw, 34px) !important;
    line-height: 1.03 !important;
}

.site-owner-form-head p {
    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* WhatsApp ao lado do número, sem quebrar/esticar o grid */
.site-owner-field-phone {
    display: grid !important;
    gap: 6px !important;
    align-self: start !important;
}

.site-owner-field-phone > span {
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
}

.site-owner-phone-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
}

.site-owner-phone-row input[type="tel"] {
    min-width: 0 !important;
    width: 100% !important;
    height: 46px !important;
    min-height: 46px !important;
}

.site-owner-whatsapp-check {
    min-height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(7, 27, 58, .14) !important;
    border-radius: 13px !important;
    background: #FFFFFF !important;
    color: #071B3A !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.site-owner-whatsapp-check input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    accent-color: #C9A45C !important;
    flex: 0 0 auto !important;
}

.site-owner-field-top {
    display: contents !important;
}

/* Cards da listagem: informações e botão presos no mesmo lugar */
.site-listing-grid {
    align-items: stretch !important;
}

.site-listing-card {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.site-listing-card-gallery,
.site-listing-card-photo {
    flex: 0 0 auto !important;
}

.site-listing-card-body {
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.site-listing-card h2 {
    min-height: 38px !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.site-listing-card h2 a {
    display: block !important;
}

.site-listing-card-location {
    min-height: 34px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.site-listing-card-meta {
    min-height: 29px !important;
    align-content: flex-start !important;
}

.site-listing-card-footer {
    margin-top: auto !important;
    min-height: 46px !important;
}

.site-listing-card-footer strong {
    line-height: 1.05 !important;
}

@media (max-width: 760px) {
    .site-owner-phone-row {
        grid-template-columns: 1fr !important;
    }

    .site-owner-whatsapp-check {
        width: 100% !important;
    }

    .site-owner-form {
        padding: 18px !important;
    }

    .site-owner-top-row h1,
    .site-listing-title-row h1 {
        font-size: 27px !important;
    }
}


/* =========================================================
   AJUSTE FINAL - WhatsApp sem cápsula + validações visuais
========================================================= */

.site-owner-phone-row {
    grid-template-columns: minmax(0, 1fr) max-content !important;
    gap: 14px !important;
    align-items: center !important;
}

.site-owner-whatsapp-check {
    min-height: 0 !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

.site-owner-whatsapp-check input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #C9A45C !important;
    flex: 0 0 auto !important;
}

.site-owner-whatsapp-check span {
    line-height: 1 !important;
}

.site-owner-field input.is-invalid,
.site-owner-field select.is-invalid,
.site-owner-field textarea.is-invalid,
.site-owner-field-phone input[type="tel"].is-invalid {
    border-color: rgba(161, 42, 42, .50) !important;
    box-shadow: 0 0 0 4px rgba(161, 42, 42, .10) !important;
}

@media (max-width: 640px) {
    .site-owner-phone-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .site-owner-whatsapp-check {
        justify-content: flex-start !important;
    }
}


/* =========================================================
   AJUSTE FINAL - texto padrão do checkbox WhatsApp
========================================================= */

.site-owner-field-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.site-owner-whatsapp-check {
    max-width: 58% !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    cursor: pointer !important;
}

.site-owner-whatsapp-check span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.site-owner-whatsapp-check input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #C9A45C !important;
    flex: 0 0 auto !important;
}

@media (max-width: 760px) {
    .site-owner-whatsapp-check {
        max-width: 100% !important;
        justify-content: flex-start !important;
        font-size: 11px !important;
    }

    .site-owner-whatsapp-check span {
        white-space: normal !important;
    }
}


/* =========================================================
   AJUSTE FINAL - WhatsApp abaixo do telefone sem quebrar grid
========================================================= */

.site-owner-field,
.site-owner-field-phone {
    align-self: start !important;
    align-content: start !important;
}

.site-owner-field input,
.site-owner-field select,
.site-owner-field-phone input[type="tel"] {
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
}

.site-owner-field-phone {
    display: grid !important;
    grid-template-rows: auto 46px auto !important;
    gap: 6px !important;
}

.site-owner-phone-row {
    display: contents !important;
}

.site-owner-whatsapp-check {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 18px !important;
    height: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    padding: 0 !important;
    margin: 2px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    cursor: pointer !important;
}

.site-owner-whatsapp-check input[type="hidden"] {
    display: none !important;
}

.site-owner-whatsapp-check input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #C9A45C !important;
    flex: 0 0 auto !important;
}

.site-owner-whatsapp-check span {
    min-width: 0 !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    line-height: 1.15 !important;
}

@media (min-width: 761px) {
    .site-owner-fields {
        align-items: start !important;
    }
}


/* =========================================================
   SITE PÚBLICO - CONTATO
   Página sem formulário, com canais diretos de atendimento
========================================================= */

.site-contact-page {
    background: #F6F8FB;
}

.site-contact-hero {
    padding: 24px 0 17px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .12), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-contact-hero .site-listing-breadcrumb {
    margin-bottom: 14px;
}

.site-contact-hero-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

.site-contact-hero-row h1 {
    margin: 4px 0 4px;
    color: #071B3A;
    font-size: clamp(27px, 3vw, 39px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-contact-hero-row p {
    max-width: 620px;
    margin: 0;
    color: #64748B;
    font-size: 14px;
    font-weight: 690;
    line-height: 1.5;
}

.site-contact-hero-action {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 15px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(7, 27, 58, .07);
}

.site-contact-hero-action .site-social-icon {
    width: 17px;
    height: 17px;
    color: #C9A45C;
}

.site-contact-hero-action:hover {
    border-color: rgba(201, 164, 92, .55);
    background: #FFF9EB;
}

.site-contact-body {
    padding: 24px 0 62px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-contact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.site-contact-card,
.site-contact-guidance {
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.09), transparent 30%),
        #FFFFFF;
    box-shadow: 0 24px 72px rgba(7, 27, 58, .09);
}

.site-contact-card {
    min-height: 255px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 22px;
}

.site-contact-card-main {
    grid-column: span 1;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.16), transparent 34%),
        linear-gradient(145deg, #FFFFFF 0%, #F7FAFE 100%);
}

.site-contact-card-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.site-contact-card-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 16px;
    background: #071B3A;
    color: #F3D88B;
    font-size: 19px;
    font-weight: 950;
}

.site-contact-card-icon .site-social-icon {
    width: 20px;
    height: 20px;
    color: currentColor;
}

.site-contact-card-icon-email {
    font-size: 18px;
}

.site-contact-card-head span:not(.site-contact-card-icon):not(.site-social-icon) {
    color: #C9A45C;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-contact-card h2 {
    margin: 2px 0 0;
    color: #071B3A;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -.025em;
    font-weight: 950;
}

.site-contact-card p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.55;
}

.site-contact-main-button {
    width: 100%;
    margin-top: auto;
    min-height: 48px;
    border-radius: 14px;
}

.site-contact-link {
    width: fit-content;
    max-width: 100%;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(7, 27, 58, .10);
    border-radius: 999px;
    background: #F8FAFD;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    word-break: break-word;
}

.site-contact-link:hover {
    border-color: rgba(201, 164, 92, .48);
    background: #FFF9EB;
}

.site-contact-guidance {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px;
}

.site-contact-guidance h2 {
    margin: 4px 0 6px;
    color: #071B3A;
    font-size: clamp(23px, 2.4vw, 32px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 950;
}

.site-contact-guidance p {
    max-width: 760px;
    margin: 0;
    color: #64748B;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.55;
}

.site-contact-guidance-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.site-contact-guidance-actions .site-btn {
    min-height: 44px;
    border-radius: 14px;
    white-space: nowrap;
}

.site-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(7, 27, 58, .14);
    background: #FFFFFF;
    color: #071B3A;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 950;
}

.site-btn-ghost:hover {
    border-color: rgba(201, 164, 92, .52);
    background: #FFF9EB;
}

@media (max-width: 1040px) {
    .site-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-contact-guidance {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-contact-guidance-actions {
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    .site-contact-hero {
        padding: 18px 0 13px;
    }

    .site-contact-hero-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
    }

    .site-contact-hero-row h1 {
        font-size: 28px;
    }

    .site-contact-hero-row p {
        font-size: 13px;
    }

    .site-contact-hero-action {
        width: 100%;
    }

    .site-contact-body {
        padding: 15px 0 44px;
    }

    .site-contact-grid {
        grid-template-columns: 1fr;
    }

    .site-contact-card {
        min-height: 0;
        padding: 18px;
        border-radius: 20px;
    }

    .site-contact-guidance {
        padding: 18px;
        border-radius: 20px;
    }

    .site-contact-guidance-actions,
    .site-contact-guidance-actions .site-btn {
        width: 100%;
    }
}


/* =========================================================
   SITE PÚBLICO - CONTATO V2
   Layout equilibrado, com ícones oficiais e tipografia do site
========================================================= */

.site-contact-page-v2 {
    background: #F6F8FB;
}

.site-contact-top-v2 {
    padding: 24px 0 17px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .12), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-contact-top-v2 .site-listing-breadcrumb {
    margin-bottom: 14px;
}

.site-contact-top-row-v2 {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 22px;
}

.site-contact-top-row-v2 h1 {
    margin: 4px 0 4px;
    color: #071B3A;
    font-size: clamp(27px, 3vw, 39px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-contact-top-row-v2 p {
    max-width: 640px;
    margin: 0;
    color: #64748B;
    font-size: 14px;
    font-weight: 690;
    line-height: 1.5;
}

.site-contact-top-action-v2 {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 15px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    white-space: nowrap;
    box-shadow: 0 12px 28px rgba(7, 27, 58, .07);
}

.site-contact-top-action-v2 .site-social-icon {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    background: currentColor !important;
    color: #C9A45C !important;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-contact-top-action-v2:hover {
    border-color: rgba(201, 164, 92, .55);
    background: #FFF9EB;
}

.site-contact-content-v2 {
    padding: 24px 0 62px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-contact-wrap-v2 {
    width: min(100%, 1040px);
    margin: 0 auto;
    display: grid;
    gap: 18px;
}

.site-contact-cards-v2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.site-contact-card-v2,
.site-contact-guidance-v2 {
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.09), transparent 30%),
        #FFFFFF;
    box-shadow: 0 24px 72px rgba(7, 27, 58, .09);
}

.site-contact-card-v2 {
    min-height: 218px;
    display: flex;
    flex-direction: column;
    gap: 13px;
    padding: 22px;
}

.site-contact-card-v2-primary {
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.15), transparent 32%),
        linear-gradient(145deg, #FFFFFF 0%, #F8FAFE 100%);
}

.site-contact-card-v2-head {
    display: flex;
    align-items: center;
    gap: 12px;
}

.site-contact-icon-v2 {
    width: 43px;
    height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 15px;
    background: #071B3A;
    color: #F3D88B;
}

.site-contact-icon-v2 img {
    width: 21px;
    height: 21px;
    display: block;
    color: currentColor;
}

.site-contact-icon-v2 .site-social-icon {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    background: currentColor !important;
    color: currentColor !important;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.site-contact-card-v2-head div > span {
    color: #C9A45C;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.site-contact-card-v2 h2 {
    margin: 2px 0 0;
    color: #071B3A;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -.025em;
    font-weight: 950;
}

.site-contact-card-v2 p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.55;
}

.site-contact-card-v2-button {
    width: 100%;
    min-height: 46px;
    margin-top: auto;
    border-radius: 14px;
}

.site-contact-pill-v2 {
    width: fit-content;
    max-width: 100%;
    margin-top: auto;
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(7, 27, 58, .10);
    border-radius: 999px;
    background: #F8FAFD;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    word-break: break-word;
}

.site-contact-pill-v2:hover {
    border-color: rgba(201, 164, 92, .48);
    background: #FFF9EB;
}

.site-contact-guidance-v2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px;
}

.site-contact-guidance-v2 h2 {
    margin: 4px 0 6px;
    color: #071B3A;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 950;
}

.site-contact-guidance-v2 p {
    max-width: 720px;
    margin: 0;
    color: #64748B;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.55;
}

.site-contact-guidance-actions-v2 {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.site-contact-guidance-actions-v2 .site-btn,
.site-contact-secondary-v2 {
    min-height: 44px;
    border-radius: 14px;
    white-space: nowrap;
}

.site-contact-secondary-v2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(7, 27, 58, .14);
    background: #FFFFFF;
    color: #071B3A;
    padding: 0 16px;
    font-size: 13px;
    font-weight: 950;
}

.site-contact-secondary-v2:hover {
    border-color: rgba(201, 164, 92, .52);
    background: #FFF9EB;
}

@media (max-width: 940px) {
    .site-contact-cards-v2 {
        grid-template-columns: 1fr;
    }

    .site-contact-guidance-v2 {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-contact-guidance-actions-v2 {
        flex-wrap: wrap;
    }
}

@media (max-width: 760px) {
    .site-contact-top-v2 {
        padding: 18px 0 13px;
    }

    .site-contact-top-row-v2 {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
    }

    .site-contact-top-row-v2 h1 {
        font-size: 28px;
    }

    .site-contact-top-row-v2 p {
        font-size: 13px;
    }

    .site-contact-top-action-v2 {
        width: 100%;
    }

    .site-contact-content-v2 {
        padding: 15px 0 44px;
    }

    .site-contact-card-v2 {
        min-height: 0;
        padding: 18px;
        border-radius: 20px;
    }

    .site-contact-guidance-v2 {
        padding: 18px;
        border-radius: 20px;
    }

    .site-contact-guidance-actions-v2,
    .site-contact-guidance-actions-v2 .site-btn,
    .site-contact-secondary-v2 {
        width: 100%;
    }
}


/* =========================================================
   AJUSTE FINAL - CONTATO COMPACTO + ÍCONES EM /assets/img/icons
========================================================= */

.site-contact-page-v2 .site-contact-top-v2 {
    padding: 20px 0 13px !important;
}

.site-contact-page-v2 .site-contact-top-v2 .site-listing-breadcrumb {
    margin-bottom: 10px !important;
}

.site-contact-page-v2 .site-contact-top-row-v2 {
    display: block !important;
}

.site-contact-page-v2 .site-contact-top-row-v2 h1 {
    margin: 3px 0 2px !important;
    font-size: clamp(25px, 2.6vw, 34px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

.site-contact-page-v2 .site-contact-top-row-v2 p {
    max-width: 680px !important;
    font-size: 13px !important;
    line-height: 1.42 !important;
}

.site-contact-page-v2 .site-contact-top-action-v2 {
    display: none !important;
}

.site-contact-page-v2 .site-contact-content-v2 {
    padding: 18px 0 42px !important;
}

.site-contact-page-v2 .site-contact-wrap-v2 {
    width: min(100%, 1000px) !important;
    gap: 14px !important;
}

.site-contact-page-v2 .site-contact-cards-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.site-contact-page-v2 .site-contact-card-v2 {
    min-height: 176px !important;
    padding: 18px !important;
    border-radius: 21px !important;
    gap: 10px !important;
}

.site-contact-page-v2 .site-contact-card-v2-head {
    gap: 10px !important;
}

.site-contact-page-v2 .site-contact-icon-v2 {
    width: 38px !important;
    height: 38px !important;
    border-radius: 14px !important;
}

.site-contact-page-v2 .site-contact-icon-v2 img {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    filter: brightness(0) saturate(100%) invert(84%) sepia(28%) saturate(594%) hue-rotate(358deg) brightness(101%) contrast(91%) !important;
}

.site-contact-page-v2 .site-contact-icon-v2 .site-social-icon {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
}

.site-contact-page-v2 .site-contact-card-v2-head div > span {
    font-size: 9.5px !important;
    letter-spacing: .115em !important;
}

.site-contact-page-v2 .site-contact-card-v2 h2 {
    font-size: 18px !important;
    line-height: 1.08 !important;
}

.site-contact-page-v2 .site-contact-card-v2 p {
    font-size: 12.5px !important;
    line-height: 1.45 !important;
}

.site-contact-page-v2 .site-contact-card-v2-button {
    min-height: 42px !important;
    border-radius: 13px !important;
}

.site-contact-page-v2 .site-contact-pill-v2 {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 12.5px !important;
}

.site-contact-page-v2 .site-contact-guidance-v2 {
    padding: 19px 20px !important;
    border-radius: 21px !important;
    gap: 18px !important;
}

.site-contact-page-v2 .site-contact-guidance-v2 h2 {
    margin: 3px 0 5px !important;
    font-size: clamp(21px, 2vw, 27px) !important;
}

.site-contact-page-v2 .site-contact-guidance-v2 p {
    max-width: 680px !important;
    font-size: 12.8px !important;
    line-height: 1.45 !important;
}

.site-contact-page-v2 .site-contact-guidance-actions-v2 .site-btn,
.site-contact-page-v2 .site-contact-secondary-v2 {
    min-height: 40px !important;
    border-radius: 13px !important;
    font-size: 12.5px !important;
}

@media (max-width: 940px) {
    .site-contact-page-v2 .site-contact-cards-v2 {
        grid-template-columns: 1fr !important;
    }

    .site-contact-page-v2 .site-contact-card-v2 {
        min-height: 0 !important;
    }
}

@media (max-width: 760px) {
    .site-contact-page-v2 .site-contact-top-v2 {
        padding: 16px 0 12px !important;
    }

    .site-contact-page-v2 .site-contact-content-v2 {
        padding: 14px 0 38px !important;
    }

    .site-contact-page-v2 .site-contact-card-v2,
    .site-contact-page-v2 .site-contact-guidance-v2 {
        padding: 16px !important;
        border-radius: 19px !important;
    }

    .site-contact-page-v2 .site-contact-guidance-actions-v2,
    .site-contact-page-v2 .site-contact-guidance-actions-v2 .site-btn,
    .site-contact-page-v2 .site-contact-secondary-v2 {
        width: 100% !important;
    }
}


/* =========================================================
   SITE PÚBLICO - PRIVACIDADE E COOKIES
========================================================= */

.site-footer-legal-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.site-footer-legal-links a,
.site-footer-legal-links button {
    border: 0;
    background: transparent;
    color: inherit;
    padding: 0;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    opacity: .86;
}

.site-footer-legal-links a:hover,
.site-footer-legal-links button:hover {
    opacity: 1;
    text-decoration: underline;
}

.site-legal-page {
    background: #F6F8FB;
}

.site-legal-hero {
    padding: 24px 0 17px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .12), transparent 28%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-legal-hero .site-listing-breadcrumb {
    margin-bottom: 14px;
}

.site-legal-hero h1 {
    margin: 4px 0 4px;
    color: #071B3A;
    font-size: clamp(27px, 3vw, 39px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-legal-hero p {
    max-width: 760px;
    margin: 0;
    color: #64748B;
    font-size: 14px;
    font-weight: 690;
    line-height: 1.5;
}

.site-legal-content {
    padding: 24px 0 62px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-legal-card {
    width: min(100%, 880px);
    margin: 0 auto;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.09), transparent 30%),
        #FFFFFF;
    box-shadow: 0 24px 72px rgba(7, 27, 58, .09);
}

.site-legal-card h2 {
    margin: 24px 0 8px;
    color: #071B3A;
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.025em;
    font-weight: 950;
}

.site-legal-card h2:first-child {
    margin-top: 0;
}

.site-legal-card h3 {
    margin: 16px 0 6px;
    color: #071B3A;
    font-size: 15px;
    font-weight: 950;
}

.site-legal-card p {
    margin: 0 0 12px;
    color: #64748B;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.62;
}

.site-legal-card a {
    color: #071B3A;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-legal-updated {
    margin-top: 22px !important;
    padding-top: 16px;
    border-top: 1px solid rgba(217, 226, 239, .92);
    font-size: 12px !important;
}

.site-legal-cookie-button {
    min-height: 44px;
    border-radius: 14px;
    margin-top: 8px;
}

.site-cookie-consent {
    position: fixed;
    left: 50%;
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 16000;
    width: min(940px, calc(100vw - 28px));
    display: none;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 22px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 26px 90px rgba(7, 27, 58, .24);
    backdrop-filter: blur(18px);
    transform: translateX(-50%);
}

.site-cookie-consent.is-visible {
    display: grid;
}

.site-cookie-consent h2 {
    margin: 0 0 5px;
    color: #071B3A;
    font-size: 17px;
    line-height: 1.15;
    letter-spacing: -.02em;
    font-weight: 950;
}

.site-cookie-consent p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 680;
    line-height: 1.48;
}

.site-cookie-consent p a {
    color: #071B3A;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-cookie-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    flex-wrap: wrap;
}

.site-cookie-btn {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    padding: 0 14px;
    border: 1px solid rgba(7, 27, 58, .14);
    background: #FFFFFF;
    color: #071B3A;
    font-size: 12.5px;
    font-weight: 950;
    cursor: pointer;
}

.site-cookie-btn:hover {
    border-color: rgba(201, 164, 92, .55);
    background: #FFF9EB;
}

.site-cookie-btn-primary {
    border-color: #071B3A;
    background: #071B3A;
    color: #FFFFFF;
}

.site-cookie-btn-primary:hover {
    background: #0B2346;
    color: #FFFFFF;
}

.site-cookie-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 16010;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(7, 27, 58, .50);
    backdrop-filter: blur(8px);
}

.site-cookie-modal-backdrop.is-visible {
    display: flex;
}

.site-cookie-modal {
    width: min(620px, 100%);
    max-height: min(760px, calc(100vh - 36px));
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: 0 32px 110px rgba(7, 27, 58, .35);
}

.site-cookie-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 22px 14px;
    border-bottom: 1px solid rgba(217, 226, 239, .92);
}

.site-cookie-modal-head h2 {
    margin: 0;
    color: #071B3A;
    font-size: 24px;
    line-height: 1.05;
    letter-spacing: -.035em;
    font-weight: 950;
}

.site-cookie-modal-head p {
    margin: 6px 0 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 680;
    line-height: 1.45;
}

.site-cookie-close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(7, 27, 58, .13);
    border-radius: 999px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.site-cookie-modal-body {
    display: grid;
    gap: 12px;
    padding: 16px 22px;
    overflow: auto;
}

.site-cookie-option {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 18px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(217, 226, 239, .92);
    border-radius: 16px;
    background: #F8FAFD;
}

.site-cookie-option strong {
    display: block;
    color: #071B3A;
    font-size: 14px;
    font-weight: 950;
}

.site-cookie-option small {
    display: block;
    margin-top: 3px;
    color: #64748B;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
}

.site-cookie-switch {
    position: relative;
    width: 48px;
    height: 28px;
    flex: 0 0 48px;
}

.site-cookie-switch input {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.site-cookie-switch span {
    position: absolute;
    inset: 0;
    border-radius: 999px;
    background: #CBD5E1;
    cursor: pointer;
    transition: background .2s ease;
}

.site-cookie-switch span::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 4px;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #FFFFFF;
    box-shadow: 0 2px 8px rgba(7, 27, 58, .18);
    transition: transform .2s ease;
}

.site-cookie-switch input:checked + span {
    background: #071B3A;
}

.site-cookie-switch input:checked + span::after {
    transform: translateX(20px);
}

.site-cookie-switch input:disabled + span {
    opacity: .74;
    cursor: not-allowed;
}

.site-cookie-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding: 14px 22px 22px;
    border-top: 1px solid rgba(217, 226, 239, .92);
}

@media (max-width: 780px) {
    .site-cookie-consent {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .site-cookie-actions,
    .site-cookie-modal-actions {
        justify-content: stretch;
    }

    .site-cookie-btn,
    .site-cookie-actions .site-cookie-btn,
    .site-cookie-modal-actions .site-cookie-btn {
        width: 100%;
    }

    .site-cookie-option {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}



/* =========================================================
   SITE PÚBLICO - CALCULADORA DE FINANCIAMENTO EM MODAL
   Mesmo padrão visual do modal "Tenho interesse"
========================================================= */

.site-property-finance-button {
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    border-radius: 0 !important;
    border: 1px solid rgba(216,183,107,.30) !important;
    background: #071B3A !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    box-shadow: none !important;
}

.site-property-finance-button:hover {
    border-color: rgba(216,183,107,.52) !important;
    background: #0A244A !important;
}

.site-property-action-icon-finance {
    width: 18px !important;
    height: 18px !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(216,183,107,.52) !important;
    color: #D8B76B !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

.site-finance-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
}

.site-finance-modal.is-open {
    display: flex !important;
}

.site-finance-modal-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(7, 27, 58, .72) !important;
    backdrop-filter: blur(12px) !important;
}

.site-finance-modal-panel {
    position: relative !important;
    z-index: 1 !important;
    width: min(100%, 620px) !important;
    max-height: min(92vh, 820px) !important;
    display: grid !important;
    gap: 16px !important;
    padding: clamp(22px, 3vw, 32px) !important;
    border: 1px solid rgba(216,183,107,.24) !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.12), transparent 34%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%) !important;
    box-shadow: 0 36px 120px rgba(3, 12, 26, .36) !important;
    overflow: auto !important;
}

.site-finance-modal-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 36px !important;
    height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(11,31,58,.12) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.76) !important;
    color: #0B1F3A !important;
    cursor: pointer !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

.site-finance-modal-close svg {
    width: 18px !important;
    height: 18px !important;
}

.site-finance-modal-head {
    max-width: 470px !important;
    display: grid !important;
    gap: 7px !important;
    padding-right: 36px !important;
}

.site-finance-modal-head .site-section-kicker {
    color: #C9A45C !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .15em !important;
    text-transform: uppercase !important;
}

.site-finance-modal-head h2 {
    margin: 0 !important;
    color: #0B1F3A !important;
    font-size: clamp(26px, 3vw, 34px) !important;
    font-weight: 950 !important;
    letter-spacing: -.045em !important;
    line-height: 1.05 !important;
}

.site-finance-modal-head p {
    margin: 0 !important;
    color: rgba(11,31,58,.62) !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.55 !important;
}

.site-finance-property {
    display: grid !important;
    gap: 4px !important;
    margin-top: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(11,31,58,.10) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.76) !important;
}

.site-finance-property span {
    color: rgba(11,31,58,.48) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.site-finance-property strong {
    color: #0B1F3A !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
}

.site-finance-property small {
    color: rgba(11,31,58,.58) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.site-property-finance-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 0 !important;
}

.site-property-finance-form label {
    display: grid !important;
    gap: 7px !important;
}

.site-property-finance-form label > span {
    color: rgba(11,31,58,.72) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.site-property-finance-form input,
.site-property-finance-form select {
    width: 100% !important;
    min-height: 48px !important;
    border: 1px solid rgba(11,31,58,.13) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.95) !important;
    color: #0B1F3A !important;
    padding: 0 14px !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    outline: none !important;
}

.site-property-finance-form input:focus,
.site-property-finance-form select:focus {
    border-color: rgba(201,164,92,.72) !important;
    box-shadow: 0 0 0 4px rgba(201,164,92,.16) !important;
}

.site-property-finance-form input[readonly] {
    background: rgba(248,250,253,.92) !important;
    color: rgba(11,31,58,.62) !important;
}

.site-finance-system {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 0 !important;
    padding: 5px !important;
    border: 1px solid rgba(11,31,58,.10) !important;
    border-radius: 15px !important;
    background: rgba(248,250,253,.88) !important;
}

.site-finance-system button {
    min-height: 42px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: transparent !important;
    color: rgba(11,31,58,.58) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    cursor: pointer !important;
}

.site-finance-system button.is-active {
    background: #0B1F3A !important;
    color: #FFFFFF !important;
}

.site-finance-results {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 0 !important;
}

.site-finance-results div {
    min-height: 70px !important;
    display: grid !important;
    align-content: center !important;
    gap: 6px !important;
    padding: 13px 14px !important;
    border: 1px solid rgba(11,31,58,.10) !important;
    border-radius: 15px !important;
    background: rgba(255,255,255,.76) !important;
}

.site-finance-results span {
    color: rgba(11,31,58,.52) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
}

.site-finance-results strong {
    color: #0B1F3A !important;
    font-size: clamp(18px, 2vw, 22px) !important;
    font-weight: 950 !important;
    line-height: 1.1 !important;
    letter-spacing: -.035em !important;
}

.site-finance-disclaimer {
    margin: 0 !important;
    padding: 12px 13px !important;
    border: 1px dashed rgba(201,164,92,.42) !important;
    border-radius: 14px !important;
    background: rgba(255,249,235,.78) !important;
    color: rgba(11,31,58,.58) !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
}

.site-finance-whatsapp {
    width: 100% !important;
    min-height: 48px !important;
    margin-top: 0 !important;
    border-radius: 14px !important;
}

body.site-finance-modal-open {
    overflow: hidden !important;
}

@media (max-width: 760px) {
    .site-finance-modal {
        padding: 14px !important;
        align-items: center !important;
    }

    .site-finance-modal-panel {
        max-height: min(92vh, 820px) !important;
        border-radius: 24px !important;
    }

    .site-property-finance-form,
    .site-finance-results {
        grid-template-columns: 1fr !important;
    }

    .site-finance-modal-head h2 {
        font-size: 28px !important;
    }
}



/* =========================================================
   AJUSTE FINAL - CALCULADORA DE FINANCIAMENTO COMPACTA
========================================================= */

.site-property-finance-button {
    border-radius: 12px !important;
}

.site-finance-modal {
    padding: 18px !important;
    align-items: center !important;
}

.site-finance-modal-panel {
    width: min(760px, calc(100vw - 36px)) !important;
    max-height: calc(100vh - 124px) !important;
    gap: 10px !important;
    padding: 22px 24px !important;
    border-radius: 24px !important;
    overflow: auto !important;
}

.site-finance-modal-head {
    max-width: 650px !important;
    gap: 5px !important;
    padding-right: 44px !important;
}

.site-finance-modal-head .site-section-kicker {
    font-size: 10px !important;
}

.site-finance-modal-head h2 {
    font-size: clamp(25px, 2.3vw, 32px) !important;
    line-height: 1 !important;
}

.site-finance-modal-head p {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

.site-finance-property {
    display: none !important;
}

.site-property-finance-form {
    gap: 9px !important;
}

.site-property-finance-form label {
    gap: 5px !important;
}

.site-property-finance-form label > span {
    font-size: 11px !important;
}

.site-property-finance-form input,
.site-property-finance-form select {
    min-height: 42px !important;
    border-radius: 12px !important;
    font-size: 13.5px !important;
}

.site-finance-system {
    margin-top: 0 !important;
    padding: 4px !important;
    border-radius: 13px !important;
}

.site-finance-system button {
    min-height: 38px !important;
    border-radius: 10px !important;
    font-size: 12.5px !important;
}

.site-finance-results {
    gap: 9px !important;
    margin-top: 0 !important;
}

.site-finance-results div {
    min-height: 58px !important;
    padding: 10px 12px !important;
    border-radius: 13px !important;
}

.site-finance-results span {
    font-size: 9.5px !important;
}

.site-finance-results strong {
    margin-top: 4px !important;
    font-size: clamp(16px, 1.7vw, 20px) !important;
}

.site-finance-disclaimer {
    padding: 9px 11px !important;
    border-radius: 12px !important;
    font-size: 10.8px !important;
    line-height: 1.35 !important;
}

.site-finance-whatsapp {
    min-height: 44px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

@media (max-width: 760px) {
    .site-finance-modal {
        padding: 12px !important;
    }

    .site-finance-modal-panel {
        width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 24px) !important;
        padding: 20px 16px !important;
    }

    .site-finance-modal-head {
        padding-right: 38px !important;
    }

    .site-finance-modal-head h2 {
        font-size: 26px !important;
    }
}



/* =========================================================
   AJUSTE FINAL - FOOTER LEGAL E MODAL DE FINANCIAMENTO
========================================================= */

.site-footer-bottom-enhanced {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
}

.site-footer-bottom-enhanced .site-footer-copy {
    justify-self: start !important;
    min-width: 0 !important;
}

.site-footer-bottom-enhanced .site-footer-rights {
    justify-self: end !important;
    min-width: 0 !important;
    text-align: right !important;
}

.site-footer-bottom-enhanced .site-footer-legal-links {
    justify-self: center !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

.site-footer-bottom-enhanced .site-footer-legal-links a,
.site-footer-bottom-enhanced .site-footer-legal-links button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    padding: 0 !important;
    font: inherit !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
    opacity: .86 !important;
    text-decoration: none !important;
}

.site-footer-bottom-enhanced .site-footer-legal-links a:hover,
.site-footer-bottom-enhanced .site-footer-legal-links button:hover {
    opacity: 1 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

.site-finance-modal-backdrop {
    cursor: default !important;
}

@media (max-width: 860px) {
    .site-footer-bottom-enhanced {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 10px !important;
        text-align: center !important;
    }

    .site-footer-bottom-enhanced .site-footer-copy,
    .site-footer-bottom-enhanced .site-footer-rights,
    .site-footer-bottom-enhanced .site-footer-legal-links {
        justify-self: center !important;
        text-align: center !important;
    }

    .site-footer-bottom-enhanced .site-footer-legal-links {
        width: 100% !important;
        flex-wrap: wrap !important;
        gap: 6px 14px !important;
        white-space: normal !important;
    }

    .site-footer-bottom-enhanced .site-footer-legal-links a,
    .site-footer-bottom-enhanced .site-footer-legal-links button {
        min-height: 30px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 420px) {
    .site-footer-bottom-enhanced .site-footer-legal-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .site-footer-bottom-enhanced .site-footer-legal-links a,
    .site-footer-bottom-enhanced .site-footer-legal-links button {
        width: 100% !important;
    }
}



/* =========================================================
   AJUSTE DEFINITIVO - ALINHAMENTO DO RODAPÉ
   Centraliza verticalmente copyright, links e direitos.
========================================================= */

.site-footer .site-footer-bottom-enhanced {
    position: relative !important;
    min-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    line-height: 1 !important;
}

.site-footer .site-footer-bottom-enhanced .site-footer-copy,
.site-footer .site-footer-bottom-enhanced .site-footer-rights {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: rgba(255,255,255,.88) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-footer .site-footer-bottom-enhanced .site-footer-copy {
    justify-content: flex-start !important;
    text-align: left !important;
}

.site-footer .site-footer-bottom-enhanced .site-footer-rights {
    justify-content: flex-end !important;
    text-align: right !important;
}

.site-footer .site-footer-bottom-enhanced .site-footer-legal-links {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.site-footer .site-footer-bottom-enhanced .site-footer-legal-links a,
.site-footer .site-footer-bottom-enhanced .site-footer-legal-links button {
    height: 32px !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    color: rgba(255,255,255,.72) !important;
    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    vertical-align: middle !important;
}

.site-footer .site-footer-bottom-enhanced .site-footer-legal-links a:hover,
.site-footer .site-footer-bottom-enhanced .site-footer-legal-links button:hover {
    color: rgba(255,255,255,.96) !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
}

@media (max-width: 980px) {
    .site-footer .site-footer-bottom-enhanced {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 8px !important;
        min-height: 0 !important;
        padding-top: 18px !important;
        padding-bottom: 18px !important;
        text-align: center !important;
    }

    .site-footer .site-footer-bottom-enhanced .site-footer-copy,
    .site-footer .site-footer-bottom-enhanced .site-footer-rights {
        width: 100% !important;
        height: auto !important;
        min-height: 24px !important;
        justify-content: center !important;
        text-align: center !important;
        white-space: normal !important;
    }

    .site-footer .site-footer-bottom-enhanced .site-footer-legal-links {
        position: static !important;
        transform: none !important;
        width: 100% !important;
        height: auto !important;
        min-height: 28px !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px 14px !important;
        white-space: normal !important;
    }

    .site-footer .site-footer-bottom-enhanced .site-footer-legal-links a,
    .site-footer .site-footer-bottom-enhanced .site-footer-legal-links button {
        height: 28px !important;
        min-height: 28px !important;
    }
}

@media (max-width: 430px) {
    .site-footer .site-footer-bottom-enhanced .site-footer-legal-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }

    .site-footer .site-footer-bottom-enhanced .site-footer-legal-links a,
    .site-footer .site-footer-bottom-enhanced .site-footer-legal-links button {
        width: 100% !important;
    }
}



/* =========================================================
   AJUSTE MOBILE - MODAL DE FINANCIAMENTO DENTRO DA TELA
   Usa viewport dinâmica para não ficar cortado no navegador do celular.
========================================================= */

@media (max-width: 760px) {
    .site-finance-modal {
        align-items: center !important;
        justify-content: center !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        padding-top: max(14px, env(safe-area-inset-top)) !important;
        padding-right: 12px !important;
        padding-bottom: max(14px, env(safe-area-inset-bottom)) !important;
        padding-left: 12px !important;
        overflow: hidden !important;
    }

    .site-finance-modal-panel {
        width: min(100%, 560px) !important;
        max-width: calc(100vw - 24px) !important;
        height: auto !important;
        max-height: calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
        margin: 0 auto !important;
        padding: 18px 15px 16px !important;
        border-radius: 22px !important;
        overflow-y: auto !important;
        overscroll-behavior: contain !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .site-finance-modal-head {
        padding-right: 36px !important;
        gap: 4px !important;
    }

    .site-finance-modal-head .site-section-kicker {
        font-size: 9.5px !important;
    }

    .site-finance-modal-head h2 {
        font-size: 24px !important;
        line-height: 1.02 !important;
    }

    .site-finance-modal-head p {
        font-size: 12px !important;
        line-height: 1.32 !important;
    }

    .site-finance-modal-close {
        top: 12px !important;
        right: 12px !important;
        width: 34px !important;
        height: 34px !important;
    }

    .site-property-finance-form {
        gap: 8px !important;
    }

    .site-property-finance-form input,
    .site-property-finance-form select {
        min-height: 40px !important;
        border-radius: 12px !important;
    }

    .site-finance-system button {
        min-height: 36px !important;
    }

    .site-finance-results {
        gap: 8px !important;
    }

    .site-finance-results div {
        min-height: 54px !important;
        padding: 9px 11px !important;
    }

    .site-finance-results strong {
        font-size: 17px !important;
    }

    .site-finance-disclaimer {
        padding: 8px 10px !important;
        font-size: 10.5px !important;
        line-height: 1.3 !important;
    }

    .site-finance-whatsapp {
        min-height: 42px !important;
    }
}

@media (max-width: 760px) and (max-height: 720px) {
    .site-finance-modal-panel {
        padding: 15px 14px 14px !important;
        gap: 8px !important;
    }

    .site-finance-modal-head h2 {
        font-size: 22px !important;
    }

    .site-finance-modal-head p {
        font-size: 11.5px !important;
    }

    .site-property-finance-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-finance-results {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .site-finance-results div {
        min-height: 50px !important;
    }
}

@media (max-width: 430px) {
    .site-finance-modal {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .site-finance-modal-panel {
        max-width: calc(100vw - 20px) !important;
    }
}



/* =========================================================
   SITE PÚBLICO - SOBRE / NOSSA HISTÓRIA
   Layout institucional com identidade Cerca Branca
========================================================= */

.site-about-page {
    background: #F6F8FB;
    color: #071B3A;
}

.site-about-hero {
    padding: 24px 0 28px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .14), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-about-hero .site-listing-breadcrumb {
    margin-bottom: 18px;
}

.site-about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 24px;
    align-items: stretch;
}

.site-about-hero-copy {
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.site-about-hero-copy h1 {
    max-width: 880px;
    margin: 9px 0 12px;
    color: #071B3A;
    font-size: clamp(34px, 4vw, 58px);
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 950;
}

.site-about-hero-copy p {
    max-width: 830px;
    margin: 0;
    color: #475569;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.62;
}

.site-about-actions,
.site-about-purpose-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 22px;
}

.site-about-actions .site-btn,
.site-about-purpose-actions .site-btn {
    min-height: 46px;
    border-radius: 14px;
}

.site-about-secondary {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 14px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 12px 30px rgba(7, 27, 58, .06);
}

.site-about-secondary:hover {
    border-color: rgba(201, 164, 92, .55);
    background: #FFF9EB;
}

.site-about-card-main {
    min-height: 330px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 28px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 28px;
    background:
        linear-gradient(0deg, rgba(7, 27, 58, .82), rgba(7, 27, 58, .34)),
        radial-gradient(circle at 85% 15%, rgba(216,183,107,.42), transparent 34%),
        url('/assets/img/site-hero-poster.webp') center/cover no-repeat;
    box-shadow: 0 26px 80px rgba(7, 27, 58, .14);
    overflow: hidden;
}

.site-about-card-main span {
    color: #D8B76B;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.site-about-card-main strong {
    display: block;
    margin-top: 8px;
    color: #FFFFFF;
    font-size: clamp(23px, 2.7vw, 34px);
    line-height: 1.02;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-about-card-main p {
    margin: 12px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 720;
    line-height: 1.55;
}

.site-about-body {
    padding: 26px 0 68px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-about-values {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

.site-about-values article {
    min-height: 170px;
    padding: 22px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.10), transparent 34%),
        #FFFFFF;
    box-shadow: 0 22px 68px rgba(7, 27, 58, .08);
}

.site-about-values article span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 14px;
    background: #071B3A;
    color: #D8B76B;
    font-size: 12px;
    font-weight: 950;
}

.site-about-values article h2 {
    margin: 16px 0 8px;
    color: #071B3A;
    font-size: 22px;
    line-height: 1.05;
    letter-spacing: -.03em;
    font-weight: 950;
}

.site-about-values article p {
    margin: 0;
    color: #64748B;
    font-size: 13px;
    font-weight: 720;
    line-height: 1.55;
}

.site-about-story {
    display: grid;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
    gap: 18px;
    align-items: start;
    margin-top: 18px;
}

.site-about-story-reverse {
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
}

.site-about-story-title {
    position: sticky;
    top: 96px;
    padding: 24px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.10), transparent 34%),
        #FFFFFF;
    box-shadow: 0 22px 68px rgba(7, 27, 58, .07);
}

.site-about-story-title h2 {
    margin: 8px 0 0;
    color: #071B3A;
    font-size: clamp(24px, 2.6vw, 36px);
    line-height: 1.05;
    letter-spacing: -.045em;
    font-weight: 950;
}

.site-about-story-card {
    padding: 28px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: 0 22px 68px rgba(7, 27, 58, .07);
}

.site-about-story-card p {
    margin: 0 0 16px;
    color: #475569;
    font-size: 14.5px;
    font-weight: 680;
    line-height: 1.72;
}

.site-about-story-card p:last-child {
    margin-bottom: 0;
}

.site-about-purpose {
    margin-top: 22px;
    padding: 28px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 28px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.13), transparent 34%),
        linear-gradient(145deg, #FFFFFF 0%, #F8FAFD 100%);
    box-shadow: 0 26px 82px rgba(7, 27, 58, .09);
}

.site-about-purpose h2 {
    max-width: 850px;
    margin: 8px 0 10px;
    color: #071B3A;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.02;
    letter-spacing: -.05em;
    font-weight: 950;
}

.site-about-purpose p {
    max-width: 900px;
    margin: 0;
    color: #64748B;
    font-size: 14px;
    font-weight: 720;
    line-height: 1.62;
}

@media (max-width: 1080px) {
    .site-about-hero-grid,
    .site-about-story,
    .site-about-story-reverse {
        grid-template-columns: 1fr;
    }

    .site-about-hero-copy {
        min-height: 0;
    }

    .site-about-card-main {
        min-height: 260px;
    }

    .site-about-story-title {
        position: static;
    }
}

@media (max-width: 820px) {
    .site-about-hero {
        padding: 18px 0 20px;
    }

    .site-about-hero .site-listing-breadcrumb {
        margin-bottom: 13px;
    }

    .site-about-hero-copy h1 {
        font-size: 34px;
    }

    .site-about-hero-copy p {
        font-size: 13.5px;
    }

    .site-about-values {
        grid-template-columns: 1fr;
    }

    .site-about-body {
        padding: 16px 0 46px;
    }

    .site-about-card-main,
    .site-about-values article,
    .site-about-story-title,
    .site-about-story-card,
    .site-about-purpose {
        border-radius: 20px;
    }

    .site-about-card-main,
    .site-about-story-card,
    .site-about-purpose {
        padding: 20px;
    }

    .site-about-values article,
    .site-about-story-title {
        padding: 18px;
    }

    .site-about-actions,
    .site-about-purpose-actions,
    .site-about-actions .site-btn,
    .site-about-actions .site-about-secondary,
    .site-about-purpose-actions .site-btn,
    .site-about-purpose-actions .site-about-secondary {
        width: 100%;
    }

    .site-about-story-card p {
        font-size: 13.5px;
    }
}



/* =========================================================
   SITE PÚBLICO - SOBRE SIMPLES E ACOLHEDOR
   Sobrescreve a versão anterior para reduzir poluição visual.
========================================================= */

.site-about-simple-page {
    background: #F6F8FB;
    color: #071B3A;
}

.site-about-simple-hero {
    padding: 24px 0 26px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .11), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-about-simple-hero .site-listing-breadcrumb {
    margin-bottom: 16px;
}

.site-about-simple-head {
    max-width: 880px;
}

.site-about-simple-head h1 {
    max-width: 820px;
    margin: 8px 0 10px;
    color: #071B3A;
    font-size: clamp(32px, 3.6vw, 48px);
    line-height: 1.04;
    letter-spacing: -.052em;
    font-weight: 950;
}

.site-about-simple-head p {
    max-width: 780px;
    margin: 0;
    color: #53647B;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.58;
}

.site-about-simple-body {
    padding: 28px 0 64px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-about-simple-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}

.site-about-simple-card,
.site-about-simple-side > div,
.site-about-simple-cta {
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background: #FFFFFF;
    box-shadow: 0 22px 68px rgba(7, 27, 58, .07);
}

.site-about-simple-card {
    padding: clamp(22px, 3vw, 34px);
}

.site-about-simple-card p {
    max-width: 840px;
    margin: 0 0 16px;
    color: #41516A;
    font-size: 15px;
    font-weight: 680;
    line-height: 1.78;
}

.site-about-simple-card p:last-child {
    margin-bottom: 0;
}

.site-about-simple-side {
    display: grid;
    gap: 14px;
    position: sticky;
    top: 96px;
}

.site-about-simple-quote {
    padding: 22px;
    background:
        linear-gradient(0deg, rgba(7, 27, 58, .82), rgba(7, 27, 58, .46)),
        radial-gradient(circle at 90% 12%, rgba(216,183,107,.38), transparent 36%),
        url('/assets/img/site-hero-poster.webp') center/cover no-repeat !important;
    color: #FFFFFF;
    overflow: hidden;
}

.site-about-simple-quote span {
    color: #D8B76B;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.site-about-simple-quote strong {
    display: block;
    margin-top: 8px;
    color: #FFFFFF;
    font-size: 23px;
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 950;
}

.site-about-simple-quote p {
    margin: 12px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 720;
    line-height: 1.55;
}

.site-about-simple-principles {
    padding: 20px;
}

.site-about-simple-principles h2 {
    margin: 0 0 14px;
    color: #071B3A;
    font-size: 21px;
    line-height: 1.1;
    letter-spacing: -.03em;
    font-weight: 950;
}

.site-about-simple-principles div {
    padding: 13px 0;
    border-top: 1px solid rgba(217, 226, 239, .85);
}

.site-about-simple-principles div:first-of-type {
    border-top: 0;
    padding-top: 0;
}

.site-about-simple-principles div:last-child {
    padding-bottom: 0;
}

.site-about-simple-principles strong {
    display: block;
    color: #071B3A;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.2;
}

.site-about-simple-principles span {
    display: block;
    margin-top: 4px;
    color: #64748B;
    font-size: 12.5px;
    font-weight: 720;
    line-height: 1.5;
}

.site-about-simple-cta {
    margin-top: 18px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.11), transparent 34%),
        #FFFFFF;
}

.site-about-simple-cta h2 {
    margin: 7px 0 5px;
    color: #071B3A;
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 950;
}

.site-about-simple-cta p {
    margin: 0;
    color: #64748B;
    font-size: 13.5px;
    font-weight: 720;
    line-height: 1.5;
}

.site-about-simple-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    flex: 0 0 auto;
}

.site-about-simple-actions .site-btn,
.site-about-simple-secondary {
    min-height: 44px;
    border-radius: 14px;
}

.site-about-simple-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid rgba(7, 27, 58, .14);
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
}

.site-about-simple-secondary:hover {
    border-color: rgba(201, 164, 92, .52);
    background: #FFF9EB;
}

@media (max-width: 1020px) {
    .site-about-simple-layout {
        grid-template-columns: 1fr;
    }

    .site-about-simple-side {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .site-about-simple-hero {
        padding: 18px 0 20px;
    }

    .site-about-simple-hero .site-listing-breadcrumb {
        margin-bottom: 13px;
    }

    .site-about-simple-head h1 {
        font-size: 31px;
    }

    .site-about-simple-head p,
    .site-about-simple-card p {
        font-size: 13.8px;
    }

    .site-about-simple-body {
        padding: 16px 0 46px;
    }

    .site-about-simple-side {
        grid-template-columns: 1fr;
    }

    .site-about-simple-card,
    .site-about-simple-side > div,
    .site-about-simple-cta {
        border-radius: 20px;
    }

    .site-about-simple-card,
    .site-about-simple-quote,
    .site-about-simple-principles,
    .site-about-simple-cta {
        padding: 18px;
    }

    .site-about-simple-cta {
        align-items: stretch;
        flex-direction: column;
    }

    .site-about-simple-actions,
    .site-about-simple-actions .site-btn,
    .site-about-simple-secondary {
        width: 100%;
    }
}



/* =========================================================
   AJUSTE SOBRE - BLOCO LATERAL SEM MOVIMENTO NO SCROLL
========================================================= */

.site-about-simple-side {
    position: static !important;
    top: auto !important;
}



/* =========================================================
   SEO ORGÂNICO - PÁGINAS DE REGIÕES ATENDIDAS
========================================================= */

.site-region-page {
    background: #F6F8FB;
    color: #071B3A;
}

.site-region-hero {
    padding: 24px 0 28px;
    border-bottom: 1px solid rgba(217, 226, 239, .82);
    background:
        radial-gradient(circle at 8% 0%, rgba(216, 183, 107, .11), transparent 30%),
        linear-gradient(180deg, #FFFFFF 0%, #F8FAFD 100%);
}

.site-region-hero .site-listing-breadcrumb {
    margin-bottom: 16px;
}

.site-region-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 18px;
    align-items: stretch;
}

.site-region-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 260px;
}

.site-region-copy h1 {
    max-width: 840px;
    margin: 8px 0 10px;
    color: #071B3A;
    font-size: clamp(32px, 3.5vw, 50px);
    line-height: 1.03;
    letter-spacing: -.055em;
    font-weight: 950;
}

.site-region-copy p {
    max-width: 760px;
    margin: 0;
    color: #53647B;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.58;
}

.site-region-actions,
.site-region-cta-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.site-region-secondary {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 16px;
    border: 1px solid rgba(7, 27, 58, .14);
    border-radius: 14px;
    background: #FFFFFF;
    color: #071B3A;
    font-size: 13px;
    font-weight: 950;
    box-shadow: 0 12px 30px rgba(7, 27, 58, .06);
}

.site-region-secondary:hover {
    border-color: rgba(201, 164, 92, .52);
    background: #FFF9EB;
}

.site-region-card {
    min-height: 260px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 22px;
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 24px;
    background:
        linear-gradient(0deg, rgba(7, 27, 58, .84), rgba(7, 27, 58, .46)),
        radial-gradient(circle at 90% 12%, rgba(216,183,107,.36), transparent 36%),
        url('/assets/img/site-hero-poster.webp') center/cover no-repeat;
    color: #FFFFFF;
    box-shadow: 0 22px 68px rgba(7, 27, 58, .10);
}

.site-region-card span {
    color: #D8B76B;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.site-region-card strong {
    display: block;
    margin-top: 8px;
    color: #FFFFFF;
    font-size: 23px;
    line-height: 1.08;
    letter-spacing: -.035em;
    font-weight: 950;
}

.site-region-card p {
    margin: 12px 0 0;
    color: rgba(255,255,255,.82);
    font-size: 13px;
    font-weight: 720;
    line-height: 1.55;
}

.site-region-content {
    padding: 26px 0 64px;
    background: linear-gradient(180deg, #F6F8FB 0%, #EEF3FA 100%);
}

.site-region-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}

.site-region-text-card,
.site-region-info-card,
.site-region-cta,
.site-region-mini-card {
    border: 1px solid rgba(217, 226, 239, .96);
    border-radius: 22px;
    background: #FFFFFF;
    box-shadow: 0 22px 68px rgba(7, 27, 58, .07);
}

.site-region-text-card {
    padding: clamp(22px, 3vw, 30px);
}

.site-region-text-card p {
    max-width: 850px;
    margin: 0 0 15px;
    color: #41516A;
    font-size: 14.5px;
    font-weight: 680;
    line-height: 1.72;
}

.site-region-text-card p:last-child {
    margin-bottom: 0;
}

.site-region-info-card {
    padding: 20px;
}

.site-region-info-card h2 {
    margin: 0 0 14px;
    color: #071B3A;
    font-size: 21px;
    line-height: 1.1;
    letter-spacing: -.03em;
    font-weight: 950;
}

.site-region-info-card ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-region-info-card li {
    padding: 13px 0;
    border-top: 1px solid rgba(217, 226, 239, .85);
}

.site-region-info-card li:first-child {
    border-top: 0;
    padding-top: 0;
}

.site-region-info-card li:last-child {
    padding-bottom: 0;
}

.site-region-info-card strong {
    display: block;
    color: #071B3A;
    font-size: 14px;
    font-weight: 950;
}

.site-region-info-card span {
    display: block;
    margin-top: 4px;
    color: #64748B;
    font-size: 12.5px;
    font-weight: 720;
    line-height: 1.5;
}

.site-region-list {
    margin-top: 22px;
}

.site-region-section-head {
    margin-bottom: 12px;
}

.site-region-section-head h2 {
    margin: 6px 0 0;
    color: #071B3A;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 950;
}

.site-region-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.site-region-mini-card {
    display: grid;
    overflow: hidden;
    color: #071B3A;
    text-decoration: none;
}

.site-region-mini-card img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    background: #E5EAF2;
}

.site-region-mini-card span,
.site-region-mini-card strong,
.site-region-mini-card small,
.site-region-mini-card em {
    margin-left: 16px;
    margin-right: 16px;
}

.site-region-mini-card span {
    margin-top: 14px;
    color: #64748B;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.site-region-mini-card strong {
    margin-top: 4px;
    color: #071B3A;
    font-size: 15px;
    font-weight: 950;
    line-height: 1.25;
}

.site-region-mini-card small {
    margin-top: 5px;
    color: #64748B;
    font-size: 12px;
    font-weight: 720;
}

.site-region-mini-card em {
    margin-top: 12px;
    margin-bottom: 16px;
    color: #071B3A;
    font-size: 17px;
    font-style: normal;
    font-weight: 950;
}

.site-region-cta {
    margin-top: 22px;
    padding: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background:
        radial-gradient(circle at 0% 0%, rgba(216,183,107,.11), transparent 34%),
        #FFFFFF;
}

.site-region-cta h2 {
    margin: 7px 0 5px;
    color: #071B3A;
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.05;
    letter-spacing: -.04em;
    font-weight: 950;
}

.site-region-cta p {
    margin: 0;
    color: #64748B;
    font-size: 13.5px;
    font-weight: 720;
    line-height: 1.5;
}

@media (max-width: 1020px) {
    .site-region-hero-grid,
    .site-region-layout {
        grid-template-columns: 1fr;
    }

    .site-region-copy,
    .site-region-card {
        min-height: 0;
    }

    .site-region-mini-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .site-region-hero {
        padding: 18px 0 20px;
    }

    .site-region-copy h1 {
        font-size: 31px;
    }

    .site-region-copy p,
    .site-region-text-card p {
        font-size: 13.8px;
    }

    .site-region-content {
        padding: 16px 0 46px;
    }

    .site-region-card,
    .site-region-text-card,
    .site-region-info-card,
    .site-region-cta,
    .site-region-mini-card {
        border-radius: 20px;
    }

    .site-region-card,
    .site-region-text-card,
    .site-region-info-card,
    .site-region-cta {
        padding: 18px;
    }

    .site-region-actions,
    .site-region-cta,
    .site-region-cta-actions,
    .site-region-actions .site-btn,
    .site-region-actions .site-region-secondary,
    .site-region-cta-actions .site-btn,
    .site-region-cta-actions .site-region-secondary {
        width: 100%;
    }

    .site-region-cta {
        align-items: stretch;
        flex-direction: column;
    }
}

