/* ===========================================================================
   SISTEMA VISUAL GLOBAL
   Este arquivo é carregado pelo cabecalho.php depois das folhas de cada tela.
   Ele não cria um segundo tema: apenas torna os tokens da loja consistentes.
   =========================================================================== */

html,
body {
    font-family: var(--font-global, "Poppins", "Segoe UI Variable", "Segoe UI", Roboto, Helvetica, Arial, sans-serif) !important;
}

body :is(button, input, select, textarea) {
    font-family: inherit !important;
}

html body:not(.dark-mode) {
    color: var(--theme-ink, #17213D) !important;
    background-color: var(--theme-surface, #FAFBFC) !important;
}

html body.dark-mode {
    color: #EEF3F8 !important;
    background-color: #101820 !important;
}

/* Componentes Bootstrap usam a mesma tipografia e a cor principal salva
   para a loja, em vez do azul padrão do framework. */
html[data-theme-preset] .text-primary {
    color: var(--brand-primary) !important;
}

html[data-theme-preset] :is(.btn-primary, .btn-custom, .btn-payment, .btn-acessar-curso, .btn-acessar, .btn-plan, .btn-gradient-premium) {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
    background-image: none !important;
}

html[data-theme-preset] :is(.btn-primary, .btn-custom, .btn-payment, .btn-acessar-curso, .btn-acessar, .btn-plan, .btn-gradient-premium):hover {
    background-color: color-mix(in srgb, var(--brand-primary) 86%, #000000) !important;
    border-color: color-mix(in srgb, var(--brand-primary) 86%, #000000) !important;
    box-shadow: none !important;
    transform: none !important;
    filter: none !important;
}

html[data-theme-preset] :is(.btn-outline-primary, .page-link) {
    color: var(--brand-primary) !important;
    border-color: color-mix(in srgb, var(--brand-primary) 42%, #D6DEE8) !important;
    box-shadow: none !important;
}

html[data-theme-preset] :is(.btn-outline-primary, .page-link):hover,
html[data-theme-preset] .page-item.active .page-link {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #FFFFFF !important;
}

/* Superfícies compartilhadas entre catálogo, cadernos, administração e
   pagamentos. As páginas continuam livres para ter conteúdo próprio. */
html[data-theme-preset] :is(
    .card,
    .curso-card,
    .caderno-card,
    .cadernos-hero,
    .cadernos-column,
    .payment-card,
    .admin-container,
    .card-cadastro,
    .info-card,
    .materia-bloco,
    .arquivo-pdf-bloco,
    .questao-box,
    .filter-box,
    .plan-card-white
) {
    border-color: var(--ui-border-light, #E2E8F0) !important;
    box-shadow: none !important;
    background-image: none !important;
}

html[data-theme-preset] :is(.curso-card:hover, .caderno-card:hover, .payment-card:hover, .admin-container:hover, .card-cadastro:hover) {
    box-shadow: none !important;
    transform: none !important;
}

/* Páginas que nasceram com paletas próprias agora usam os mesmos tokens da
   loja. Isso também atende lojas que usam cores manuais, sem um preset. */
html[data-theme-preset] .pagamentos-main {
    background-color: var(--theme-surface, #FAFBFC) !important;
    background-image: none !important;
}

html[data-theme-preset] .pagamentos-hero {
    background-color: var(--theme-ink, #17213D) !important;
    background-image: none !important;
    border-color: var(--theme-ink, #17213D) !important;
    box-shadow: none !important;
}

html[data-theme-preset] .payment-card {
    background-color: var(--theme-card, #FFFFFF) !important;
    border-color: var(--ui-border-light, #E2E8F0) !important;
}

html[data-theme-preset] .banner-apostilas {
    background-color: var(--theme-ink, #17213D) !important;
    background-image: none !important;
    box-shadow: none !important;
}

html[data-theme-preset] .banner-apostilas :is(h1, h2, h3, p),
html[data-theme-preset] .pagamentos-hero :is(h1, h2, h3, p) {
    color: #FFFFFF !important;
}

/* ===========================================================================
   SOL DA APROVAÇÃO — a interface fica neutra; laranja e amarelo aparecem
   apenas como acentos e chamadas de ação.
   =========================================================================== */
html[data-theme-preset="sol_aprovacao"] {
    --theme-ink: #10213F;
    --theme-surface: #FBFAF8;
    --theme-muted: #64748B;
    --theme-card: #FFFFFF;
    --theme-border: #E5E7EB;
}

html[data-theme-preset="sol_aprovacao"] body:not(.dark-mode) {
    color: #10213F !important;
    background-color: #FBFAF8 !important;
}

html[data-theme-preset="sol_aprovacao"] body.index-page:not(.dark-mode) {
    background-color: #FBFCFE !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.bg-light, .pagamentos-main) {
    background-color: #FBFAF8 !important;
    background-image: none !important;
}

html[data-theme-preset="sol_aprovacao"] :is(
    .card,
    .curso-card,
    .caderno-card,
    .cadernos-hero,
    .cadernos-column,
    .payment-card,
    .admin-container,
    .card-cadastro,
    .info-card,
    .materia-bloco,
    .arquivo-pdf-bloco,
    .questao-box,
    .filter-box,
    .plan-card-white
) {
    background-color: #FFFFFF !important;
    border: 1px solid #E5E7EB !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.text-dark, .settings-section-title, .curso-titulo, .payment-card h2, .form-label, .mapping-label) {
    color: #10213F !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.text-muted, .apostila-muted, .webhook-url, .form-text) {
    color: #64748B !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.form-control, .form-select, .form-control-custom) {
    color: #10213F !important;
    background-color: #FFFFFF !important;
    border-color: #D9DEE7 !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.form-control, .form-select, .form-control-custom):focus {
    border-color: #FA6E1D !important;
    box-shadow: 0 0 0 2px rgba(250, 110, 29, .12) !important;
}

/* Blocos que ainda tinham azul ou gradiente próprio. */
html[data-theme-preset="sol_aprovacao"] :is(.pagamentos-hero, .banner-apostilas, .ranking-header, .modal-pdf-header) {
    background-color: #10213F !important;
    background-image: none !important;
    border: 1px solid #10213F !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.pagamentos-hero, .banner-apostilas) :is(h1, h2, h3, p) {
    color: #FFFFFF !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.capa-placeholder, .curso-capa:not([style])) {
    background-color: #FFF7E2 !important;
    background-image: none !important;
    color: #FA6E1D !important;
}

html[data-theme-preset="sol_aprovacao"] .admin-nav-tabs .nav-link.active,
html[data-theme-preset="sol_aprovacao"] .admin-nav-tabs .nav-link:hover {
    color: #FA6E1D !important;
    border-bottom-color: #FA6E1D !important;
}

html[data-theme-preset="sol_aprovacao"] .step-number {
    color: #FA6E1D !important;
    background-color: #FFF1E4 !important;
}

/* Barra lateral: regras explícitas, inclusive para páginas legadas que não
   carregavam style.css e por isso exibiam texto branco ou desbotado. */
html[data-theme-preset="sol_aprovacao"] :is(.sidebar-custom, #sidebarCustom) {
    background-color: #F7F5F2 !important;
    background-image: none !important;
    color: #10213F !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.mobile-topbar, .sidebar-brand-area) {
    background-color: #10213F !important;
    background-image: none !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-link {
    color: rgba(16, 33, 63, .78) !important;
    border-left-width: 1px !important;
    background-image: none !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-link i {
    color: #FA6E1D !important;
}

html[data-theme-preset="sol_aprovacao"] :is(.sidebar-link:hover, .sidebar-link.active) {
    color: #10213F !important;
    background-color: #FCEDE2 !important;
    border-left-color: #FA6E1D !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-link.mt-4,
html[data-theme-preset="sol_aprovacao"] .sidebar-link.mt-4:hover {
    color: #10213F !important;
    background-color: #FCEDE2 !important;
    border-color: transparent !important;
    opacity: 1 !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-link.mt-4 :is(i, span, .text-white),
html[data-theme-preset="sol_aprovacao"] .sidebar-footer :is(.theme-label, .sidebar-user-name, .sidebar-btn-outline) {
    color: #10213F !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-footer {
    border-top-color: rgba(16, 33, 63, .10) !important;
    color: #10213F !important;
    opacity: 1 !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-user-status {
    color: rgba(16, 33, 63, .68) !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-btn-outline {
    color: #10213F !important;
    border-color: rgba(16, 33, 63, .24) !important;
    background: transparent !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] .sidebar-btn-outline:hover {
    background-color: #FFF1E4 !important;
}

/* Contraste consistente no modo escuro, sem azul/neon herdado das telas
   antigas de Apostilas, Cadernos e Painel. */
html[data-theme-preset="sol_aprovacao"] body.dark-mode {
    color: #EEF3F8 !important;
    background-color: #101820 !important;
}

html[data-theme-preset="sol_aprovacao"] body.dark-mode :is(
    .card,
    .curso-card,
    .caderno-card,
    .cadernos-hero,
    .cadernos-column,
    .payment-card,
    .admin-container,
    .card-cadastro,
    .info-card,
    .materia-bloco,
    .arquivo-pdf-bloco,
    .questao-box,
    .filter-box,
    .plan-card-white
) {
    background-color: #182230 !important;
    border-color: #344454 !important;
    box-shadow: none !important;
}

html[data-theme-preset="sol_aprovacao"] body.dark-mode :is(.sidebar-custom, #sidebarCustom) {
    background-color: #1C2834 !important;
}

html[data-theme-preset="sol_aprovacao"] body.dark-mode :is(.sidebar-link, .sidebar-footer .theme-label, .sidebar-footer .sidebar-user-name, .sidebar-footer .sidebar-btn-outline) {
    color: rgba(255, 255, 255, .84) !important;
}

html[data-theme-preset="sol_aprovacao"] body.dark-mode :is(.sidebar-link:hover, .sidebar-link.active, .sidebar-link.mt-4, .sidebar-link.mt-4:hover) {
    color: #FFFFFF !important;
    background-color: rgba(250, 110, 29, .18) !important;
}

html[data-theme-preset="sol_aprovacao"] body.dark-mode .sidebar-link.mt-4 :is(i, span, .text-white) {
    color: #FFFFFF !important;
}

html[data-theme-preset="sol_aprovacao"] body.dark-mode .sidebar-user-status {
    color: rgba(255, 255, 255, .64) !important;
}

/* Marca compacta: a logo completa fica no menu aberto e o ícone do mentor
   aparece somente no estado recolhido do menu desktop. Esta camada final
   também evita que regras antigas de páginas escondam o link inteiro. */
.sidebar-logo-compact {
    display: none;
    width: 36px;
    height: 36px;
    align-items: center;
    justify-content: center;
}

.sidebar-logo-icon,
.sidebar-logo-fallback {
    width: 32px;
    height: 32px;
    max-width: 32px;
    max-height: 32px;
    object-fit: contain;
}

@media (min-width: 992px) {
    .sidebar-custom.collapsed .sidebar-logo-link {
        display: inline-flex !important;
    }

    .sidebar-custom.collapsed .sidebar-logo-full {
        display: none !important;
    }

    .sidebar-custom.collapsed .sidebar-logo-compact {
        display: flex !important;
    }
}
