/*
 * Espelium Design System 2.3.111
 *
 * Camada canônica dos componentes interativos do frontend. As configurações
 * do WordPress alimentam somente os tokens --espelium-*; nenhum componente
 * recebe cores de marca diretamente no PHP.
 */

:root {
    --espelium-button-radius: 8px;
    --espelium-primary-color: #40b7d1;
    --espelium-primary-hover-color: #289fb9;
    --espelium-primary-active-color: #188fa9;
    --espelium-primary-text-color: #111111;
    --espelium-primary-hover-text-color: #111111;
    --espelium-primary-active-text-color: #111111;
    --espelium-primary-soft-color: #40b7d11f;
    --espelium-primary-ring-color: #40b7d14d;
    --espelium-secondary-color: #0a1e5c;
    --espelium-secondary-hover-color: #000644;
    --espelium-secondary-active-color: #000034;
    --espelium-secondary-text-color: #ffffff;
    --espelium-secondary-hover-text-color: #ffffff;
    --espelium-secondary-active-text-color: #ffffff;
    --espelium-secondary-soft-color: #0a1e5c1f;
    --espelium-secondary-ring-color: #0a1e5c4d;

    --espelium-neutral-0: #ffffff;
    --espelium-neutral-50: #f8fafc;
    --espelium-neutral-100: #f1f5f9;
    --espelium-neutral-200: #e2e8f0;
    --espelium-neutral-300: #cbd5e1;
    --espelium-neutral-400: #94a3b8;
    --espelium-neutral-500: #64748b;
    --espelium-neutral-600: #475569;
    --espelium-neutral-700: #334155;
    --espelium-neutral-800: #1f2937;
    --espelium-neutral-900: #0f172a;
    --espelium-control-border: #d8dce3;
    --espelium-control-height: 48px;
    --espelium-motion-fast: 150ms ease;
}

/* Contrato comum: dimensões não saltam entre estados e os ícones herdam cor. */
.consorcio-wrapper button,
.consorcio-wrapper a.btn-negociar,
.fixed-buttons-container button,
.espelium-details-modal button,
.espelium-summary-modal button,
#resultModal button {
    box-sizing: border-box !important;
    font-family: inherit !important;
    -webkit-tap-highlight-color: transparent;
}

.consorcio-wrapper button .espelium-svg-icon,
.consorcio-wrapper a.btn-negociar .espelium-svg-icon,
.fixed-buttons-container button .espelium-svg-icon,
.espelium-details-modal button .espelium-svg-icon,
.espelium-summary-modal button .espelium-svg-icon,
#resultModal button .espelium-svg-icon {
    color: currentColor !important;
}

.consorcio-wrapper .espelium-whatsapp-icon,
.espelium-details-modal .espelium-whatsapp-icon,
.espelium-summary-modal .espelium-whatsapp-icon,
#resultModal .espelium-whatsapp-icon {
    display: block !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    overflow: visible !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,
.consorcio-button.primary,
.consorcio-button.secondary,
.fixed-buttons-container .fixed-button,
#resultModal .btn-share,
#resultModal .btn-negotiate,
.espelium-details-modal .btn-secondary,
.espelium-details-modal .modal-actions button#btnShareDetail,
.espelium-details-modal .btn-negociar,
.espelium-summary-modal .btn-secondary,
.espelium-summary-modal .btn-negociar,
.espelium-summary-modal .modal-actions .espelium-action-close {
    border-radius: var(--espelium-button-radius) !important;
    transition:
        background-color var(--espelium-motion-fast),
        border-color var(--espelium-motion-fast),
        color var(--espelium-motion-fast),
        box-shadow var(--espelium-motion-fast) !important;
}

/* Seletores de segmento. */
.consorcio-wrapper button.segmento-option {
    border-color: var(--espelium-control-border) !important;
    background: var(--espelium-neutral-0) !important;
    color: var(--espelium-neutral-600) !important;
    box-shadow: none !important;
    transform: none !important;
}

.consorcio-wrapper button.segmento-option.active {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-primary-color) !important;
    color: var(--espelium-primary-text-color) !important;
}

.consorcio-wrapper button.segmento-option.active span,
.consorcio-wrapper button.segmento-option.active svg,
.consorcio-wrapper button.segmento-option.active .segmento-icon {
    color: currentColor !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper button.segmento-option:hover:not(.active) {
        border-color: var(--espelium-primary-color) !important;
        background: var(--espelium-primary-soft-color) !important;
        color: var(--espelium-neutral-900) !important;
    }

    .consorcio-wrapper button.segmento-option.active:hover {
        border-color: var(--espelium-primary-hover-color) !important;
        background: var(--espelium-primary-hover-color) !important;
        color: var(--espelium-primary-hover-text-color) !important;
    }
}

.consorcio-wrapper button.segmento-option.active:active {
    border-color: var(--espelium-primary-active-color) !important;
    background: var(--espelium-primary-active-color) !important;
    color: var(--espelium-primary-active-text-color) !important;
}

.consorcio-wrapper button.segmento-option:active:not(.active) {
    border-color: var(--espelium-primary-active-color) !important;
    background: var(--espelium-primary-soft-color) !important;
    color: var(--espelium-neutral-900) !important;
}

.consorcio-wrapper button.segmento-option:focus:not(.active) {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-primary-soft-color) !important;
    color: var(--espelium-neutral-900) !important;
}

.consorcio-wrapper button.segmento-option.active:focus {
    border-color: var(--espelium-primary-hover-color) !important;
    background: var(--espelium-primary-hover-color) !important;
    color: var(--espelium-primary-hover-text-color) !important;
}

/* Seletor galeria/lista: duas metades contínuas, sem caixa interna. */
.consorcio-wrapper .espelium-view-toggle {
    gap: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--espelium-control-border) !important;
    border-radius: var(--espelium-button-radius) !important;
    background: var(--espelium-neutral-0) !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.consorcio-wrapper .espelium-view-toggle button.espelium-view-button {
    width: 42px !important;
    min-width: 42px !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--espelium-neutral-0) !important;
    color: var(--espelium-neutral-500) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background-color var(--espelium-motion-fast), color var(--espelium-motion-fast) !important;
}

.consorcio-wrapper .espelium-view-toggle button.espelium-view-button.is-active {
    background: var(--espelium-primary-color) !important;
    color: var(--espelium-primary-text-color) !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper .espelium-view-toggle button.espelium-view-button:hover:not(.is-active) {
        background: var(--espelium-primary-soft-color) !important;
        color: var(--espelium-neutral-900) !important;
    }

    .consorcio-wrapper .espelium-view-toggle button.espelium-view-button.is-active:hover {
        background: var(--espelium-primary-hover-color) !important;
        color: var(--espelium-primary-hover-text-color) !important;
    }
}

.consorcio-wrapper .espelium-view-toggle button.espelium-view-button.is-active:active {
    background: var(--espelium-primary-active-color) !important;
    color: var(--espelium-primary-active-text-color) !important;
}

.consorcio-wrapper .espelium-view-toggle button.espelium-view-button:active:not(.is-active) {
    background: var(--espelium-primary-soft-color) !important;
    color: var(--espelium-neutral-900) !important;
}

.consorcio-wrapper .espelium-view-toggle button.espelium-view-button:focus:not(.is-active) {
    background: var(--espelium-primary-soft-color) !important;
    color: var(--espelium-neutral-900) !important;
}

.consorcio-wrapper .espelium-view-toggle button.espelium-view-button.is-active:focus {
    background: var(--espelium-primary-hover-color) !important;
    color: var(--espelium-primary-hover-text-color) !important;
}

/* Campos e filtros. */
.consorcio-wrapper .espelium-filter-input-wrap,
.consorcio-wrapper .espelium-mobile-filter-search,
.consorcio-wrapper .espelium-filter-field select,
.consorcio-wrapper .espelium-status-options {
    border-color: var(--espelium-control-border) !important;
    border-radius: var(--espelium-button-radius) !important;
    background: var(--espelium-neutral-0) !important;
    color: var(--espelium-neutral-800) !important;
    box-shadow: none !important;
    transition: border-color var(--espelium-motion-fast), box-shadow var(--espelium-motion-fast) !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper .espelium-filter-input-wrap:hover,
    .consorcio-wrapper .espelium-filter-field select:hover,
    .consorcio-wrapper .espelium-status-options:hover {
        border-color: var(--espelium-neutral-400) !important;
    }
}

.consorcio-wrapper .espelium-filter-input-wrap:focus-within,
.consorcio-wrapper .espelium-filter-field select:focus,
.consorcio-wrapper .espelium-filter-field select:focus-visible,
.consorcio-wrapper .espelium-status-options:focus-within {
    border-color: var(--espelium-primary-color) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-ring-color) !important;
}

/* O hover/foco do botão é independente da cápsula de busca/crédito. */
.consorcio-wrapper .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:hover),
.consorcio-wrapper .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:focus),
.consorcio-wrapper .espelium-mobile-filter-search:has(.espelium-mobile-filter-toggle:active),
.consorcio-wrapper .espelium-start-credit-control:has(.espelium-start-filter-action:hover),
.consorcio-wrapper .espelium-start-credit-control:has(.espelium-start-filter-action:focus),
.consorcio-wrapper .espelium-start-credit-control:has(.espelium-start-filter-action:active) {
    border-color: var(--espelium-control-border) !important;
    box-shadow: none !important;
}

.consorcio-wrapper button.espelium-mobile-filter-toggle,
.consorcio-wrapper button.espelium-start-filter-action,
.consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action {
    border-color: var(--espelium-control-border) !important;
    border-radius: var(--espelium-button-radius) !important;
    background: var(--espelium-neutral-0) !important;
    color: var(--espelium-neutral-700) !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper button.espelium-mobile-filter-toggle:hover,
    .consorcio-wrapper button.espelium-start-filter-action:hover,
    .consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action:hover {
        border-color: var(--espelium-primary-color) !important;
        background: var(--espelium-neutral-50) !important;
        color: var(--espelium-neutral-900) !important;
        box-shadow: none !important;
    }
}

.consorcio-wrapper button.espelium-mobile-filter-toggle[aria-expanded="true"],
.consorcio-wrapper button.espelium-start-filter-action[aria-expanded="true"],
.consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action[aria-expanded="true"] {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-neutral-100) !important;
    color: var(--espelium-neutral-900) !important;
}

.consorcio-wrapper button.espelium-mobile-filter-toggle:focus,
.consorcio-wrapper button.espelium-start-filter-action:focus,
.consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action:focus {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-neutral-100) !important;
    color: var(--espelium-neutral-900) !important;
    box-shadow: none !important;
}

.consorcio-wrapper button.espelium-mobile-filter-toggle:active,
.consorcio-wrapper button.espelium-start-filter-action:active,
.consorcio-wrapper.espelium-filter-profile-professional button.espelium-start-filter-action:active {
    border-color: var(--espelium-primary-active-color) !important;
    background: var(--espelium-neutral-200) !important;
}

.consorcio-wrapper .espelium-mobile-filter-badge,
.consorcio-wrapper.espelium-filter-profile-professional .espelium-mobile-filter-badge {
    background: var(--espelium-primary-color) !important;
    color: var(--espelium-primary-text-color) !important;
}

.consorcio-wrapper .espelium-status-options input[type="checkbox"] {
    border-color: var(--espelium-neutral-400) !important;
    background: var(--espelium-neutral-0) !important;
    accent-color: var(--espelium-primary-color) !important;
}

.consorcio-wrapper .espelium-status-options input[type="checkbox"]:checked {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-primary-color) !important;
}

.consorcio-wrapper .espelium-status-options input[type="checkbox"]:checked::before {
    border-color: var(--espelium-primary-text-color) !important;
}

.consorcio-wrapper .espelium-status-options input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--espelium-primary-color) !important;
    outline-offset: 2px !important;
}

/* Controle de crédito PRO.
 * A geometria fica no Auto Layout; esta camada canônica aplica somente tokens,
 * aparência e estados. A referência do Figma orienta hierarquia/overlap, sem
 * substituir as configurações de marca e raio do Espelium. */
.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control {
    border-color: var(--espelium-control-border) !important;
    border-radius: var(--espelium-button-radius) !important;
    background: var(--espelium-neutral-0) !important;
    box-shadow: 0 1px 2px rgba(29, 37, 48, 0.04) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control::after {
    border: 0 !important;
    border-radius: var(--espelium-button-radius) !important;
    background: var(--espelium-neutral-0) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control::before {
    border-radius: var(--espelium-button-radius) !important;
    background: var(--espelium-primary-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control.is-full::before {
    border-radius: var(--espelium-button-radius) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-slider {
    background: transparent !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target-value {
    color: var(--espelium-neutral-800) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control.value-on-left .espelium-credit-target-value,
.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control.is-full .espelium-credit-target-value {
    color: var(--espelium-primary-text-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-webkit-slider-thumb {
    border-color: var(--espelium-neutral-300) !important;
    background-color: var(--espelium-neutral-0) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4'%3E%3Cpath d='M9.3 7.8 5.1 12l4.2 4.2M14.7 7.8l4.2 4.2-4.2 4.2'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 24px 24px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target::-moz-range-thumb {
    border-color: var(--espelium-neutral-300) !important;
    background-color: var(--espelium-neutral-0) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f2937' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4'%3E%3Cpath d='M9.3 7.8 5.1 12l4.2 4.2M14.7 7.8l4.2 4.2-4.2 4.2'/%3E%3C/svg%3E") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: 24px 24px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08) !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:hover::-webkit-slider-thumb {
        border-color: var(--espelium-primary-color) !important;
        box-shadow: 0 0 0 3px var(--espelium-primary-soft-color) !important;
    }

    .consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:hover::-moz-range-thumb {
        border-color: var(--espelium-primary-color) !important;
        box-shadow: 0 0 0 3px var(--espelium-primary-soft-color) !important;
    }
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control:has(.espelium-credit-target:focus-visible) {
    border-color: var(--espelium-primary-color) !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-ring-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:focus-visible::-webkit-slider-thumb {
    border-color: var(--espelium-primary-color) !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-soft-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:focus-visible::-moz-range-thumb {
    border-color: var(--espelium-primary-color) !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-soft-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:active::-webkit-slider-thumb {
    border-color: var(--espelium-primary-active-color) !important;
    box-shadow: 0 0 0 4px var(--espelium-primary-soft-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:active::-moz-range-thumb {
    border-color: var(--espelium-primary-active-color) !important;
    box-shadow: 0 0 0 4px var(--espelium-primary-soft-color) !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control:has(.espelium-credit-target:disabled)::before {
    background: var(--espelium-neutral-300) !important;
}

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

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:disabled::-webkit-slider-thumb {
    border-color: var(--espelium-neutral-300) !important;
    background-color: var(--espelium-neutral-100) !important;
    box-shadow: none !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-credit-target:disabled::-moz-range-thumb {
    border-color: var(--espelium-neutral-300) !important;
    background-color: var(--espelium-neutral-100) !important;
    box-shadow: none !important;
}

.consorcio-wrapper.espelium-filter-profile-professional .espelium-start-credit-control:has(.espelium-credit-target:disabled) .espelium-credit-target-value {
    color: var(--espelium-neutral-500) !important;
}

/* Ações neutras: detalhes, compartilhar, carregar mais, fechar e limpar. */
.consorcio-wrapper .consorcio-actions .btn-detalhes,
.consorcio-wrapper button.espelium-load-more,
.espelium-details-modal .btn-secondary,
.espelium-details-modal .modal-actions button#btnShareDetail,
.espelium-summary-modal .btn-secondary,
.espelium-summary-modal .modal-actions .espelium-action-close {
    border: 1px solid var(--espelium-neutral-300) !important;
    background: var(--espelium-neutral-0) !important;
    color: var(--espelium-neutral-800) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper .consorcio-actions .btn-detalhes:hover,
    .consorcio-wrapper button.espelium-load-more:hover,
    .espelium-details-modal .btn-secondary:hover,
    .espelium-details-modal .modal-actions button#btnShareDetail:hover,
    .espelium-summary-modal .btn-secondary:hover,
    .espelium-summary-modal .modal-actions .espelium-action-close:hover {
        border-color: var(--espelium-primary-color) !important;
        background: var(--espelium-primary-soft-color) !important;
        color: var(--espelium-neutral-900) !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

.consorcio-wrapper .consorcio-actions .btn-detalhes:active,
.consorcio-wrapper button.espelium-load-more:active,
.espelium-details-modal .btn-secondary:active,
.espelium-details-modal .modal-actions button#btnShareDetail:active,
.espelium-summary-modal .btn-secondary:active,
.espelium-summary-modal .modal-actions .espelium-action-close:active {
    border-color: var(--espelium-primary-active-color) !important;
    background: var(--espelium-primary-soft-color) !important;
}

.consorcio-wrapper .consorcio-actions .btn-detalhes:focus,
.consorcio-wrapper button.espelium-load-more:focus,
.espelium-details-modal .btn-secondary:focus,
.espelium-details-modal .modal-actions button#btnShareDetail:focus,
.espelium-summary-modal .btn-secondary:focus,
.espelium-summary-modal .modal-actions .espelium-action-close:focus {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-primary-soft-color) !important;
    color: var(--espelium-neutral-900) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Limpar filtros permanece utilitário e independente do raio dos CTAs. */
.consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear,
.consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear:hover,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:hover,
.consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear:focus,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:focus,
.consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear:active,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:active {
    height: 30px !important;
    padding: 0 10px !important;
    border: 1px solid var(--espelium-neutral-300) !important;
    border-radius: 10px !important;
    background: var(--espelium-neutral-0) !important;
    color: var(--espelium-neutral-700) !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear:hover,
    .consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:hover {
        border-color: var(--espelium-neutral-500) !important;
        background: var(--espelium-neutral-50) !important;
        color: var(--espelium-neutral-900) !important;
    }
}

.consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear:focus,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:focus {
    border-color: var(--espelium-neutral-500) !important;
    background: var(--espelium-neutral-50) !important;
    color: var(--espelium-neutral-900) !important;
    outline: 0 !important;
}

/* Ações de marca primária. */
.consorcio-button.primary,
.fixed-buttons-container .fixed-button.btn-share,
.fixed-buttons-container .fixed-button.btn-sum.is-ready,
#resultModal .btn-share {
    border-color: var(--espelium-primary-color) !important;
    background: var(--espelium-primary-color) !important;
    color: var(--espelium-primary-text-color) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-button.primary:hover,
    .fixed-buttons-container .fixed-button.btn-share:hover,
    .fixed-buttons-container .fixed-button.btn-sum.is-ready:hover,
    #resultModal .btn-share:hover {
        border-color: var(--espelium-primary-hover-color) !important;
        background: var(--espelium-primary-hover-color) !important;
        color: var(--espelium-primary-hover-text-color) !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

.consorcio-button.primary:active,
.fixed-buttons-container .fixed-button.btn-share:active,
.fixed-buttons-container .fixed-button.btn-sum.is-ready:active,
#resultModal .btn-share:active {
    border-color: var(--espelium-primary-active-color) !important;
    background: var(--espelium-primary-active-color) !important;
    color: var(--espelium-primary-active-text-color) !important;
}

.consorcio-button.primary:focus,
.fixed-buttons-container .fixed-button.btn-share:focus,
.fixed-buttons-container .fixed-button.btn-sum.is-ready:focus,
#resultModal .btn-share:focus {
    border-color: var(--espelium-primary-hover-color) !important;
    background: var(--espelium-primary-hover-color) !important;
    color: var(--espelium-primary-hover-text-color) !important;
}

/* Ações de marca secundária, incluindo todos os CTAs de negociação. */
.consorcio-button.secondary,
.fixed-buttons-container .fixed-button.btn-sum:not(.is-ready),
#resultModal .btn-negotiate,
.consorcio-wrapper .consorcio-actions .btn-negociar:not(.btn-reservado),
.consorcio-wrapper a.btn-negociar:not(.btn-reservado),
.espelium-details-modal .btn-negociar:not(.btn-reservado),
.espelium-details-modal .modal-actions button#btnNegociarDetalhe:not(.btn-reservado),
.espelium-summary-modal .btn-negociar:not(.btn-reservado),
.espelium-summary-modal .modal-actions > #btnNegociar {
    border-color: var(--espelium-secondary-color) !important;
    background: var(--espelium-secondary-color) !important;
    color: var(--espelium-secondary-text-color) !important;
    text-shadow: none !important;
    box-shadow: none !important;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .consorcio-button.secondary:hover,
    .fixed-buttons-container .fixed-button.btn-sum:not(.is-ready):hover,
    #resultModal .btn-negotiate:hover,
    .consorcio-wrapper .consorcio-actions .btn-negociar:not(.btn-reservado):hover,
    .consorcio-wrapper a.btn-negociar:not(.btn-reservado):hover,
    .espelium-details-modal .btn-negociar:not(.btn-reservado):hover,
    .espelium-details-modal .modal-actions button#btnNegociarDetalhe:not(.btn-reservado):hover,
    .espelium-summary-modal .btn-negociar:not(.btn-reservado):hover,
    .espelium-summary-modal .modal-actions > #btnNegociar:hover {
        border-color: var(--espelium-secondary-hover-color) !important;
        background: var(--espelium-secondary-hover-color) !important;
        color: var(--espelium-secondary-hover-text-color) !important;
        box-shadow: none !important;
        transform: none !important;
    }
}

.consorcio-button.secondary:active,
.fixed-buttons-container .fixed-button.btn-sum:not(.is-ready):active,
#resultModal .btn-negotiate:active,
.consorcio-wrapper .consorcio-actions .btn-negociar:not(.btn-reservado):active,
.consorcio-wrapper a.btn-negociar:not(.btn-reservado):active,
.espelium-details-modal .btn-negociar:not(.btn-reservado):active,
.espelium-details-modal .modal-actions button#btnNegociarDetalhe:not(.btn-reservado):active,
.espelium-summary-modal .btn-negociar:not(.btn-reservado):active,
.espelium-summary-modal .modal-actions > #btnNegociar:active {
    border-color: var(--espelium-secondary-active-color) !important;
    background: var(--espelium-secondary-active-color) !important;
    color: var(--espelium-secondary-active-text-color) !important;
}

.consorcio-button.secondary:focus,
.fixed-buttons-container .fixed-button.btn-sum:not(.is-ready):focus,
#resultModal .btn-negotiate:focus,
.consorcio-wrapper .consorcio-actions .btn-negociar:not(.btn-reservado):focus,
.consorcio-wrapper a.btn-negociar:not(.btn-reservado):focus,
.espelium-details-modal .btn-negociar:not(.btn-reservado):focus,
.espelium-details-modal .modal-actions button#btnNegociarDetalhe:not(.btn-reservado):focus,
.espelium-summary-modal .btn-negociar:not(.btn-reservado):focus,
.espelium-summary-modal .modal-actions > #btnNegociar:focus {
    border-color: var(--espelium-secondary-hover-color) !important;
    background: var(--espelium-secondary-hover-color) !important;
    color: var(--espelium-secondary-hover-text-color) !important;
}

/* Fechar modal é utilitário, mas possui estados completos. */
.espelium-details-modal .espelium-modal-close,
.espelium-summary-modal .espelium-modal-close,
#resultModal .modal-close {
    border: 1px solid var(--espelium-neutral-200) !important;
    border-radius: 10px !important;
    background: var(--espelium-neutral-50) !important;
    color: var(--espelium-neutral-600) !important;
    box-shadow: none !important;
    transform: none !important;
}

#resultModal .modal-close svg path {
    fill: currentColor !important;
}

@media (hover: hover) and (pointer: fine) {
    .espelium-details-modal .espelium-modal-close:hover,
    .espelium-summary-modal .espelium-modal-close:hover,
#resultModal .modal-close:hover {
        border-color: var(--espelium-neutral-300) !important;
        background: var(--espelium-neutral-100) !important;
        color: var(--espelium-neutral-900) !important;
    }
}

.espelium-details-modal .espelium-modal-close:focus,
.espelium-summary-modal .espelium-modal-close:focus,
#resultModal .modal-close:focus {
    border-color: var(--espelium-neutral-300) !important;
    background: var(--espelium-neutral-100) !important;
    color: var(--espelium-neutral-900) !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.espelium-details-modal .espelium-modal-close:active,
.espelium-summary-modal .espelium-modal-close:active,
#resultModal .modal-close:active {
    border-color: var(--espelium-neutral-400) !important;
    background: var(--espelium-neutral-200) !important;
    color: var(--espelium-neutral-900) !important;
}

/* Reservado/indisponível é estado desabilitado, nunca uma ação verde. */
.consorcio-wrapper .btn-negociar.btn-reservado,
.consorcio-wrapper .btn-reservada,
.espelium-details-modal .btn-negociar.btn-reservado,
.espelium-details-modal .modal-actions button#btnNegociarDetalhe.btn-reservado,
.espelium-summary-modal .btn-negociar.btn-reservado,
button[disabled].btn-negociar,
button[aria-disabled="true"].btn-negociar {
    border-color: var(--espelium-neutral-300) !important;
    background: var(--espelium-neutral-100) !important;
    color: var(--espelium-neutral-500) !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transform: none !important;
}

/* Foco visível consistente. */
.consorcio-wrapper button.segmento-option:focus-visible,
.consorcio-wrapper button.espelium-view-button:focus-visible,
.consorcio-wrapper button.espelium-mobile-filter-toggle:focus-visible,
.consorcio-wrapper button.espelium-start-filter-action:focus-visible,
.consorcio-wrapper .consorcio-actions .btn-detalhes:focus-visible,
.consorcio-wrapper button.espelium-load-more:focus-visible,
.consorcio-wrapper .espelium-filter-footer button.espelium-filter-clear:focus-visible,
.consorcio-wrapper .espelium-filter-footer .espelium-filter-footer-actions button.espelium-filter-clear:focus-visible,
.consorcio-button.primary:focus-visible,
.fixed-buttons-container .fixed-button.btn-share:focus-visible,
.fixed-buttons-container .fixed-button.btn-sum.is-ready:focus-visible,
#resultModal .btn-share:focus-visible,
.espelium-details-modal .btn-secondary:focus-visible,
.espelium-details-modal .modal-actions button#btnShareDetail:focus-visible,
.espelium-summary-modal .btn-secondary:focus-visible,
.espelium-summary-modal .modal-actions .espelium-action-close:focus-visible,
.espelium-details-modal .espelium-modal-close:focus-visible,
.espelium-summary-modal .espelium-modal-close:focus-visible,
#resultModal .modal-close:focus-visible {
    outline: 2px solid var(--espelium-primary-color) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-ring-color) !important;
}

.consorcio-wrapper .consorcio-actions .btn-negociar:not(.btn-reservado):focus-visible,
.consorcio-wrapper a.btn-negociar:not(.btn-reservado):focus-visible,
.consorcio-button.secondary:focus-visible,
.fixed-buttons-container .fixed-button.btn-sum:not(.is-ready):focus-visible,
#resultModal .btn-negotiate:focus-visible,
.espelium-details-modal .btn-negociar:not(.btn-reservado):focus-visible,
.espelium-details-modal .modal-actions button#btnNegociarDetalhe:not(.btn-reservado):focus-visible,
.espelium-summary-modal .btn-negociar:not(.btn-reservado):focus-visible,
.espelium-summary-modal .modal-actions > #btnNegociar:focus-visible {
    outline: 2px solid var(--espelium-secondary-color) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px var(--espelium-secondary-ring-color) !important;
}

/* Seleção de cartas usa a cor primária em todas as visualizações. */
.consorcio-wrapper .consorcio-item.is-selected,
.consorcio-wrapper .consorcio-item.is-selected:hover {
    border: 2px solid var(--espelium-primary-color) !important;
    background: var(--espelium-neutral-50) !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-soft-color) !important;
}

.consorcio-wrapper .espelium-card-select:focus-visible + .consorcio-content {
    outline: 2px solid var(--espelium-primary-color) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 3px var(--espelium-primary-ring-color) !important;
}

@media (prefers-reduced-motion: reduce) {
    .consorcio-wrapper button,
    .consorcio-wrapper a.btn-negociar,
    .fixed-buttons-container button,
    .espelium-details-modal button,
    .espelium-summary-modal button,
    #resultModal button {
        transition-duration: 0.01ms !important;
    }
}


/* Cottaz Sync 2.8.9 — link da página permanente mantendo o componente de detalhes */
a.btn-detalhes.cottaz-card-page-link{
    text-decoration:none!important;
}
