/* Glassmorphism Theme - Black & White - Minimal Shadows */

/* Override base styles with glass effects */
.container {
    position: relative;
    z-index: 1;
}

/* Glassmorphism Cards - No Shadows */
.server-card,
.event-card,
.staff-card,
.gallery-item,
.past-event-card,
.leaderboard-section,
.upload-section,
.event-form-card,
.events-list-card,
.leaderboard-form-card,
.leaderboard-list-card {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: none !important;
}

/* Simple Buttons - No Shadows */
.btn,
.btn-primary,
.btn-secondary,
.theme-toggle,
.menu-toggle,
.filter-btn,
.event-register-btn {
    background: var(--light-bg) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
}

.btn:hover,
.btn-primary:hover,
.filter-btn:hover {
    background: var(--card-bg) !important;
    transform: translateY(-2px);
}

.btn:active,
.btn-primary:active {
    transform: translateY(0);
}

/* Glass Input Fields */
input[type="text"],
input[type="email"],
input[type="number"],
input[type="datetime-local"],
input[type="password"],
input[type="file"],
textarea,
select {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
    box-shadow: 
        inset 0 2px 4px rgba(0, 0, 0, 0.2),
        0 0 0 3px rgba(255, 255, 255, 0.1) !important;
}

/* Enhanced Glassmorphism for Hero/Feature Sections */
.hero,
.section-title,
.dashboard-stats {
    position: relative;
    z-index: 1;
}

.stat-card {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 
        0 8px 32px 0 rgba(0, 0, 0, 0.37),
        inset 0 1px 0 0 rgba(255, 255, 255, 0.1) !important;
}

/* Frosted Glass Overlays */
.gallery-overlay,
.event-modal-content {
    background: rgba(0, 0, 0, 0.8) !important;
    backdrop-filter: blur(30px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(150%) !important;
}

/* Neumorphic Tables */
.leaderboard-table,
.admin-leaderboard-table,
table {
    background: transparent !important;
}

.leaderboard-table thead,
.admin-leaderboard-table thead {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(10px) !important;
}

.leaderboard-table tbody tr:hover,
.admin-leaderboard-table tbody tr:hover {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(10px) !important;
}

/* Glass Navigation - Fix Overlap */
.dropdown-nav {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(30px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: none !important;
    margin-top: 1rem !important;
}

/* Server Cards - No Shadows */
.server-card {
    box-shadow: none !important;
}

.server-card:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Glass Event Cards */
.event-card {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(15px) !important;
    box-shadow: none !important;
}

/* Frosted Calendar */
.calendar-widget {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(15px) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: none !important;
}

/* Glass Badges */
.badge,
.staff-role,
.server-status {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: none !important;
}

/* Accent Colors - Keep minimal white highlights */
.position-gold {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.15) 0%, transparent 100%) !important;
}

.position-silver {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%) !important;
}

.position-bronze {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.08) 0%, transparent 100%) !important;
}

/* Glass Footer */
.footer {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(20px) !important;
    border-top: 1px solid var(--border-color) !important;
}

/* Smooth Transitions */
* {
    transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}

/* Event Type Colors - Restore differentiation */
.legend-badge.featured,
.event-badge.featured,
.event-type-badge.featured,
.calendar-day.has-event.featured,
.calendar-day.event-featured,
.calendar-day.event-showcase {
    background: rgba(245, 158, 11, 0.2) !important;
    color: #fcd34d !important;
    border-color: rgba(245, 158, 11, 0.45) !important;
}

.legend-badge.regular,
.event-badge.regular,
.event-type-badge.regular,
.calendar-day.has-event.regular,
.calendar-day.event-community {
    background: rgba(59, 130, 246, 0.2) !important;
    color: #93c5fd !important;
    border-color: rgba(59, 130, 246, 0.45) !important;
}

.legend-badge.training,
.event-badge.training,
.event-type-badge.training,
.calendar-day.has-event.training,
.calendar-day.event-training {
    background: rgba(34, 197, 94, 0.2) !important;
    color: #86efac !important;
    border-color: rgba(34, 197, 94, 0.45) !important;
}

.legend-badge.competition,
.event-badge.competition,
.event-type-badge.competition,
.calendar-day.has-event.competition,
.calendar-day.event-competition {
    background: rgba(239, 68, 68, 0.2) !important;
    color: #fca5a5 !important;
    border-color: rgba(239, 68, 68, 0.45) !important;
}

/* Stat Icons - Keep visible */
.stat-icon {
    background: var(--glass-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

/* Monochrome Status Indicators */
.status-dot.online,
.staff-status.online {
    background: #ffffff !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5) !important;
}

.status-dot.offline,
.staff-status.offline {
    background: #666666 !important;
}

/* Glass Modals */
.modal-content,
.event-modal-content {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(30px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: none !important;
}

/* Subtle Glow Effects */
h1, h2, h3 {
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.1);
}

/* Glass Upload Section */
.upload-dropzone {
    background: var(--glass-bg) !important;
    backdrop-filter: blur(10px) !important;
    border: 2px dashed var(--border-color) !important;
}

.upload-dropzone:hover {
    border-color: rgba(255, 255, 255, 0.3) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

/* Light Mode Fixes */
[data-theme="light"] .btn,
[data-theme="light"] .btn-primary,
[data-theme="light"] .btn-secondary,
[data-theme="light"] .event-register-btn {
    background: var(--light-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

[data-theme="light"] .fab.fa-discord,
[data-theme="light"] .discord-btn,
[data-theme="light"] a[href*="discord"]:not(.btn),
[data-theme="light"] .btn[href*="discord"],
[data-theme="light"] button[href*="discord"] {
    color: #5865F2 !important;
}

[data-theme="light"] .fab.fa-discord {
    background: none !important;
}

/* Light mode - Fix server icons and feature icons */
[data-theme="light"] .server-icon,
[data-theme="light"] .stat-icon i,
[data-theme="light"] .server-card i,
[data-theme="light"] .feature-card i {
    color: var(--text-primary) !important;
    opacity: 1 !important;
}

[data-theme="light"] .feature-icon i {
    color: var(--text-primary) !important;
}

[data-theme="light"] .server-status-badge,
[data-theme="light"] .server-players,
[data-theme="light"] .server-info,
[data-theme="light"] .server-name,
[data-theme="light"] .server-details {
    color: var(--text-primary) !important;
}

/* Light mode - All Discord buttons visible */
[data-theme="light"] .event-register-btn,
[data-theme="light"] .discord-register-btn,
[data-theme="light"] .btn[href*="discord"] {
    background: #5865F2 !important;
    color: #ffffff !important;
    border-color: #5865F2 !important;
}

[data-theme="light"] a.btn[href*="discord"],
[data-theme="light"] a.btn[href*="discord"] i {
    color: #ffffff !important;
}

[data-theme="light"] .event-register-btn:hover,
[data-theme="light"] .discord-register-btn:hover,
[data-theme="light"] .btn[href*="discord"]:hover {
    background: #4752C4 !important;
}

[data-theme="light"] .join-staff .btn[href*="discord"],
[data-theme="light"] .partner-card .btn[href*="discord"] {
    background: #5865F2 !important;
    color: #ffffff !important;
}

[data-theme="light"] .stat-card,
[data-theme="light"] .server-card,
[data-theme="light"] .event-card {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(20px) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] input,
[data-theme="light"] textarea,
[data-theme="light"] select {
    background: rgba(255, 255, 255, 0.8) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .dropdown-nav {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(30px) !important;
}

/* Fix invisible elements in light mode */
[data-theme="light"] .feature-icon,
[data-theme="light"] .stat-icon {
    background: rgba(0, 0, 0, 0.05) !important;
    color: var(--text-primary) !important;
}
