/* ============================================================
   Theme Light - Plataforma de Eventos Esportivos
   Paleta baseada na nova identidade Ativo86:
   Azul Royal #1565C0 | Cyan #00BCD4 | Turquesa #26C6DA
   Teal #4DD0E1 | Navy #0D47A1
   ============================================================ */

:root {
    /* BACKGROUNDS */
    --bg-deepest: #ECEEF2;
    --bg-body: #F3F4F8;
    --bg-surface: #FFFFFF;
    --bg-elevated: #FFFFFF;
    --bg-hover: #ECEEF2;

    /* GLASSMORPHISM (light version) */
    --glass-bg: rgba(255, 255, 255, 0.7);
    --glass-bg-hover: rgba(255, 255, 255, 0.85);
    --glass-bg-active: rgba(255, 255, 255, 0.9);
    --glass-border: rgba(21, 101, 192, 0.08);
    --glass-border-hover: rgba(21, 101, 192, 0.15);
    --glass-shadow: 0 4px 24px rgba(21, 101, 192, 0.06);

    /* CORES PRIMÁRIAS — Cyan/Turquesa da marca Ativo86 */
    --primary: #00ACC1;
    --primary-rgb: 0, 172, 193;
    --primary-light: #26C6DA;
    --primary-dark: #00838F;
    --primary-glow: 0 0 20px rgba(0, 172, 193, 0.15);

    /* CORES DE DESTAQUE — Azul Royal da marca Ativo86 */
    --accent: #1565C0;
    --accent-rgb: 21, 101, 192;
    --accent-light: #1976D2;
    --accent-glow: 0 0 20px rgba(21, 101, 192, 0.15);
    --neon-lime: #4DD0E1;
    --neon-lime-rgb: 77, 208, 225;
    --neon-blue: #00BCD4;
    --neon-purple: #1565C0;
    --neon-pink: #26C6DA;

    /* CORES SEMÂNTICAS */
    --success: #00897B;
    --success-rgb: 0, 137, 123;
    --warning: #FF8F00;
    --warning-rgb: 255, 143, 0;
    --danger: #E53935;
    --danger-rgb: 229, 57, 53;
    --info: #039BE5;
    --info-rgb: 3, 155, 229;

    /* TEXTOS — Azul escuro como base */
    --text-primary: #0D47A1;
    --text-secondary: #37474F;
    --text-muted: #78909C;

    /* GRADIENTES — Baseado na identidade Ativo86 */
    --gradient-primary: linear-gradient(135deg, #1565C0 0%, #00BCD4 100%);
    --gradient-accent: linear-gradient(135deg, #0D47A1 0%, #26C6DA 100%);
    --gradient-dark: linear-gradient(180deg, #F3F4F8 0%, #ECEEF2 100%);
    --gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0.4) 100%);
    --gradient-mesh: none;

    /* SOMBRAS */
    --shadow-sm: 0 1px 3px rgba(21, 101, 192, 0.06);
    --shadow-md: 0 4px 12px rgba(21, 101, 192, 0.08);
    --shadow-lg: 0 8px 24px rgba(21, 101, 192, 0.1);
    --shadow-xl: 0 16px 48px rgba(21, 101, 192, 0.12);
    --shadow-glow-primary: 0 4px 16px rgba(0, 172, 193, 0.2);
    --shadow-glow-accent: 0 4px 16px rgba(21, 101, 192, 0.15);
    --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

/* ============ BASE ============ */
body {
    background: var(--bg-body);
    color: var(--text-primary);
}

body::before {
    display: none;
}

a { color: var(--primary); }
a:hover { color: var(--primary-dark); }

p, li, td, th, label, span, small {
    color: var(--text-secondary);
}

strong, b {
    color: var(--text-primary);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--text-primary);
}

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

.display-number {
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* ============ HIDE ORBS ============ */
.bg-orb {
    display: none;
}

/* ============ GLASSMORPHISM (light) ============ */
.glass-card,
.glass-card-static,
.card {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(12px) saturate(120%);
    -webkit-backdrop-filter: blur(12px) saturate(120%);
    border: 1px solid var(--glass-border) !important;
    box-shadow: var(--glass-shadow), var(--shadow-inset) !important;
    color: var(--text-primary);
}
.glass-card::before,
.glass-card-static::before,
.card::before {
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
}
.glass-card:hover {
    background: var(--glass-bg-hover) !important;
    border-color: var(--glass-border-hover) !important;
    box-shadow: var(--shadow-lg), var(--shadow-inset) !important;
}
.glass-card-neon:hover {
    border-color: rgba(var(--primary-rgb), 0.3) !important;
    box-shadow: var(--shadow-lg), var(--shadow-glow-primary) !important;
}

.glass-surface {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    border: 1px solid var(--glass-border);
}

/* ============ CARD ============ */
.card-header {
    background: rgba(21, 101, 192, 0.02) !important;
    border-bottom: 1px solid var(--glass-border) !important;
}
.card-header h4, .card-header h5, .card-header .h4, .card-header .h5,
.card-header .card-title, .card-header .modal-title {
    color: var(--text-primary) !important;
}
.card-footer {
    background: rgba(21, 101, 192, 0.02) !important;
    border-top: 1px solid var(--glass-border) !important;
}

/* ============ FORMS ============ */
.glass-input,
.form-control,
.form-select {
    background: #FFFFFF !important;
    border: 1px solid #C8CCD8 !important;
    color: var(--text-primary) !important;
}
.glass-input:focus,
.form-control:focus,
.form-select:focus {
    background: #FFFFFF !important;
    border-color: rgba(var(--primary-rgb), 0.5) !important;
    box-shadow: 0 0 0 3px rgba(var(--primary-rgb), 0.1) !important;
    color: var(--text-primary) !important;
}
.form-control::placeholder {
    color: var(--text-muted);
}
.form-select option {
    background: #FFFFFF;
    color: var(--text-primary);
}
.form-check-input {
    background-color: #FFFFFF;
    border-color: #C8CCD8;
}
.form-check-input:checked {
    background-color: var(--primary);
    border-color: var(--primary);
}
.form-check-label {
    color: var(--text-secondary);
}
.form-label {
    color: var(--text-secondary);
}
.input-group-text {
    background: #F5F6FA !important;
    border: 1px solid #C8CCD8 !important;
    color: var(--text-muted) !important;
}

/* ============ TABLES ============ */
.table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--text-secondary);
    --bs-table-border-color: var(--glass-border);
    --bs-table-hover-bg: rgba(21, 101, 192, 0.02);
    color: var(--text-secondary);
}
.table > :not(caption) > * > * {
    border-bottom-color: var(--glass-border);
    background: transparent;
}
.table th {
    color: var(--text-muted) !important;
    border-bottom: 1px solid var(--glass-border) !important;
}
.table td {
    color: var(--text-secondary);
}
.table-hover > tbody > tr:hover > * {
    background: rgba(21, 101, 192, 0.02) !important;
    color: var(--text-primary);
}
.table-light {
    --bs-table-bg: rgba(21, 101, 192, 0.02);
    --bs-table-color: var(--text-muted);
}

/* ============ ALERTS ============ */
.alert {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(8px);
    border: none;
    border-left: 3px solid;
    color: var(--text-primary);
}
.alert-success { border-left-color: var(--success); background: rgba(var(--success-rgb), 0.06); }
.alert-danger { border-left-color: var(--danger); background: rgba(var(--danger-rgb), 0.06); }
.alert-warning { border-left-color: var(--warning); background: rgba(var(--warning-rgb), 0.06); }
.alert-info { border-left-color: var(--info); background: rgba(var(--info-rgb), 0.06); color: var(--text-secondary); }
.alert .btn-close {
    filter: none;
}

/* ============ BADGES ============ */
.badge.bg-primary { background: rgba(var(--primary-rgb), 0.1) !important; color: var(--primary) !important; }
.badge.bg-success { background: rgba(var(--success-rgb), 0.1) !important; color: var(--success) !important; }
.badge.bg-danger { background: rgba(var(--danger-rgb), 0.1) !important; color: var(--danger) !important; }
.badge.bg-warning { background: rgba(var(--warning-rgb), 0.1) !important; color: var(--warning) !important; }
.badge.bg-info { background: rgba(var(--info-rgb), 0.1) !important; color: var(--info) !important; }
.badge.bg-secondary { background: rgba(21, 101, 192, 0.06) !important; color: var(--text-muted) !important; }

/* ============ BUTTONS ============ */
.btn-primary {
    background: var(--gradient-primary) !important;
    border: none !important;
    color: #FFFFFF !important;
}
.btn-primary:hover {
    box-shadow: var(--shadow-glow-primary);
}
.btn-success {
    background: rgba(var(--success-rgb), 0.1) !important;
    border: 1px solid rgba(var(--success-rgb), 0.2) !important;
    color: var(--success) !important;
}
.btn-danger {
    background: rgba(var(--danger-rgb), 0.1) !important;
    border: 1px solid rgba(var(--danger-rgb), 0.2) !important;
    color: var(--danger) !important;
}
.btn-outline-primary {
    border-color: rgba(var(--primary-rgb), 0.3) !important;
    color: var(--primary) !important;
    background: transparent !important;
}
.btn-outline-primary:hover {
    background: rgba(var(--primary-rgb), 0.06) !important;
    border-color: rgba(var(--primary-rgb), 0.5) !important;
}
.btn-outline-secondary {
    border-color: #C8CCD8 !important;
    color: var(--text-secondary) !important;
    background: transparent !important;
}
.btn-outline-secondary:hover {
    background: rgba(21, 101, 192, 0.03) !important;
    border-color: #A0A6B8 !important;
    color: var(--text-primary) !important;
}
.btn-outline-success {
    border-color: rgba(var(--success-rgb), 0.3) !important;
    color: var(--success) !important;
    background: transparent !important;
}
.btn-outline-danger {
    border-color: rgba(var(--danger-rgb), 0.3) !important;
    color: var(--danger) !important;
    background: transparent !important;
}
.btn-outline-info {
    border-color: rgba(var(--info-rgb), 0.3) !important;
    color: var(--info) !important;
    background: transparent !important;
}
.btn-outline-warning {
    border-color: rgba(var(--warning-rgb), 0.3) !important;
    color: var(--warning) !important;
    background: transparent !important;
}

.btn-neon {
    background: var(--gradient-primary);
    border: none;
    color: #FFFFFF;
    font-weight: 600;
}
.btn-neon:hover {
    box-shadow: var(--shadow-glow-primary);
    color: #FFFFFF;
}

.btn-glass {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
    border: 1px solid var(--glass-border);
    color: var(--text-primary);
}
.btn-glass:hover {
    background: rgba(255, 255, 255, 0.9);
    border-color: var(--glass-border-hover);
    color: var(--text-primary);
}

.btn-secondary {
    background: #E5E7EB !important;
    border: 1px solid #C8CCD8 !important;
    color: var(--text-secondary) !important;
}

/* ============ BREADCRUMB ============ */
.breadcrumb-item a { color: var(--text-muted); }
.breadcrumb-item a:hover { color: var(--primary); }
.breadcrumb-item.active { color: var(--text-secondary); }
.breadcrumb-item + .breadcrumb-item::before { color: var(--text-muted); }

/* ============ PAGINATION ============ */
.pagination .page-link {
    background: #FFFFFF;
    border: 1px solid var(--glass-border);
    color: var(--text-secondary);
}
.pagination .page-link:hover {
    background: #ECEEF2;
    color: var(--text-primary);
}
.pagination .page-item.active .page-link {
    background: rgba(var(--primary-rgb), 0.1);
    border-color: rgba(var(--primary-rgb), 0.3);
    color: var(--primary);
}

/* ============ MODALS ============ */
.modal-backdrop {
    background: rgba(21, 101, 192, 0.3) !important;
    backdrop-filter: blur(16px) saturate(130%);
    -webkit-backdrop-filter: blur(16px) saturate(130%);
}
.modal-content {
    background: #FFFFFF !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid var(--glass-border) !important;
    box-shadow: var(--shadow-xl);
    color: var(--text-primary);
}
.modal-header {
    border-bottom: 1px solid var(--glass-border) !important;
}
.modal-header .modal-title { color: var(--text-primary); }
.modal-header .btn-close { filter: none; }
.modal-footer {
    border-top: 1px solid var(--glass-border) !important;
}

/* ============ DROPDOWN ============ */
.dropdown-menu {
    background: #FFFFFF;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: 1px solid var(--glass-border);
    box-shadow: var(--shadow-lg);
}
.dropdown-item { color: var(--text-secondary); }
.dropdown-item:hover {
    background: #ECEEF2;
    color: var(--text-primary);
}
.dropdown-item.text-danger { color: var(--danger) !important; }
.dropdown-item.text-danger:hover { background: rgba(var(--danger-rgb), 0.05); }
.dropdown-divider { border-top-color: var(--glass-border); }

/* ============ SCROLLBAR ============ */
::-webkit-scrollbar-thumb {
    background: rgba(21, 101, 192, 0.12);
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(21, 101, 192, 0.2);
}

/* ============ SWEETALERT ============ */
.swal2-popup {
    background: #FFFFFF !important;
    border: 1px solid var(--glass-border) !important;
    color: var(--text-primary) !important;
}
.swal2-title { color: var(--text-primary) !important; }
.swal2-html-container { color: var(--text-secondary) !important; }
.swal2-confirm {
    background: var(--gradient-primary) !important;
    border: none !important;
    color: #FFFFFF !important;
}
.swal2-cancel {
    background: #ECEEF2 !important;
    border: 1px solid var(--glass-border) !important;
    color: var(--text-secondary) !important;
}

/* ============ TEXT OVERRIDES ============ */
.text-success { color: var(--success) !important; }
.text-danger { color: var(--danger) !important; }
.text-warning { color: var(--warning) !important; }
.text-info { color: var(--info) !important; }
.text-primary { color: var(--primary) !important; }
.text-dark { color: var(--text-primary) !important; }

.bg-white, .bg-light { background: rgba(255, 255, 255, 0.7) !important; }
.bg-dark { background: #0D47A1 !important; }

/* ============ STAT ICONS ============ */
.stat-icon-primary { background: rgba(var(--primary-rgb), 0.08); color: var(--primary); box-shadow: none; }
.stat-icon-accent { background: rgba(var(--accent-rgb), 0.08); color: var(--accent); box-shadow: none; }
.stat-icon-success { background: rgba(var(--success-rgb), 0.08); color: var(--success); box-shadow: none; }
.stat-icon-warning { background: rgba(var(--warning-rgb), 0.08); color: var(--warning); box-shadow: none; }
.stat-icon-info { background: rgba(var(--info-rgb), 0.08); color: var(--info); box-shadow: none; }
.stat-icon-danger { background: rgba(var(--danger-rgb), 0.08); color: var(--danger); box-shadow: none; }

/* ============ IMG THUMBNAIL ============ */
.img-thumbnail {
    background: #FFFFFF;
    border-color: var(--glass-border);
}

/* HR */
hr {
    border-color: var(--glass-border);
}

/* ============ CODE ============ */
code {
    color: var(--primary);
    background: rgba(var(--primary-rgb), 0.06);
    padding: 0.15em 0.4em;
    border-radius: 4px;
}

/* ============ ADMIN TOPBAR (light) ============ */
.admin-topbar {
    background: rgba(255, 255, 255, 0.85) !important;
    border-bottom: 1px solid var(--glass-border) !important;
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
}
.admin-topbar .navbar-brand {
    color: var(--text-primary) !important;
}

/* ============ SIDEBAR (light) ============ */
#sidebar {
    background: rgba(255, 255, 255, 0.9) !important;
    border-right: 1px solid var(--glass-border) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}
#sidebar .sidebar-section {
    color: var(--text-muted);
}
#sidebar .nav-link {
    color: var(--text-secondary) !important;
}
#sidebar .nav-link:hover {
    background: rgba(21, 101, 192, 0.03) !important;
    color: var(--text-primary) !important;
}
#sidebar .nav-link.active {
    background: rgba(var(--primary-rgb), 0.08) !important;
    color: var(--primary) !important;
}

/* ============ PUBLIC NAVBAR (light) ============ */
.public-navbar {
    background: rgba(255, 255, 255, 0.85) !important;
    border-bottom: 1px solid var(--glass-border) !important;
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
}
.public-navbar .navbar-brand {
    color: var(--text-primary) !important;
}
.public-navbar .nav-link {
    color: var(--text-secondary) !important;
}
.public-navbar .nav-link:hover,
.public-navbar .nav-link.active {
    color: var(--primary) !important;
}
.public-navbar .navbar-toggler {
    border-color: var(--glass-border);
}
.public-navbar .navbar-toggler-icon {
    filter: none;
}
.public-navbar.navbar-scrolled {
    background: rgba(255, 255, 255, 0.95) !important;
}

/* ============ HERO (light) ============ */
.hero-section {
    background: linear-gradient(135deg, #FFF5F2 0%, #F3F4F8 50%, #EFF7FC 100%) !important;
}
.hero-section .hero-orb-1,
.hero-section .hero-orb-2 {
    display: none;
}
.hero-title {
    background: var(--gradient-accent) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}
.hero-subtitle {
    color: var(--text-secondary) !important;
}

/* ============ PUBLIC FOOTER (light) ============ */
.public-footer {
    background: #0D47A1 !important;
}

/* ============ EVENT CARDS (light) ============ */
.event-card .card-img-top {
    border-bottom: 1px solid var(--glass-border);
}
.event-date,
.event-location {
    color: var(--text-muted);
}

/* ============ CATEGORY CARDS (light) ============ */
.category-card {
    text-align: center;
}

/* ============ REGISTRATION CARD (light) ============ */
.registration-card {
    border: 1px solid var(--glass-border) !important;
}

/* ============ EVENT DETAIL BANNER ============ */
.event-detail-banner {
    background: #ECEEF2;
}
