/* ============================================================
   A+ BOUTIQUE — newprojectresponsive.css
   Responsividade : 320px → 1600px
   Complementa    : newproject.css
   ─────────────────────────────────────────────────────────
   BREAKPOINTS
   [320]  até 359px  — Celular muito pequeno (iPhone SE 1ª)
   [360]  360–479px  — Celular pequeno
   [480]  480–767px  — Celular médio/grande
   [768]  768–1023px — Tablet
   [1024] 1024–1279px — Laptop / desktop pequeno
   [1280] 1280–1440px — Desktop padrão
   [1441] 1441–1600px — Desktop grande
   ─────────────────────────────────────────────────────────
   ÍNDICE ESPELHA newproject.css:
   [02] Header
   [03] Seção título + filtro
   [04] Filtro de busca
   [05] Grid de cards
   [06] Card individual
   [07] Botão ver mais
   [08] Imóveis similares
   [09] Carrossel
============================================================ */


/* ============================================================
   [320] CELULAR MUITO PEQUENO — até 359px
============================================================ */
@media only screen and (max-width: 359px) {

    /* [02] Header */
    .np-header-inner {
        padding: 0 16px;
        height : 60px;
    }
    .np-header-logo img { height: 36px; }
    .np-header-nav      { display: none; }
    .np-header-cta      { display: none; }

    /* [03] Seção */
    section#boutiqueFiltroLancamento {
        padding: 40px 16px 48px;
    }
    section#boutiqueFiltroLancamento > h2 {
        font-size: 22px;
        padding  : 0;
    }

    /* [04] Filtro */
    section.filtro-imovel { margin-bottom: 28px; }
    form#formFiltro {
        flex-direction: column;
        gap           : 0;
        padding       : 8px;
        border-radius : 12px;
    }
    div.input__lancamento__filtro {
        width      : 100%;
        border-right: none;
        border-bottom: 1px solid var(--np-border);
        padding    : 12px;
        min-width  : unset;
        flex       : unset;
    }
    form#formFiltro select {
        width        : 100%;
        min-width    : unset;
        flex         : unset;
        border-left  : none;
        border-bottom: 1px solid var(--np-border);
        padding      : 12px;
    }
    button.botao-busca {
        width        : 100%;
        height       : 48px;
        border-radius: 8px;
        margin-top   : 8px;
    }

    /* [05] Grid */
    div.lancamentosCards {
        grid-template-columns: 1fr;
        gap                  : 14px;
    }

    /* [06] Card */
    div.lancamentoCard { height: 280px; }
    div.lancamentoCard div.cardDetalhes { padding: 16px; }
    h3.card__empreendimento { font-size: 18px; }

    /* [07] Ver mais */
    button#btnVerMais { padding: 14px 32px; font-size: 13px; }

    /* [08] Similares */
    section#cardimbdisponiveis { padding: 48px 16px; }
    div.cardimb__titulo h2 { font-size: 24px; }

    /* [09] Carrossel */
    .carousel-track .card { flex: 0 0 100%; }
    .carousel-track .card img { height: 180px; }
}


/* ============================================================
   [360] CELULAR PEQUENO — 360px a 479px
============================================================ */
@media only screen and (min-width: 360px) and (max-width: 479px) {

    /* [02] Header */
    .np-header-inner {
        padding: 0 20px;
        height : 64px;
    }
    .np-header-logo img { height: 40px; }
    .np-header-nav      { display: none; }
    .np-header-cta      { display: none; }

    /* [03] Seção */
    section#boutiqueFiltroLancamento {
        padding: 48px 20px 56px;
    }
    section#boutiqueFiltroLancamento > h2 {
        font-size: 24px;
        padding  : 0;
    }

    /* [04] Filtro */
    form#formFiltro {
        flex-direction: column;
        gap           : 0;
        padding       : 10px;
        border-radius : 12px;
    }
    div.input__lancamento__filtro {
        width        : 100%;
        border-right : none;
        border-bottom: 1px solid var(--np-border);
        padding      : 12px;
        flex         : unset;
        min-width    : unset;
    }
    form#formFiltro select {
        width       : 100%;
        min-width   : unset;
        flex        : unset;
        border-left : none;
        border-bottom: 1px solid var(--np-border);
        padding     : 12px;
    }
    button.botao-busca {
        width        : 100%;
        height       : 48px;
        border-radius: 8px;
        margin-top   : 8px;
    }

    /* [05] Grid */
    div.lancamentosCards {
        grid-template-columns: 1fr;
        gap                  : 16px;
    }

    /* [06] Card */
    div.lancamentoCard { height: 300px; }
    div.lancamentoCard div.cardDetalhes { padding: 18px; }
    h3.card__empreendimento { font-size: 20px; }

    /* [08] Similares */
    section#cardimbdisponiveis { padding: 56px 20px; }
    div.cardimb__titulo h2 { font-size: 26px; }

    /* [09] Carrossel */
    .carousel-track .card { flex: 0 0 100%; }
    .carousel-track .card img { height: 190px; }
}


/* ============================================================
   [480] CELULAR MÉDIO/GRANDE — 480px a 767px
============================================================ */
@media only screen and (min-width: 480px) and (max-width: 767px) {

    /* [02] Header */
    .np-header-inner {
        padding: 0 24px;
        height : 68px;
    }
    .np-header-logo img { height: 44px; }
    .np-header-nav      { display: none; }
    .np-header-cta      { display: none; }

    /* [03] Seção */
    section#boutiqueFiltroLancamento {
        padding: 56px 24px 64px;
    }
    section#boutiqueFiltroLancamento > h2 {
        font-size: 28px;
        padding  : 0;
    }

    /* [04] Filtro */
    form#formFiltro {
        flex-wrap: wrap;
        gap      : 8px;
        padding  : 12px;
    }
    div.input__lancamento__filtro {
        flex        : 1 1 100%;
        min-width   : unset;
        border-right: none;
        border-bottom: 1px solid var(--np-border);
        padding     : 10px 12px;
    }
    form#formFiltro select {
        flex      : 1 1 calc(50% - 4px);
        min-width : unset;
        border-left: none;
        padding   : 10px 12px;
    }
    button.botao-busca {
        flex         : 1 1 100%;
        width        : 100%;
        height       : 48px;
        border-radius: 8px;
        justify-content: center;
    }

    /* [05] Grid */
    div.lancamentosCards {
        grid-template-columns: 1fr;
        gap                  : 16px;
    }

    /* [06] Card */
    div.lancamentoCard { height: 320px; }
    div.lancamentoCard div.cardDetalhes { padding: 20px; }

    /* [08] Similares */
    section#cardimbdisponiveis { padding: 64px 24px; }

    /* [09] Carrossel */
    .carousel-track .card {
        flex: 0 0 calc(50% - 10px);
    }
}


/* ============================================================
   [768] TABLET — 768px a 1023px
============================================================ */
@media only screen and (min-width: 768px) and (max-width: 1023px) {

    /* [02] Header */
    .np-header-inner {
        padding: 0 28px;
        height : 72px;
    }
    .np-header-logo img { height: 46px; }
    .np-header-nav      { display: none; }
    /* CTA ainda escondido — pouco espaço */
    .np-header-cta { display: none; }

    /* [03] Seção */
    section#boutiqueFiltroLancamento {
        padding: 64px 28px 72px;
    }
    section#boutiqueFiltroLancamento > h2 {
        font-size: 32px;
        padding  : 0;
    }

    /* [04] Filtro */
    form#formFiltro {
        flex-wrap: wrap;
        gap      : 8px;
        padding  : 14px;
    }
    div.input__lancamento__filtro {
        flex        : 1 1 100%;
        min-width   : unset;
        border-right: none;
        border-bottom: 1px solid var(--np-border);
        padding     : 12px 16px;
    }
    form#formFiltro select {
        flex     : 1 1 calc(33% - 8px);
        min-width: unset;
        padding  : 12px;
    }
    button.botao-busca {
        flex  : 0 0 52px;
        height: 52px;
    }

    /* [05] Grid */
    div.lancamentosCards {
        grid-template-columns: repeat(2, 1fr);
        gap                  : 18px;
    }

    /* [06] Card */
    div.lancamentoCard { height: 340px; }

    /* [08] Similares */
    section#cardimbdisponiveis { padding: 72px 28px; }
    div.cardimb__titulo h2 { font-size: 32px; }

    /* [09] Carrossel */
    .carousel-track .card {
        flex: 0 0 calc(50% - 10px);
    }
}


/* ============================================================
   [1024] LAPTOP / DESKTOP PEQUENO — 1024px a 1279px
============================================================ */
@media only screen and (min-width: 1024px) and (max-width: 1279px) {

    /* [02] Header */
    .np-header-inner { padding: 0 32px; }
    .np-header-nav ul { gap: 24px; }
    .np-header-nav ul li a { font-size: 12px; letter-spacing: 1.4px; }

    /* Oculta botão mobile nesse breakpoint */
    .btn-menu-mobile { display: none !important; }

    /* [03] Seção */
    section#boutiqueFiltroLancamento { padding: 72px 32px 80px; }

    /* [05] Grid */
    div.lancamentosCards {
        grid-template-columns: repeat(2, 1fr);
        gap                  : 18px;
    }

    /* [06] Card */
    div.lancamentoCard { height: 360px; }

    /* [08] Similares */
    section#cardimbdisponiveis { padding: 80px 32px; }

    /* [09] Carrossel — 3 cards, grid menor */
    .carousel-track .card {
        flex: 0 0 calc(33.333% - 14px);
    }
    .carousel-track .card img { height: 200px; }
}


/* ============================================================
   [1280] DESKTOP PADRÃO — 1280px a 1440px
   (Base já definida no newproject.css)
   Apenas ajustes finos
============================================================ */
@media only screen and (min-width: 1280px) and (max-width: 1440px) {

    /* Oculta botão mobile */
    .btn-menu-mobile { display: none !important; }

    /* [02] Header */
    .np-header-inner { padding: 0 40px; }

    /* Garante 2 colunas no grid */
    div.lancamentosCards {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* ============================================================
   [1441] DESKTOP GRANDE — 1441px a 1600px
============================================================ */
@media only screen and (min-width: 1441px) and (max-width: 1600px) {

    /* [02] Header */
    .np-header-inner {
        max-width: 1500px;
        padding  : 0 48px;
        height   : 80px;
    }
    .np-header-logo img { height: 52px; }
    .np-header-nav ul { gap: 40px; }
    .np-header-nav ul li a { font-size: 14px; }
    .btn-menu-mobile { display: none !important; }

    /* [03] Seção */
    section#boutiqueFiltroLancamento { padding: 88px 48px 96px; }
    section#boutiqueFiltroLancamento > h2 { font-size: 52px; }

    /* [05] Grid: 3 colunas em telas grandes */
    div.lancamentosCards {
        grid-template-columns: repeat(3, 1fr);
        gap                  : 24px;
        max-width            : 1500px;
    }

    /* [06] Card maior */
    div.lancamentoCard { height: 400px; }
    h3.card__empreendimento { font-size: 24px; }

    /* [08] Similares */
    section#cardimbdisponiveis {
        padding  : 96px 48px;
    }
    div.imb__disponiveis__container { max-width: 1500px; }
    div.cardimb__titulo { max-width: 1500px; }
    div.cardimb__titulo h2 { font-size: 48px; }

    /* [09] Carrossel */
    .carousel-track .card img { height: 240px; }
}


/* ============================================================
   ACIMA DE 1600px — Ultra-wide
============================================================ */
@media only screen and (min-width: 1601px) {

    .np-header-inner {
        max-width: 1600px;
        height   : 82px;
    }
    .btn-menu-mobile { display: none !important; }

    div.lancamentosCards {
        grid-template-columns: repeat(3, 1fr);
        max-width            : 1600px;
    }

    div.lancamentoCard { height: 420px; }

    section#cardimbdisponiveis { padding: 100px 60px; }
    div.imb__disponiveis__container { max-width: 1600px; }
    div.cardimb__titulo { max-width: 1600px; }
}
