/* ============================================
   MAIN.CSS - Global Styles & CSS Variables
   ============================================ */

/* CSS Variables - Light Theme */
:root {
    /* Light theme colors (vibrant & exciting) */
    --bg-primary: linear-gradient(135deg, #fef3c7 0%, #fde68a 50%, #fcd34d 100%);
    --bg-secondary: #fffbeb;
    --bg-card: linear-gradient(135deg, #ffffff 0%, #fef3c7 100%);
    --bg-card-hover: linear-gradient(135deg, #fefce8 0%, #fef3c7 100%);
    --text-primary: #1e293b;
    --text-secondary: #475569;
    --text-tertiary: #64748b;
    --border-color: rgba(251, 146, 60, 0.25);
    --border-hover: rgba(251, 146, 60, 0.5);
    --shadow-color: rgba(251, 146, 60, 0.15);
    --input-bg: rgba(254, 243, 199, 0.4);
    --input-focus-bg: rgba(254, 243, 199, 0.7);
    --scrollbar-track: #fef3c7;
    --scrollbar-thumb: #f59e0b;
    --nav-bg: rgba(255, 251, 235, 0.98);
    --header-bg: rgba(255, 251, 235, 0.98);
    --loading-bg: rgba(255, 251, 235, 0.98);
    --poll-bg: rgba(251, 146, 60, 0.12);
    --poll-hover-bg: rgba(251, 146, 60, 0.2);
    --progress-bg: rgba(251, 146, 60, 0.2);
}

/* Dark Theme Variables */
body.dark-theme {
    --bg-primary: #0a0a0f;
    --bg-secondary: #1a1a2e;
    --bg-card: linear-gradient(135deg, #1e1e2e 0%, #2d2d44 100%);
    --bg-card-hover: #2d2d44;
    --text-primary: #ffffff;
    --text-secondary: #9ca3af;
    --text-tertiary: #6b7280;
    --border-color: rgba(99, 102, 241, 0.2);
    --border-hover: rgba(99, 102, 241, 0.5);
    --shadow-color: rgba(99, 102, 241, 0.2);
    --input-bg: rgba(255, 255, 255, 0.05);
    --input-focus-bg: rgba(255, 255, 255, 0.08);
    --scrollbar-track: #1a1a2e;
    --scrollbar-thumb: #6366f1;
    --nav-bg: rgba(10, 10, 15, 0.95);
    --header-bg: rgba(10, 10, 15, 0.95);
    --loading-bg: rgba(10, 10, 15, 0.9);
    --poll-bg: rgba(99, 102, 241, 0.1);
    --poll-hover-bg: rgba(99, 102, 241, 0.2);
    --progress-bg: rgba(99, 102, 241, 0.2);
}

/* Global Font Families */
* {
    font-family: 'Inter', sans-serif;
}

.font-display {
    font-family: 'Poppins', sans-serif;
}

/* Body Styles */
body {
    /* Animated gradient background - Warm Sunset Theme */
    background: linear-gradient(-45deg, #ea580c, #f59e0b, #fbbf24, #fb923c);
    background-size: 400% 400%;
    animation: gradient 15s ease infinite;
    color: var(--text-primary);
    transition: color 0.3s ease;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--scrollbar-track);
}

::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb);
    border-radius: 4px;
}

/* Mobile Padding */
@media (max-width: 768px) {
    body {
        padding-bottom: 80px;
    }
}

/* Line Clamp Utility */
.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Hide voting section and vote button */
#voting,
a[href="#voting"] {
    display: none !important;
}