/*
Theme Name: Minimal Sidebar Theme
Author: Stefan Bieńkowski
Description: Wersja 4.4 - Wyśrodkowanie na dużych ekranach (max 1350px), niebieski kolor i pogrubienie aktywnego wyzwalacza.
Version: 4.4
*/

:root {
    --sidebar-width: 280px;
    --bg-color: #ffffff;
    --text-color: #000000;
    --font-main: "Times New Roman", Times, serif;
    --logo-size: 2.1rem; 
    --menu-main-size: 1.6rem; 
    --menu-sub-size: 1.15rem;
    --baseline-top: 60px; 
    --left-margin: 50px; 
    --content-gap: 50px;  
    --max-page-width: 1350px; 
}

/* --- PODSTAWY --- */
body {
    margin: 0; padding: 0;
    font-family: var(--font-main) !important;
    color: var(--text-color);
    background-color: var(--bg-color);
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
}

a { text-decoration: none !important; color: #000 !important; }

#theme-wrapper {
    display: grid;
    grid-template-columns: var(--sidebar-width) 1fr;
    min-height: 100vh;
    max-width: var(--max-page-width); 
    margin: 0 auto; 
}

/* --- SIDEBAR --- */
#main-sidebar {
    height: 100vh;
    position: sticky;
    top: 0;
    padding-top: var(--baseline-top);
    box-sizing: border-box;
    z-index: 2000;
    background: #fff;
}

.sidebar-logo { padding: 0 0 55px var(--left-margin); }
.sidebar-logo h1 { font-size: var(--logo-size) !important; font-weight: 400; margin: 0; line-height: 1; }

#main-sidebar nav ul { list-style: none !important; padding: 0; margin: 0; }

/* POZIOM 1 */
#main-sidebar nav > ul > li > a { 
    display: block; 
    padding: 10px 20px 10px var(--left-margin); 
    line-height: 1.2; 
    font-size: var(--menu-main-size) !important;
}

#main-sidebar nav ul li a:hover { font-style: italic !important; }

#main-sidebar nav ul li.current-menu-item > a,
#main-sidebar nav ul li.current-menu-ancestor > a { 
    font-weight: 700 !important; 
}

/* --- SUB-MENU --- */
#main-sidebar nav ul .sub-menu { 
    display: none; 
    padding: 2px 0 5px 0; 
}

#main-sidebar nav ul li.current-menu-item > .sub-menu,
#main-sidebar nav ul li.current-menu-ancestor > .sub-menu { 
    display: block !important; 
}

/* Wspólna blokada wielkości fontu dla P2 i P3 */
#main-sidebar nav ul .sub-menu li a { 
    font-size: var(--menu-sub-size) !important; 
    line-height: 1.3;
    display: block;
    font-weight: 400;
}

/* POZIOM 2 */
#main-sidebar nav > ul > li > .sub-menu > li > a { 
    padding: 6px 20px 6px 75px !important; 
}

/* POZIOM 3 */
#main-sidebar nav ul .sub-menu .sub-menu li a {
    padding-left: 100px !important;
}

/* --- TREŚĆ GŁÓWNA --- */
#main-content {
    padding-top: var(--baseline-top);
    padding-left: var(--content-gap);
    padding-right: 80px;
    padding-bottom: 100px;
}

.content-area { max-width: 900px; }
h1.entry-title { display: none; }

/* --- TOGGLE --- */
.toggle-container { margin-bottom: 45px; } 
.toggle-title { font-size: 1.45rem; font-weight: 400; margin-bottom: 5px; display: block; }
.toggle-teaser { display: block; margin-bottom: 5px; }

/* Domyślny wyzwalacz: kobaltowy, kursywa, normalna grubość (waga 400) */
.toggle-trigger { cursor: pointer; font-style: italic; color: #2816F0 !important; font-size: 0.9rem; font-weight: 400; }

/* Aktywny wyzwalacz: kobaltowy, kursywa, pogrubiony (waga 700) */
.toggle-container.is-open .toggle-trigger { font-weight: 700 !important; }

.toggle-content { 
    max-height: 0; 
    overflow: hidden; 
    opacity: 0; 
    transition: max-height 0.7s ease, opacity 0.5s ease;
}

.toggle-container.is-open .toggle-content { 
    max-height: 3000px; 
    opacity: 1; 
    margin-top: 15px; 
}

/* --- MOBILNE --- */
#mobile-header { display: none; }

@media (max-width: 1200px) {
    #theme-wrapper { grid-template-columns: 1fr; }
    #mobile-header {
        display: flex; justify-content: space-between; align-items: center;
        height: 70px; padding: 0 25px; background: #fff;
        position: fixed; top: 0; width: 100%; z-index: 3000;
        border-bottom: 1px solid #eee; box-sizing: border-box;
    }

    #mobile-toggle {
        background: none; border: none; cursor: pointer;
        padding: 10px; display: flex; flex-direction: column; gap: 5px;
    }
    .burger-bar { display: block; width: 22px; height: 1px; background: #000; }

    #main-sidebar {
        position: fixed; left: 0; top: 70px; width: 85%; height: calc(100vh - 70px);
        background: #fff;
        transform: translateX(-100%); transition: transform 0.3s ease-in-out;
        padding-top: 40px; overflow-y: auto;
        box-shadow: 15px 0 30px rgba(0,0,0,0.1); 
    }
    
    body.sidebar-open #main-sidebar { transform: translateX(0); }
    #main-content { padding-top: 100px; padding-left: 20px; padding-right: 20px; }

    .wp-block-columns.odwroc-mobile {
        display: flex !important;
        flex-direction: column !important;
    }

    .wp-block-columns.odwroc-mobile > .wp-block-column:nth-child(2) {
        order: -1 !important;
        margin-bottom: 30px;
    }
}