/**
 * MINIMALIST THEME - Ultra-Fast Readability Style
 * Brand: Clean, neutral, maximum content density
 * Best for: Directories and SEO-heavy projects
 */

/* Import Minimalist Font */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&display=swap');

:root {
    /* Minimalist Color Palette - Distinct Neutral Scheme */
    --minimalist-black: #18181B;
    --minimalist-dark-gray: #52525B;
    --minimalist-soft-blue: #0EA5E9;
    --minimalist-white: #FFFFFF;
    --minimalist-text-black: #27272A;
    --minimalist-text-muted: #71717A;
    --minimalist-light-gray: #F4F4F5;
    --minimalist-border: #E4E4E7;
}

/* Typography - Maximum Legibility */
body {
    font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: var(--minimalist-text-black);
    background: var(--minimalist-white);
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'IBM Plex Sans', sans-serif !important;
    font-weight: 600 !important;
    color: var(--minimalist-black) !important;
    line-height: 1.3 !important;
    margin-top: 0;
    letter-spacing: -0.01em !important;
}

h1 {
    font-size: 2.5rem !important;
    margin-bottom: 2rem !important;
}

h2 {
    font-size: 2rem !important;
    margin-bottom: 1.5rem !important;
}

h3 {
    font-size: 1.5rem !important;
    margin-bottom: 1rem !important;
}

/* Meta Text */
.meta, .timestamp, .byline {
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 400;
    font-size: 0.875rem;
    color: var(--minimalist-dark-gray);
}

/* Navigation */
.main-navigation a {
    font-weight: 500;
}

/* Header - Clean & Fast */
.site-header {
    background: var(--minimalist-white);
    border-bottom: 1px solid var(--minimalist-light-gray);
    padding: 0;
}

.site-header .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 1.5rem 2rem;
}

.site-title a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--minimalist-black);
    text-decoration: none;
}

.site-title a:hover {
    color: var(--minimalist-soft-blue);
}

/* Navigation - Minimal */
.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    display: inline-block;
    margin-right: 1.5rem;
}

.main-navigation a {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--minimalist-text-black);
    text-decoration: none;
    padding-bottom: 0.25rem;
}

.main-navigation a:hover,
.main-navigation a.current {
    text-decoration: underline;
    text-decoration-color: var(--minimalist-soft-blue);
    text-decoration-thickness: 2px;
}

/* Layout - Single Column Default */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

.content-area {
    padding: 3rem 0;
}

/* Article Cards - No Shadows, No Animations */
.newspaper-card,
.content-box,
.widget {
    background: var(--minimalist-white);
    border: 1px solid var(--minimalist-light-gray);
    padding: 2rem;
    margin-bottom: 2rem;
}

.newspaper-card:hover {
    border-color: var(--minimalist-dark-gray);
}

/* Links - Color Accent Only */
a {
    color: var(--minimalist-soft-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
}

/* Buttons - Minimal */
.btn,
button,
input[type="submit"] {
    background: var(--minimalist-black);
    color: var(--minimalist-white);
    border: 1px solid var(--minimalist-black);
    padding: 0.75rem 1.5rem;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
}

.btn:hover,
button:hover,
input[type="submit"]:hover {
    background: var(--minimalist-white);
    color: var(--minimalist-black);
}

/* Category Badges - Minimal */
.category-badge,
.tag-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border: 1px solid var(--minimalist-light-gray);
    color: var(--minimalist-text-black);
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 400;
    margin-right: 0.5rem;
}

/* Breadcrumbs */
.breadcrumbs {
    background: var(--minimalist-white);
    border-bottom: 1px solid var(--minimalist-light-gray);
    padding: 1rem 0;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 0.875rem;
}

.breadcrumbs a {
    color: var(--minimalist-dark-gray);
}

.breadcrumbs a:hover {
    color: var(--minimalist-soft-blue);
}

/* Sidebar */
.sidebar .widget {
    background: var(--minimalist-white);
    border: 1px solid var(--minimalist-light-gray);
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.widget-title {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--minimalist-black);
    margin-bottom: 1.25rem;
}

/* Footer - Minimal */
.site-footer {
    background: var(--minimalist-light-gray);
    color: var(--minimalist-text-black);
    padding: 2rem 0 1rem;
    border-top: 1px solid var(--minimalist-dark-gray);
}

.site-footer a {
    color: var(--minimalist-text-black);
}

.site-footer a:hover {
    color: var(--minimalist-soft-blue);
}

.footer-widget h4 {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 1rem;
    font-weight: 600;
    color: var(--minimalist-black);
    margin-bottom: 1rem;
}

/* Forms */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="search"],
textarea,
select {
    border: 1px solid var(--minimalist-light-gray);
    padding: 0.625rem 0.875rem;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 0.9375rem;
    background: var(--minimalist-white);
    color: var(--minimalist-text-black);
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: var(--minimalist-soft-blue);
}

/* Tables */
table {
    border-collapse: collapse;
    width: 100%;
    border: 1px solid var(--minimalist-light-gray);
}

th {
    background: var(--minimalist-light-gray);
    color: var(--minimalist-black);
    padding: 0.75rem 1rem;
    font-family: 'IBM Plex Sans', sans-serif;
    font-weight: 600;
    text-align: left;
    font-size: 0.875rem;
}

td {
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--minimalist-light-gray);
}

/* Status Badges */
.status-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border: 1px solid var(--minimalist-light-gray);
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 0.8125rem;
    font-weight: 400;
}

.status-open {
    border-color: var(--minimalist-soft-blue);
    color: var(--minimalist-soft-blue);
}

.status-closed {
    color: var(--minimalist-dark-gray);
}

/* Rating Display */
.rating-stars {
    color: var(--minimalist-black);
    font-size: 1rem;
}

/* Large Margins - Strict Baseline Grid */
.content-area {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.newspaper-card {
    margin-bottom: 3rem;
}

/* Compact List View Option */
.list-view .newspaper-card {
    padding: 1rem;
    margin-bottom: 1rem;
}

.list-view .newspaper-card img {
    max-width: 150px;
    float: left;
    margin-right: 1.5rem;
}

/* No Animations - Fast Load */
* {
    animation: none !important;
    transition: none !important;
}

/* Only Essential Transitions */
a,
button,
input {
    transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

/* Responsive - Mobile Optimized */
@media (max-width: 768px) {
    body {
        font-size: 15px;
        line-height: 1.7;
    }
    
    h1 {
        font-size: 2rem;
    }
    
    h2 {
        font-size: 1.625rem;
    }
    
    .site-title a {
        font-size: 1.25rem;
    }
    
    .main-navigation li {
        display: block;
        margin: 0.5rem 0;
    }
    
    .newspaper-card,
    .content-box {
        padding: 1.5rem;
    }
    
    .list-view .newspaper-card img {
        float: none;
        max-width: 100%;
        margin-bottom: 1rem;
    }
}

/* ========================================
   DIRECTORY LIST ITEMS - BOLD DARK SLATE
   ======================================== */

.directory-item,
.list-item,
.newspaper-item {
    color: #34495E !important;
}

.directory-item h3,
.list-item h3,
.newspaper-item h3,
.directory-item .title,
.list-item .title,
.newspaper-item .title,
.newspaper-card h3 {
    color: #2C3E50 !important;
    font-weight: 800 !important;
    font-size: 32px !important;
    letter-spacing: -0.02em !important;
    text-shadow: 0 1px 3px rgba(44, 62, 80, 0.1);
    margin-bottom: 16px !important;
}

.directory-item h4,
.list-item h4,
.newspaper-item h4 {
    color: #34495E !important;
    font-weight: 700 !important;
    font-size: 22px !important;
    letter-spacing: -0.01em !important;
}

.directory-item a,
.list-item a,
.newspaper-item a {
    color: #2C3E50 !important;
    font-weight: 700 !important;
}

.directory-item a:hover,
.list-item a:hover,
.newspaper-item a:hover {
    color: var(--minimalist-soft-blue) !important;
    text-decoration: underline !important;
}

.directory-item .meta,
.list-item .meta,
.newspaper-item .meta {
    color: #71717A !important;
}

.directory-item .category,
.list-item .category,
.newspaper-item .category {
    color: #2C3E50 !important;
    background: rgba(44, 62, 80, 0.06) !important;
    border: 1px solid var(--minimalist-border) !important;
}

/* Print Optimization */
@media print {
    * {
        background: white !important;
        color: black !important;
    }
    
    .site-header,
    .site-footer,
    .sidebar {
        display: none;
    }
}
