/* Variaveis de Estilo */
:root {
    --dark-bg: #0f1114;
    --card-bg: #1a1d21;
    --input-bg: #111316;
    --accent-yellow: #ffc107;
    --accent-yellow-rgb: 255, 193, 7;
    --text-primary: #f8f9fa;
    --text-muted: #868e96;
}

/* Tipografias */
.font-montserrat {
    font-family: 'Montserrat', sans-serif;
}
.font-inter {
    font-family: 'Inter', sans-serif;
}

/* Espessuras e Tracking */
.fw-900 { font-weight: 900; }
.fw-700 { font-weight: 700; }
.fw-600 { font-weight: 600; }
.tracking-wider { letter-spacing: 0.1em; }

/* Estilo Geral do Body */
body {
    background-color: var(--dark-bg) !important;
    color: var(--text-primary) !important;
    font-family: 'Inter', sans-serif;
}

/* Header Navbar */
.bg-dark-gradient {
    background: linear-gradient(135deg, #181b1f 0%, #0f1114 100%) !important;
}

.navbar-brand span {
    font-size: 1.4rem;
}

/* Animações e Efeitos */
.animate-bounce {
    animation: bounce 2s infinite;
}

.animate-bounce-slow {
    animation: bounce 3s infinite;
}

.animate-pulse {
    animation: pulse 1.5s infinite;
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-4px);
    }
}

@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

/* Cards de Eventos */
.event-card {
    background-color: var(--card-bg) !important;
    border-radius: 12px !important;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.event-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.5) !important;
    border-color: var(--accent-yellow) !important;
}

/* Container de Imagem com Zoom */
.event-image-container img {
    transition: transform 0.5s ease;
}

.event-card:hover .event-image-container img {
    transform: scale(1.08);
}

.event-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, rgba(0,0,0,0.6) 100%);
    pointer-events: none;
}

/* Text Limit Utility */
.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 3rem;
}

/* Linha decorativa */
.warning-line {
    width: 60px;
    height: 4px;
    background-color: var(--accent-yellow);
    border-radius: 2px;
}

/* Estilização Customizada do Modal */
.bg-dark-card {
    background-color: var(--card-bg) !important;
    color: var(--text-primary) !important;
}

.bg-dark-pill {
    background-color: var(--dark-bg) !important;
    border: 1px solid #2d3238;
}

.nav-pills .nav-link {
    color: var(--text-muted) !important;
    transition: all 0.3s ease;
}

.nav-pills .nav-link.active {
    background-color: var(--accent-yellow) !important;
    color: #000 !important;
}

.bg-dark-input {
    background-color: var(--input-bg) !important;
    border: 1px solid #2d3238 !important;
    color: var(--text-primary) !important;
}

.bg-dark-input::placeholder {
    color: #586069 !important;
}

/* Efeito Glow no Foco dos Inputs */
.focus-warning:focus {
    background-color: var(--input-bg) !important;
    border-color: var(--accent-yellow) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--accent-yellow-rgb), 0.25) !important;
    color: var(--text-primary) !important;
}

/* Botões Hover */
.hover-scale {
    transition: transform 0.2s ease;
}

.hover-scale:hover {
    transform: scale(1.05);
}

.btn-warning:hover {
    background-color: #e0a800 !important;
    border-color: #d39e00 !important;
}

/* Footer Styling */
footer {
    background-color: #0b0c0e !important;
}

/* SweetAlert2 Styling adjustments */
.swal2-popup {
    background-color: var(--card-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid #2d3238 !important;
    border-radius: 15px !important;
}

.swal2-title {
    color: var(--text-primary) !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
}

.swal2-html-container {
    color: var(--text-muted) !important;
}

/* --- TEMA CLARO (LIGHT THEME) OVERRIDES --- */
[data-theme="light"] {
    --dark-bg: #f8fafc;
    --card-bg: #ffffff;
    --input-bg: #f1f5f9;
    --text-primary: #0f172a;
    --text-muted: #64748b;
    --border-color: #cbd5e1;
}

/* Substituto para o tom de aviso/warning em modo claro para melhor contraste */
[data-theme="light"] .text-warning {
    color: #b45309 !important; /* Gold/Amber-700 escuro para excelente contraste */
}

/* Redefinições de classes utilitárias para o tema claro */
[data-theme="light"] body {
    background-color: var(--dark-bg) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .bg-dark {
    background-color: var(--dark-bg) !important;
}

[data-theme="light"] .text-light {
    color: var(--text-primary) !important;
}

[data-theme="light"] .text-muted {
    color: var(--text-muted) !important;
}

[data-theme="light"] .border-secondary {
    border-color: var(--border-color) !important;
}

[data-theme="light"] .bg-dark-gradient {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
}

/* Ajustes de Inputs, Badges, Botões e Elementos Customizados */
[data-theme="light"] .bg-dark-input {
    border-color: var(--border-color) !important;
}

[data-theme="light"] .bg-dark-input::placeholder {
    color: #94a3b8 !important;
}

[data-theme="light"] .bg-dark-pill {
    background-color: var(--input-bg) !important;
    border-color: var(--border-color) !important;
}

[data-theme="light"] .input-group-text.bg-secondary {
    background-color: var(--input-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .event-card:hover {
    box-shadow: 0 15px 30px rgba(15, 23, 42, 0.08) !important;
}

[data-theme="light"] footer {
    background-color: #f1f5f9 !important;
}

[data-theme="light"] .swal2-popup {
    border-color: var(--border-color) !important;
}

/* Correções específicas para menus suspensos e modais */
[data-theme="light"] .dropdown-menu-dark {
    background-color: var(--card-bg) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="light"] .dropdown-menu-dark .dropdown-item {
    color: var(--text-primary) !important;
}

[data-theme="light"] .dropdown-menu-dark .dropdown-item:hover {
    background-color: var(--input-bg) !important;
}

/* Garantir que inputs de leitura e labels de form fiquem visíveis */
[data-theme="light"] .form-control[readonly] {
    background-color: var(--input-bg) !important;
    opacity: 0.8;
}

/* Customização dos botões fechar do Bootstrap */
[data-theme="light"] .btn-close:not(.btn-close-white) {
    filter: none !important;
}
[data-theme="light"] .btn-close-white {
    filter: invert(1) grayscale(1) brightness(0) !important;
}

/* Sobrescritas para o componente Countdown */
[data-theme="light"] .countdown-container {
    background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%) !important;
    border-color: var(--border-color) !important;
}

/* Sobrescritas para o componente de Abas (Tab Content Container) */
[data-theme="light"] .tab-content-container {
    border-color: var(--border-color) !important;
}

[data-theme="light"] .nav-tabs {
    border-bottom-color: var(--border-color) !important;
}

/* Sobrescritas de tabelas dark */
[data-theme="light"] .table-dark {
    --bs-table-bg: var(--card-bg) !important;
    --bs-table-striped-bg: var(--input-bg) !important;
    --bs-table-striped-color: var(--text-primary) !important;
    --bs-table-hover-bg: rgba(0, 0, 0, 0.05) !important;
    --bs-table-color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="light"] td,
[data-theme="light"] th,
[data-theme="light"] tr td,
[data-theme="light"] tr th,
[data-theme="light"] tbody td,
[data-theme="light"] tbody th,
[data-theme="light"] tr:nth-of-type(odd) td,
[data-theme="light"] tr:nth-of-type(odd) th,
[data-theme="light"] .table-striped tbody tr:nth-of-type(odd) td,
[data-theme="light"] .table-striped tbody tr:nth-of-type(odd) th {
    color: var(--text-primary) !important;
}

/* Sobrescritas para inscrever.html */
[data-theme="light"] .role-card,
[data-theme="light"] .category-card,
[data-theme="light"] .payment-method-card {
    background-color: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .role-card:hover,
[data-theme="light"] .category-card:hover,
[data-theme="light"] .payment-method-card:hover {
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.08) !important;
}

[data-theme="light"] .role-card.selected,
[data-theme="light"] .category-card.selected,
[data-theme="light"] .payment-method-card.selected {
    background-color: var(--input-bg) !important;
}

[data-theme="light"] .progress-bar-custom {
    background-color: var(--input-bg) !important;
}

