/* ==========================================
   TTPW — własne style Joomla 6 / Cassiopeia
   ========================================== */

:root {
    --ttpw-green: #006020;
    --ttpw-green-hover: #004515;
    --ttpw-light-green: #eef7e9;
    --ttpw-border: #d9e8d2;
}


/* ==========================================
   1. NAGŁÓWEK, HERB I NAZWA TOWARZYSTWA
   ========================================== */

.container-header {
    background: #ffffff;
    background-image: none;
    box-shadow: none;
    border-bottom: 1px solid var(--ttpw-border);
}

.container-header .navbar-brand img,
.container-header .brand-logo img {
    max-height: 95px;
    width: auto;
}

.container-header .site-description {
    color: var(--ttpw-green);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
}


/* ==========================================
   2. MENU GŁÓWNE
   ========================================== */

.container-header .container-nav {
    background-color: var(--ttpw-light-green);
    border-radius: 5px;
    padding: 6px 12px;
    margin-bottom: 8px;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span {
    color: var(--ttpw-green);
    text-decoration: none;
}

.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li > a:focus {
    color: #ffffff;
    background-color: var(--ttpw-green);
    border-radius: 4px;
}

/* Aktualnie wybrana pozycja */
.container-header .mod-menu .current > a,
.container-header .mod-menu .active > a {
    color: #ffffff;
    background-color: var(--ttpw-green);
    border-radius: 5px;
}


/* ==========================================
   3. SLIDER SIGPLUS
   ========================================== */

.container-top-a .moduletable,
.container-top-a .mod-custom,
.container-top-a .card {
    background-color: var(--ttpw-light-green);
    border: 1px solid var(--ttpw-border);
    border-radius: 5px;
    padding: 15px;
}


/* ==========================================
   4. MENU BOCZNE — DOŁĄCZ DO NAS
   ========================================== */

.container-sidebar-right .mod-menu {
    background-color: var(--ttpw-light-green);
    border: 1px solid var(--ttpw-border);
    border-radius: 5px;
    padding: 15px;
}

.container-sidebar-right .mod-menu a,
.container-sidebar-left .mod-menu a,
.sidebar-right .mod-menu a,
.sidebar-left .mod-menu a {
    color: var(--ttpw-green);
    text-decoration: none;
}

.container-sidebar-right .mod-menu a:hover,
.container-sidebar-left .mod-menu a:hover,
.sidebar-right .mod-menu a:hover,
.sidebar-left .mod-menu a:hover {
    color: var(--ttpw-green-hover);
    text-decoration: underline;
}


/* ==========================================
   5. TYTUŁY ARTYKUŁÓW — LISTA AKTUALNOŚCI
   ========================================== */

body .blog-item .page-header h2,
body .blog-item .page-header h2 a,
body .blog-item .item-title,
body .blog-item .item-title a,
body .com-content-category-blog .page-header h2,
body .com-content-category-blog .page-header h2 a {
    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--ttpw-green) !important;
}

/* Usunięcie podkreśleń tytułów */
body .blog-item .page-header a,
body .blog-item .item-title a,
body .com-content-category-blog .page-header a {
    text-decoration: none !important;
    text-decoration-line: none !important;
}

body .blog-item .page-header a:hover,
body .blog-item .item-title a:hover,
body .com-content-category-blog .page-header a:hover {
    color: var(--ttpw-green-hover) !important;
    text-decoration: none !important;
}


/* ==========================================
   6. TYTUŁY PO OTWARCIU ARTYKUŁU
   ========================================== */

body .com-content-article .page-header h1,
body .com-content-article .page-header h2,
body .com-content-article .page-header h1 a,
body .com-content-article .page-header h2 a,
body .com-content-article__header h1,
body .com-content-article__header h2,
body .com-content-article__header h1 a,
body .com-content-article__header h2 a {
    font-size: 25px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--ttpw-green) !important;
    text-decoration: none !important;
}

body .com-content-article .page-header a:hover,
body .com-content-article__header a:hover {
    color: var(--ttpw-green-hover) !important;
    text-decoration: none !important;
}


/* ==========================================
   7. ODSTĘPY POD TYTUŁAMI
   ========================================== */

.com-content-category-blog .page-header,
.com-content-article .page-header,
.com-content-article__header {
    margin-bottom: 12px;
}

.com-content-category-blog .page-header h2,
.com-content-article .page-header h1,
.com-content-article .page-header h2 {
    margin-bottom: 0;
}

.com-content-category-blog .blog-item .item-content > p:first-of-type,
.com-content-article__body > p:first-of-type {
    margin-top: 0;
}


/* ==========================================
   8. TELEFONY I MNIEJSZE EKRANY
   ========================================== */

@media (max-width: 767px) {

    .container-header .navbar-brand img,
    .container-header .brand-logo img {
        max-height: 75px;
    }

    .container-header .site-description {
        font-size: 21px;
    }

    body .blog-item .page-header h2,
    body .blog-item .page-header h2 a,
    body .com-content-category-blog .page-header h2,
    body .com-content-category-blog .page-header h2 a {
        font-size: 21px !important;
    }

    body .com-content-article .page-header h1,
    body .com-content-article__header h1 {
        font-size: 23px !important;
    }
}


/* Elementy wewnątrz akapitów: pogrubienia, linki itp. */
body .com-content-article p *,
body .com-content-category-blog .blog-item p * {
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* Jednolite odstępy między akapitami */
body .com-content-article p,
body .com-content-category-blog .blog-item p {
    margin-bottom: 14px;
}

/* Zdjęcia zachowują naturalne proporcje */
body .com-content-article img,
body .com-content-category-blog .blog-item img {
    max-width: 100%;
    height: auto;
}


/* TTPW — zielone linki w ścieżce nawigacji */
.container-breadcrumbs .breadcrumb a,
.breadcrumb a,
.mod-breadcrumbs a {
    color: #006020 !important;
    text-decoration: none !important;
}

/* Po najechaniu myszką */
.container-breadcrumbs .breadcrumb a:hover,
.breadcrumb a:hover,
.mod-breadcrumbs a:hover {
    color: #004515 !important;
    text-decoration: underline !important;
}





/* TTPW — delikatnie szare tło witryny */

/* TTPW — jasnoszare otoczenie strony */
body.site {
    background: #f7f7f7;
}

/* Biała powierzchnia całej witryny */
body.site .site-grid {
    background: #ffffff;
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 20px 30px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.06);
}

/* Biała część nagłówka */
body.site .container-header {
    background: #ffffff;
    border-bottom: 0;
}

/* Treść artykułów bez osobnych białych prostokątów */
body.site .container-component {
    background: transparent;
}

/* Wygodny odstęp od krawędzi na telefonach */
@media (max-width: 767px) {
    body.site .site-grid {
        padding: 0 12px 20px;
    }
}


/* TTPW — szare otoczenie również wokół nagłówka */
body.site .container-header {
    background: #f7f7f7;
    border-bottom: none;
}

/* Biały obszar nagłówka ograniczony do szerokości strony */
body.site .container-header .grid-child {
    background: #ffffff;
    max-width: 1360px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Białe tło pomiędzy herbem a menu */
body.site .container-header .container-nav {
    background: #ffffff;
}


/* TTPW — zielone tło modułu Facebook */
.ttpw-facebook {
    background-color: #ffffff;
    border: 1px solid #d9e8d2;
    border-radius: 5px;
    padding: 15px;
    text-align: center;
}

/* TTPW — zielony przycisk menu na telefonach */
.container-header .navbar-toggler {
    color: #006020;
    border: 1px solid #006020;
    border-radius: 5px;
}







