/* =========================================
   1. VARIÁVEIS E RESET
   ========================================= */
:root {
    --azul-profundo: #0d1b2a;
    --dourado: #c79857;
    --dourado-hover: #b0864b;
    --preto: #000000;
    --branco: #ffffff;
    --cinza-claro: #f8f9fa;
    --bs-link-color: #0d1b2a;
    --bs-link-color-rgb: 13, 27, 42;
    --bs-link-hover-color: #c79857;
    --bs-link-hover-color-rgb: 199, 152, 87;
}

a:not(.btn):not([class*="btn"]):not(.nav-link):not(footer a):not(.footer-soliani a):not(.text-white):not(.text-gold),
a:link:not(.btn):not([class*="btn"]):not(.nav-link):not(footer a):not(.footer-soliani a):not(.text-white):not(.text-gold),
a:visited:not(.btn):not([class*="btn"]):not(.nav-link):not(footer a):not(.footer-soliani a):not(.text-white):not(.text-gold) {
    color: var(--azul-profundo);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover:not(.btn):not([class*="btn"]):not(.nav-link),
a:focus:not(.btn):not([class*="btn"]):not(.nav-link) {
    color: var(--dourado);
    text-decoration: none;
}

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    overflow-x: hidden;
    overflow-y: scroll !important;
    scrollbar-gutter: stable;
    max-width: 100%;
    width: 100%;
}

body {
    overflow-x: hidden !important;
    max-width: 100%;
    width: 100%;
}

body {
    font-family: 'Lato', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--cinza-claro);
    color: #333;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title {
    font-family: 'Cinzel', serif;
}

/* =========================================
   2. UTILITÁRIOS
   ========================================= */
.text-primary-custom,
.text-navy,
.text-azul-profundo {
    color: var(--azul-profundo) !important;
}

.bg-primary-custom,
.bg-navy,
.bg-azul-profundo {
    background-color: var(--azul-profundo) !important;
    color: #ffffff !important;
}

.text-gold,
.text-dourado {
    color: var(--dourado) !important;
}

.bg-gold,
.bg-dourado {
    background-color: var(--dourado) !important;
    color: #ffffff !important;
}

/* Badges e Contrastes */
.badge.bg-navy {
    background-color: var(--azul-profundo, #0d1b2a) !important;
    color: #ffffff !important;
}
.badge.bg-navy.text-gold,
.badge.bg-navy .text-gold {
    color: var(--dourado, #c79857) !important;
}
.badge.bg-light.text-navy,
.badge.bg-light {
    background-color: #f1f5f9 !important;
    color: var(--azul-profundo, #0d1b2a) !important;
    border: 1px solid #cbd5e1 !important;
}

.hover-white:hover {
    color: #fff !important;
    border-color: #fff !important;
    background-color: rgba(255, 255, 255, 0.1);
}

/* =========================================
   3. PADRÃO OFICIAL DE BOTÕES SOLIANI (UNIVERSAL)
   Regra Mandatória Universal:
   - Botão normal (Default): Azul (#0d1b2a), texto branco (#ffffff), borda dourada (#c79857)
   - Ao passar o mouse (Hover): Botão branco (#ffffff), texto azul (#0d1b2a), borda dourada (#c79857)
   - Selecionado (Active/Focus/Selected): Botão dourado (#c79857), texto branco (#ffffff), borda azul (#0d1b2a)
   ========================================= */

/* 1. Botão Normal (Default / Fundo Branco da Página) */
.btn:not(.btn-close):not(.btn-success):not(.btn-danger):not(.btn-outline-success):not(.btn-outline-danger),
button.btn:not(.btn-close):not(.btn-success):not(.btn-danger):not(.btn-outline-success):not(.btn-outline-danger),
a.btn:not(.btn-close):not(.btn-success):not(.btn-danger):not(.btn-outline-success):not(.btn-outline-danger),
input[type="submit"].btn,
input[type="button"].btn,
.btn-soliani,
a.btn-soliani,
.btn-soliani-gold,
.btn-soliani-navy,
.btn-soliani-white,
.btn-soliani-header-action,
.btn-soliani-header-primary,
.btn-gold,
.btn-dourado,
.btn-navy,
.btn-azul,
.btn-primary,
.btn-secondary,
.btn-light,
.btn-dark,
.btn-novo,
.btn-salvar,
.btn-cancelar,
.btn-voltar,
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-navy,
.btn-outline-gold,
.btn-outline-dark,
.view-switch-btn,
.filter-pill,
.filter-pill-soliani {
    background-color: var(--azul-profundo, #0d1b2a) !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1.5px solid var(--dourado, #c79857) !important;
    border-radius: 50px !important;
    font-family: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    line-height: 1 !important;
    letter-spacing: 0.25px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    outline: none !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 3px 10px rgba(13, 27, 42, 0.16) !important;
    vertical-align: middle !important;
}

.btn:not(.btn-close):not(.btn-success):not(.btn-danger) i,
button.btn:not(.btn-close):not(.btn-success):not(.btn-danger) i,
a.btn:not(.btn-close):not(.btn-success):not(.btn-danger) i,
.btn-soliani i,
.btn-soliani-gold i,
.btn-soliani-navy i,
.btn-soliani-header-action i,
.btn-soliani-header-primary i,
.btn-gold i,
.btn-navy i,
.btn-salvar i,
.btn-cancelar i,
.btn-voltar i,
.btn-novo i,
.view-switch-btn i,
.filter-pill i,
.filter-pill-soliani i {
    color: #ffffff !important;
    transition: color 0.22s ease !important;
}

/* 2. Ao passar o mouse (Hover): Botão branco, texto azul, borda dourada */
.btn:not(.btn-close):not(.btn-success):not(.btn-danger):not(.btn-outline-success):not(.btn-outline-danger):hover,
button.btn:not(.btn-close):not(.btn-success):not(.btn-danger):not(.btn-outline-success):not(.btn-outline-danger):hover,
a.btn:not(.btn-close):not(.btn-success):not(.btn-danger):not(.btn-outline-success):not(.btn-outline-danger):hover,
input[type="submit"].btn:hover,
input[type="button"].btn:hover,
.btn-soliani:hover,
a.btn-soliani:hover,
.btn-soliani-gold:hover,
.btn-soliani-navy:hover,
.btn-soliani-white:hover,
.btn-soliani-header-action:hover,
.btn-soliani-header-primary:hover,
.btn-gold:hover,
.btn-dourado:hover,
.btn-navy:hover,
.btn-azul:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-light:hover,
.btn-dark:hover,
.btn-novo:hover,
.btn-salvar:hover,
.btn-cancelar:hover,
.btn-voltar:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover,
.btn-outline-navy:hover,
.btn-outline-gold:hover,
.btn-outline-dark:hover,
.view-switch-btn:hover,
.filter-pill:hover,
.filter-pill-soliani:hover {
    background-color: #ffffff !important;
    background-image: none !important;
    color: var(--azul-profundo, #0d1b2a) !important;
    border: 1.5px solid var(--dourado, #c79857) !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 6px 18px rgba(199, 152, 87, 0.35) !important;
}

.btn:not(.btn-close):not(.btn-success):not(.btn-danger):hover i,
button.btn:not(.btn-close):not(.btn-success):not(.btn-danger):hover i,
a.btn:not(.btn-close):not(.btn-success):not(.btn-danger):hover i,
.btn-soliani:hover i,
.btn-soliani-gold:hover i,
.btn-soliani-navy:hover i,
.btn-soliani-header-action:hover i,
.btn-soliani-header-primary:hover i,
.btn-gold:hover i,
.btn-navy:hover i,
.btn-salvar:hover i,
.btn-cancelar:hover i,
.btn-voltar:hover i,
.btn-novo:hover i,
.view-switch-btn:hover i,
.filter-pill:hover i,
.filter-pill-soliani:hover i {
    color: var(--azul-profundo, #0d1b2a) !important;
}

/* 3. Selecionado: Botão dourado, texto branco e borda azul */
.btn:not(.btn-close):not(.btn-success):not(.btn-danger):active,
.btn:not(.btn-close):not(.btn-success):not(.btn-danger).active,
.btn:not(.btn-close):not(.btn-success):not(.btn-danger).show,
.show > .btn:not(.btn-close):not(.btn-success):not(.btn-danger),
.btn:not(.btn-close):not(.btn-success):not(.btn-danger)[aria-pressed="true"],
.btn:not(.btn-close):not(.btn-success):not(.btn-danger)[aria-selected="true"],
.btn-check:checked + .btn:not(.btn-close):not(.btn-success):not(.btn-danger),
.btn:not(.btn-close):not(.btn-success):not(.btn-danger):focus-visible,
.btn-salvar:active, .btn-salvar.active,
.btn-cancelar:active, .btn-cancelar.active,
.btn-voltar:active, .btn-voltar.active,
.btn-gold:active, .btn-gold.active,
.btn-novo:active, .btn-novo.active,
.btn-navy:active, .btn-navy.active,
.btn-primary:active, .btn-primary.active,
.btn-secondary:active, .btn-secondary.active,
.btn-soliani-gold:active, .btn-soliani-gold.active,
.btn-soliani-navy:active, .btn-soliani-navy.active,
.btn-soliani-header-action:active, .btn-soliani-header-action.active,
.btn-soliani-header-primary:active, .btn-soliani-header-primary.active,
.view-switch-btn:active, .view-switch-btn.active,
.filter-pill:active, .filter-pill.active,
.filter-pill-soliani:active, .filter-pill-soliani.active {
    background-color: var(--dourado, #c79857) !important;
    background-image: none !important;
    color: #ffffff !important;
    border: 1.5px solid var(--azul-profundo, #0d1b2a) !important;
    box-shadow: 0 0 0 3.5px rgba(13, 27, 42, 0.35) !important;
    transform: scale(0.98) !important;
}

.btn:not(.btn-close):not(.btn-success):not(.btn-danger):active i,
.btn:not(.btn-close):not(.btn-success):not(.btn-danger).active i,
.btn-check:checked + .btn:not(.btn-close):not(.btn-success):not(.btn-danger) i,
.btn-salvar:active i, .btn-salvar.active i,
.btn-cancelar:active i, .btn-cancelar.active i,
.btn-voltar:active i, .btn-voltar.active i,
.btn-gold:active i, .btn-gold.active i,
.btn-novo:active i, .btn-novo.active i,
.btn-navy:active i, .btn-navy.active i,
.view-switch-btn.active i,
.filter-pill.active i,
.filter-pill-soliani.active i {
    color: #ffffff !important;
}

/* Dimensões: Pequeno (.btn-sm) e Pílulas de Filtro (.filter-pill) */
.btn-sm,
.btn-xs,
.btn-soliani-sm,
.filter-pill {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 14px !important;
    font-size: 0.77rem !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    gap: 6px !important;
}

/* Dimensões: Grande (.btn-lg) */
.btn-lg {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 28px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    gap: 10px !important;
}

/* Dimensões: Circulares / Ícones */
.btn.rounded-circle,
.btn-icon {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.82rem !important;
    flex-shrink: 0 !important;
}

.btn-sm.rounded-circle,
.btn-icon.btn-sm {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    font-size: 0.74rem !important;
}

.btn-lg.rounded-circle,
.btn-icon.btn-lg {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    font-size: 1rem !important;
}

/* Exceção Segura: Botão Fechar de Modal (Bootstrap .btn-close) */
.btn-close,
.btn.btn-close {
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat !important;
    border: none !important;
    box-shadow: none !important;
    width: 1em !important;
    height: 1em !important;
    min-height: auto !important;
    padding: 0.25em !important;
    border-radius: 0 !important;
    opacity: 0.85 !important;
}
.btn-close:hover,
.btn.btn-close:hover {
    opacity: 1 !important;
    transform: scale(1.1) !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Botões Sucesso / Aprovar */
.btn-success,
.btn-outline-success {
    background-color: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(22, 163, 74, 0.25) !important;
}
.btn-outline-success {
    background-color: transparent !important;
    color: #16a34a !important;
}
.btn-success:hover,
.btn-outline-success:hover {
    background-color: #15803d !important;
    border-color: #15803d !important;
    color: #ffffff !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 5px 16px rgba(22, 163, 74, 0.35) !important;
}
.btn-success:active, .btn-success.active,
.btn-outline-success:active, .btn-outline-success.active {
    background-color: #166534 !important;
    border-color: #166534 !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3.5px rgba(22, 163, 74, 0.4) !important;
}

/* Botões Perigo / Excluir */
.btn-danger,
.btn-outline-danger {
    background-color: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(220, 38, 38, 0.25) !important;
}
.btn-outline-danger {
    background-color: transparent !important;
    color: #dc2626 !important;
}
.btn-danger:hover,
.btn-outline-danger:hover {
    background-color: #b91c1c !important;
    border-color: #b91c1c !important;
    color: #ffffff !important;
    transform: translateY(-1.5px) !important;
    box-shadow: 0 5px 16px rgba(220, 38, 38, 0.35) !important;
}
.btn-danger:active, .btn-danger.active,
.btn-outline-danger:active, .btn-outline-danger.active {
    background-color: #991b1b !important;
    border-color: #991b1b !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 3.5px rgba(220, 38, 38, 0.4) !important;
}

/* =========================================
   4. HEADER
   ========================================= */
.header-wrapper {
    background-color: var(--azul-profundo);
    border-bottom: 4px solid var(--dourado);
    box-shadow: 0 4px 20px rgba(0, 0, 0, .4);
    position: relative;
    z-index: 1030;
}

.brand-container {
    width: 200px;
    margin: auto;
    text-align: center;
}

.logo-img {
    width: 100%;
    margin-bottom: 8px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .3));
}

.brand-title {
    font-family: 'Cinzel', serif;
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: .15em;
    color: #fff;
}

.brand-subtitle {
    font-family: 'Cinzel', serif;
    font-size: .75rem;
    color: var(--dourado);
    border-top: 0px solid rgba(199, 152, 87, .3);
    padding-top: 0px;
}

/* =========================================
   5. HERO / CARROSSEL
   ========================================= */
.hero-item {
    height: 50vh;
    min-height: 350px;
    background: var(--azul-profundo);
}

.hero-overlay {
    background: linear-gradient(to right, rgba(13, 27, 42, .9), rgba(13, 27, 42, .4));
}

/* =========================================
   6. FOOTER (CORRIGIDO DEFINITIVO)
   ========================================= */
footer {
    background-color: var(--azul-profundo);
    color: #fff;
    padding: 50px 0 20px;
    margin-top: auto;
}

footer a,
footer a:link,
footer a:visited,
.footer-soliani a,
.footer-soliani a:link,
.footer-soliani a:visited {
    color: rgba(255, 255, 255, .82) !important;
    text-decoration: none !important;
    transition: all 0.25s ease;
}

footer a:hover,
footer a:focus,
.footer-soliani a:hover,
.footer-soliani a:focus {
    color: var(--dourado) !important;
}

/* FORÇA BRANDING DO FOOTER */
footer .brand-text .brand-title {
    color: #ffffff !important;
    font-family: 'Cinzel', serif;
    font-weight: 700;
    font-size: 1.7rem;
    letter-spacing: 0.18em;
}

footer .brand-text .brand-subtitle {
    color: #c79857 !important;
    font-family: 'Cinzel', serif;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    border-top: none;
    padding-top: 4px;
    display: inline-block;
}

/* =========================================
   7. ADMIN / DASHBOARD
   ========================================= */
.admin-card {
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .05);
}

/* ==================================================
   DASHBOARD - SPLIT CARD HORIZONTAL (NOVO LAYOUT)
================================================== */

.widget-card {
    display: flex;
    align-items: stretch;

    height: 100%;
    border-radius: 18px;
    overflow: hidden;

    background: rgba(13, 27, 42, 0.96);
    border: 1px solid rgba(199, 152, 87, 0.25);

    box-shadow: 0 10px 28px rgba(13, 27, 42, 0.45);
    isolation: isolate;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform, box-shadow;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.widget-card:hover {
    transform: translate3d(0, -4px, 0);
    box-shadow: 0 16px 40px rgba(13, 27, 42, 0.6);
}

/* COLUNA DO ÍCONE */
.widget-icon {
    min-width: 78px;
    background: linear-gradient(180deg, #c79857, #b0864b);

    display: flex;
    align-items: center;
    justify-content: center;

    color: #ffffff;
    font-size: 1.6rem;
}

/* CONTEÚDO */
.widget-body {
    flex: 1;
    padding: 22px 24px;

    display: flex;
    flex-direction: column;
}

/* TÍTULO */
.widget-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 6px;
}

/* DESCRIÇÃO */
.widget-desc {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.75);
    line-height: 1.45;
}

/* ESTATÍSTICA */
.widget-stat {
    margin-top: auto;
    font-size: 0.85rem;
    font-weight: 600;
    color: #c79857;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* REMOVE SUBLINHADO */
.widget-card,
.widget-card:hover {
    text-decoration: none;
}

/* RESPONSIVO */
@media (max-width: 767px) {
    .widget-icon {
        min-width: 64px;
        font-size: 1.4rem;
    }

    .widget-body {
        padding: 18px 20px;
    }
}


/* =========================================
   9. RESPONSIVO
   ========================================= */
@media (max-width: 991px) {
    .hero-item {
        height: 55vh;
    }
}

@media (max-width: 768px) {
    .brand-title {
        font-size: 1.5rem;
    }
}


/* ==================================================
   10. CARDS - TEXTO CENTRALIZADO
================================================== */
.footer-card {
    background: rgba(0, 0, 0, .5);
    border: 1px solid rgba(199, 152, 87, 0.25);
    border-radius: 20px;
    padding: 30px 26px;
    height: 100%;
    transition: all 0.35s ease;

    /* CENTRALIZAÇÃO */
    text-align: center;
}

/* TÍTULOS */
.footer-title {
    color: #c79857;
    font-weight: 700;
    margin-bottom: 18px;
    text-align: center;
}

/* TEXTO DESCRITIVO */
.footer-description {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.6;
    text-align: center;
}

/* LINKS */
.footer-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.footer-nav li {
    margin-bottom: 12px;
}

/* CONTATO */
.footer-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    /* CENTRALIZA ÍCONE + TEXTO */
    gap: 10px;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 12px;
}

/* =========================================
   12. RESPONSIVIDADE LUXURY PARA TABELAS E CARDS (UI & UX)
   ========================================= */
.table-responsive-luxury {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 12px;
    position: relative;
    scrollbar-width: thin;
    scrollbar-color: rgba(199, 152, 87, 0.4) rgba(13, 27, 42, 0.05);
    box-shadow: inset -1px 0 0 rgba(199, 152, 87, 0.15);
}

.table-responsive-luxury::-webkit-scrollbar {
    height: 6px;
}

.table-responsive-luxury::-webkit-scrollbar-track {
    background: rgba(13, 27, 42, 0.04);
    border-radius: 9999px;
}

.table-responsive-luxury::-webkit-scrollbar-thumb {
    background: var(--dourado, #c79857);
    border-radius: 9999px;
}

.table-responsive-luxury::-webkit-scrollbar-thumb:hover {
    background: var(--dourado-hover, #b0864b);
}

/* Indicador visual de rolagem em dispositivos móveis */
@media (max-width: 991px) {
    .table-responsive-luxury {
        margin-bottom: 1rem;
        border: 1px solid rgba(199, 152, 87, 0.2);
        background: #ffffff;
    }
}

/* =========================================
   12.B PADRONIZAÇÃO UNIVERSAL DOS CAMPOS DE PESQUISA (SOLIANI SEARCH SYSTEM)
   Ícone de lupa fixo à esquerda, texto orientativo 'Pesquise' e foco dourado
   ========================================= */
.soliani-search-box,
.soliani-search-group,
.input-group:has(.fa-search) {
    border-radius: 50px !important;
    border: 1.5px solid #cbd5e1 !important;
    background-color: #ffffff !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 2px 8px rgba(13, 27, 42, 0.04) !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: stretch !important;
    height: 40px !important;
    min-height: 40px !important;
}

.soliani-search-box:hover,
.soliani-search-group:hover,
.input-group:has(.fa-search):hover {
    border-color: var(--dourado, #c79857) !important;
    box-shadow: 0 4px 14px rgba(199, 152, 87, 0.16) !important;
}

.soliani-search-box:focus-within,
.soliani-search-group:focus-within,
.input-group:has(.fa-search):focus-within {
    border-color: var(--dourado, #c79857) !important;
    box-shadow: 0 0 0 3px rgba(199, 152, 87, 0.25), 0 4px 16px rgba(13, 27, 42, 0.08) !important;
    background-color: #ffffff !important;
}

/* Ícone de Lupa à Esquerda e Rótulo Auxiliar */
.soliani-search-box .input-group-text,
.soliani-search-group .input-group-text,
.input-group:has(.fa-search) .input-group-text {
    background-color: transparent !important;
    border: none !important;
    padding: 0 8px 0 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 0.95rem !important;
    color: var(--dourado, #c79857) !important;
    flex-shrink: 0 !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.soliani-search-box .input-group-text i.fa-search,
.soliani-search-group .input-group-text i.fa-search,
.input-group:has(.fa-search) .input-group-text i.fa-search {
    color: var(--dourado, #c79857) !important;
    font-size: 0.95rem !important;
    transition: all 0.2s ease !important;
}

.soliani-search-box:focus-within .input-group-text i.fa-search,
.soliani-search-group:focus-within .input-group-text i.fa-search,
.input-group:has(.fa-search):focus-within .input-group-text i.fa-search {
    color: var(--azul-profundo, #0d1b2a) !important;
    transform: scale(1.1) !important;
}

/* Rótulo / Texto de Ajuda 'Pesquise:' ao lado do ícone */
.search-helper-prefix {
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin-right: 2px !important;
    white-space: nowrap !important;
    user-select: none !important;
}

/* Campo de Input Dentro do Grupo */
.soliani-search-box .form-control,
.soliani-search-group .form-control,
.input-group:has(.fa-search) .form-control {
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    font-size: 0.86rem !important;
    color: var(--azul-profundo, #0d1b2a) !important;
    font-weight: 500 !important;
    padding-left: 4px !important;
    padding-right: 14px !important;
    height: 100% !important;
    min-height: 100% !important;
}

.soliani-search-box .form-control::placeholder,
.soliani-search-group .form-control::placeholder,
.input-group:has(.fa-search) .form-control::placeholder {
    color: #64748b !important;
    font-weight: 500 !important;
    opacity: 0.88 !important;
}

/* Botão de Pesquisar / Ação Integrado ao Final do Grupo */
.soliani-search-box .btn,
.soliani-search-group .btn,
.input-group:has(.fa-search) .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 50px !important;
    border-bottom-right-radius: 50px !important;
    height: 100% !important;
    min-height: 100% !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

/* =========================================
   13. BLINDAGEM RESPONSIVA PARA DISPOSITIVOS MÓVEIS (SMARTPHONES E TABLETS)
   Garante visual impecável, sem sobreposição de textos, badges ou campos
   ========================================= */
@media (max-width: 767.98px) {
    /* Evita estouro de largura e sobreposição */
    .page-header-box {
        padding: 16px 18px !important;
        border-radius: 12px !important;
    }

    .page-header-box h1,
    .page-header-box h2,
    .page-header-box .h3 {
        font-size: 1.35rem !important;
        line-height: 1.3 !important;
    }

    /* Badges e Tags quebram linha elegantemente */
    .badge, 
    .tag-status,
    .status-badge,
    .crm-status-pill,
    .platform-badge {
        display: inline-flex !important;
        align-items: center !important;
        word-break: break-word !important;
        line-height: 1.3 !important;
        max-width: 100% !important;
    }

    /* Pílulas de filtro em rolagem horizontal suave */
    .filter-pill-soliani {
        padding: 7px 14px !important;
        font-size: 0.8rem !important;
        white-space: nowrap !important;
    }

    /* Form controls otimizados para toque */
    .form-control,
    .form-select {
        min-height: 42px !important;
        font-size: 15px !important;
    }

    /* Botões adaptados sem espremer conteúdo */
    .btn-soliani,
    .btn-soliani-gold,
    .btn-soliani-navy,
    .btn-soliani-white,
    .btn-soliani-outline-gold,
    .btn-soliani-outline-white {
        min-height: 38px !important;
        padding: 8px 16px !important;
    }

    /* Evita colunas espremidas em cards */
    .capta-card,
    .dash-card,
    .metric-card,
    .portal-card {
        padding: 14px !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    /* Ajustes específicos para Tablets */
    .page-header-box {
        padding: 20px 22px !important;
    }

    .filter-pill-soliani {
        padding: 7px 15px !important;
    }
}