:root {
    --bg-body: #f1f3f7;
    --navy-dark: #0a2540;
    --navy-gradient: linear-gradient(135deg, #0a2540 0%, #1a3a5f 100%);
    --blue-accent: #007bff;
    --blue-light: #e8f1f5;
    --text-main: #333333;
    --card-shadow: 0 4px 15px rgba(0,0,0,0.05);
    
    --soft-blue-gray: #e2e8f0;
}

body {
    background-color: var(--bg-body);
    color: var(--text-main);
    font-family: 'Segoe UI', Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 15px;
}

/* BELKA GÓRNA V2 */
.header-banner-v2 {
    background: linear-gradient(90deg, #ffffff 0%, #f8fafc 40%, #eef2f7 100%);
    border-bottom: 3px solid #0056b3;
    position: relative;
    overflow: hidden;
    min-height: 135px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

.logo-card-wrapper {
    background: #ffffff;
    padding: 10px 22px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(10, 37, 64, 0.07);
    border: 1px solid rgba(0, 123, 255, 0.15);
    display: inline-block;
    transition: transform 0.2s ease;
}
.logo-card-wrapper:hover {
    transform: translateY(-2px);
}

.site-logo {
    max-height: 80px;
    width: auto;
    display: block;
}

.city-illustration-v2 {
    position: absolute;
    bottom: 0;
    right: -20px;
    width: 70%;
    height: 100%;
    pointer-events: none;
}
.city-illustration-v2 svg {
    width: 100%;
    height: 100%;
}

.bg-navy {
    background-color: var(--navy-dark) !important;
}

.card-custom {
    border: none;
    border-radius: 12px;
    box-shadow: var(--card-shadow);
    background: #ffffff;
}

/* KARTA MENU W CIEMNIEJSZYM, LEKKO GRAFITOWYM SZARYM ODCIENIU */
.card-sidebar-soft {
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    background-color: var(--soft-blue-gray) !important;
}

/* MENU BOCZNE - ORYGINALNE STYLE PRZYCISKÓW I HOVER */
.sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.sidebar-menu li,
.sidebar-menu .nav-item {
    margin-bottom: 6px;
    list-style: none;
}
.sidebar-menu a {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    color: #4a5568;
    text-decoration: none;
    font-weight: 500;
    border-radius: 8px;
    font-size: 14px;
    transition: all 0.2s ease;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
}

.sidebar-menu a:hover {
    background-color: var(--blue-light);
    color: var(--navy-dark);
    padding-left: 18px;
    border-color: #cbd5e1;
}

.sidebar-menu li.menu-current a,
.sidebar-menu li.menu-active a,
.sidebar-menu .nav-item.menu-current a,
.sidebar-menu .nav-item.active a {
    background: var(--navy-gradient);
    color: #ffffff !important;
    border-color: var(--navy-dark);
    box-shadow: 0 4px 10px rgba(10, 37, 64, 0.2);
}

.sidebar-menu a::before {
    font-family: "bootstrap-icons";
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    margin-right: 10px;
    font-size: 1.1rem;
    transition: transform 0.2s ease;
    content: "\F3D7";
}

.sidebar-menu a[href*="aktualnosci"]::before { content: "\F473"; }
.sidebar-menu a[href*="regulacje"]::before {
    font-family: 'Segoe UI', Arial, sans-serif !important;
    content: "§" !important;
    font-weight: bold;
    font-size: 1.25rem;
    line-height: 1;
    margin-right: 12px;
    display: inline-block;
    width: 16px;
    text-align: center;
}
.sidebar-menu a[href*="sklad"]::before { content: "\F4D7"; }
.sidebar-menu a[href*="uchwaly-zarzadu"]::before { content: "\F390"; }
.sidebar-menu a[href*="regulaminy"]::before { content: "\F52F"; }
.sidebar-menu a[href*="uchwaly-rady"]::before { content: "\F390"; }
.sidebar-menu a[href*="walne"]::before { content: "\F4D6"; }
.sidebar-menu a[href*="statut"]::before { content: "\F52F"; }
.sidebar-menu a[href*="kontakt"]::before { content: "\F32F"; }
.sidebar-menu a[href*="druki"]::before { content: "\F389"; }
.sidebar-menu a[href*="dane"]::before { content: "\F431"; }

/* ========================================================= */
/* KARTY DLA MODUŁU NEWS                                     */
/* ========================================================= */

.content-area table.loop-header,
.content-area table.loop-header tbody {
    display: block !important;
    width: 100% !important;
}

.content-area table.loop-header tr.post-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 10px 16px !important;
    margin-top: 14px !important;
}

.content-area table.loop-header tr.post-top td {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.content-area table.loop-header td.post-title a {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    text-decoration: none !important;
}

.content-area table.loop-header td.post-title a:hover {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

.content-area table.loop-header td.post-date {
    color: #64748b !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    padding-left: 12px !important;
}

.content-area table.loop-header tr:not(.post-top) {
    display: block !important;
    margin-bottom: 14px !important;
}

.content-area table.loop-header tr:not(.post-top) td.post-short {
    display: block !important;
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    border-top: none !important;
    border-radius: 0 0 10px 10px !important;
    padding: 12px 16px 12px 16px !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.03) !important;
}

.content-area td.post-short p {
    margin-bottom: 6px !important;
    line-height: 1.45 !important;
}

.content-area td.post-short p:last-child,
.content-area td.post-short p:last-of-type {
    margin-bottom: 0 !important;
}

.content-area td.post-short h3,
.content-area .loop-header h3 {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 8px 0 0 0 !important;
}

.content-area td.post-short h3[style*="hidden"] {
    display: none !important;
}

.content-area td.post-short h3 a,
.content-area .loop-header h3 a {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0a2540 !important;
    text-decoration: none !important;
    background-color: #ffffff !important;
    padding: 6px 16px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.03) !important;
    transition: all 0.2s ease !important;
}

.content-area td.post-short h3 a:hover,
.content-area .loop-header h3 a:hover {
    background-color: #0a2540 !important;
    color: #ffffff !important;
    border-color: #0a2540 !important;
    text-decoration: none !important;
}

/* ========================================================= */
/* DEDYKOWANA KLASA PRZYCISKU DLA LINKÓW 'POBIERZ'            */
/* ========================================================= */

.content-area .m_wysiwyg a.btn-download-link {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #0a2540 !important;
    background-color: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 4px 12px !important;
    margin-left: 8px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.content-area .m_wysiwyg a.btn-download-link:hover {
    background-color: #0a2540 !important;
    color: #ffffff !important;
    border-color: #0a2540 !important;
}

.content-area .m_wysiwyg a.btn-download-link::before {
    font-family: "bootstrap-icons" !important;
    content: "\F290" !important;
    margin-right: 6px !important;
    font-size: 0.9rem !important;
}

/* ========================================================= */
/* PRECYZYJNE WYRÓWNANIE PEŁNEGO PADDINGU DLA TABEL WYSIWYG  */
/* ========================================================= */

.content-area .m_wysiwyg table:not(.loop-header):not(.page-header),
.content-area article table:not(.loop-header):not(.page-header) {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 18px 0 !important;
    background-color: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid #cbd5e1 !important;
}

.content-area .m_wysiwyg table:not(.loop-header):not(.page-header) th,
.content-area .m_wysiwyg table:not(.loop-header):not(.page-header) td,
.content-area article table:not(.loop-header):not(.page-header) th,
.content-area article table:not(.loop-header):not(.page-header) td {
    border: 1px solid #cbd5e1 !important;
    padding: 10px 12px !important;
    vertical-align: middle !important;
}

.content-area .m_wysiwyg table:not(.loop-header):not(.page-header) td p,
.content-area .m_wysiwyg table:not(.loop-header):not(.page-header) th p,
.content-area article table:not(.loop-header):not(.page-header) td p,
.content-area article table:not(.loop-header):not(.page-header) th p {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

.content-area .m_wysiwyg table:not(.loop-header):not(.page-header) tr:first-child,
.content-area article table:not(.loop-header):not(.page-header) tr:first-child {
    background-color: #f1f5f9 !important;
    font-weight: 600 !important;
}

.content-area .m_wysiwyg table:not(.loop-header):not(.page-header) tr:nth-child(even),
.content-area article table:not(.loop-header):not(.page-header) tr:nth-child(even) {
    background-color: #f8fafc !important;
}

/* Wyszukiwarka w menu */
.sidebar-search-box .btn-navy {
    background-color: var(--navy-dark);
    color: #ffffff;
    border: none;
}
.sidebar-search-box .btn-navy:hover {
    background-color: #1a3a5f;
    color: #ffffff;
}

/* --------------------------------------------------------- */
/* STYLIZACJA STRONICOWANIA (PAGINACJI) NA DOLE              */
/* --------------------------------------------------------- */
.content-area table.page-header {
    width: 100% !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    border-top: 1px dashed #cbd5e1 !important;
    padding-top: 15px !important;
}

.content-area table.page-header td {
    padding: 5px !important;
    text-align: center !important;
}

.content-area table.page-header a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0a2540 !important;
    background-color: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    margin: 0 3px !important;
}

.content-area table.page-header a:hover {
    background-color: #0a2540 !important;
    color: #ffffff !important;
    border-color: #0a2540 !important;
}

.content-area table.page-header td.page-center {
    font-weight: 700 !important;
    color: #0a2540 !important;
    font-size: 14px !important;
}

/* Autor bez pogrubienia */
.content-area td.public-info,
.content-area td.public-info b,
.content-area td.public-info strong {
    font-weight: 400 !important;
    color: #64748b !important;
    font-size: 13px !important;
}

/* Tytuł artykułu po wejściu */
.content-area table.post-header h1,
.content-area table.post-header h1 * {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #0a2540 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Zwykłe linki w treści wpisu */
.content-area p a,
.content-area .m_news p a {
    color: #0056b3 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    display: inline !important;
}

.content-area p a:hover,
.content-area .m_news p a:hover {
    color: #0a2540 !important;
    text-decoration: none !important;
}

/* Przycisk Wstecz */
.content-area .m_news > a:last-child,
.content-area .m_news > a[href*="/pages/"] {
    display: inline-flex !important;
    align-items: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #0a2540 !important;
    text-decoration: none !important;
    background-color: #f1f5f9 !important;
    padding: 8px 18px !important;
    border-radius: 8px !important;
    border: 1px solid #cbd5e1 !important;
    margin-top: 15px !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.04) !important;
    transition: all 0.2s ease !important;
}

.content-area .m_news > a:last-child:hover,
.content-area .m_news > a[href*="/pages/"]:hover {
    background-color: #0a2540 !important;
    color: #ffffff !important;
    border-color: #0a2540 !important;
}

.min-vh-75 { min-height: 70vh; }

.btn-navy-toggle {
    background-color: var(--navy-dark);
    color: #ffffff;
    border: none;
    padding: 10px 16px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(10, 37, 64, 0.15);
}
.btn-navy-toggle:hover, 
.btn-navy-toggle:focus {
    background-color: #1a3a5f;
    color: #ffffff;
}

@media (max-width: 991.88px) {
    .offcanvas-lg.offcanvas-start {
        width: 280px;
    }
    .header-banner-v2 {
        min-height: 100px;
        padding-bottom: 10px;
    }
    .logo-card-wrapper {
        padding: 6px 14px;
    }
    .site-logo {
        max-height: 55px;
    }
    .city-illustration-v2 {
        height: 60px;
        opacity: 0.5;
    }
}
