/*
Theme Name: XP Labs Improved
Description: Enhanced stylesheet for better visuals and responsiveness.
Version: 1.0
*/

/* Global Resets and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Inter', 'Open Sans', sans-serif; /* Clean sans-serif for body text */
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    background-color: #F5F5F5; /* Neutral gray background */
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Montserrat', 'Roboto', sans-serif; /* Bold headings */
    color: #001F3F; /* Deep blue for headers */
}

a {
    color: #00BFFF; /* Electric cyan for links */
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: #008CCC; /* Darker cyan on hover */
}

/* Header and Navigation */
.site-header {
    background: linear-gradient(to bottom, #001F3F, #003366); /* Gradient for hero feel */
    color: #FFF;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.site-title {
    font-size: 48px;
    margin-bottom: 10px;
}

.site-description {
    font-size: 18px;
}

nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
}

nav a {
    margin: 0 10px;
    padding: 8px 16px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
    color: #FFF;
}

nav a:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Sorting Filters */
.sort-filters {
    text-align: center;
    padding: 10px;
    background: #E0E0E0;
    margin: 20px 0;
}

.sort-filters a {
    margin: 0 5px;
    font-weight: bold;
}

/* Main Dashboard Layout - Use Grid for Sections */
.dashboard {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 columns on desktop */
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.dashboard section {
    background: #FFF;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Subtle depth */
    padding: 15px;
    transition: transform 0.2s ease; /* Hover animation */
}

.dashboard section:hover {
    transform: scale(1.02);
}

.section-podcast, .section-xposts, .section-sponsored, .section-chat-topics {
    /* Specific section styles */
}

.section-sponsored a, .section-chat-topics a {
    display: block;
    margin-bottom: 10px;
    padding: 10px;
    border-left: 4px solid #00BFFF; /* Cyan accent for lists */
}

/* Replace ASCII borders with CSS */
.dashboard section::before, .dashboard section::after {
    content: none; /* Override any pseudo-ASCII */
}

/* Footer */
.site-footer {
    text-align: center;
    padding: 20px;
    background: #001F3F;
    color: #FFF;
    margin-top: 20px;
}

/* Responsiveness: Tablet (up to 1024px) */
@media (max-width: 1024px) {
    .dashboard {
        grid-template-columns: repeat(2, 1fr); /* 2 columns on tablet */
    }

    .site-title {
        font-size: 36px;
    }

    nav a {
        margin: 5px;
        padding: 6px 12px;
    }
}

/* Responsiveness: Mobile (up to 768px) */
@media (max-width: 768px) {
    .dashboard {
        grid-template-columns: 1fr; /* Stack vertically on mobile */
        gap: 15px;
    }

    .site-header {
        padding: 15px;
    }

    .site-title {
        font-size: 28px;
    }

    nav {
        flex-direction: column; /* Stack nav links */
    }

    nav a {
        margin: 5px 0;
        padding: 10px;
        width: 100%; /* Full-width for touch */
    }

    .sort-filters {
        font-size: 14px;
    }

    body {
        font-size: 14px; /* Slightly smaller text for mobile */
    }
}

/* Additional Touches: Buttons and Lists */
button, .sponsor-button { /* Assuming a sponsor button */
    background: #00BFFF;
    color: #FFF;
    border: none;
    padding: 10px 20px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    transition: background 0.2s ease;
}

button:hover, .sponsor-button:hover {
    background: #008CCC;
}

ul, ol {
    list-style: none; /* Clean lists without bullets */
    padding-left: 0;
}

li {
    margin-bottom: 10px;
}

/* Dark Mode - Responds to system prefs or .dark-mode class */
body.dark-mode,
@media (prefers-color-scheme: dark) {
    body {
        background: #121212;
        color: #DDD;
    }

    .dashboard section {
        background: #1E1E1E;
    }

    .site-header {
        background: linear-gradient(to bottom, #000, #001F3F);
    }

    .site-footer {
        background: #000;
    }

    /* Add more overrides as needed, e.g., for links or other elements */
    a {
        color: #00BFFF; /* Keep accents visible */
    }

    a:hover {
        color: #66D9FF;
    }
}