/* ============================================================
   Consultoria - site unificado (tema escuro)
   Reaproveita a marcação/JS da consultoria e da agenda do aluno,
   apenas reestilizando tudo para o tema escuro do /aluno/agenda.
   Carregado por ÚLTIMO para sobrepor consultoria-roadmap.css /
   agendamento-publico.css / bootstrap.
   ============================================================ */

:root {
    --cs-bg: #0a0a0a;
    --cs-surface: #161616;
    --cs-surface-2: #1e1e1e;
    --cs-border: #2a2a2a;
    --cs-text: #f5f5f5;
    --cs-muted: #9a9a9a;
    --cs-primary: #ffffff;
    --cs-primary-text: #111111;
    --cs-accent: #2a9d8f;
}

* {
    box-sizing: border-box;
}

/* ---------- Shell / header / footer ---------- */
body.cs-body {
    margin: 0;
    min-height: 100vh;
    background: var(--cs-bg);
    color: var(--cs-text);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.cs-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.cs-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--cs-border);
    flex-wrap: wrap;
}

.cs-brand {
    display: inline-flex;
    align-items: center;
}

.cs-logo {
    max-width: 170px;
    height: auto;
}

.cs-nav {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-wrap: wrap;
}

.cs-nav-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .5rem .9rem;
    border-radius: 999px;
    color: rgba(255, 255, 255, .7);
    text-decoration: none;
    font-size: .875rem;
    font-weight: 600;
    white-space: nowrap;
    border: 1px solid transparent;
    transition: color .15s ease, background .15s ease, border-color .15s ease;
}

.cs-nav-link i {
    font-size: 1.05rem;
}

.cs-nav-link:hover {
    color: #fff;
    background: var(--cs-surface);
}

.cs-nav-link.is-active {
    color: #fff;
    background: var(--cs-surface);
    border-color: var(--cs-border);
}

.cs-main {
    flex: 1;
    width: 100%;
    padding: 1.5rem 1rem 3rem;
}

.cs-footer {
    text-align: center;
    padding: 1rem;
    color: var(--cs-muted);
    font-size: .85rem;
    border-top: 1px solid var(--cs-border);
}

@media (max-width: 575.98px) {
    .cs-header {
        justify-content: center;
    }

    .cs-nav-link span {
        display: none;
    }

    .cs-nav-link {
        padding: .5rem .7rem;
    }

    .cs-nav-link i {
        font-size: 1.2rem;
    }
}

/* ============================================================
   Reskin escuro da jornada (consultoria-roadmap.css)
   ============================================================ */
.consultoria-page {
    background: transparent;
    color: var(--cs-text);
    min-height: 0;
}

.consultoria-confetti {
    z-index: 0;
}

.consultoria-shell {
    max-width: 760px;
    padding: 8px 0 24px;
}

.consultoria-header {
    display: none;
    /* usamos o cabeçalho unificado do layout */
}

/* Cards escuros */
.consultoria-card {
    background: var(--cs-surface);
    border: 1px solid var(--cs-border);
    border-radius: 18px;
    box-shadow: none;
    color: var(--cs-text);
}

.consultoria-title,
.roadmap-title,
.roadmap-modal .modal-title,
.etapa-detalhe-header .modal-title {
    color: var(--cs-text);
}

.consultoria-title span,
.roadmap-title span {
    color: var(--cs-accent);
}

.consultoria-subtitle,
.roadmap-subtitle {
    color: var(--cs-muted);
}

.roadmap-hint {
    color: #7a7a7a;
}

.consultoria-badge {
    background: rgba(42, 157, 143, .16);
    color: #5fd0c2;
}

/* Wizard steps */
.wizard-steps::before {
    background: var(--cs-border);
}

.wizard-step-dot {
    background: var(--cs-surface-2);
    border-color: var(--cs-border);
    color: var(--cs-muted);
}

.wizard-step-label {
    color: var(--cs-muted);
}

.wizard-step.is-active .wizard-step-label {
    color: var(--cs-text);
}

.wizard-step.is-done .wizard-step-dot {
    background: var(--cs-accent);
    border-color: var(--cs-accent);
    color: #fff;
}

/* Campos de formulário escuros (bootstrap) */
.consultoria-card .form-label,
.etapa-video-label {
    color: var(--cs-text);
}

.consultoria-card .form-control,
.consultoria-card .form-select,
.consultoria-login .login-box .form-control,
.acompanhar-box .form-control {
    background: var(--cs-bg);
    border-color: var(--cs-border);
    color: var(--cs-text);
    border-radius: 12px;
}

.consultoria-card .form-control::placeholder {
    color: #6a6a6a;
}

.consultoria-card .form-control:focus,
.consultoria-card .form-select:focus,
.consultoria-login .login-box .form-control:focus,
.acompanhar-box .form-control:focus {
    background: var(--cs-bg);
    color: var(--cs-text);
    border-color: var(--cs-accent);
    box-shadow: 0 0 0 .2rem rgba(42, 157, 143, .2);
}

.consultoria-card .form-select option {
    background: var(--cs-surface);
    color: var(--cs-text);
}

.consultoria-termos {
    background: var(--cs-surface-2);
    color: var(--cs-text);
}

/* Botões estilo aluno/agenda (pílula branca) */
.consultoria-page .btn-primary,
.consultoria-page .btn-success,
.wizard-nav .btn-primary,
#btnAcompanhar.btn-primary,
.consultoria-login .login-box .btn-primary,
.roadmap-modal .btn-primary {
    background: var(--cs-primary);
    border-color: var(--cs-primary);
    color: var(--cs-primary-text);
    border-radius: 999px;
    font-weight: 600;
}

.consultoria-page .btn-primary:hover,
.consultoria-page .btn-success:hover,
.wizard-nav .btn-primary:hover,
.consultoria-login .login-box .btn-primary:hover {
    background: #e9e9e9;
    border-color: #e9e9e9;
    color: var(--cs-primary-text);
}

.consultoria-page .btn-light {
    background: var(--cs-surface-2);
    border-color: var(--cs-border);
    color: var(--cs-text);
    border-radius: 999px;
}

.consultoria-page .btn-light:hover {
    background: #2a2a2a;
    color: var(--cs-text);
}

/* Link "acompanhar pelo CPF" */
.btn-link-track {
    color: #5fd0c2;
}

.consultoria-track {
    border-top-color: var(--cs-border);
}

/* ---------- Roadmap ---------- */
.roadmap-road {
    background: #232838;
}

.roadmap-info {
    background: var(--cs-surface-2);
    border-color: var(--cs-border);
}

.roadmap-info:hover {
    border-color: var(--cs-accent);
    box-shadow: 0 14px 26px -16px rgba(0, 0, 0, .8);
}

.roadmap-info-titulo {
    color: var(--cs-text);
}

.roadmap-info-codigo {
    color: #5fd0c2;
}

.status-concluido {
    background: rgba(42, 157, 143, .18);
    color: #5fd0c2;
}

.status-em_andamento {
    background: rgba(244, 197, 66, .2);
    color: #f4c542;
}

.status-pendente {
    background: #23262c;
    color: var(--cs-muted);
}

.roadmap-dot {
    background: var(--cs-surface);
    border-color: #3a3f4c;
    color: var(--cs-muted);
}

.roadmap-station.is-em_andamento .roadmap-dot {
    background: var(--cs-surface);
    color: #f4c542;
}

/* ---------- Modal de etapa (escuro) ---------- */
.roadmap-modal,
.etapa-detalhe-modal .modal-content,
.modal-content.roadmap-modal {
    background: var(--cs-surface);
    color: var(--cs-text);
    border: 1px solid var(--cs-border);
}

.etapa-detalhe-modal .modal-header {
    border-bottom-color: var(--cs-border);
}

.etapa-detalhe-header .modal-title,
.etapa-detalhe-body,
.etapa-video-label {
    color: var(--cs-text);
}

.roadmap-modal .btn-close {
    filter: invert(1) grayscale(1);
}

.etapa-detalhe-footer {
    border-top-color: var(--cs-border);
}

.etapa-alternativa,
.etapa-passo {
    background: var(--cs-surface-2);
    border-color: var(--cs-border);
    color: var(--cs-text);
}

.etapa-pagamentos {
    color: var(--cs-muted);
}

.etapa-detalhe-acoes .btn-success {
    border: 2px dashed var(--cs-primary);
    background: transparent;
    color: var(--cs-text);
    border-radius: 999px;
}

.etapa-detalhe-acoes .btn-success:hover {
    background: var(--cs-primary);
    border-color: var(--cs-primary);
    color: var(--cs-primary-text);
}

.etapa-form-visual .form-control:disabled {
    background: var(--cs-surface-2);
    color: var(--cs-muted);
}

/* Alerts do bootstrap dentro da consultoria */
.consultoria-page .alert-danger {
    background: #3a1f1f;
    border-color: #6b2f2f;
    color: #ffb4b4;
}

.consultoria-page .alert-success {
    background: #1f3a2a;
    border-color: #2f6b45;
    color: #b4ffcf;
}

/* ============================================================
   Ajustes da agenda (agendamento-publico.css) dentro do shell
   ============================================================ */
.cs-main .agendamento-layout {
    max-width: 960px;
    margin: 0 auto;
}

/* Seção "Comprar mais aulas" */
.cs-comprar-box {
    max-width: 960px;
    margin: 0 auto 1.25rem;
    background: var(--cs-surface);
    border: 1px solid var(--cs-border);
    border-radius: 1rem;
    padding: 1rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.cs-comprar-box-text strong {
    display: block;
    font-size: 1rem;
}

.cs-comprar-box-text span {
    color: var(--cs-muted);
    font-size: .85rem;
}

/* Modal simples (comprar aulas) - não depende de bootstrap */
.cs-modal {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(0, 0, 0, .65);
}

.cs-modal.d-none {
    display: none;
}

.cs-modal-card {
    background: var(--cs-surface);
    border: 1px solid var(--cs-border);
    border-radius: 1rem;
    width: 100%;
    max-width: 460px;
    max-height: 90vh;
    overflow-y: auto;
    padding: 1.5rem;
}

.cs-modal-card h2 {
    font-size: 1.25rem;
    margin: 0 0 .35rem;
}

.cs-modal-sub {
    color: var(--cs-muted);
    font-size: .875rem;
    margin: 0 0 1.25rem;
}

.cs-field {
    margin-bottom: 1rem;
}

.cs-field label {
    display: block;
    font-size: .875rem;
    color: var(--cs-muted);
    margin-bottom: .35rem;
}

.cs-input {
    width: 100%;
    background: var(--cs-bg);
    border: 1px solid var(--cs-border);
    color: var(--cs-text);
    border-radius: .65rem;
    padding: .7rem .85rem;
    font-size: 1rem;
}

.cs-input:focus {
    outline: none;
    border-color: #666;
}

.cs-resumo-preco {
    background: var(--cs-bg);
    border: 1px solid var(--cs-border);
    border-radius: .65rem;
    padding: .85rem 1rem;
    margin-bottom: 1rem;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.cs-resumo-preco .valor {
    font-size: 1.35rem;
    font-weight: 700;
}

.cs-btn-primary {
    background: var(--cs-primary);
    color: var(--cs-primary-text);
    border: none;
    border-radius: 999px;
    padding: .85rem 1.25rem;
    font-weight: 600;
    cursor: pointer;
    width: 100%;
}

.cs-btn-primary:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.cs-btn-ghost {
    background: transparent;
    color: var(--cs-muted);
    border: none;
    padding: .6rem;
    cursor: pointer;
    width: 100%;
    margin-top: .5rem;
}

.cs-modal-alert {
    border-radius: .65rem;
    padding: .7rem .85rem;
    margin-bottom: 1rem;
    font-size: .875rem;
}

.cs-modal-alert--error {
    background: #3a1f1f;
    border: 1px solid #6b2f2f;
    color: #ffb4b4;
}

.cs-modal-alert--success {
    background: #1f3a2a;
    border: 1px solid #2f6b45;
    color: #b4ffcf;
}
