/*
 * Espelium 2.3.35 — estrutura exportável como Auto Layout.
 * Este arquivo é carregado depois do CSS visual para que Flexbox, fluxo
 * normal e gap sejam a fonte final do layout capturado por extensões HTML/Figma.
 */

.consorcio-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
}

/* 2.3.55 — fill dentro do Elementor. Quando o contêiner pai está centralizado,
 * widgets com largura automática encolhem até o conteúdo. O seletor :has
 * corrige antes do JavaScript; a classe é adicionada como fallback. */
.elementor-widget-shortcode.espelium-widget-fill,
.elementor-widget-shortcode:has(.consorcio-wrapper) {
    align-self: stretch !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.elementor-widget-shortcode.espelium-widget-fill > .elementor-widget-container,
.elementor-widget-shortcode.espelium-widget-fill .elementor-shortcode,
.elementor-widget-shortcode:has(.consorcio-wrapper) > .elementor-widget-container,
.elementor-widget-shortcode:has(.consorcio-wrapper) .elementor-shortcode,
.elementor-widget-shortcode .consorcio-wrapper {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.consorcio-wrapper .segmento-wrapper,
.consorcio-wrapper .espelium-mobile-filter-summary,
.consorcio-wrapper .espelium-filter-bar,
.consorcio-wrapper .consorcio-list {
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.consorcio-wrapper .segmento-wrapper,
.consorcio-wrapper .segmento-options,
.consorcio-wrapper .espelium-view-toggle,
.consorcio-wrapper .espelium-filter-input-wrap,
.consorcio-wrapper .espelium-status-options,
.consorcio-wrapper .espelium-filter-footer,
.consorcio-wrapper .espelium-card-meta,
.consorcio-wrapper .consorcio-footer,
.consorcio-wrapper .consorcio-actions {
    display: flex !important;
    align-items: center !important;
}

.consorcio-wrapper .segmento-wrapper {
    flex-flow: row wrap !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 !important;
}

.consorcio-wrapper .segmento-options,
.consorcio-wrapper .espelium-view-toggle {
    flex-direction: row !important;
    gap: 8px !important;
}

.consorcio-wrapper .espelium-filter-bar {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: flex-end !important;
    gap: 12px !important;
    margin: 0 !important;
}

.consorcio-wrapper .espelium-filter-field {
    display: flex !important;
    flex: 1 1 175px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 5px !important;
    min-width: 0 !important;
}

.consorcio-wrapper .espelium-filter-field > label {
    margin: 0 !important;
}

.consorcio-wrapper .espelium-filter-search {
    flex-basis: 145px !important;
}

.consorcio-wrapper .espelium-filter-status-field {
    flex-basis: 215px !important;
}

.consorcio-wrapper .espelium-filter-order-field {
    flex-basis: 200px !important;
}

.consorcio-wrapper .espelium-filter-input-wrap,
.consorcio-wrapper .espelium-status-options {
    flex-direction: row !important;
}

.consorcio-wrapper .espelium-filter-footer {
    flex: 1 0 100% !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
}

/* Microinterações de ajuda nas ações flutuantes. */
.fixed-buttons-container .fixed-button .espelium-action-tooltip {
    position: absolute !important;
    right: 0 !important;
    bottom: calc(100% + 12px) !important;
    z-index: 5 !important;
    width: max-content !important;
    max-width: min(270px, calc(100vw - 32px)) !important;
    padding: 9px 12px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #111827 !important;
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    white-space: normal !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.2) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(6px) scale(0.98) !important;
    transform-origin: right bottom !important;
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease !important;
}

.fixed-buttons-container .fixed-button .espelium-action-tooltip::after {
    position: absolute !important;
    top: 100% !important;
    right: 20px !important;
    width: 0 !important;
    height: 0 !important;
    border: 6px solid transparent !important;
    border-top-color: #111827 !important;
    content: "" !important;
}

@media (hover: hover) and (pointer: fine) {
    .fixed-buttons-container .fixed-button:hover .espelium-action-tooltip {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) scale(1) !important;
    }
}

.fixed-buttons-container .fixed-button:focus-visible .espelium-action-tooltip {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) scale(1) !important;
}

/* Badges do modal com a mesma leitura e presença visual dos cards. */
.espelium-details-modal .result-item .espelium-modal-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 7px 13px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.espelium-details-modal .result-item .espelium-modal-status.status-disponivel {
    background: #dcfce7 !important;
    color: #15803d !important;
}

.espelium-details-modal .result-item .espelium-modal-status.status-reservado {
    background: #ffe4e6 !important;
    color: #be123c !important;
}

.espelium-details-modal .result-item .espelium-modal-status.status-inativo {
    background: #f1f5f9 !important;
    color: #475569 !important;
}

.consorcio-wrapper .consorcio-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    width: 100% !important;
}

.consorcio-wrapper .consorcio-item {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
}

/* O JavaScript filtra os cards pelo atributo HTML hidden. Esta regra precisa
   prevalecer sobre o display:flex do Auto Layout. */
.consorcio-wrapper .consorcio-item[hidden] {
    display: none !important;
}

/* A badge passa a participar do fluxo do card. */
.consorcio-wrapper .consorcio-state,
.consorcio-wrapper.view-gallery .consorcio-state {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    flex: 0 0 auto !important;
}

@media (min-width: 769px) {
    .consorcio-wrapper.view-list .consorcio-content {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 16px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-main {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 16px !important;
        min-width: 0 !important;
        padding: 0 !important;
    }

    .consorcio-wrapper.view-list .espelium-card-meta {
        position: static !important;
        order: 0 !important;
        margin: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-info {
        display: flex !important;
        flex: 1 1 auto !important;
        order: 1 !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 18px !important;
        min-width: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-marca-wrapper,
    .consorcio-wrapper.view-list .consorcio-entrada,
    .consorcio-wrapper.view-list .consorcio-parcelas,
    .consorcio-wrapper.view-list .consorcio-codigo,
    .consorcio-wrapper.view-list .consorcio-admin {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        gap: 4px !important;
        min-width: 80px !important;
    }

    .consorcio-wrapper.view-list .consorcio-marca-wrapper {
        flex: 1.35 1 190px !important;
        min-width: 145px !important;
    }

    .consorcio-wrapper.view-list .consorcio-entrada,
    .consorcio-wrapper.view-list .consorcio-parcelas,
    .consorcio-wrapper.view-list .consorcio-codigo,
    .consorcio-wrapper.view-list .consorcio-admin {
        flex: 1 1 105px !important;
    }

    .consorcio-wrapper.view-list .consorcio-state {
        order: 2 !important;
        margin: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-footer {
        flex: 0 0 auto !important;
        flex-direction: row !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-actions {
        flex-direction: row !important;
        gap: 8px !important;
        margin: 0 !important;
    }
}

/* Galeria = Auto Layout horizontal com quebra. */
.consorcio-wrapper.view-gallery .consorcio-list {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: stretch !important;
    gap: 16px !important;
}

.consorcio-wrapper.view-gallery .consorcio-item {
    flex: 1 1 calc((100% - 32px) / 3) !important;
    width: calc((100% - 32px) / 3) !important;
    min-width: 280px !important;
    max-width: calc((100% - 32px) / 3) !important;
    height: auto !important;
}

.consorcio-wrapper.view-gallery .consorcio-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-main {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-flow: row wrap !important;
    align-items: center !important;
    align-content: flex-start !important;
    gap: 14px 10px !important;
    width: 100% !important;
    padding: 0 !important;
}

.consorcio-wrapper.view-gallery .espelium-card-meta {
    position: static !important;
    order: 0 !important;
    margin: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-state {
    order: 1 !important;
    margin: 0 0 0 auto !important;
}

.consorcio-wrapper.view-gallery .consorcio-info {
    display: flex !important;
    flex: 1 0 100% !important;
    order: 2 !important;
    flex-flow: row wrap !important;
    align-items: flex-start !important;
    gap: 14px 12px !important;
    width: 100% !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca-wrapper {
    display: flex !important;
    flex: 1 0 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada,
.consorcio-wrapper.view-gallery .consorcio-parcelas,
.consorcio-wrapper.view-gallery .consorcio-codigo,
.consorcio-wrapper.view-gallery .consorcio-admin {
    display: flex !important;
    flex: 1 1 calc(50% - 6px) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: calc(50% - 6px) !important;
    min-width: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-footer,
.consorcio-wrapper.view-gallery .consorcio-actions {
    flex-direction: row !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions {
    flex: 1 1 auto !important;
}

.consorcio-wrapper.view-gallery .espelium-filter-no-results,
.consorcio-wrapper.view-gallery .no-results,
.consorcio-wrapper.view-gallery .espelium-load-more-wrap {
    flex: 1 0 100% !important;
    width: 100% !important;
}

@media (max-width: 1099px) {
    .consorcio-wrapper.view-gallery .consorcio-item {
        flex-basis: calc((100% - 16px) / 2) !important;
        width: calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
    }
}

@media (max-width: 768px) {
    .consorcio-wrapper .segmento-options {
        display: flex !important;
        flex: 1 1 100% !important;
        flex-direction: row !important;
        gap: 6px !important;
        width: 100% !important;
    }

    .consorcio-wrapper .segmento-options .segmento-option {
        flex: 1 1 0 !important;
    }

    .consorcio-wrapper .espelium-filter-bar {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .consorcio-wrapper .espelium-filter-field,
    .consorcio-wrapper .espelium-filter-search,
    .consorcio-wrapper .espelium-filter-status-field,
    .consorcio-wrapper .espelium-filter-order-field {
        flex: 0 0 auto !important;
        width: 100% !important;
    }

    .consorcio-wrapper.view-list .consorcio-list,
    .consorcio-wrapper.view-gallery .consorcio-list {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .consorcio-wrapper.view-list .consorcio-item,
    .consorcio-wrapper.view-gallery .consorcio-item {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .consorcio-wrapper .consorcio-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 14px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .consorcio-wrapper .consorcio-main {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        gap: 14px 10px !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .consorcio-wrapper .espelium-card-meta {
        position: static !important;
        order: 0 !important;
        margin: 0 !important;
    }

    .consorcio-wrapper .consorcio-state {
        order: 1 !important;
        margin: 0 0 0 auto !important;
    }

    .consorcio-wrapper .consorcio-info {
        display: flex !important;
        flex: 1 0 100% !important;
        order: 2 !important;
        flex-flow: row wrap !important;
        align-items: flex-start !important;
        gap: 14px 12px !important;
        width: 100% !important;
    }

    .consorcio-wrapper .consorcio-marca-wrapper {
        display: flex !important;
        flex: 1 0 100% !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        width: 100% !important;
    }

    .consorcio-wrapper .consorcio-entrada,
    .consorcio-wrapper .consorcio-parcelas,
    .consorcio-wrapper .consorcio-codigo,
    .consorcio-wrapper .consorcio-admin {
        display: flex !important;
        flex: 1 1 calc(50% - 6px) !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
        width: calc(50% - 6px) !important;
        min-width: 0 !important;
    }

    .consorcio-wrapper .consorcio-footer,
    .consorcio-wrapper .consorcio-actions {
        flex-direction: row !important;
        gap: 8px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .consorcio-wrapper .consorcio-actions .btn-detalhes,
    .consorcio-wrapper .consorcio-actions .btn-negociar {
        flex: 1 1 0 !important;
        width: 100% !important;
        max-width: none !important;
    }
}

/* No mobile, lista e galeria usam o mesmo cartão. Esta regra precisa ficar
 * depois das regras gerais de Auto Layout para não ser sobrescrita. */
@media (max-width: 768px) {
    .consorcio-wrapper .consorcio-main {
        align-content: flex-start !important;
    }

    .consorcio-wrapper .espelium-view-toggle,
    .consorcio-wrapper .segmento-wrapper .espelium-view-toggle {
        display: none !important;
    }
}

/* A grade reserva uma linha para a badge de oportunidade em todos os cards.
 * Quando a carta não tem badge, um espaço invisível mantém Entrada, Parcelas,
 * Código e Administradora no mesmo eixo dos demais cards. */
.consorcio-wrapper.view-gallery .consorcio-marca-wrapper {
    margin-bottom: 6px !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca-wrapper:not(.has-opportunity)::after {
    content: "";
    display: block !important;
    flex: 0 0 24px !important;
    width: 1px !important;
    height: 24px !important;
    margin-top: 8px !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

@media (max-width: 768px) {
    .consorcio-wrapper .consorcio-marca-wrapper {
        margin-bottom: 6px !important;
    }

    .consorcio-wrapper .consorcio-marca-wrapper:not(.has-opportunity)::after {
        content: "";
        display: block !important;
        flex: 0 0 24px !important;
        width: 1px !important;
        height: 24px !important;
        margin-top: 8px !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* Mobile 2.3.47: mantém as cartas acima da dobra e concentra todos os
 * campos em um único painel acionado pelo botão Filtros. O desktop permanece
 * com a barra completa atual. */
.consorcio-wrapper .espelium-mobile-filter-summary {
    display: none !important;
}

@media (max-width: 768px) {
    .consorcio-wrapper .espelium-mobile-filter-summary {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-search {
        display: flex !important;
        grid-column: 1 !important;
        min-width: 0 !important;
        height: 52px !important;
        padding: 0 5px 0 13px !important;
        border-radius: var(--espelium-button-radius, 8px) !important;
    }

    /* O botão fica dentro do contêiner da busca, mas seu foco não deve
     * acionar o destaque visual reservado ao campo de pesquisa. */
    .consorcio-wrapper .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:focus) {
        border-color: #d8dce3 !important;
        box-shadow: none !important;
    }

    .consorcio-wrapper button.espelium-mobile-filter-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        flex: 0 0 auto !important;
        min-width: 108px !important;
        height: 42px !important;
        margin: 0 !important;
        padding: 0 13px !important;
        border: 1px solid #d8dce3 !important;
        border-radius: var(--espelium-button-radius, 8px) !important;
        background: #ffffff !important;
        color: #334155 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .consorcio-wrapper button.espelium-mobile-filter-toggle:hover,
    .consorcio-wrapper button.espelium-mobile-filter-toggle:focus,
    .consorcio-wrapper button.espelium-mobile-filter-toggle:active,
    .consorcio-wrapper button.espelium-mobile-filter-toggle[aria-expanded="true"] {
        border-color: #f1c75b !important;
        background: #fff8e6 !important;
        color: #1f2937 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

    .consorcio-wrapper button.espelium-mobile-filter-toggle:focus-visible {
        outline: 2px solid #64748b !important;
        outline-offset: 2px !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-toggle .espelium-svg-icon {
        flex: 0 0 19px !important;
        width: 19px !important;
        height: 19px !important;
        margin: 0 !important;
        color: currentColor !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-toggle .espelium-filter-close-icon {
        display: none !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-toggle[aria-expanded="true"] .espelium-filter-open-icon {
        display: none !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-toggle[aria-expanded="true"] .espelium-filter-close-icon {
        display: block !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 21px !important;
        height: 21px !important;
        padding: 0 6px !important;
        border-radius: 999px !important;
        background: #ffd36d !important;
        color: #1f2937 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-badge[hidden] {
        display: none !important;
    }

    .consorcio-wrapper .espelium-mobile-filter-count {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        color: #475569 !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1.35 !important;
        text-align: left !important;
    }

    .consorcio-wrapper .espelium-filter-bar,
    .consorcio-wrapper .espelium-filter-bar:not(.is-mobile-open) {
        display: none !important;
    }

    .consorcio-wrapper .espelium-filter-bar.is-mobile-open {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 14px !important;
        border-radius: 10px !important;
    }

    .consorcio-wrapper .espelium-filter-bar .espelium-filter-search {
        display: none !important;
    }

    .consorcio-wrapper .espelium-filter-bar .espelium-filter-count {
        display: none !important;
    }

    .consorcio-wrapper .espelium-filter-footer:not(.has-clear-action) {
        display: none !important;
    }

    .consorcio-wrapper .espelium-filter-footer,
    .consorcio-wrapper .espelium-filter-footer-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        width: 100% !important;
    }

}

/* 2.3.54 — Auto Layout com Flexbox para contêineres Elementor a partir de
 * 1000px. A largura continua sendo determinada exclusivamente pelo Elementor.
 * Não usamos size containment no shortcode: a largura continua sendo
 * determinada exclusivamente pelo contêiner configurado no Elementor. */
@media (min-width: 1000px) {
    .consorcio-wrapper {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .consorcio-wrapper .espelium-filter-bar {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: flex-end !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .consorcio-wrapper .espelium-filter-field,
    .consorcio-wrapper .espelium-filter-search,
    .consorcio-wrapper .espelium-filter-status-field,
    .consorcio-wrapper .espelium-filter-order-field {
        width: 100% !important;
        min-width: 0 !important;
    }

    .consorcio-wrapper .espelium-filter-search {
        flex: 1 1 130px !important;
    }

    .consorcio-wrapper .espelium-filter-admin-field {
        flex: 1.35 1 200px !important;
    }

    .consorcio-wrapper .espelium-filter-value-field {
        flex: 1 1 145px !important;
    }

    .consorcio-wrapper .espelium-filter-status-field {
        flex: 1.20 1 190px !important;
    }

    .consorcio-wrapper .espelium-filter-order-field {
        flex: 1 1 145px !important;
    }

    .consorcio-wrapper .espelium-filter-footer {
        flex: 1 0 100% !important;
        width: 100% !important;
    }

    .consorcio-wrapper .espelium-filter-input-wrap,
    .consorcio-wrapper .espelium-filter-field select,
    .consorcio-wrapper .espelium-status-options {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* Os cards quebram a faixa de ações apenas quando o espaço interno realmente
 * não comporta as duas áreas lado a lado. Flex-wrap mede o espaço disponível
 * sem interferir na largura do Elementor. */
@media (min-width: 769px) {
    .consorcio-wrapper.view-list .consorcio-content {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: center !important;
        gap: 14px 16px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .consorcio-wrapper.view-list .consorcio-main {
        flex: 1 1 700px !important;
        width: auto !important;
        min-width: min(700px, 100%) !important;
        max-width: 100% !important;
    }

    .consorcio-wrapper.view-list .consorcio-footer {
        flex: 1 1 280px !important;
        width: auto !important;
        min-width: min(260px, 100%) !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .consorcio-wrapper .consorcio-item,
    .consorcio-wrapper .consorcio-info,
    .consorcio-wrapper .consorcio-actions {
        min-width: 0 !important;
        max-width: 100% !important;
    }
}

/* A partir de 1000px, usa toda a largura do card. Os dados financeiros
 * formam uma grade fluida e as ações permanecem encostadas à direita. */
@media (min-width: 1000px) {
    .consorcio-wrapper.view-list .consorcio-content {
        flex-flow: row nowrap !important;
        align-items: center !important;
        gap: 16px !important;
    }

    .consorcio-wrapper.view-list .consorcio-main {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .consorcio-wrapper.view-list .consorcio-info {
        display: grid !important;
        flex: 1 1 auto !important;
        grid-template-columns:
            minmax(0, 1.50fr)
            minmax(0, 0.95fr)
            minmax(0, 1.15fr)
            minmax(0, 0.65fr)
            minmax(0, 0.80fr) !important;
        align-items: center !important;
        gap: 14px !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-marca-wrapper,
    .consorcio-wrapper.view-list .consorcio-entrada,
    .consorcio-wrapper.view-list .consorcio-parcelas,
    .consorcio-wrapper.view-list .consorcio-codigo,
    .consorcio-wrapper.view-list .consorcio-admin {
        flex: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .consorcio-wrapper.view-list .consorcio-footer {
        flex: 0 0 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    .consorcio-wrapper.view-list .consorcio-actions {
        justify-content: flex-end !important;
        margin-left: auto !important;
    }
}

/* Fallback para tablets em orientação horizontal. */
@media (min-width: 769px) and (max-width: 999px) {
    .consorcio-wrapper .espelium-filter-bar {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: flex-end !important;
        gap: 12px !important;
        width: 100% !important;
    }

    .consorcio-wrapper .espelium-filter-field,
    .consorcio-wrapper .espelium-filter-search,
    .consorcio-wrapper .espelium-filter-status-field,
    .consorcio-wrapper .espelium-filter-order-field {
        flex: 1 1 calc(50% - 6px) !important;
        width: auto !important;
        min-width: 0 !important;
    }

    .consorcio-wrapper .espelium-filter-footer {
        flex: 1 0 100% !important;
    }
}

/* Perfis progressivos. Os campos continuam no DOM para que a lógica de
 * filtragem permaneça única; apenas a apresentação muda conforme o plano. */
.consorcio-wrapper.espelium-filter-profile-start .espelium-filter-admin-field,
.consorcio-wrapper.espelium-filter-profile-start .espelium-filter-order-field,
.consorcio-wrapper.espelium-filter-profile-growth .espelium-filter-order-field {
    display: none !important;
}

/* 2.3.57 — estrutura semântica do card: Header, Body e Buttons participam
 * do fluxo. Na lista os wrappers ficam transparentes ao layout; na galeria
 * e no mobile eles formam uma coluna com corpo flexível e ações no rodapé. */
.consorcio-wrapper .espelium-card-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.consorcio-wrapper .espelium-card-body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
}

@media (min-width: 769px) {
    .consorcio-wrapper.view-list .espelium-card-header,
    .consorcio-wrapper.view-list .espelium-card-body {
        display: contents !important;
    }
}

.consorcio-wrapper.view-gallery .consorcio-item {
    padding: 24px !important;
}

.consorcio-wrapper.view-gallery .consorcio-main {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-flow: column nowrap !important;
    align-items: stretch !important;
    align-content: stretch !important;
    gap: 20px !important;
}

.consorcio-wrapper.view-gallery .espelium-card-header,
.consorcio-wrapper.view-gallery .espelium-card-body {
    flex: 0 0 auto !important;
}

.consorcio-wrapper.view-gallery .espelium-card-body {
    flex: 1 1 auto !important;
}

.consorcio-wrapper.view-gallery .consorcio-info {
    display: grid !important;
    flex: 1 1 auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start !important;
    align-items: start !important;
    gap: 18px 20px !important;
    width: 100% !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca-wrapper {
    grid-column: 1 / -1 !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada,
.consorcio-wrapper.view-gallery .consorcio-parcelas,
.consorcio-wrapper.view-gallery .consorcio-codigo,
.consorcio-wrapper.view-gallery .consorcio-admin {
    width: 100% !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca {
    color: #667085 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.035em !important;
    text-transform: uppercase !important;
}

.consorcio-wrapper.view-gallery .consorcio-valor {
    color: #000000 !important;
    font-size: clamp(30px, 2.45vw, 38px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
}

.consorcio-wrapper.view-gallery .consorcio-footer {
    flex: 0 0 auto !important;
    margin-top: auto !important;
    padding-top: 20px !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions .btn-detalhes,
.consorcio-wrapper.view-gallery .consorcio-actions .btn-negociar {
    min-width: 0 !important;
    height: var(--espelium-control-height, 48px) !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border-radius: var(--espelium-button-radius, 8px) !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

@media (max-width: 768px) {
    .consorcio-wrapper .consorcio-main {
        display: flex !important;
        flex: 1 1 auto !important;
        flex-flow: column nowrap !important;
        align-items: stretch !important;
        align-content: stretch !important;
        gap: 18px !important;
    }

    .consorcio-wrapper .espelium-card-body {
        flex: 1 1 auto !important;
    }

    .consorcio-wrapper .consorcio-info {
        display: grid !important;
        flex: 1 1 auto !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        align-items: start !important;
        gap: 16px 14px !important;
    }

    .consorcio-wrapper .consorcio-marca-wrapper {
        grid-column: 1 / -1 !important;
    }
}

/* PRO/Profissional — busca e acionador dos filtros dividem a faixa superior
 * com os segmentos e o seletor de visualização, como no controle mobile. */
@media (min-width: 769px) {
    .consorcio-wrapper.espelium-filter-profile-professional .segmento-wrapper {
        flex-wrap: wrap !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-summary {
        display: flex !important;
        flex: 1 1 360px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: auto !important;
        min-width: 290px !important;
        max-width: 430px !important;
        margin-left: auto !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-search {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
        height: 48px !important;
        padding: 0 5px 0 14px !important;
        border-radius: var(--espelium-button-radius, 8px) !important;
    }

    /* O botão pertence visualmente ao campo, mas hover/foco nele não representa
     * foco na busca e não deve pintar o contêiner inteiro. */
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:hover),
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:focus),
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:active) {
        border-color: #d8dce3 !important;
        box-shadow: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-mobile-filter-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        flex: 0 0 auto !important;
        min-width: 118px !important;
        height: 38px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        border: 1px solid #d8dce3 !important;
        border-radius: var(--espelium-button-radius, 8px) !important;
        background: #ffffff !important;
        color: #334155 !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-mobile-filter-toggle:hover,
    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-mobile-filter-toggle:focus,
    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-mobile-filter-toggle[aria-expanded="true"] {
        border-color: #d8a514 !important;
        background: #fff8e6 !important;
        color: #1f2937 !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-toggle .espelium-svg-icon {
        flex: 0 0 18px !important;
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-close-icon {
        display: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-toggle[aria-expanded="true"] .espelium-filter-open-icon {
        display: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-toggle[aria-expanded="true"] .espelium-filter-close-icon {
        display: block !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 20px !important;
        height: 20px !important;
        padding: 0 6px !important;
        border-radius: 999px !important;
        background: #ffd36d !important;
        color: #1f2937 !important;
        font-size: 11px !important;
        font-weight: 800 !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-badge[hidden],
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-count {
        display: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar,
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar:not(.is-mobile-open) {
        display: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar.is-mobile-open {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: flex-end !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar .espelium-filter-search {
        display: none !important;
    }
}

/* 2.3.58 — medidas e relações do componente Figma 2969:10934.
 * O card não possui divisor interno: Header, Body e Buttons são separados
 * apenas pelo gap do Auto Layout. */
.consorcio-wrapper.view-gallery .consorcio-item {
    container-type: inline-size;
    padding: 24px !important;
    border-width: 1.5px !important;
    border-color: #e5e7eb !important;
    border-radius: clamp(16px, 1.15vw, 22px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-content {
    gap: clamp(24px, 5cqw, 32px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-main {
    gap: clamp(24px, 5cqw, 32px) !important;
}

.consorcio-wrapper.view-gallery .espelium-card-body {
    gap: clamp(24px, 5cqw, 32px) !important;
}

.consorcio-wrapper.view-gallery .espelium-card-meta {
    gap: 16px !important;
}

.consorcio-wrapper.view-gallery .consorcio-icon {
    flex: 0 0 clamp(42px, 9.1cqw, 58px) !important;
    width: clamp(42px, 9.1cqw, 58px) !important;
    height: clamp(42px, 9.1cqw, 58px) !important;
    border-radius: clamp(12px, 2.55cqw, 16px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-icon .espelium-svg-icon {
    width: clamp(28px, 6.5cqw, 41px) !important;
    height: clamp(28px, 6.5cqw, 41px) !important;
}

.consorcio-wrapper.view-gallery .espelium-card-views {
    gap: 7px !important;
    color: #825f00 !important;
    font-size: clamp(18px, 4.5cqw, 29px) !important;
    font-weight: 500 !important;
}

.consorcio-wrapper.view-gallery .espelium-card-views .espelium-svg-icon {
    width: clamp(20px, 4.5cqw, 29px) !important;
    height: clamp(20px, 4.5cqw, 29px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-state {
    min-height: clamp(38px, 7.9cqw, 50px) !important;
    padding: 9px clamp(14px, 3.1cqw, 20px) !important;
    font-size: clamp(13px, 3.1cqw, 20px) !important;
    letter-spacing: 0.035em !important;
}

.consorcio-wrapper.view-gallery .consorcio-info {
    gap: clamp(18px, 3.95cqw, 25px) clamp(16px, 3.45cqw, 22px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca-wrapper {
    gap: 16px !important;
    margin-bottom: clamp(6px, 1.25cqw, 8px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca {
    font-size: clamp(14px, 3.1cqw, 20px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-valor {
    margin: 0 !important;
    color: #1e1e1e !important;
    font-size: clamp(28px, 7cqw, 44px) !important;
    line-height: 1 !important;
}

.consorcio-wrapper.view-gallery .espelium-opportunity {
    min-height: clamp(34px, 6.8cqw, 43px) !important;
    margin: 0 !important;
    padding: 7px clamp(10px, 2cqw, 13px) !important;
    border-width: 1.5px !important;
    border-radius: clamp(8px, 1.7cqw, 11px) !important;
    font-size: clamp(13px, 3.1cqw, 20px) !important;
}

.consorcio-wrapper.view-gallery .espelium-opportunity .espelium-svg-icon {
    width: clamp(18px, 3.95cqw, 25px) !important;
    height: clamp(18px, 3.95cqw, 25px) !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada,
.consorcio-wrapper.view-gallery .consorcio-parcelas,
.consorcio-wrapper.view-gallery .consorcio-codigo,
.consorcio-wrapper.view-gallery .consorcio-admin {
    gap: 7px !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada > span,
.consorcio-wrapper.view-gallery .consorcio-parcelas > span,
.consorcio-wrapper.view-gallery .consorcio-codigo > span,
.consorcio-wrapper.view-gallery .espelium-admin-label {
    color: #667085 !important;
    font-size: clamp(13px, 3.1cqw, 20px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.055em !important;
    line-height: 1.2 !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada > div,
.consorcio-wrapper.view-gallery .parcelas-preco,
.consorcio-wrapper.view-gallery .consorcio-codigo > div,
.consorcio-wrapper.view-gallery .admin-nome-sem-logo {
    color: #374151 !important;
    font-size: clamp(16px, 3.95cqw, 25px) !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
}

.consorcio-wrapper.view-gallery .parcelas-quantidade {
    display: inline !important;
    color: #6b7280 !important;
    font-size: clamp(15px, 3.4cqw, 22px) !important;
    font-weight: 400 !important;
}

.consorcio-wrapper.view-gallery .consorcio-footer {
    margin: 0 !important;
    padding: 0 !important;
    border-top: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions {
    gap: 8px !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions .btn-detalhes,
.consorcio-wrapper.view-gallery .consorcio-actions .btn-negociar {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions .btn-detalhes {
    border-width: 1.5px !important;
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    color: #1f2937 !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions .btn-negociar {
    background: #087a3e !important;
}

@media (max-width: 768px) {
    .consorcio-wrapper.view-gallery .consorcio-item {
        padding: 24px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-content,
    .consorcio-wrapper.view-gallery .consorcio-main {
        gap: 24px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-footer {
        margin: 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-actions {
        gap: 8px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-actions .btn-detalhes,
    .consorcio-wrapper.view-gallery .consorcio-actions .btn-negociar {
        min-height: 48px !important;
        padding-right: 12px !important;
        padding-left: 12px !important;
        font-size: 14px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-entrada > span,
    .consorcio-wrapper.view-gallery .consorcio-parcelas > span,
    .consorcio-wrapper.view-gallery .consorcio-codigo > span,
    .consorcio-wrapper.view-gallery .espelium-admin-label {
        font-size: 11px !important;
        letter-spacing: 0.04em !important;
    }
}

/* 2.3.65 — a preferência Quadrado/Retangular/Pill é definida no painel e
 * exposta por --espelium-button-radius. Esta camada final vence os raios
 * históricos fixos tanto no catálogo quanto nos modais criados via JS. */
.consorcio-wrapper.espelium-button-style-square {
    --espelium-button-radius: 0px !important;
}

.consorcio-wrapper.espelium-button-style-rounded {
    --espelium-button-radius: 8px !important;
}

.consorcio-wrapper.espelium-button-style-pill {
    --espelium-button-radius: 999px !important;
}

.consorcio-wrapper button.segmento-option,
.consorcio-wrapper button.espelium-mobile-filter-toggle,
.consorcio-wrapper .consorcio-actions .btn-detalhes,
.consorcio-wrapper .consorcio-actions .btn-negociar,
.consorcio-wrapper button.espelium-load-more,
.espelium-details-modal .modal-actions button,
.espelium-summary-modal .modal-actions button,
.espelium-summary-modal .modal-actions .espelium-action-close {
    border-radius: var(--espelium-button-radius, 8px) !important;
}

/* Limpar filtros é uma ação utilitária do painel e mantém formato próprio,
 * independente da escolha Quadrado/Retangular/Pill dos CTAs do catálogo. */
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:hover,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:focus,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:active {
    border-radius: 10px !important;
}

/* O CSS legado estiliza os botões do modal por ID com !important. Estes
 * seletores reproduzem e superam essa especificidade para a preferência do
 * painel também alcançar o modal real, inclusive quando há só Compartilhar. */
html body .espelium-details-modal .modal-actions button#btnShareDetail,
html body .espelium-details-modal .modal-actions button#btnNegociarDetalhe {
    border-radius: var(--espelium-button-radius, 8px) !important;
}

.consorcio-wrapper .espelium-filter-input-wrap,
.consorcio-wrapper .espelium-mobile-filter-search,
.consorcio-wrapper button.espelium-mobile-filter-toggle,
.consorcio-wrapper .espelium-filter-field select,
.consorcio-wrapper .espelium-status-options,
.consorcio-wrapper .espelium-view-toggle {
    border-radius: var(--espelium-button-radius, 8px) !important;
}

/* 2.3.64 — quando a carta está reservada, Compartilhar é a única ação do
 * modal e ocupa a coluna da direita. Em telas pequenas continua full width. */
@media (min-width: 769px) {
    .espelium-details-modal .modal-actions.espelium-modal-actions-reserved {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
    }

    .espelium-details-modal .modal-actions.espelium-modal-actions-reserved button#btnShareDetail {
        grid-column: 2 !important;
        width: 100% !important;
        max-width: none !important;
    }
}

.consorcio-wrapper .btn-detalhes .espelium-details-eye {
    fill: currentColor !important;
    stroke: none !important;
}

/* CTA como Auto Layout horizontal: ícone e label são itens independentes,
 * centralizados pelo mesmo eixo e separados por gap explícito. */
.consorcio-wrapper .consorcio-actions button.btn-detalhes {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    line-height: 1 !important;
}

.consorcio-wrapper .consorcio-actions button.btn-detalhes .espelium-details-eye {
    display: block !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: initial !important;
}

.consorcio-wrapper .consorcio-actions button.btn-detalhes .espelium-details-label {
    display: block !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 16px !important;
    white-space: nowrap !important;
}

/* 2.3.67 — a lista usa a mesma linguagem visual do card para Crédito/valor.
 * A coluna da administradora mantém um eixo único para logos e nomes. */
@media (min-width: 769px) {
    .consorcio-wrapper.view-list .consorcio-marca {
        margin: 0 !important;
        color: #667085 !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        letter-spacing: 0.055em !important;
        text-transform: uppercase !important;
    }

    .consorcio-wrapper.view-list .consorcio-valor {
        margin: 4px 0 0 !important;
        color: #1e1e1e !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        letter-spacing: -0.02em !important;
    }

    .consorcio-wrapper.view-list .consorcio-admin {
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .consorcio-wrapper.view-list img.consorcio-logo,
    .consorcio-wrapper.view-list img.consorcio-logo.entered,
    .consorcio-wrapper.view-list img.consorcio-logo.lazyloaded,
    .consorcio-wrapper.view-list img.consorcio-logo.entered.lazyloaded {
        align-self: center !important;
        object-position: center !important;
    }

    .consorcio-wrapper.view-list .admin-nome-sem-logo {
        display: flex !important;
        align-self: center !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 32px !important;
        text-align: center !important;
    }
}

/* Escala estável no tablet: o card vira uma coluna larga e não deve herdar
 * a escala de 44 px usada no mockup de grande formato. */
@media (min-width: 601px) and (max-width: 999px) {
    .consorcio-wrapper.view-gallery .consorcio-icon {
        flex-basis: 46px !important;
        width: 46px !important;
        height: 46px !important;
        border-radius: 13px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-icon .espelium-svg-icon {
        width: 30px !important;
        height: 30px !important;
    }

    .consorcio-wrapper.view-gallery .espelium-card-views {
        font-size: 18px !important;
    }

    .consorcio-wrapper.view-gallery .espelium-card-views .espelium-svg-icon {
        width: 20px !important;
        height: 20px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-state {
        min-height: 38px !important;
        padding: 9px 14px !important;
        font-size: 13px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-marca {
        font-size: 14px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-valor {
        font-size: 32px !important;
    }

    .consorcio-wrapper.view-gallery .espelium-opportunity {
        min-height: 34px !important;
        padding: 7px 10px !important;
        border-radius: 8px !important;
        font-size: 13px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-entrada > span,
    .consorcio-wrapper.view-gallery .consorcio-parcelas > span,
    .consorcio-wrapper.view-gallery .consorcio-codigo > span,
    .consorcio-wrapper.view-gallery .espelium-admin-label {
        font-size: 12px !important;
    }

    .consorcio-wrapper.view-gallery .consorcio-entrada > div,
    .consorcio-wrapper.view-gallery .parcelas-preco,
    .consorcio-wrapper.view-gallery .consorcio-codigo > div,
    .consorcio-wrapper.view-gallery .admin-nome-sem-logo {
        font-size: 16px !important;
    }

    .consorcio-wrapper.view-gallery .parcelas-quantidade {
        font-size: 15px !important;
    }
}

/* 2.3.76 — campos seguem o padrão de formulários: labels, valores e opções
 * partem do mesmo eixo à esquerda no desktop e no mobile. */
.consorcio-wrapper .espelium-filter-field select {
    padding-right: 42px !important;
    padding-left: 13px !important;
    text-align: left !important;
    text-align-last: left !important;
}

.consorcio-wrapper .espelium-status-options {
    justify-content: flex-start !important;
    text-align: left !important;
}

/* A reserva anterior somava 132 px do wrapper e 72 px no carregador. O dock
 * é fixo no viewport, portanto basta o respiro normal entre componentes. */
@media (max-width: 600px) {
    .consorcio-wrapper {
        padding-bottom: calc(24px + env(safe-area-inset-bottom)) !important;
    }

    .consorcio-wrapper .espelium-load-more-wrap {
        margin-bottom: 0 !important;
    }
}

/* Navegadores móveis podem preservar a altura intrínseca de itens que mudam
 * para hidden em listas flex extensas. Como os cards fora da página já usam
 * display:none, esta otimização é desnecessária em qualquer mobile. */
@media (max-width: 600px) {
    .consorcio-wrapper .consorcio-item {
        content-visibility: visible !important;
        contain-intrinsic-size: none !important;
    }
}

/* 2.3.110 — no desktop PRO os seletores de categoria acompanham os 48px da
 * cápsula. O seletor galeria/lista fecha em 48px pela regra dinâmica: duas
 * metades de 42x46px, sem gap ou padding, mais a borda externa de 1px. */
@media (min-width: 769px) {
    .consorcio-wrapper.espelium-filter-profile-professional button.segmento-option {
        height: 48px !important;
        min-height: 48px !important;
    }
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control {
    --espelium-credit-progress: 0%;
    --espelium-credit-position: 12px;
    --espelium-credit-slider-offset: 0px;
    --espelium-credit-fill-position: 0px;
    --espelium-credit-fill-start: 43px;
    --espelium-credit-fill-end: 43px;
    --espelium-credit-inner-inset: 5px;
    --espelium-credit-track-left: 43px;
    --espelium-credit-track-right: 6px;
    --espelium-credit-slider-width: calc(100% - 15px);
    --espelium-credit-value-gap: 27px;
    position: relative !important;
    isolation: isolate !important;
    display: grid !important;
    grid-template-columns: max-content minmax(170px, 1fr) !important;
    column-gap: 16px !important;
    align-items: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 48px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-width: 1px !important;
    border-style: solid !important;
}

/* Trilho interno: geometria baseada no node de referência do Figma
 * (3057:6248), preservando os tokens e estados nativos do Espelium. */
.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control::after {
    content: "" !important;
    position: absolute !important;
    top: var(--espelium-credit-inner-inset) !important;
    right: var(--espelium-credit-track-right) !important;
    bottom: var(--espelium-credit-inner-inset) !important;
    left: var(--espelium-credit-track-left) !important;
    z-index: 0 !important;
    box-sizing: border-box !important;
    border-width: 1px !important;
    border-style: solid !important;
    pointer-events: none !important;
}

/* O preenchimento compartilha a geometria do trilho e fica atrás do botão
 * Filtrar. O JS publica apenas o ponto final conforme a posição do thumb. */
.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control::before {
    content: "" !important;
    position: absolute !important;
    top: var(--espelium-credit-inner-inset) !important;
    bottom: var(--espelium-credit-inner-inset) !important;
    left: var(--espelium-credit-track-left) !important;
    z-index: 1 !important;
    width: max(0px, calc(var(--espelium-credit-fill-end) - var(--espelium-credit-fill-start))) !important;
    pointer-events: none !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control.is-full::before {
    right: var(--espelium-credit-track-right) !important;
    width: auto !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-slider {
    position: relative !important;
    z-index: 2 !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    justify-self: start !important;
    width: var(--espelium-credit-slider-width) !important;
    min-width: 0 !important;
    overflow: visible !important;
    direction: ltr !important;
    writing-mode: horizontal-tb !important;
}

.consorcio-wrapper .espelium-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target {
    position: absolute !important;
    inset: 0 !important;
    z-index: 4 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    direction: ltr !important;
    writing-mode: horizontal-tb !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    cursor: ew-resize !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-webkit-slider-runnable-track {
    height: 100% !important;
    background: transparent !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-webkit-slider-thumb {
    width: 24px !important;
    height: 24px !important;
    margin-top: 12px !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 50% !important;
    transform: translateY(-1px) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-moz-range-track {
    height: 100% !important;
    background: transparent !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-moz-range-thumb {
    box-sizing: content-box !important;
    width: 22px !important;
    height: 22px !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 50% !important;
    transform: translateY(-1px) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target-value {
    position: absolute !important;
    top: 50% !important;
    left: var(--espelium-credit-position) !important;
    z-index: 3 !important;
    transform: translate(var(--espelium-credit-value-gap, 27px), -50%) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 15px !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control.value-on-left .espelium-credit-target-value {
    transform: translate(calc(-100% - var(--espelium-credit-value-gap, 27px)), -50%) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action {
    position: relative !important;
    z-index: 5 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 112px !important;
    max-width: none !important;
    height: 38px !important;
    margin: 0 0 0 4px !important;
    padding: 0 18px !important;
    border-width: 1px !important;
    border-style: solid !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    transform: none !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-value-field {
    display: none !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar .espelium-filter-search {
    display: flex !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-drag-tooltip {
    display: none !important;
}

@media (min-width: 769px) {
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-summary {
        position: relative !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-drag-tooltip {
        position: absolute !important;
        top: -35px !important;
        left: var(--espelium-credit-tooltip-position, 14px) !important;
        z-index: 20 !important;
        display: block !important;
        padding: 6px 9px !important;
        border-radius: 7px !important;
        background: #1f2937 !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateX(-50%) translateY(3px) !important;
        transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-drag-tooltip::after {
        content: "" !important;
        position: absolute !important;
        top: 100% !important;
        left: 50% !important;
        border: 5px solid transparent !important;
        border-top-color: #1f2937 !important;
        transform: translateX(-50%) !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-drag-tooltip.is-visible {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-50%) translateY(0) !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target {
        cursor: grab !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:active {
        cursor: grabbing !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .segmento-wrapper {
        flex-wrap: wrap !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-summary {
        display: flex !important;
        flex: 1 1 390px !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: auto !important;
        min-width: 330px !important;
        max-width: 520px !important;
        margin-left: auto !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-count {
        display: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar,
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar:not(.is-mobile-open) {
        display: none !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-filter-bar.is-mobile-open {
        display: flex !important;
        flex-flow: row wrap !important;
        align-items: flex-end !important;
    }
}

@media (max-width: 768px) {
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control {
        --espelium-credit-inner-inset: 6px;
        grid-template-columns: max-content minmax(0, 1fr) !important;
        height: 52px !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target-value {
        font-size: 13px !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-webkit-slider-thumb {
        width: 24px !important;
        height: 24px !important;
        margin-top: 14px !important;
        background-size: 24px 24px !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-moz-range-thumb {
        width: 22px !important;
        height: 22px !important;
        background-size: 24px 24px !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target-value {
        transform: translate(var(--espelium-credit-value-gap, 27px), -50%) !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control.value-on-left .espelium-credit-target-value {
        transform: translate(calc(-100% - var(--espelium-credit-value-gap, 27px)), -50%) !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action {
        min-width: 104px !important;
        height: 40px !important;
        margin-left: 6px !important;
        padding: 0 14px !important;
    }
}

@media (max-width: 360px) {
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target-value {
        font-size: 12px !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action {
        min-width: 88px !important;
        padding-inline: 10px !important;
    }
}

/* 2.3.118 — escala tipográfica equilibrada dos cards em galeria.
 * Preserva o crédito em 32 px e mantém labels, dados, badges e ações legíveis
 * tanto no desktop quanto no mobile, sem afetar lista, filtros ou modais. */
.consorcio-wrapper.view-gallery .espelium-card-views {
    font-size: 13px !important;
}

.consorcio-wrapper.view-gallery .consorcio-state {
    font-size: 11px !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca {
    font-size: 12px !important;
}

.consorcio-wrapper.view-gallery .consorcio-valor {
    font-size: 32px !important;
}

.consorcio-wrapper.view-gallery .espelium-opportunity {
    font-size: 11px !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada > span,
.consorcio-wrapper.view-gallery .consorcio-parcelas > span,
.consorcio-wrapper.view-gallery .consorcio-codigo > span,
.consorcio-wrapper.view-gallery .espelium-admin-label {
    font-size: 11px !important;
}

.consorcio-wrapper.view-gallery .consorcio-entrada > div,
.consorcio-wrapper.view-gallery .parcelas-quantidade,
.consorcio-wrapper.view-gallery .parcelas-preco,
.consorcio-wrapper.view-gallery .consorcio-codigo > div,
.consorcio-wrapper.view-gallery .admin-nome-sem-logo {
    font-size: 14px !important;
}

.consorcio-wrapper.view-gallery .consorcio-actions .btn-detalhes,
.consorcio-wrapper.view-gallery .consorcio-actions .btn-negociar {
    font-size: 14px !important;
}

/* 2.3.119 — ritmo vertical do bloco Crédito/valor/oportunidade.
 * O espaço era a soma do gap de 16 px, margem inferior e row-gap responsivo.
 * Agora o Auto Layout usa uma única medida de 16 px em desktop e mobile. */
.consorcio-wrapper.view-gallery .consorcio-info {
    row-gap: 16px !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca-wrapper {
    gap: 16px !important;
    margin-bottom: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca,
.consorcio-wrapper.view-gallery .consorcio-valor,
.consorcio-wrapper.view-gallery .consorcio-marca-wrapper .espelium-opportunity {
    margin: 0 !important;
}

.consorcio-wrapper.view-gallery .consorcio-marca-wrapper:not(.has-opportunity)::after {
    flex-basis: 34px !important;
    height: 34px !important;
    margin-top: 0 !important;
}

/* 2.3.121 — respiro entre a área de filtros e o início dos cards.
 * Soma 8 px ao gap estrutural de 16 px, totalizando 24 px sem alterar a
 * separação interna de Todas, Imóvel e Veículo. */
.consorcio-wrapper .consorcio-list {
    margin-top: 8px !important;
}


/* 2.8.25 — destino do link "Ver todas as cartas contempladas". */
#cottaz-cartas-contempladas{
  scroll-margin-top:96px;
}
