/* Responsividade — apenas breakpoints */

@media (max-width: 1200px) {
    .property-results-grid,
    .life-pillars,
    .michelle-method,
    .process-track {
        grid-template-columns: repeat(2, 1fr);
    }

    .property-hero-banner__grid,
    .property-summary,
    .property-detail-layout,
    .property-modal-layout,
    .property-living,
    .property-location,
    .property-consultancy,
    .visit-layout,
    .alphavita-band,
    .michelle-home,
    .sell-form-layout,
    .contact-layout,
    .curadoria-band,
    .page-hero--split,
    .manifesto-grid,
    .editorial-grid {
        grid-template-columns: 1fr;
    }

    .page-hero--split .page-hero__media { min-height: 52vh; }
    .page-hero--split .page-hero__content { padding: calc(var(--header-h) + 2rem) 1.25rem 3rem; }

    .property-gallery,
    .property-gallery__main,
    .property-gallery__side { min-height: 0; }

    .property-gallery__main { aspect-ratio: 16 / 11; }
    .property-gallery__side {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: none;
    }

    .alphavita-feature { min-height: 520px; }
    .alphavita-feature__panel {
        width: min(100%, 420px);
        min-height: 520px;
    }

    .phase-layout {
        grid-template-columns: minmax(220px, 0.38fr) 1fr;
    }

    .phase-grid__row--a,
    .phase-grid__row--b {
        grid-template-columns: 1fr 1fr;
    }

    .phase-grid__row--a .phase-grid__item,
    .phase-grid__row--b .phase-grid__item {
        min-height: 280px;
    }

    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .site-header__inner {
        grid-template-columns: auto 1fr auto;
    }
}

@media (max-width: 992px) {
    .site-nav,
    .header-cta { display: none; }

    .nav-toggle { display: grid; }

    .site-header__inner {
        grid-template-columns: 1fr auto;
    }

    .diff-list,
    .property-specifications,
    .property-features-rich,
    .property-explore-grid,
    .property-media-grid,
    .editorial-form__grid,
    .property-search__more {
        grid-template-columns: 1fr 1fr;
    }

    .property-search__chips {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .property-search__more-btn {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .property-explore-grid figure:first-child { grid-row: auto; }
    .home-hero { min-height: 80vh; }

    .alphavita-feature__panel {
        width: 100%;
        min-height: auto;
        margin-top: 42vh;
    }

    .alphavita-feature { min-height: auto; }
    .alphavita-feature__media { min-height: 42vh; }
}

@media (max-width: 768px) {
    :root {
        --section-xl: 80px;
        --section-lg: 72px;
        --section-md: 56px;
        --section-sm: 40px;
        --header-h: 72px;
    }

    .home-hero { min-height: 75vh; }
    .section { padding: var(--section-md) 0; }

    .property-results-grid,
    .property-results-grid--home,
    .property-results-grid--similar,
    .diff-list,
    .life-pillars,
    .michelle-method,
    .process-track,
    .property-specifications,
    .property-features-rich,
    .property-details-grid,
    .property-explore-grid,
    .property-media-grid,
    .editorial-form__grid,
    .property-search__more,
    .grid-3,
    .grid-2,
    .footer-grid,
    .phase-layout {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .phase-layout__head .display-sm {
        max-width: none;
    }

    .phase-grid__row--a,
    .phase-grid__row--b {
        grid-template-columns: 1fr;
    }

    .phase-grid__item,
    .phase-grid__row--a .phase-grid__item {
        min-height: 0;
        aspect-ratio: 16 / 10;
    }

    .manifesto-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .property-search__chips { display: none; }
    .property-search__mobile-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .property-search__more.is-open { display: none; }

    .results-head,
    .section-head,
    .not-found-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .results-sort {
        width: 100%;
        justify-content: space-between;
    }

    .results-sort__control {
        flex: 1;
        min-width: 0;
        max-width: 240px;
    }

    .find-duo {
        grid-template-columns: 1fr;
        gap: .85rem;
    }

    .find-card {
        min-height: 360px;
    }

    .properties-final-cta {
        min-height: 360px;
        margin-top: .85rem;
    }

    .properties-final-cta__content {
        width: min(100% - 1.75rem, 720px);
        padding: 2.75rem 0;
    }

    .properties-final-cta__title {
        max-width: 18ch;
        font-size: clamp(1.85rem, 7vw, 2.4rem);
    }

    .page-hero:not(.page-hero--split) .display {
        font-size: clamp(2.1rem, 8vw, 2.85rem);
    }

    .sticky-bar__info { display: none; }
    .sticky-bar__actions {
        width: 100%;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: .5rem;
    }

    .property-hero-banner {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .property-hero-banner__grid {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .property-hero-banner__main,
    .property-hero-banner__side {
        min-height: 280px;
    }

    .property-hero-banner__main {
        min-height: clamp(240px, 42vw, 360px);
    }

    .property-hero-banner__side {
        min-height: 220px;
    }

    .property-summary__aside {
        text-align: left;
    }

    .property-summary__actions,
    .property-summary__tools {
        align-items: stretch;
        justify-content: flex-start;
    }

    .property-summary__actions .btn {
        width: 100%;
    }

    .property-detail-sidebar {
        grid-column: 1;
        grid-row: auto;
        position: static;
    }

    .property-sidebar-form {
        overflow: visible;
        margin-bottom: 2rem;
    }

    .property-overview-grid {
        grid-template-columns: 1fr 1fr;
    }

    .property-panel--split {
        grid-template-columns: 1fr;
    }

    .property-panel--split .property-panel__media {
        min-height: 200px;
        max-height: 260px;
    }

    .property-panel--split .property-panel__content {
        padding: 1.25rem 1.15rem 1.4rem;
    }

    .property-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nv-modal__dialog--property {
        width: min(100% - 1rem, 1180px);
        max-height: 94vh;
    }

    .property-modal-form {
        border-left: 0;
        border-top: 1px solid var(--color-border);
    }

    .editorial-form--compact .editorial-form__grid--compact {
        grid-template-columns: 1fr;
    }

    .property-gallery__side { grid-template-columns: 1fr 1fr; }
    .property-main__panel { border-top: 0; padding-top: 0; }
    .editorial-form--soft { padding: 1.4rem; }
    .editorial-form__actions .btn { width: 100%; }
    .cookie-banner { flex-direction: column; align-items: stretch; }
    .display { max-width: none; }
    .manifesto-grid .editorial-media { transform: none; }

    .wa-float {
        width: 46px;
        height: 46px;
        right: 16px;
        bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    }

    .has-sticky-cta .wa-float {
        bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }

    .cta-band { min-height: 380px; }
}

@media (max-width: 576px) {
    .container,
    .container--wide,
    .site-header__inner,
    .home-hero .hero-content {
        width: min(100% - 1.5rem, var(--container));
    }

    .hero-actions .btn { width: 100%; }
    .property-search__main { grid-template-columns: 1fr; }
    .property-search__panel { padding: 1rem; }
    .page-hero,
    .page-hero--properties,
    .page-hero--editorial { min-height: 52vh; }
    .page-hero--minimal { min-height: 38vh; }
}

@media (max-width: 390px) {
    .brand { font-size: 1.3rem; }
}
