/* --- LIGHT THEME OVERRIDES (readability & contrast) --- */
body.light-theme {
    background-color: #f7f9fc !important;
    background-image: none !important;
    color: #0b0e14 !important;
}

body.light-theme section,
body.light-theme .section,
body.light-theme .section-unified-bg {
    background-color: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
}

body.light-theme header,
body.light-theme footer {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #0b0e14;
    border-color: #e2e8f0 !important;
}

body.light-theme .navbar,
body.light-theme .header {
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid #e2e8f0;
}

body.light-theme .header-custom {
    background: rgba(255, 255, 255, 0.98) !important;
    color: #0b0e14;
}

body.light-theme .nav-link {
    color: #0b0e14 !important;
}

body.light-theme .nav-link:hover,
body.light-theme .nav-link.active {
    color: #ff4d1d !important;
}

body.light-theme .card,
body.light-theme .plan-card,
body.light-theme .service-box,
body.light-theme .tech-card {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
    color: #0b0e14 !important;
}

body.light-theme .tech-card:hover {
    background-color: #f8fafc !important;
    border-color: #0ea5e9 !important;
    box-shadow: 0 12px 28px rgba(14, 165, 233, 0.18) !important;
}

body.light-theme h1,
body.light-theme h2,
body.light-theme h3,
body.light-theme h4,
body.light-theme h5,
body.light-theme h6,
body.light-theme .card-title {
    color: #0b0e14 !important;
}

body.light-theme .section-gamer .display-4 span {
    color: #0b0e14 !important;
    -webkit-text-stroke: 0;
}

body.light-theme .section-gamer p,
body.light-theme .section-unified-bg p,
body.light-theme p,
body.light-theme li,
body.light-theme span {
    color: #475569;
}

body.light-theme .text-white,
body.light-theme .text-light {
    color: #0b0e14 !important;
}

body.light-theme .text-muted {
    color: #64748b !important;
}

body.light-theme .btn-tech-outline {
    color: #0b0e14 !important;
    border-color: #0ea5e9;
}

body.light-theme .btn-tech-outline:hover {
    background: rgba(14, 165, 233, 0.1);
    box-shadow: 0 0 12px rgba(14, 165, 233, 0.25);
}

body.light-theme input,
body.light-theme select,
body.light-theme textarea,
body.light-theme .form-control {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0b0e14 !important;
}

body.light-theme .dropdown-menu {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 16px 30px rgba(15, 23, 42, 0.12);
}

body.light-theme .dropdown-item {
    color: #0b0e14 !important;
}

body.light-theme .dropdown-item:hover,
body.light-theme .dropdown-item:focus {
    background: rgba(255, 77, 29, 0.08);
    color: #ff4d1d !important;
    border-left-color: #ff4d1d;
}

/* light-theme-fix.css - ajustes de legibilidade para modo claro */
body.light-theme {
    --light-bg: #f8fbff;
    --light-surface: #ffffff;
    --light-surface-2: #f1f5fb;
    --light-border: rgba(15, 23, 42, 0.16);
    --light-text: #0f172a;
    --light-muted: #334155;
    --light-muted-2: #475569;
    --text-tech: #475569;
    --panel-border: rgba(15, 23, 42, 0.18);
    --neon-blue: #0f6d8c;
    --neon-orange: #b34700;
    --neon-yellow: #7a5d00;
    --neon-green: #06764f;
    --neon-purple: #5b4aa6;
}

body.light-theme {
    background-color: var(--light-bg) !important;
    color: var(--light-text) !important;
    background-image: none !important;
}

/* Grid dedicado no modo claro (garante visibilidade) */
body.light-theme::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 14% 18%, rgba(0, 110, 220, 0.07), transparent 52%),
        radial-gradient(circle at 86% 10%, rgba(255, 145, 0, 0.06), transparent 52%),
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 34px 34px, 34px 34px;
    background-repeat: no-repeat, no-repeat, repeat, repeat;
    background-attachment: fixed;
    opacity: 0.34;
}

body.light-theme main {
    position: relative;
    z-index: 0;
}

body.light-theme header,
body.light-theme footer {
    position: relative;
    z-index: 1100;
}

/* Header/Footer no modo claro = superfície clara com alto contraste */
body.light-theme header,
body.light-theme footer:not(.footer-tech),
body.light-theme footer.header-custom:not(.footer-tech),
body.light-theme header nav .header-custom.border-lg {
    background: var(--background-header) !important;
    color: var(--light-text) !important;
    border-color: var(--light-border) !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08) !important;
    backdrop-filter: none !important;
}

body.light-theme header .navbar {
    background: var(--background-header) !important;
    border-bottom: 1px solid var(--light-border) !important;
}

body.light-theme footer:not(.footer-tech) .text-white,
body.light-theme footer:not(.footer-tech) .text-light {
    color: var(--light-text) !important;
}

body.light-theme header .nav-link {
    color: var(--light-text) !important;
}

body.light-theme header .nav-link:hover,
body.light-theme header .nav-link:focus,
body.light-theme header .nav-link.active,
body.light-theme header .nav-link.show {
    color: #0b3652 !important;
}

body.light-theme .toggle-theme-btn,
body.light-theme .toggle-theme-btn .bi {
    color: var(--light-text) !important;
}

body.light-theme main .nav-link {
    color: var(--light-text) !important;
}

body.light-theme main .nav-link:hover,
body.light-theme main .nav-link:focus,
body.light-theme main .nav-link.active,
body.light-theme main .nav-link.show {
    color: #b34700 !important;
}

body.light-theme header .navbar-nav .dropdown-menu {
    background-color: var(--light-surface) !important;
    border: 1px solid var(--light-border) !important;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.16) !important;
}

body.light-theme header .navbar-nav .dropdown-item {
    color: var(--light-text) !important;
}

body.light-theme header .navbar-nav .dropdown-item:hover,
body.light-theme header .navbar-nav .dropdown-item:focus {
    background-color: rgba(13, 110, 253, 0.12) !important;
    color: #0b3652 !important;
}

/* Mobile offcanvas segue o visual premium escuro do site publico */
body.light-theme .mobile-offcanvas {
    background:
        linear-gradient(180deg, rgba(5, 11, 20, 0.98) 0%, rgba(8, 17, 28, 0.98) 58%, #050b14 100%),
        linear-gradient(90deg, rgba(255, 77, 29, 0.1), transparent 42%, rgba(0, 230, 195, 0.06)) !important;
    color: #f4fbff !important;
}

body.light-theme .mobile-offcanvas .dropdown-menu {
    background: rgba(3, 8, 14, 0.74) !important;
    border: 1px solid rgba(236, 244, 255, 0.12) !important;
}

body.light-theme .mobile-offcanvas .dropdown-item {
    color: #e6eef7 !important;
}

body.light-theme .mobile-offcanvas .dropdown-item:hover,
body.light-theme .mobile-offcanvas .dropdown-item:focus {
    background: rgba(255, 77, 29, 0.14) !important;
    color: #ffffff !important;
}

/* Header fix no modo claro (preserva legibilidade da marca) */
body.light-theme header,
body.light-theme header .navbar,
body.light-theme header nav .header-custom.border-lg,
body.light-theme header .header-custom {
    background: linear-gradient(90deg, #0b3f63 0%, #1e63b6 100%) !important;
    border-color: rgba(226, 238, 255, 0.28) !important;
    box-shadow: 0 10px 24px rgba(10, 23, 44, 0.32) !important;
}

body.light-theme header .nav-link,
body.light-theme .toggle-theme-btn,
body.light-theme .toggle-theme-btn .bi,
body.light-theme header .navbar-toggler,
body.light-theme header .navbar-toggler i,
body.light-theme header .navbar-toggler-icon {
    color: #ecf4ff !important;
}

body.light-theme header .navbar-toggler {
    border-color: rgba(236, 244, 255, 0.35) !important;
}

/* Tipografia base em modo claro */
body.light-theme .section-gamer,
body.light-theme .section-unified-bg {
    color: var(--light-text);
}

body.light-theme .section-gamer h1,
body.light-theme .section-gamer h2,
body.light-theme .section-gamer h3,
body.light-theme .section-gamer h4,
body.light-theme .section-gamer h5,
body.light-theme .section-gamer h6,
body.light-theme .section-gamer p,
body.light-theme .section-gamer span,
body.light-theme .section-gamer div,
body.light-theme .section-gamer strong {
    color: var(--light-text);
}

body.light-theme .eyebrow-tech {
    color: #0a4f66 !important;
}

body.light-theme .eyebrow-tech i {
    color: inherit !important;
}

body.light-theme .section-gamer p,
body.light-theme .section-gamer .lead,
body.light-theme .section-gamer .opacity-75 {
    color: var(--light-muted) !important;
}

body.light-theme .section-gamer .opacity-75 {
    opacity: 1 !important;
}

body.light-theme main .opacity-75,
body.light-theme main .text-white-50,
body.light-theme main .text-light-80 {
    opacity: 1 !important;
}

/* Evita textos invisíveis por animações AOS no modo claro */
body.light-theme [data-aos],
body.light-theme .aos-init {
    opacity: 1 !important;
    transform: none !important;
}

/* Classes utilitárias de cor */
body.light-theme main .text-white,
body.light-theme main .text-light,
body.light-theme main .text-white-50,
body.light-theme main .text-light-80 {
    color: var(--light-text) !important;
}

body.light-theme main .text-white-50,
body.light-theme main .text-light-80,
body.light-theme main .opacity-75 {
    color: var(--light-muted) !important;
}

body.light-theme main a.text-white {
    color: var(--light-text) !important;
}

/* Neon accents em modo claro */
body.light-theme .text-neon-blue,
body.light-theme .text-neon-blue i {
    color: #0a4f66 !important;
}

body.light-theme .text-neon-orange,
body.light-theme .text-neon-orange i {
    color: #b14100 !important;
}

body.light-theme .text-neon-yellow,
body.light-theme .text-neon-yellow i {
    color: #7a5d00 !important;
}

body.light-theme .text-neon-green,
body.light-theme .text-neon-green i {
    color: #0b6b4a !important;
}

body.light-theme .text-neon-purple,
body.light-theme .text-neon-purple i {
    color: #4b3aa6 !important;
}

body.light-theme .section-gamer h2 span {
    color: #0a4f66 !important;
    text-shadow: none !important;
}

body.light-theme .btn-tech-outline {
    color: #0a4f66 !important;
    border-color: #0a4f66 !important;
}

body.light-theme .btn-tech-outline:hover {
    background: rgba(10, 79, 102, 0.12);
    color: #082f3d !important;
}

body.light-theme .btn-tech {
    color: #ffffff !important;
}

body.light-theme:not(.dashboard-body):not(.auth-app) main :is(a, button).btn-tech {
    --vn-action-glass-bg: linear-gradient(180deg, #ff7a00 0%, #f26822 100%);
    --vn-action-glass-hover-bg: linear-gradient(180deg, #ff8f1f 0%, #d95f14 100%);
    --vn-action-glass-border: rgba(194, 72, 16, 0.72);
    --vn-action-glass-shadow: 0 14px 24px rgba(242, 104, 34, 0.24);
    --vn-action-glass-hover-shadow: 0 18px 32px rgba(242, 104, 34, 0.32);
    background: var(--vn-action-glass-bg) !important;
    border-color: var(--vn-action-glass-border) !important;
    color: #ffffff !important;
    box-shadow: var(--vn-action-glass-shadow) !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.light-theme:not(.dashboard-body):not(.auth-app) main :is(a, button).btn-tech-outline {
    --vn-action-glass-bg: linear-gradient(180deg, #f8fbff 0%, #edf4fb 100%);
    --vn-action-glass-hover-bg: linear-gradient(180deg, #eef6fb 0%, #e1edf6 100%);
    --vn-action-glass-border: rgba(15, 23, 42, 0.28);
    --vn-action-glass-shadow: 0 10px 18px rgba(15, 23, 42, 0.08);
    --vn-action-glass-hover-shadow: 0 14px 24px rgba(15, 23, 42, 0.12);
    background: var(--vn-action-glass-bg) !important;
    border-color: var(--vn-action-glass-border) !important;
    color: #0f172a !important;
    box-shadow: var(--vn-action-glass-shadow) !important;
    text-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.light-theme:not(.dashboard-body):not(.auth-app) main :is(a, button).btn-tech:hover,
body.light-theme:not(.dashboard-body):not(.auth-app) main :is(a, button).btn-tech:focus-visible {
    background: var(--vn-action-glass-hover-bg) !important;
    border-color: var(--vn-action-glass-border) !important;
    color: #ffffff !important;
    box-shadow: var(--vn-action-glass-hover-shadow) !important;
}

body.light-theme:not(.dashboard-body):not(.auth-app) main :is(a, button).btn-tech-outline:hover,
body.light-theme:not(.dashboard-body):not(.auth-app) main :is(a, button).btn-tech-outline:focus-visible {
    background: var(--vn-action-glass-hover-bg) !important;
    border-color: var(--vn-action-glass-border) !important;
    color: #0f172a !important;
    box-shadow: var(--vn-action-glass-hover-shadow) !important;
}

/* Cartões tech e superfícies */
body.light-theme .tech-card {
    background: var(--light-surface) !important;
    border-color: rgba(15, 23, 42, 0.24) !important;
    color: var(--light-text) !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18) !important;
}

body.light-theme .tech-card p,
body.light-theme .tech-card .small,
body.light-theme .tech-card .opacity-75 {
    color: var(--light-muted-2) !important;
}

body.light-theme .tech-feature-list {
    border-left-color: rgba(15, 23, 42, 0.28) !important;
    box-shadow: none !important;
}

body.light-theme .tech-feature-item span {
    color: var(--light-text) !important;
}

/* Texto animado: evitar transparência no modo claro */
body.light-theme .text-animated {
    color: #0f172a !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Ajustes em fundos escuros (formularios/cards) */
body.light-theme .bg-dark,
body.light-theme .bg-black {
    background-color: var(--light-surface) !important;
    color: var(--light-text) !important;
}

body.light-theme .bg-dark.bg-opacity-75,
body.light-theme .bg-dark.bg-opacity-50,
body.light-theme .bg-dark.bg-opacity-25 {
    background-color: rgba(255, 255, 255, 0.94) !important;
}

body.light-theme .card-body,
body.light-theme .card-footer {
    background: transparent !important;
    color: var(--light-text) !important;
}

/* Grid mais leve no mobile */
@media (max-width: 768px) {
    body.light-theme {
        background-size: cover !important;
        background-attachment: scroll !important;
        background-image:
            radial-gradient(circle at 50% 30%, rgba(0, 140, 255, 0.08), transparent 55%),
            radial-gradient(circle at 80% 0%, rgba(255, 153, 0, 0.06), transparent 55%) !important;
    }

    body.light-theme::before {
        background-image:
            radial-gradient(circle at 50% 30%, rgba(0, 140, 255, 0.08), transparent 55%),
            radial-gradient(circle at 80% 0%, rgba(255, 153, 0, 0.06), transparent 55%);
        background-size: cover;
        background-attachment: scroll;
        opacity: 0.55;
    }
}

/* Cards com imagem/overlay usados nos planos/hero (modo claro) */
body.light-theme .hero-card__body {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(255, 255, 255, 0.98)) !important;
    color: var(--light-text) !important;
    border-top-color: rgba(15, 23, 42, 0.12) !important;
}

body.light-theme .hero-card .price-value {
    color: var(--light-text) !important;
    text-shadow: none !important;
}

body.light-theme .hero-card .price-symbol,
body.light-theme .hero-card .price-period,
body.light-theme .hero-card ul li {
    color: var(--light-muted) !important;
}

body.light-theme .hero-card .hero-note {
    color: #0a4f66 !important;
}

/* Exceções: manter carrossel master escuro e legível */
body.light-theme #master-hero-carousel,
body.light-theme #master-hero-carousel .text-white,
body.light-theme #master-hero-carousel .text-light,
body.light-theme #master-hero-carousel .text-white-50,
body.light-theme #master-hero-carousel .text-light-80 {
    color: #ffffff !important;
}

/* Footer claro com boa leitura */
/* Institucional (modo claro) */
body.light-theme .btn-prioridade {
    color: var(--neon-blue) !important;
    border-color: var(--neon-blue) !important;
}

body.light-theme .btn-prioridade:hover {
    background: rgba(15, 109, 140, 0.12) !important;
    box-shadow: 0 0 14px rgba(15, 109, 140, 0.25) !important;
    color: #0b3652 !important;
}

body.light-theme .btn-prioridade i {
    color: inherit !important;
}

body.light-theme .pp-chip,
body.light-theme .ts-chip,
body.light-theme .qs-pill,
body.light-theme .mvv-chips span,
body.light-theme .tc-chip,
body.light-theme .dd-step,
body.light-theme .tc-step,
body.light-theme .tc-info-item,
body.light-theme .dd-contact-card,
body.light-theme .pp-toc a,
body.light-theme .ts-toc a,
body.light-theme .dd-toc a,
body.light-theme .qs-stat-card,
body.light-theme .qs-timeline-item,
body.light-theme .qs-media-chip,
body.light-theme .dd-step-num,
body.light-theme .dd-contact-cta,
body.light-theme .pp-banner,
body.light-theme .ts-banner,
body.light-theme .dd-banner,
body.light-theme .qs-cta-banner,
body.light-theme .mvv-cta-banner {
    background: var(--light-surface-2) !important;
    border-color: var(--light-border) !important;
    color: var(--light-text) !important;
}

body.light-theme .pp-toc a:hover,
body.light-theme .ts-toc a:hover,
body.light-theme .dd-toc a:hover,
body.light-theme .dd-contact-card:hover,
body.light-theme .qs-link.btn-tech-outline:hover {
    color: #0b3652 !important;
    background: rgba(15, 109, 140, 0.1) !important;
    border-color: rgba(15, 109, 140, 0.35) !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12) !important;
}

body.light-theme .qs-hero-media {
    background: var(--light-surface) !important;
    border-color: var(--light-border) !important;
}

body.light-theme .qs-media-chip {
    background: var(--light-surface) !important;
    color: var(--light-text) !important;
}

body.light-theme .tc-input {
    background: var(--light-surface) !important;
    border-color: var(--light-border) !important;
    color: var(--light-text) !important;
}

body.light-theme .tc-input::placeholder {
    color: var(--light-muted) !important;
}

body.light-theme .tc-alert {
    color: var(--light-text) !important;
    background: rgba(15, 109, 140, 0.08) !important;
    border-color: rgba(15, 109, 140, 0.28) !important;
}

/* Suporte (modo claro) */
body.light-theme .sp-chip,
body.light-theme .sp-step,
body.light-theme .sp-info-item,
body.light-theme .sp-contact-card,
body.light-theme .sp-video-card,
body.light-theme .sp-video-feature-card,
body.light-theme .sp-form-card,
body.light-theme .sp-info-card,
body.light-theme .sp-alert,
body.light-theme .sp-mini,
body.light-theme .sp-diff-card {
    background: var(--light-surface-2) !important;
    border-color: var(--light-border) !important;
    color: var(--light-text) !important;
}

body.light-theme .sp-chip i,
body.light-theme .sp-step-icon,
body.light-theme .sp-info-item i,
body.light-theme .sp-contact-card i,
body.light-theme .sp-video-play,
body.light-theme .sp-video-badge {
    color: var(--neon-blue) !important;
}

body.light-theme .sp-alert--success {
    background: rgba(6, 118, 79, 0.08) !important;
    border-color: rgba(6, 118, 79, 0.3) !important;
    color: #05442f !important;
}

body.light-theme .sp-alert--error {
    background: rgba(179, 71, 0, 0.1) !important;
    border-color: rgba(179, 71, 0, 0.35) !important;
    color: #5c2300 !important;
}

body.light-theme .sp-alert--info {
    background: rgba(15, 109, 140, 0.1) !important;
    border-color: rgba(15, 109, 140, 0.3) !important;
    color: #0b3652 !important;
}

body.light-theme .sp-video-thumb {
    background: var(--light-surface) !important;
}

body.light-theme .sp-video-play {
    background: rgba(15, 109, 140, 0.15) !important;
    box-shadow: 0 0 12px rgba(15, 109, 140, 0.25) !important;
}

body.light-theme .sp-video-title,
body.light-theme .sp-video-desc,
body.light-theme .sp-text {
    color: var(--light-text) !important;
}

body.light-theme .sp-video-desc {
    color: var(--light-muted) !important;
}

body.light-theme .accordion-item,
body.light-theme .accordion-button {
    background: var(--light-surface) !important;
    color: var(--light-text) !important;
    border-color: var(--light-border) !important;
}

body.light-theme .accordion-button:not(.collapsed) {
    background: rgba(15, 109, 140, 0.08) !important;
    color: #0b3652 !important;
}

body.light-theme .accordion-body {
    color: var(--light-muted) !important;
    background: var(--light-surface) !important;
}

body.light-theme .sp-input,
body.light-theme .sp-input:focus,
body.light-theme .sp-field .form-control,
body.light-theme .sp-field .form-select {
    background: var(--light-surface) !important;
    color: var(--light-text) !important;
    border-color: var(--light-border) !important;
}

body.light-theme .sp-field label {
    color: var(--light-muted) !important;
}

/* FAQ / Suporte (modo claro) - contraste e acabamento premium */
body.light-theme .sp-hero {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(247, 251, 255, 0.92) 100%) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
}

body.light-theme .sp-hero::before {
    background-image:
        radial-gradient(circle at 18% 20%, rgba(15, 109, 140, 0.1), transparent 52%),
        radial-gradient(circle at 86% 12%, rgba(179, 71, 0, 0.07), transparent 56%),
        linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px),
        linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px);
    background-size: 100% 100%, 100% 100%, 36px 36px, 36px 36px;
    opacity: 0.44;
}

body.light-theme .sp-title {
    color: #0b1324 !important;
}

body.light-theme .sp-lede {
    color: #334155 !important;
}

body.light-theme .sp-cta .btn-prioridade {
    background: rgba(15, 109, 140, 0.06) !important;
    border-color: rgba(15, 109, 140, 0.55) !important;
    color: #0b4a62 !important;
}

body.light-theme .sp-cta .btn-prioridade:hover {
    background: rgba(15, 109, 140, 0.12) !important;
    border-color: rgba(15, 109, 140, 0.75) !important;
    color: #07384a !important;
}

body.light-theme .sp-chip {
    background: #f4f8fe !important;
    border-color: rgba(15, 23, 42, 0.18) !important;
    color: #22334a !important;
}

body.light-theme .sp-hero .tech-card,
body.light-theme .sp-section .tech-card {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.18) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.1) !important;
}

body.light-theme .sp-step,
body.light-theme .sp-info-item {
    background: #f9fbff !important;
    border-color: rgba(15, 23, 42, 0.16) !important;
}

body.light-theme .sp-step-icon {
    background: rgba(15, 109, 140, 0.14) !important;
}

body.light-theme .sp-section-head h2,
body.light-theme .sp-faq-title {
    color: #0f172a !important;
}

body.light-theme .sp-accordion .accordion-item {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.16) !important;
}

body.light-theme .sp-accordion .accordion-button {
    color: #0f172a !important;
}

body.light-theme .sp-accordion .accordion-button:not(.collapsed) {
    background: rgba(15, 109, 140, 0.1) !important;
    color: #0b3652 !important;
}

body.light-theme .sp-accordion .accordion-body {
    color: #334155 !important;
}

/* Logo legível em superfícies claras: o wordmark "REDE VIRTUAL" e o slogan
   são brancos por padrão (--vn-logo-ink em components/logo.html) e sumiam
   no header/menu mobile do tema claro. */
body.light-theme header,
body.light-theme .offcanvas {
    --vn-logo-ink: #14283c;
}

/* Controle "Efeitos" do rodapé: text-white-50 ficava invisível na faixa
   clara do tema claro. */
body.light-theme #btn-toggle-particles {
    color: rgba(31, 45, 61, 0.78) !important;
}
