/*
Theme Name: Bursa PRO 2026
Description: Skonsolidowany, nowoczesny motyw dla placówki publicznej. Optymalizacja Lighthouse & WCAG.
Version: 12.6
*/

/* --- 1. ZMIENNE I FUNDAMENTY --- */
:root {
    --primary: #002d5b;
    --accent: #00b0b8;   /* Turkusowy akcent */
    --light-bg: #f8f9fa;
    --text-dark: #212529;
    --transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

body { 
    font-family: 'Inter', system-ui, -apple-system, sans-serif; 
    color: var(--text-dark); 
    background-color: #ffffff;
    line-height: 1.6;
    transition: background-color 0.3s ease, color 0.3s ease, font-size 0.2s ease;
}

/* CAŁKOWITE USUNIĘCIE PODKREŚLEŃ Z LINKÓW */
a { 
    text-decoration: none !important; 
    transition: var(--transition);
}

h1, h2, h3, h4, h5, .navbar-brand { 
    font-family: 'Poppins', sans-serif; 
    font-weight: 800; 
    color: var(--primary);
}

/* --- 2. NAWIGACJA (ODSTĘPY I STYL) --- */
.navbar {
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    padding: 15px 0;
}

.navbar-nav {
    gap: 30px !important; /* Odstępy między linkami */
}

.nav-link {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85rem;
    letter-spacing: 0.8px;
    color: var(--primary) !important;
    padding: 10px 0 !important;
}

.nav-link:hover {
    color: var(--accent) !important;
}

.nav-spacer { height: 90px; }

/* --- 3. SEKCJA HERO (CZYTELNOŚĆ) --- */
.hero-section {
    background: linear-gradient(135deg, var(--primary) 0%, #004080 100%);
    color: #ffffff;
    padding: 100px 0;
}

.hero-section h1, 
.hero-section .display-3,
.hero-section p,
.hero-section .lead {
    color: #ffffff !important; 
    text-shadow: 0 2px 4px rgba(0,0,0,0.3); /* Cień dla czytelności */
}

.hero-section .lead {
    opacity: 0.95;
}

/* --- 4. KOMPONENTY I KARTY --- */
.transition-base {
    transition: var(--transition);
}

.news-card, .fee-card, .staff-item {
    background: #ffffff;
    border: none !important;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.news-card:hover, .fee-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

.staff-item:hover {
    transform: translateX(5px);
    border-left: 5px solid var(--accent);
}

.card-img-top, .fee-thumbnail {
    height: 230px;
    object-fit: cover;
    border-radius: 20px 20px 0 0;
}

/* --- NOWOŚĆ: Efekt dla Szybkich Linków (Jadłospis itp.) --- */
.hover-accent {
    transition: var(--transition);
}

.hover-accent:hover {
    background-color: var(--accent) !important;
    transform: translateY(-5px);
    border-color: var(--accent) !important; /* Zmiana koloru dolnej ramki */
    color: #ffffff;
}

/* Zmiana koloru ikon i tekstów wewnątrz kafelka po najechaniu */
.hover-accent:hover i, 
.hover-accent:hover h3,
.hover-accent:hover .text-muted,
.hover-accent:hover .text-dark {
    color: #ffffff !important;
}

/* --- 5. NARZĘDZIA DOSTĘPNOŚCI (WCAG) --- */
.access-widget { position: fixed; top: 150px; right: 0; z-index: 2000; }
.access-btn { background: var(--primary); color: white; border-radius: 8px 0 0 8px; padding: 12px; }
.access-menu { width: 280px; border: none; box-shadow: -5px 5px 20px rgba(0,0,0,0.2); border-radius: 10px 0 0 10px; }

/* Tryby WCAG */
body.access-grayscale { filter: grayscale(100%); }
body.access-high-contrast { background: #000 !important; color: #ffff00 !important; }
body.access-high-contrast * { background-color: #000 !important; color: #ffff00 !important; border-color: #ffff00 !important; }
body.access-negative { filter: invert(100%) hue-rotate(180deg); }
body.access-links a { text-decoration: underline !important; font-weight: bold; }

/* --- 6. TRYB CIEMNY (NATYWNY BOOTSTRAP) --- */
[data-bs-theme="dark"] body { background-color: #121212; color: #e0e0e0; }
[data-bs-theme="dark"] .navbar { background-color: #1e1e1e !important; border-bottom: 1px solid #333; }
[data-bs-theme="dark"] .card, [data-bs-theme="dark"] .bg-white { background-color: #1e1e1e !important; color: #fff; }
[data-bs-theme="dark"] .bg-light { background-color: #252525 !important; }

/* Poprawka dla kafelków w trybie ciemnym */
[data-bs-theme="dark"] .hover-accent { background-color: #2d2d2d !important; border-bottom-color: var(--accent) !important; }
[data-bs-theme="dark"] .hover-accent:hover { background-color: var(--accent) !important; }
[data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h3 { color: #fff !important; }
[data-bs-theme="dark"] .text-primary { color: #6ea8fe !important; }

/* --- 7. PASEK COOKIES --- */
.cookie-banner {
    position: fixed;
    bottom: 20px; left: 20px; right: 20px;
    z-index: 3000;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    display: none;
}
[data-bs-theme="dark"] .cookie-banner { background: #1e1e1e; color: #fff; border: 1px solid #333; }

/* --- 8. STOPKA --- */
.footer { background-color: #111111; color: #adb5bd; border-top: 4px solid var(--accent); }
.footer h4, .footer h5 { color: #ffffff !important; }
.footer-logo { max-height: 55px; background: #ffffff; padding: 8px; border-radius: 8px; filter: grayscale(1); }
.footer-logo:hover { filter: grayscale(0); }

/* Kontener linku - tworzy białą "kapsułkę" */
.footer-logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #fff; /* Białe tło */
    padding: 8px 12px;      /* Odstęp wewnątrz */
    border-radius: 8px;     /* Zaokrąglone rogi */
    transition: transform 0.2s ease;
    text-decoration: none;
}

.footer-logo-link:hover {
    transform: scale(1.05); /* Delikatne powiększenie po najechaniu */
}

/* Stylizacja samych obrazków w stopce */
.custom-footer-img {
    height: auto;           /* Kluczowe: zapobiega zniekształceniom */
    display: block;
}

/* Indywidualne wymiary logotypów */
.img-bip {
    width: 100px;           /* Zwiększone logo BIP */
}

.img-starostwo {
    width: 120px;           /* Szerokość starostwa */
}

/* --- 9. UŁATWIENIA DOSTĘPNOŚCI (Duża czcionka) --- */
/* To jest nowa sekcja, która naprawia przycisk "Większy tekst" */

body.fs-large {
    font-size: 130% !important; /* Powiększa bazową czcionkę o 30% */
}

/* Poprawki czytelności dla nagłówków przy dużej czcionce */
body.fs-large h1, 
body.fs-large h2, 
body.fs-large h3 {
    line-height: 1.4 !important;
}

/* Powiększamy też menu nawigacyjne */
body.fs-large .nav-link {
    font-size: 1.1rem !important; 
}

/* Upewniamy się, że zwykły tekst w paragrafach i listach też rośnie */
body.fs-large p, 
body.fs-large li {
    font-size: 1.3rem; 
}
/* --- 10. POPRAWKI KONTRASTU (FIX LIGHTHOUSE) --- */

/* 1. Naprawa Daty (text-info było zbyt jasne na białym tle) */
.text-info {
    color: var(--primary) !important; /* Zmieniamy jasny błękit na nasz Ciemny Granat */
    opacity: 0.8; /* Lekko rozjaśniamy, ale nadal zachowujemy kontrast > 4.5:1 */
}

/* 2. Naprawa Przycisku (Wymuszamy Ciemny Granat i Biały Tekst) */
.btn-primary {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important; /* Czysta biel */
}

.btn-primary:hover, 
.btn-primary:focus, 
.btn-primary:active {
    background-color: #001a35 !important; /* Jeszcze ciemniejszy granat po najechaniu */
    border-color: #001a35 !important;
    color: #ffffff !important;
}

/* 3. Dodatkowe zabezpieczenie dla linków w kartach */
.news-card a {
    color: var(--primary);
    font-weight: 700;
}
.news-card a:hover {
    color: var(--accent);
    text-decoration: underline !important;
}
/* 4. Naprawa etykiet/badges (bg-info + text-white) */
/* Domyślny cyjan jest za jasny dla białego tekstu. Zmieniamy go na kolor główny. */
.badge.bg-info {
    background-color: var(--primary) !important; /* Ciemny Granat */
    color: #ffffff !important;
}

/* Opcjonalnie: Jeśli chcesz inny odcień dla badge'a, użyj ciemnego turkusu: */
/* background-color: #006064 !important; */


/* Animacja linków w stopce */
.footer-doc-link {
    display: inline-block;       /* Konieczne, aby 'scale' zadziałało */
    transition: all 0.3s ease;   /* Płynne przejście */
    transform-origin: left center; /* Powiększanie od lewej strony, żeby tekst nie uciekał */
}

.footer-doc-link:hover {
    transform: scale(1.05) translateX(5px); /* Lekkie powiększenie i przesunięcie w prawo */
    color: #ffffff !important;   /* Zmiana koloru na biały */
    text-shadow: 0 0 10px rgba(255,255,255,0.3); /* Delikatna poświata */
}

#respond {
    background: #f8f9fa;
    padding: 30px;
    border-radius: 15px;
    border: 1px solid #e9ecef;
}

#respond h3 {
    font-size: 20px;
    font-weight: bold;
    color: #333;
    margin-bottom: 20px;
}

/* Pole tekstowe */
#respond textarea {
    width: 100%;
    border: 2px solid #dee2e6;
    border-radius: 10px;
    padding: 15px;
    font-size: 16px;
    transition: border-color 0.3s;
}

#respond textarea:focus {
    border-color: #0d6efd; /* Kolor niebieski przy pisaniu */
    outline: none;
}

/* Przycisk wysyłania */
#respond .submit {
    background-color: #0d6efd; /* Kolor przycisku */
    color: white;
    padding: 12px 25px;
    border: none;
    border-radius: 50px;
    font-weight: bold;
    cursor: pointer;
    margin-top: 15px;
    transition: background 0.3s;
}

#respond .submit:hover {
    background-color: #0b5ed7; /* Ciemniejszy po najechaniu */
}