/* =====================================================================
   Tema futurista — visual oficial do site
   Fundo escuro com grade neon, cartões de vidro e brilho nas cores IESGO
   (vermelho #D30000 e azul-marinho #00005A, com azul elétrico de destaque).
   Carregado depois do estilo.css, com o modo escuro do Bootstrap
   (<html data-bs-theme="dark">) e a classe "tema-futurista" no <body>.
   Na impressão (relatórios), tudo volta para fundo branco — ver o final do arquivo.
   ===================================================================== */

.tema-futurista {
    --neon-azul: #4D6BFF;
    --neon-azul-claro: #9DB3FF;
    --neon-vermelho: #FF2A2A;
    --fundo-profundo: #00001E;
    --vidro: rgba(20, 28, 110, .38);
    --vidro-borda: rgba(120, 150, 255, .26);
    --texto-claro: #E3E8FF;

    --bs-body-bg: var(--fundo-profundo);
    --bs-body-color: var(--texto-claro);
    --bs-secondary-color: #9AA3D9;
    --bs-border-color: var(--vidro-borda);
    --bs-link-color: var(--neon-azul-claro);
    --bs-link-color-rgb: 157, 179, 255;
    --bs-link-hover-color: #fff;
    --bs-primary-rgb: 77, 107, 255;
    --bs-emphasis-color: #fff;

    background: var(--fundo-profundo);
    color: var(--texto-claro);
}

/* ---------- Fundo: brilhos + grade em perspectiva (fixos atrás de tudo) ---------- */
.tema-futurista::before,
.tema-futurista::after {
    content: "";
    position: fixed;
    pointer-events: none;
    z-index: -1;
}
.tema-futurista::before {
    inset: 0;
    background:
        radial-gradient(ellipse 60% 45% at 85% 0%, rgba(211, 0, 0, .28), transparent 70%),
        radial-gradient(ellipse 70% 50% at 10% 100%, rgba(60, 90, 255, .30), transparent 70%),
        radial-gradient(circle at 20% 25%, rgba(255,255,255,.7) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 18%, rgba(255,255,255,.5) 0 1px, transparent 2px),
        radial-gradient(circle at 55% 40%, rgba(255,255,255,.4) 0 1px, transparent 2px),
        linear-gradient(180deg, #000014 0%, #00003A 60%, #000052 100%);
}
.tema-futurista::after {
    left: -50%;
    width: 200%;
    bottom: 0;
    height: 38vh;
    background-image:
        linear-gradient(rgba(90, 130, 255, .45) 1px, transparent 1px),
        linear-gradient(90deg, rgba(90, 130, 255, .45) 1px, transparent 1px);
    background-size: 56px 56px;
    transform-origin: top center;
    transform: perspective(260px) rotateX(58deg);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 40%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 40%);
    opacity: .35;
    animation: futurista-andar 3s linear infinite;
}
/* Página inicial: grade mais forte + linha do horizonte em vermelho */
.tema-futurista.pagina-inicial::after { opacity: .9; height: 42vh; }
.tema-futurista.pagina-inicial main::before {
    content: "";
    position: fixed;
    left: 0; right: 0; bottom: 42vh;
    height: 2px;
    background: var(--neon-vermelho);
    box-shadow: 0 0 12px 2px rgba(255, 40, 40, .9), 0 0 40px 8px rgba(211, 0, 0, .55);
    z-index: -1;
}
@keyframes futurista-andar { to { background-position: 0 56px; } }
@media (prefers-reduced-motion: reduce) { .tema-futurista::after { animation: none; } }

/* ---------- Tipografia ---------- */
.tema-futurista h1, .tema-futurista .h1, .tema-futurista h2, .tema-futurista .h2,
.tema-futurista h3, .tema-futurista .h3, .tema-futurista h4, .tema-futurista .h4,
.tema-futurista h5, .tema-futurista .h5, .tema-futurista h6, .tema-futurista .h6 {
    font-family: "Exo 2", system-ui, sans-serif;
    color: #fff;
    letter-spacing: .01em;
}
.tema-futurista .titulo-evento {
    font-family: "Orbitron", "Exo 2", sans-serif;
    font-weight: 800;
    letter-spacing: .04em;
    background: linear-gradient(90deg, #fff 0%, var(--neon-azul-claro) 60%, #fff 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    text-shadow: 0 0 24px rgba(77, 107, 255, .35);
}
.tema-futurista .text-primary { color: var(--neon-azul-claro) !important; }
.tema-futurista .text-muted { color: #9AA3D9 !important; }
.tema-futurista .lead { color: #CFD6FF; }

/* ---------- Topo ---------- */
.tema-futurista .navbar-iesgo {
    /* O desfoque (backdrop-filter) dos cartões cria camadas próprias; sem isto,
       o menu "Olá, ..." aberto ficaria por trás dos cartões da página. */
    position: relative;
    z-index: 1030;
    background-color: rgba(0, 0, 40, .72) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 42, 42, .7);
    box-shadow: 0 0 22px rgba(211, 0, 0, .35);
}
.tema-futurista .navbar-iesgo .logo-iesgo {
    background: #fff;
    border-radius: .5rem;
    padding: 3px 8px;
    box-shadow: 0 0 14px rgba(255, 255, 255, .25);
}
.tema-futurista .navbar-iesgo .nome-evento { color: #fff; font-family: "Exo 2", sans-serif; }
.tema-futurista .navbar-iesgo .nav-link,
.tema-futurista .navbar-iesgo .navbar-text { color: #C9D1FF; }
.tema-futurista .navbar-iesgo .nav-link:hover,
.tema-futurista .navbar-iesgo .nav-link.active { color: #fff; }
.tema-futurista .navbar-iesgo .nav-link.active { box-shadow: inset 0 -2px 0 var(--neon-vermelho), 0 6px 12px -8px var(--neon-vermelho); }
.tema-futurista .navbar-toggler { border-color: var(--vidro-borda); }
.tema-futurista .navbar-toggler-icon { filter: none; } /* o modo escuro do Bootstrap já deixa o ícone claro */
.tema-futurista .badge-admin { background: linear-gradient(90deg, #2233CC, var(--neon-azul)); box-shadow: 0 0 10px rgba(77,107,255,.5); }
.tema-futurista .dropdown-menu { background: rgba(8, 10, 60, .97); border-color: var(--vidro-borda); backdrop-filter: blur(10px); box-shadow: 0 12px 30px rgba(0, 0, 0, .5); }
.tema-futurista .dropdown-item-text { white-space: nowrap; }

/* ---------- Cartões de vidro ---------- */
.tema-futurista .card,
.tema-futurista .modal-content {
    background: linear-gradient(160deg, rgba(40, 55, 170, .30), rgba(8, 10, 60, .62));
    border: 1px solid var(--vidro-borda);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .35), inset 0 1px 0 rgba(255, 255, 255, .06) !important;
    color: var(--texto-claro);
}
.tema-futurista .card-title { color: #fff; }
.tema-futurista .info-atividade .rotulo { color: var(--neon-azul-claro); }
.tema-futurista .card-inscrito {
    background: linear-gradient(160deg, rgba(25, 135, 84, .22), rgba(8, 30, 40, .6));
    border-color: #2BD27E !important;
    box-shadow: 0 0 18px rgba(43, 210, 126, .25) !important;
}
.tema-futurista .card-indisponivel { opacity: .65; }
.tema-futurista .cartao-hero { padding: 2rem 1.5rem; border-radius: 1rem; }
.tema-futurista.pagina-inicial .cartao-hero {
    background: linear-gradient(160deg, rgba(40, 55, 170, .35), rgba(8, 10, 60, .7));
    border: 1px solid var(--vidro-borda);
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 60px rgba(0, 0, 40, .6), 0 0 40px rgba(77, 107, 255, .15);
}
.tema-futurista.pagina-inicial .cartao-hero img { background: #fff; border-radius: .75rem; padding: .5rem 1rem; }

.tema-futurista .titulo-dia {
    background: rgba(255, 255, 255, .05);
    color: #fff;
    border-left-color: var(--neon-vermelho);
    box-shadow: -4px 0 14px -6px var(--neon-vermelho);
    backdrop-filter: blur(6px);
}
.tema-futurista .cartao-numero { border-left: 4px solid var(--neon-vermelho); }
.tema-futurista .cartao-numero .numero { color: #fff; text-shadow: 0 0 14px rgba(77, 107, 255, .7); font-family: "Orbitron", sans-serif; font-size: 1.6rem; }

/* ---------- Botões ---------- */
.tema-futurista .btn-primary {
    --bs-btn-bg: #2233CC; --bs-btn-border-color: #3B55FF;
    --bs-btn-hover-bg: #3B55FF; --bs-btn-hover-border-color: #6F8BFF;
    --bs-btn-active-bg: #3B55FF; --bs-btn-disabled-bg: #2233CC;
    background-image: linear-gradient(90deg, #1B28B8, #4D6BFF);
    box-shadow: 0 0 16px rgba(77, 107, 255, .45);
    border: 0;
}
.tema-futurista .btn-primary:hover { box-shadow: 0 0 26px rgba(77, 107, 255, .7); }
.tema-futurista .btn-outline-primary {
    --bs-btn-color: #C9D4FF; --bs-btn-border-color: rgba(111, 139, 255, .8);
    --bs-btn-hover-bg: rgba(77, 107, 255, .22); --bs-btn-hover-color: #fff; --bs-btn-hover-border-color: #9DB3FF;
    --bs-btn-active-bg: rgba(77, 107, 255, .3);
}
.tema-futurista .btn-outline-danger { --bs-btn-color: #FF6B6B; --bs-btn-border-color: #FF4040; --bs-btn-disabled-color: #FF6B6B; }
.tema-futurista .btn-success:disabled { background: rgba(43, 210, 126, .22); border-color: #2BD27E; color: #BFF5D8; opacity: 1; box-shadow: 0 0 14px rgba(43, 210, 126, .3); }
.tema-futurista .btn-outline-secondary:disabled { color: #9AA3D9; border-color: rgba(154, 163, 217, .4); }
.tema-futurista .btn-outline-warning:disabled { color: #FFD166; border-color: rgba(255, 209, 102, .5); }

/* ---------- Selos (badges) ---------- */
.tema-futurista .badge.bg-info { background: rgba(77, 107, 255, .22) !important; color: #C9D4FF !important; border: 1px solid rgba(111, 139, 255, .5); }
.tema-futurista .badge.bg-secondary { background: rgba(255, 42, 42, .16) !important; color: #FFB3B3 !important; border: 1px solid rgba(255, 64, 64, .45); }

/* ---------- Formulários ---------- */
.tema-futurista .form-control,
.tema-futurista .form-select {
    background-color: rgba(0, 0, 40, .55);
    border-color: rgba(120, 150, 255, .32);
    color: #fff;
}
.tema-futurista .form-control::placeholder { color: #6E78B5; }
.tema-futurista .form-control:focus,
.tema-futurista .form-select:focus {
    background-color: rgba(0, 0, 50, .7);
    border-color: var(--neon-azul);
    box-shadow: 0 0 0 .2rem rgba(77, 107, 255, .3), 0 0 16px rgba(77, 107, 255, .35);
    color: #fff;
}
.tema-futurista .form-check-input:checked { background-color: var(--neon-azul); border-color: var(--neon-azul); }

/* ---------- Tabelas ---------- */
.tema-futurista .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--texto-claro);
    --bs-table-border-color: rgba(120, 150, 255, .14);
    --bs-table-hover-bg: rgba(77, 107, 255, .1);
    --bs-table-hover-color: #fff;
    --bs-table-striped-bg: rgba(255, 255, 255, .03);
    --bs-table-striped-color: var(--texto-claro);
}
.tema-futurista.area-admin .table thead th {
    background: rgba(77, 107, 255, .22);
    color: #fff;
    border-bottom: 1px solid rgba(255, 42, 42, .5);
    font-family: "Exo 2", sans-serif;
}
.tema-futurista .quadro-cruzado .celula-cheia { background: rgba(77, 107, 255, .28); color: #fff; }
.tema-futurista .quadro-cruzado tfoot td { background: rgba(255, 255, 255, .05); }
.tema-futurista .progress { background: rgba(255, 255, 255, .08); }
.tema-futurista .progress-bar { background: linear-gradient(90deg, #2233CC, var(--neon-azul)); box-shadow: 0 0 10px rgba(77, 107, 255, .6); }
.tema-futurista .progress-bar.cheia { background: linear-gradient(90deg, #A80000, var(--neon-vermelho)); box-shadow: 0 0 10px rgba(255, 42, 42, .6); }

/* ---------- Alertas ---------- */
.tema-futurista .alert { backdrop-filter: blur(6px); border-width: 1px; }
.tema-futurista .alert-success { background: rgba(43, 210, 126, .14); border-color: rgba(43, 210, 126, .5); color: #BFF5D8; }
.tema-futurista .alert-danger { background: rgba(255, 42, 42, .14); border-color: rgba(255, 64, 64, .5); color: #FFC2C2; }
.tema-futurista .alert-info { background: rgba(77, 107, 255, .14); border-color: rgba(111, 139, 255, .5); color: #D3DCFF; }
.tema-futurista .alert-warning { background: rgba(255, 209, 102, .12); border-color: rgba(255, 209, 102, .45); color: #FFE7A8; }

/* ---------- Check-in ---------- */
.tema-futurista .resultado-checkin { backdrop-filter: blur(8px); }
.tema-futurista .resultado-checkin.ok { background: rgba(43, 210, 126, .16); border-color: #2BD27E; color: #BFF5D8; box-shadow: 0 0 24px rgba(43, 210, 126, .35); }
.tema-futurista .resultado-checkin.aviso { background: rgba(255, 209, 102, .14); border-color: #FFD166; color: #FFE7A8; }
.tema-futurista .resultado-checkin.erro { background: rgba(255, 42, 42, .16); border-color: var(--neon-vermelho); color: #FFC2C2; box-shadow: 0 0 24px rgba(255, 42, 42, .35); }
.tema-futurista .resultado-checkin.espera { background: rgba(8, 10, 60, .55); border-color: var(--vidro-borda); color: #9AA3D9; }
.tema-futurista .leitor-camera { box-shadow: 0 0 0 1px var(--vidro-borda), 0 0 30px rgba(77, 107, 255, .3); }
.tema-futurista .qr-caixa { border-color: var(--neon-azul); box-shadow: 0 0 24px rgba(77, 107, 255, .5); } /* o QR continua em fundo branco */

/* ---------- Rodapé ---------- */
.tema-futurista footer { background: rgba(0, 0, 30, .6); border-top: 1px solid var(--vidro-borda); color: #8E97CF !important; backdrop-filter: blur(6px); }

/* ---------- Impressão / "Salvar como PDF": papel branco, texto escuro ---------- */
@media print {
    .tema-futurista {
        --bs-body-bg: #fff;
        --bs-body-color: #111;
        --bs-secondary-color: #555;
        --bs-border-color: #ccc;
        --bs-emphasis-color: #000;
        background: #fff !important;
        color: #111 !important;
    }
    .tema-futurista::before,
    .tema-futurista::after,
    .tema-futurista.pagina-inicial main::before { display: none !important; }
    .tema-futurista .navbar-iesgo { background: #fff !important; box-shadow: none; border-bottom: 3px solid #D30000; }
    .tema-futurista .navbar-iesgo .nome-evento { color: #00005A; }
    .tema-futurista .card,
    .tema-futurista .titulo-dia {
        background: #fff !important;
        border-color: #ccc !important;
        color: #111 !important;
        box-shadow: none !important;
        backdrop-filter: none;
    }
    .tema-futurista h1, .tema-futurista h2, .tema-futurista h3,
    .tema-futurista h4, .tema-futurista h5, .tema-futurista h6,
    .tema-futurista .card-title { color: #00005A !important; }
    .tema-futurista .titulo-evento { color: #00005A !important; background: none; -webkit-background-clip: initial; background-clip: initial; text-shadow: none; }
    .tema-futurista .text-muted { color: #555 !important; }
    .tema-futurista .cartao-numero .numero { color: #00005A; text-shadow: none; }
    .tema-futurista .table {
        --bs-table-color: #111;
        --bs-table-border-color: #ddd;
        --bs-table-striped-color: #111;
        --bs-table-striped-bg: #f5f5f5;
    }
    .tema-futurista.area-admin .table thead th { background: #00005A !important; color: #fff !important; }
    .tema-futurista .quadro-cruzado .celula-cheia { background: #E8E8F4 !important; color: #00005A !important; }
    .tema-futurista .progress { background: #eee; }
    .tema-futurista .progress-bar { box-shadow: none; }
    .tema-futurista .text-success { color: #146c43 !important; }
}

/* ---------- Detalhes de páginas do admin ---------- */
.tema-futurista .lista-cursos { background: rgba(0, 0, 40, .55); }
.tema-futurista .senha-gerada {
    background: rgba(0, 0, 40, .7);
    color: #fff;
    border-color: #2BD27E !important;
    letter-spacing: .08em;
    box-shadow: 0 0 14px rgba(43, 210, 126, .35);
}
