/* UX-FIX 18/19.09 — override GeneratePress wg W1/W2 (poza main.css: harness C2 dotyczy bloku Fala D) */
/* ==================================================================
 * UX-FIX 18/19.09 (dyrektor: portal nie wygląda wg W1) — override GeneratePress
 * Białe tło, granatowy akcent, typografia Apple-style, white space.
 * Celektor wyższy niż style parenta (body/entry/header z GP inline CSS).
 * ================================================================== */

/* -- Baza: biel, akcent granat, typografia -- */
body,
body.wp-theme-generatepress {
    background-color: #FFFFFF !important;
    color: #1D1D1F !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}
.site-content .inside-article,
.site-content article,
.main-content,
#page {
    background-color: #FFFFFF !important;
}
.site-content .site-main,
#wladza-main {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 48px;
    padding-right: 48px;
}
@media (max-width: 768px) {
    .site-content .site-main,
    #wladza-main {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* -- Nagłówki: pytania, bold, Apple-style -- */
.entry-title,
.page-title,
h1.entry-title,
h1.page-title {
    font-size: clamp(32px, 5vw, 48px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    color: #1D1D1F !important;
    margin: 0 0 12px !important;
}
h2, .wladza-votes-title, .wl-data-card-title {
    font-size: clamp(22px, 3vw, 28px) !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    color: #1D1D1F !important;
    margin: 40px 0 16px !important;
}
.page-description,
.wladza-section-sub {
    font-size: 17px !important;
    color: #6E6E73 !important;
    max-width: 640px !important;
    margin: 0 0 32px !important;
}

/* -- Karty danych: subtelna ramka, radius 12, biało, hover delikatny -- */
.wl-data-card,
.wladza-votes-tablewrap table,
.wladza-druki-table {
    background: #FFFFFF !important;
    border: 1px solid #E5E5EA !important;
    border-radius: 12px !important;
    box-shadow: none !important;
}
.wl-data-card {
    padding: 24px !important;
    transition: border-color 0.2s ease, transform 0.2s ease;
}
a.wl-data-card:hover,
.wl-data-card:hover {
    border-color: #14213D !important;
    transform: translateY(-2px);
    text-decoration: none !important;
}

/* -- Duże liczby: 48px bold, label szary, source drobne -- */
.wl-big-number {
    font-size: 48px !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    color: #14213D !important;
    margin: 0 0 8px !important;
}
.wl-big-number + p,
.wl-big-number-label,
.wl-data-card .wl-big-number + p,
div[class*="wl-data"] p {
    font-size: 14px !important;
    color: #6E6E73 !important;
}
.wl-data-source,
.wl-data-card-source,
.wladza-votes-src {
    font-size: 11px !important;
    color: #86868B !important;
    margin-top: 12px !important;
}

/* -- Akcent: granat zamiast niebieskiego GP -- */
a,
.entry-title a,
.main-navigation .main-nav ul li a {
    color: #14213D !important;
}
a:hover,
.entry-title a:hover {
    color: #2C3E63 !important;
}
button,
.button,
input[type="submit"],
.wp-block-button__link,
a.button {
    background-color: #14213D !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}
button:hover,
.button:hover,
input[type="submit"]:hover,
a.button:hover {
    background-color: #2C3E63 !important;
}

/* -- Formularze (filtry archiwum/druki): zwarte, Apple-like -- */
.wladza-votes-filters,
.wladza-druki-filters {
    background: #F5F5F7 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    border: none !important;
    margin-bottom: 24px !important;
}
.wladza-votes-filters label,
.wladza-druki-filters label {
    font-size: 13px !important;
    color: #6E6E73 !important;
    display: inline-block;
    margin-right: 12px;
}
input[type="search"],
input[type="number"],
input[type="date"],
select {
    border: 1px solid #D2D2D7 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    background: #FFFFFF !important;
    font-size: 15px !important;
}

/* -- Tabele (archiwum głosowań, druki, rankingi): delikatne linie -- */
.wladza-votes-table th,
.wladza-druki-table th,
.wladza-rank-table th {
    background: #F5F5F7 !important;
    color: #1D1D1F !important;
    font-weight: 600 !important;
    border-bottom: 2px solid #E5E5EA !important;
}
.wladza-votes-table td,
.wladza-druki-table td,
.wladza-rank-table td {
    border-bottom: 1px solid #F0F0F2 !important;
    padding: 12px !important;
}
.wladza-votes-table tr:hover td,
.wladza-druki-table tr:hover td,
.wladza-rank-table tr:hover td {
    background: #F5F5F7 !important;
}

/* -- Header (GP): biały, subtelny border bottom -- */
.site-header {
    background-color: #FFFFFF !important;
    border-bottom: 1px solid #E5E5EA !important;
    box-shadow: none !important;
}
.main-navigation .main-nav ul li a {
    font-weight: 500 !important;
}

/* -- Footer: ciemny antracyt z jasnym tekstem (kontrast do bieli) -- */
.site-info,
.footer-widgets {
    background-color: #1D1D1F !important;
    color: #F5F5F7 !important;
}
.site-info a,
.footer-widgets a {
    color: #F5F5F7 !important;
}

/* -- Section spacing: dużo white space -- */
section,
.wladza-ranking-section,
.wladza-archive-page,
.wladza-druki {
    margin-bottom: 64px !important;
}
@media (max-width: 768px) {
    section,
    .wladza-ranking-section,
    .wladza-archive-page,
    .wladza-druki {
        margin-bottom: 40px !important;
    }
    .wl-big-number {
        font-size: 36px !important;
    }
}


/* -- UX-3: Kluby — badge monochrome (W1: jeden akcent, nie flagi partyjne) -- */
.wladza-club-badge {
    background: transparent !important;
    color: #14213D !important;
    border: 1px solid #14213D !important;
    padding: 2px 10px;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
}

/* -- UX-5: Licznik wyborów — prominentny na froncie -- */
.wl-election-countdown,
.wladza-election-countdown {
    background: #F5F5F7 !important;
    border-radius: 16px !important;
    padding: 32px !important;
    margin: 40px 0 !important;
    border: 1px solid #E5E5EA !important;
}
.wl-election-countdown .wl-big-number {
    font-size: 56px !important;
}


/* -- UX-4: Mobile 375px sweep (W1: mobile first, czytelne bez scroll-x) -- */
@media (max-width: 480px) {
    .wl-data-cards-grid,
    .wladza-activity-counters,
    .wladza-data-cards-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .wl-big-number {
        font-size: 36px !important;
    }
    .wl-election-countdown .wl-big-number {
        font-size: 42px !important;
    }
    .wl-data-card {
        padding: 16px !important;
    }
    .site-content .site-main {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    /* Tabele jako karty: overflow-x bez scroll-x w poziomie — ukryj zbędne kolumny */
    .wladza-votes-tablewrap,
    .wladza-druki-tablewrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
    .wladza-votes-table,
    .wladza-druki-table {
        min-width: 480px !important;
    }
    /* Zero ozdobnych marginów */
    section,
    .wladza-ranking-section,
    .wladza-archive-page {
        margin-bottom: 32px !important;
    }
    .page-description,
    .wladza-section-sub {
        font-size: 15px !important;
    }
}

/* -- UX-4b: print (drukowalność — bonus, zero kosztu) -- */
@media print {
    .site-header,
    .site-footer,
    .wladza-votes-filters,
    .wladza-druki-filters,
    button,
    .wl-nav-back {
        display: none !important;
    }
    body {
        background: #FFF !important;
    }
}


/* -- UX-7: Placeholder avatary — monochrome granat (W1) -- */
.wladza-placeholder-avatar,
.wladza-placeholder-icon {
    background: #14213D !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.wladza-placeholder-avatar {
    width: 96px !important;
    height: 96px !important;
    font-size: 28px !important;
}
.wladza-placeholder-icon {
    width: 64px !important;
    height: 64px !important;
    font-size: 20px !important;
}
