/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
*/


}



body.home .page-header {
    margin-bottom: 0px !important;
}

.one-container .site-content {
    padding: 0px 40px 40px 40px;
}

.pb_telmail {
    text-align: center;
    font-size: 16px;
    font-weight: 300;
    text-transform: none;
    margin-right: 30px;
    margin-top: 10px;
}


.sidebar .widget {
    background-color: var(--base-3);
    align-items: center;
    flex-direction: column;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(59, 73, 105, .5);
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    transition: box-shadow .3s ease;
}

.inside-header {
  max-width: 1400px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;


    display: flex;
    align-items: center;
    flex-wrap: nowrap;   /* klucz: nie łamie na 2 linie */
   
}

.site-header {

    text-align: center;
        line-height: 1;
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        background-color: #000000;
        border-bottom: 1px solid #da291c;
}

a,
a:hover,
a:focus,
a:active {
  text-decoration: none;
}

.main-navigation .main-nav ul li a {
    padding-left: 5px !important;}



#form-pb {
}


@media(max-width:767px){
.pb_telmail {
    text-align: right;
    font-size: 16px;
    font-weight: 300;
    text-transform: none;
    margin-right: 30px;
    margin-top: 10px;
	line-height: 1.2;
}

    /* Opcjonalne: usuwa biały odstęp nad bannerem na mobile */
    .site-main {
        padding-top: 0 !important;
    }

.news-category-nav {display: none;}


.inside-header {
    padding: 18px 20px;
    gap: 0px;
}


.menu-toggle {
    position: absolute;
    right: 0;
    top: 29%;
    transform: translateY(-50%);
    scale: 158%;
}




}

@media(max-width:767px){
    .carousel-indicators{margin-bottom:0px;bottom:0px}
}

.h1stylepb{
       
        font-size: 2.5vw !important;            
        padding: 20px 10% !important; 
        text-align: center;
font-weight: 300;
text-align: center;

color: black; margin-bottom: 0em;
margin-left: -9999px;
margin-right: -9999px;
padding-left: 9999px;
padding-right: 9999px;







}
@media(min-width:767px){.h1stylepb{font-size: 27px;font-weight: 400;text-align: center; letter-spacing: 3pt}}

.grecaptcha-badge {
display: none;
}




.pb_telmail {
    text-align: center;
    font-size: 16px;
    font-weight: 300;
    text-transform: none;
    margin-right: 30px;
    margin-top: 10px;
}



@media (min-width: 991px) {
  .pb_telmail {
    text-align: right;
    font-size: 15px;
    font-weight: 300;
    text-transform: none;
    margin-right: 0px;
    margin-top: 0px;
    line-height: 22px;
}
}

/* Pasek przewijający tekst  */
.ticker-container {
    width: 100%;
    background-color: #ffffff; /* biały pasek */
    overflow: hidden;
    white-space: nowrap;
    padding: 2px 0;
    box-sizing: border-box;
        
}

.ticker-text {
    display: inline-block;
    font-family: 'Yantramanav';
    padding-left: 100%;
    animation: ticker 27s linear infinite;
    color: #da291c; /* czerowny tekst */
    font-size: 24px;
    font-weight: 300;
    padding-top: 0.5em;
}

@keyframes ticker {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
/* --- WSPÓLNE STYLE DLA BANNERA --- */
/*.pb-top {
    background-color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

.pb-top picture, 
.pb-top img {
    display: block;
    height: auto !important;
}*/

.pb-top {
    position: relative;
    display: inline-block;
}

.pb-top img {
    display: block;
    width: 100%;
    height: auto;
}



/* --- STYLE DLA MOBILE (poniżej 1180px) --- */
@media (max-width: 1179px) {
    .pb-top {
        width: 100vw !important;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
    }
    
    .pb-top img {
        width: 100% !important;
        max-width: 100% !important;
    }


}

/* --- TWOJE STARE STYLE DLA DESKTOP (od 1180px wzwyż) --- */
@media (min-width: 1180px) {
    .pb-top {
        width: 100vw !important;
        position: relative;
        left: 50%;
        right: 50%;
        margin-left: -50vw !important;
        margin-right: -50vw !important;
    }

    .pb-top img {
        width: 100% !important;
        max-width: 1920px !important; 
        min-width: 100vw; 
        object-fit: cover;
    }
}
.pb-klawisz {background: #da291c;
    color: white;
    box-shadow: 0 4px 22px rgba(0, 0, 0, 0.2)}


.pb-button2000 {

    color: white;
    padding: 20px;
    text-align: center;
    line-height: 1;
}

.pb-button2000 .pb-text {
  display: block;
  font-size: 18px;
  margin-bottom: 10px;
  color: black;
}









/* Formularz Kontaktowy */
.flexForm {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 50px;
}

.form-container {
  width: 50%;
  margin: 0 auto;
}

.other-categories-header {
    font-size: 1.5em;
    margin: 0.83em 0;
}

ul#bottom-section-links {
    padding: 0px;
    list-style: none;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 10px;
}


@media (max-width: 768px) {
  .form-container {
    width: 100%;
  }
}

.wpcf7-form {
  width: 100%;

}

.wpcf7-form label {
  width: 100%;
}

.wpcf7-form .wpcf7-form-control-wrap {
  width: 100%;
}

.wpcf7-form p {
  width: 100%;
  margin-bottom: 0.1em;
}

.wpcf7-form-control.wpcf7-text {
  padding: 8px;
  border: 1px solid #a5a5a5;
  border-radius: 0px;
  margin-right: 25px;
  margin-bottom: 8px;
  width: 100%;
}

.wpcf7-form-control.wpcf7-select {
  padding: 8px 0;
  border: 1px solid #000000;
  border-radius: 0px;
  width: calc(100%);
}

.wpcf7-form-control.wpcf7-textarea {
  border: 1px solid #a5a5a5;
  border-radius: 0px;
  width: 100%;
}

@media (max-width: 996px) {
  .wpcf7-form-control.wpcf7-textarea {
    border: 1px solid #a5a5a5;
    border-radius: 0px;
  }
  .flexForm {
    display: block;
    margin-top: 50px;
  }
}



.frozen-box {position: fixed;    z-index: 1;}

@media (max-width: 990px) {
  .frozen-box {
    width: auto;
   position: unset
  }}


.frozen-box-pb {
 background: white;

    align-items: center;
    flex-direction: column;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(59,73,105,.5);
    display: flex; 
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    transition: box-shadow .3s ease;}

.frozen-box-pb_iod {
 background: white;

    align-items: center;
    flex-direction: column;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(59,73,105,.5);
    display: flex; 
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    transition: box-shadow .3s ease;}

@media (min-width: 991px) {
  .frozen-box-pb {
width: auto;
margin-left: 1em;
margin-right: 2em;
margin-top: 115px !important;
  }
}

@media (min-width: 991px) {
  .mobile_only {
display: none;
  }}

@media (min-width: 991px) {
  .frozen-box-pb_iod {
width: auto;
margin-left: 1em;
margin-right: 2em;

  }
}

@media (min-width: 991px) {
  .mobile_only_iod {
display: none;
  }
}




@media (max-width: 990px) {
  .frozen-box-pb {
width: auto;
margin-left: auto;
margin-right: auto;
  }
}

/* ===================================================
   NEWS + CATEGORY – wspólny CSS
   =================================================== */

/* ---------- FULL WIDTH (desktop) ---------- */
@media (min-width: 1024px) {
  body.page-template-news-php .site-content,
  body.page-template-news-php .content-area,
  body.page-template-news-php #primary,
  body.page-template-news-php .inside-article,
  body.page-template-news-php .inside-page,
  body.page-template-news-php .grid-container,
  body.category .site-content,
  body.category .content-area,
  body.category #primary,
  body.category .inside-article,
  body.category .inside-page,
  body.category .grid-container {
    max-width: 100% !important;
    width: 100% !important;
  }

  body.page-template-news-php .grid-container,
  body.category .grid-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* ---------- PASEK KATEGORII ---------- */
body.page-template-news-php .news-category-nav,
body.category .news-category-nav {
  margin: 30px 0 40px;
  padding: 16px 18px;
  border: 1px solid #eee;
  border-radius: 6px;
  background: #fafafa;
  
    margin-left: auto;
    margin-right: auto;
}

body.page-template-news-php .news-category-list,
body.category .news-category-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

body.page-template-news-php .news-category-list a,
body.category .news-category-list a {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  text-decoration: none;
  font-size: 14px;
  color: #c40000;
  background: #fff;
  transition: all .2s ease;
}

body.page-template-news-php .news-category-list a:hover,
body.category .news-category-list a:hover {
  background: #c40000;
  color: #fff;
}

body.page-template-news-php .news-category-list a.active,
body.category .news-category-list a.active {
  background: #c40000;
  color: #fff;
  border-color: #c40000;
}

/* ---------- LISTA AKTUALNOŚCI ---------- */
body.page-template-news-php .news-list,
body.category .news-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body.page-template-news-php .news-item,
body.category .news-item {
  display: flex;
  gap: 20px;
  padding: 22px 24px;
  border: 1px solid #eee;
  border-radius: 6px;
  background: #fff;
  align-items: flex-start;
}

/* ---------- MINIATURA ---------- */
body.page-template-news-php .news-thumb,
body.category .news-thumb {
  flex: 0 0 240px;
  width: 240px;
  height: 140px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

body.page-template-news-php .news-thumb img,
body.page-template-news-php .news-thumb .wp-post-image,
body.page-template-news-php .news-thumb img.attachment-thumbnail,
body.page-template-news-php .news-thumb img.size-thumbnail,
body.category .news-thumb img,
body.category .news-thumb .wp-post-image,
body.category .news-thumb img.attachment-thumbnail,
body.category .news-thumb img.size-thumbnail {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px;
  display: block;
}

/* ---------- TREŚĆ ---------- */
body.page-template-news-php .news-content,
body.category .news-content {
  max-width: 920px;
}

body.page-template-news-php .news-title,
body.category .news-title {
  margin: 0 0 6px;
  font-size: 20px;
  line-height: 1.25;
}

body.page-template-news-php .news-title a,
body.category .news-title a {
  text-decoration: none;
}

body.page-template-news-php .news-meta,
body.category .news-meta {
  font-size: 14px;
  color: #777;
  margin-bottom: 10px;
}

body.page-template-news-php .news-excerpt,
body.category .news-excerpt {
  margin-bottom: 12px;
}

body.page-template-news-php .news-more,
body.category .news-more {
  color: #c40000;
  font-weight: 600;
  text-decoration: none;
}

/* ---------- MOBILE ---------- */
@media (max-width: 768px) {
  body.page-template-news-php .news-item,
  body.category .news-item {
    flex-direction: column;
  }

  body.page-template-news-php .news-thumb,
  body.category .news-thumb {
    width: 100%;
    height: auto;
  }

  body.page-template-news-php .news-thumb img,
  body.category .news-thumb img {
    max-height: 220px;
  }

  body.page-template-news-php .news-content,
  body.category .news-content {
    max-width: 100%;
  }
}

/* ---------- PAGINACJA ---------- */
body.page-template-news-php .news-pagination,
body.category .news-pagination {
  margin: 26px 0 10px;
}

body.page-template-news-php .news-pagination .page-numbers,
body.category .news-pagination .page-numbers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

body.page-template-news-php .news-pagination .page-numbers li,
body.category .news-pagination .page-numbers li {
  margin: 0;
  padding: 0;
}

body.page-template-news-php .news-pagination .page-numbers a,
body.page-template-news-php .news-pagination .page-numbers span,
body.category .news-pagination .page-numbers a,
body.category .news-pagination .page-numbers span {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid #eee;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  line-height: 1;
}

body.page-template-news-php .news-pagination .page-numbers .current,
body.category .news-pagination .page-numbers .current {
  background: #c40000;
  color: #fff;
  border-color: #c40000;
}

body.page-template-news-php .news-pagination .page-numbers a:hover,
body.category .news-pagination .page-numbers a:hover {
  border-color: #c40000;
}

/* ---------- TYTUŁ STRONY ---------- */
body.page-template-news-php .news-page-header .entry-title,
body.category .news-page-header .entry-title {
  font-family: 'Yantramanav', sans-serif !important;
  font-weight: 300 !important;
  font-size: 37px;
  text-align: center;
  margin-bottom: 20px;
}
/* ===================================================
   HOMEPAGE (MainPage) – pełna szerokość + styl newsów
   =================================================== */

/* reset po OXI, żeby newsy nie wchodziły w jego layout */
body.home .rr-clear,
body.page-template-homepage-php .rr-clear,
body.page-template-mainpage-php .rr-clear {
  clear: both;
  width: 100%;
  height: 0;
  display: block;
}

/* full width na desktop (homepage) */
@media (min-width: 1024px) {
  body.home .grid-container,
  body.page-template-homepage-php .grid-container,
  body.page-template-mainpage-php .grid-container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 40px;
    padding-right: 40px;
  }

  body.home #primary,
  body.page-template-homepage-php #primary,
  body.page-template-mainpage-php #primary {
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* ---- styl kart: taki sam jak w news.php ---- */
body.home .news-list,
body.page-template-homepage-php .news-list,
body.page-template-mainpage-php .news-list {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

body.home .news-item,
body.page-template-homepage-php .news-item,
body.page-template-mainpage-php .news-item {
  display: flex;
  gap: 20px;
  padding: 22px 24px;
  border: 1px solid #eee;
  border-radius: 6px;
  background: #fff;
  align-items: flex-start;
}

/* miniatura jak na news.php – prostokąt, bez ucinania */
body.home .news-thumb,
body.page-template-homepage-php .news-thumb,
body.page-template-mainpage-php .news-thumb {
  background: #fff;
  border: 1px solid #eee;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

body.home .news-thumb img,
body.home .news-thumb .wp-post-image,
body.page-template-homepage-php .news-thumb img,
body.page-template-homepage-php .news-thumb .wp-post-image,
body.page-template-mainpage-php .news-thumb img,
body.page-template-mainpage-php .news-thumb .wp-post-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  padding: 8px;
  display: block;
}

body.home .news-content,
body.page-template-homepage-php .news-content,
body.page-template-mainpage-php .news-content {
  max-width: 920px;
}

body.home .news-title,
body.page-template-homepage-php .news-title,
body.page-template-mainpage-php .news-title {
  margin: 0 0 6px;
  font-size: 1em;
}

body.home .news-meta,
body.page-template-homepage-php .news-meta,
body.page-template-mainpage-php .news-meta {
  font-size: 14px;
  color: #777;
  margin-bottom: 10px;
}

body.home .news-excerpt,
body.page-template-homepage-php .news-excerpt,
body.page-template-mainpage-php .news-excerpt {
  margin-bottom: 12px;
}

body.home .news-more,
body.page-template-homepage-php .news-more,
body.page-template-mainpage-php .news-more {
  color: #c40000;
  font-weight: 600;
  text-decoration: none;
}

/* mobile */
@media (max-width: 768px) {
  body.home .news-item,
  body.page-template-homepage-php .news-item,
  body.page-template-mainpage-php .news-item {
    flex-direction: column;
  }

  body.home .news-thumb,
  body.page-template-homepage-php .news-thumb,
  body.page-template-mainpage-php .news-thumb {
    width: 100%;
    height: auto;
  }

  body.home .news-thumb img,
  body.page-template-homepage-php .news-thumb img,
  body.page-template-mainpage-php .news-thumb img {
    max-height: 220px;
  }

  body.home .news-content,
  body.page-template-homepage-php .news-content,
  body.page-template-mainpage-php .news-content {
    max-width: 100%;
  }
}




---------------


/* Kontener nadrzędny - rozciągnięcie tła na całą szerokość */
.kyma-top-section {
    background-color: #ffffff !important;
    padding-top: 20px !important;
    position: relative !important;
    width: 100vw !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* Wymuszenie równego układu 50/50 na Desktopie */
@media (min-width: 1180px) {
    .kyma-row { 
        display: flex !important;
        justify-content: center !important;
        flex-wrap: wrap !important;
    }
    .kyma-top-section .kyma-row .col-md-6 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
   
    }
}

/* Wygląd Lewej Kolumny (Tytuły/Tekst) */
.kyma-col-left h1, {
    font-family: Yantramanav;
    font-weight: 500 !important;
    font-size: 2em !important;
    color: var(--maincolor);
}


.kyma-col-left h3 {
    font-family: Yantramanav;
    font-weight: 300 !important;
    font-size: 1.62 !important;
    color: var(--maincolor);
}

.kyma-col-right h3 {
    font-family: Yantramanav;
    font-weight: 300 !important;
    font-size: 2em !important;
    color: var(--maincolor);
}



/* Wygląd Prawej Kolumny (Formularz/Foto) */
.kyma-form-column #formularz, .kyma-form-column #form {
    background-color: white !important;
    border-radius: 6px !important;
    border: 1px solid #eeeeee !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}


/* Technika rozciągania pasków tła poza kontener */
.content_section.bg_white, 
.content_section.bg_gray, 
.content_section.bg_red { 
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0.5em 0 !important;
}

.bg_white { background-color: #fff !important; }
.bg_gray  { background-color: #f7f7f7 !important; }
.bg_red   { background-color: #da291c !important; }

/* Kontener środkowy ograniczający szerokość treści do 1400px */
.content { 
    max-width: 1400px !important; 
    margin: 0 auto !important; 
    padding: 0 20px; 
}


:root {
  --maincolor: #da291c;
  --jasnyszary: #f7f8f9;
}

/* Styl nagłówków w sekcji desc7 */
h2.title, h3.title {
    font-family: Yantramanav;
    font-size: 2.9em;
    font-weight: 100;
    text-align: center;
    position: relative;
}

/* Czerwona kreska pod tytułami */
h2.title:after, h3.title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0; right: 0; margin: 0 auto;
    width: 140px;
    height: 1px;
    background-color: var(--maincolor);
}



@media (max-width: 767px) {
    .kyma-col-left, .kyma-col-right {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }
    
    html, body {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}


.rr-ramka-tekst{
  max-width: 56rem;
  margin: 32px auto;
  padding: 22px 24px;

  background: #ffffff;
  border-radius: 6px;

  box-shadow:
    0 12px 40px rgba(0,0,0,.08),
    0 0 0 2px rgba(126,13,13,.08);

  position: relative;

  font-weight: 300;
  line-height: 1.35;
  font-size: clamp(10px, 1.2vw, 16px);
}
.rr-ramka-tekst2{
  max-width: 70rem;
  margin: 32px auto;
  padding: 22px 24px;

  background: #ffffff;
  border-radius: 6px;

  box-shadow:
    0 12px 40px rgba(0,0,0,.08),
    0 0 0 2px rgba(126,13,13,.08);

  position: relative;

  font-weight: 500;
  font-style: italic;
  line-height: 1.35;
  font-size: clamp(16px, 2.2vw, 26px);
}


.rr-ramka-tekst-red {
    max-width: 70rem;
    margin: 32px auto;
    padding: 22px 24px;
    background: white;
    border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0,0,0,.08),
    0 0 0 2px rgba(126,13,13,.08);
    position: relative;
    font-weight: 300;
    color: #000000;
    text-align: center;
    line-height: 1.35;
    font-size: clamp(35px, 2.2vw, 26px) !important;
    border: 1px #da291c solid;
}



-------------Kategoria--------------
/* Sekcja treści pod górnymi kartami */
.entry-content{
  --rr-text: rgba(0,0,0,.78);
  --rr-muted: rgba(0,0,0,.55);
}

/* Ogranicz szerokość „artykułu” pod cytatem */
.entry-content > h2,
.entry-content > h3,
.entry-content > p,
.entry-content > ul,
.entry-content > ol{
  max-width: 58em;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0px;
  padding-right: 20px;
}

/* Nagłówki jak w poradniku / raporcie */
.entry-content h2{
  margin-top: 34px;
  margin-bottom: 14px;
  font-size: clamp(22px, 2.2vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.2px;
  text-align: center;
}



.entry-content h3 {
    margin-top: 26px;
    margin-bottom: 10px;
    font-size: clamp(18px, 1.8vw, 26px);
    line-height: 1.2;
    font-style: normal;
}





/* Tekst akapitów – klucz do czytelności */
.entry-content p{
  color: var(--rr-text);
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.75;
  margin-bottom: 14px;
 text-align: justify;
font-weight: 300;
}







/* Linki spójne z RODORED */
.entry-content a{
  color: 000000
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* Listy, jeśli występują w treści */
.entry-content ul, .entry-content ol{
  color: var(--rr-text);
  line-height: 1.7;
  margin-top: 10px;
  margin-bottom: 16px;
}
.entry-content li{
  margin-bottom: 8px;
}

/* Mobile – trochę ciaśniej, ale nadal czytelnie */
@media (max-width: 768px){
  .entry-content p{ line-height: 1.7; }
  .entry-content h2{ margin-top: 26px; }
}

/* Ukrywanie na urządzeniach mobilnych (jeśli nie masz włączonego Bootstrapa) */
@media (max-width: 991px) {
    .hidden-sm { display: none !important; }
}

/* Styl listy w sidebarze */
.category-list {
    padding: 0;
    list-style: none;
}

.category-list li {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.category-list li:last-child {
    border-bottom: none;
}

.category-list a {
    text-decoration: none;
    color: #333;
    transition: color 0.3s;
}

.category-list a:hover {
    color: #007cba; /* Twój kolor akcentu */
}



.rr-ramka-tekst2 ul {
    list-style: none !important;
    padding-left: 0 !important;
}

.rr-ramka-tekst2 ul li {
    position: relative;
    padding-left: 35px !important;
    margin-bottom: 12px;
}

/* Nagłówek h2 w lewym górnym oknie */
.rr-ramka-tekst2 h2 {
    color: #da291c;
    font-size: 23px; 
    margin-bottom: 20px;
    font-weight: 600;
}

/* Nagłówek h4 Top */
.rr-ramka-tekst2 h4 {
    color: #da291c;
    font-size: 23px;
    margin-bottom: 20px;
    font-weight: 600;
    font-style: normal;
}
/* Tekst wewnątrz ramki (p, strong, li) */
.rr-ramka-tekst2, 
.rr-ramka-tekst2 p, 
.rr-ramka-tekst2 li {
    font-weight: 300;
    font-size: 18px; /* Zmniejszenie tekstu, aby nie był większy od h2 */
    line-height: 1.6;
    color: #333;
}





/* EFEKT SZAREGO TŁA NA PEŁNĄ SZEROKOŚĆ */
.rr-full-width-gray {
    background-color: #f6f6f6;
    position: relative;
    overflow: hidden;
    padding-top: 20px; /* Zredukowany górny margines */
    padding-bottom: 40px;
}

@media (min-width: 1180px) {
    .rr-full-width-gray {
        margin-left: -9999px;
        margin-right: -9999px;
        padding-left: 9999px;
        padding-right: 9999px;
    }
}

/* SYSTEM WYRÓWNANIA KOLUMN */
.rr-flex-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    margin-top: 40px !important;
    /* Usuwamy boczne marginesy rzędu, aby dociągnąć do boków */
    margin-left: 0 !important;
    margin-right: 0 !important;
}

@media (min-width: 992px) {
    .kyma-col-left {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-left: 0 !important;   /* Dociąga lewą kolumnę do lewej krawędzi */
        padding-right: 15px !important; /* Odstęp tylko w środku */
        display: flex !important;
    }
    .kyma-col-right {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        padding-right: 0 !important;  /* Dociąga prawą kolumnę do prawej krawędzi */
        padding-left: 15px !important;  /* Odstęp tylko w środku */
        display: flex !important;
    }
}

/* RAMKA - PRZEZROCZYSTA DLA KOLUMN */
.rr-ramka-tekst2.rr-relative {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: 100% !important;
    
    /* Zmieniamy na przezroczyste, by nie było problemu z tłem pasów */
    background: #ffffff !important; 
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 60px 30px 30px 30px !important;
    position: relative !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* ZDJĘCIE EKSPERTA */
.rr-foto-top {
    position: absolute;
    top: -23px;
    right: -23px; 
    width: 115px;
    z-index: 10;
}

.rr-foto-top img {
    width: 100%;
    height: auto;
    border-radius: 50%;
    border: 5px solid #ffffff !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.12) !important;
}

/* DOPASOWANIE MOBILNE */
@media (max-width: 991px) {
    .kyma-col-left, .kyma-col-right {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    .rr-flex-row { margin-top: 70px !important; }
    .rr-foto-top { right: 50% !important; transform: translateX(50%) !important; }
}


/* Reset listy */
.rr-ramka-tekst2 ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px;
}

/* Element listy li z dopasowaną ikoną */
.rr-ramka-tekst2 ul li {
    position: relative;
    padding-left: 35px !important; /* Odstęp na ikonę */
    margin-bottom: 12px;
    display: block;
}

/* Bordowa ikona check (SVG dla ostrości i koloru #da291c) */
.rr-ramka-tekst2 ul li::before {
    content: "";
    position: absolute;
    left: 0;
    /* Dopasowanie pozycji: 5px od góry przy font-size 18px stawia ikonę w linii */
    top: 5px; 
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23da291c' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}


 .kontakt-wrapper {
    max-width: 1200px;
    margin: 40px auto;
    display: flex;
    gap: 40px;
    padding: 0 20px;
    flex-wrap: nowrap;
    
  }

  .form-section {
    flex: 0 0 50%;
    background: #fff;
    padding: 20px;
    border-radius: 6px;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
  }

  .contacts-section {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .contact-card {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 6px;
    padding: 15px;
    box-shadow: 0 0 10px rgba(0,0,0,0.05);
  }

  .contact-photo {
    flex: 0 0 40%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .contact-photo img {
    width: 100%;
    max-width: 100px;
    border-radius: 50%;
    object-fit: cover;
  }

  .contact-info {
    flex: 0 0 60%;
    padding-left: 15px;
  }

  .contact-info h4 {
    margin: 0 0 5px;
    font-size: 1.1em;
  }

  .contact-info p {
    margin: 4px 0;
    font-size: 14px;
    line-height: 1.4;
  }

  .contact-info a {
    color: #0056b3;
    text-decoration: none;
  }

  .contact-info a:hover {
    text-decoration: underline;
  }

  @media (max-width: 768px) {
    .kontakt-wrapper {
      flex-direction: column;
    }

    .form-section,
    .contacts-section {
      flex: 0 0 100%;
    }

    .contact-card {
      flex-direction: row;
    }

    .contact-photo {
      flex: 0 0 30%;
    }

    .contact-info {
      flex: 0 0 70%;
      padding-left: 15px;
    }
  }


/* BEZPIECZNE TŁO NA CAŁĄ SZEROKOŚĆ */
.rr-bg-wrapper {

    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    padding-top: 20px;
    padding-bottom: 40px;
}

/* Usunięcie paska przewijania, jeśli body go generuje */
html, body {
    overflow-x: hidden;
}

/* Układ kolumn */
.rr-flex-row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    margin-top: 40px !important;
}

@media (min-width: 992px) {
    .kyma-col-left, .kyma-col-right {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        display: flex !important;
        flex-direction: column !important;
    }
    /* Dociągnięcie do boków kontenera */
    .kyma-col-left { padding-left: 0 !important; padding-right: 15px !important; }
    .kyma-col-right { padding-right: 0 !important; padding-left: 15px !important; }
}

/* Ramki białe wewnątrz */
.rr-ramka-tekst2.rr-relative {
    display: flex !important;
    flex: 1 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 60px 30px 30px 30px !important;
    position: relative !important;
}

/* Zdjęcie na krawędzi */
.rr-foto-top {
    position: absolute;
    top: -60px;
    right: 30px;
    width: 115px;
    z-index: 10;
}

/*
 * Styl dla niestandardowej stopki 6 kolumn
 * Używany w zmodyfikowanym footer.php
 */

/* DESKTOP */

.moj-footer-six-col  {
    background-color: #000000;}

.moj-footer-six-col .grid-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; 
    max-width: 1200px; /* Dostosuj do szerokości Twojego głównego kontenera */
    margin: 0 auto;
    padding: 20px 0;
}








.col-lista {font-weight: 100;}

.moj-footer-six-col .footer-col {
    width: 15%; /* 6 kolumn * 15% = 90%. Zostaje 10% na marginesy */
    margin-bottom: 20px;
   
}
}

.moj-footer-six-col h4.col-title {
    font-size: 1em;
    margin-top: 0;
    border-bottom: 2px solid #EEE; /* Lekkie oddzielenie tytułu */
    padding-bottom: 5px;
    margin-bottom: 10px;
    font-weight: 300;
}

.moj-footer-six-col ul.col-links,
.moj-footer-six-col .kontakt-data {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #000000;
}

.moj-footer-six-col .col-more a {
    font-weight: 100;
    display: block;
    margin-top: 10px;
    background-color: #000000;
}

/* MOBILE */
/* Poniżej 1179px (standardowy breakpoint dla tabletów/telefonów) */
@media (max-width: 1179px) {
    .moj-footer-six-col .grid-container {
        display: block; /* Ustawienie blokowe dla mobilnych */
        padding: 10px 20px;
    }

    .moj-footer-six-col .footer-col {
        width: 100%; /* Pełna szerokość dla mobilnych */
        margin-bottom: 0; /* Brak odstępów między działami */
    }

    /* Ukrycie szczegółów dla mobilnych: 4 opisy + link Więcej (pozostawiamy tylko tytuły) */
    .moj-footer-six-col .desktop-only {
        display: none;
    }

    /* Dopasowanie stylu tytułów działów na mobilnym */
    .moj-footer-six-col .footer-col-dzial h4.col-title {
        margin-bottom: 5px;
        padding-bottom: 0;
        border-bottom: none;
    }

    /* Sekcja Kontaktowa (na końcu) */
    .moj-footer-six-col .footer-col-kontakt {
        margin-top: 20px; /* Oddzielenie sekcji kontaktowej */
        border-top: 1px solid #CCC;
        padding-top: 10px;
    }



    /* Upewnienie się, że dane kontaktowe są widoczne */
    .moj-footer-six-col .footer-col-kontakt .kontakt-data {
        display: block;
    }
}

/* =========================================
   6. STYLE DLA CZERWONEJ BELKI NA DOLE
   ========================================= */

.czerwona-belka-bottom {
    background-color: var(--maincolor); /* Użycie tego samego koloru czerwonego co w formularzu */
    color: white;
    padding: 15px 0;
    font-size: 0.85em;
    /* Rozciągnięcie na pełną szerokość ekranu */
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
}

.czerwona-belka-bottom .grid-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px; 
    margin: 0 auto;
    padding: 0 20px; /* Zapewnienie wcięcia na desktopie, gdy nie jest rozciągnięty */
}

/* Ustawienie kolumn dla desktopu */
.czerwona-belka-bottom .col-bottom-1,
.czerwona-belka-bottom .col-bottom-2,
.czerwona-belka-bottom .col-bottom-3,
.czerwona-belka-bottom .col-bottom-4 {
    flex: 1; /* Równa szerokość dla wszystkich 4 kolumn */
    text-align: center;
}

/* Wyrównanie pierwszej kolumny do lewej, reszty do środka/prawej */
.czerwona-belka-bottom .col-bottom-1 {
    text-align: center;
   
    
}

.czerwona-belka-bottom .col-bottom-4 {
    text-align: center;
    
}

.czerwona-belka-bottom a {
    color: white !important;
    text-decoration: none !important;
    transition: opacity 0.3s;
    font-weight: 300;
}

.czerwona-belka-bottom a:hover {
    opacity: 0.8;
}

.czerwona-belka-bottom p {
    margin: 0;
    padding: 0;
    line-height: 1.2;
    font-weight: 100;
}

/* MOBILE FIX */
@media (max-width: 767px) {
    .czerwona-belka-bottom .grid-container {
        flex-direction: column; /* Ułożenie w kolumnę dla mobilnych */
        align-items: flex-start;
        padding: 0 10px;
    }

    .czerwona-belka-bottom .col-bottom-1,
    .czerwona-belka-bottom .col-bottom-2,
    .czerwona-belka-bottom .col-bottom-3,
    .czerwona-belka-bottom .col-bottom-4 {
        width: 100%; /* Pełna szerokość */
        text-align: left; /* Wyrównanie do lewej */
        margin-bottom: 5px; /* Mały odstęp między elementami */
        flex: auto;
    }
    
    .czerwona-belka-bottom .col-bottom-1 p {
        margin-bottom: 10px;
    }
}


.author-photo {
    flex: 0 0 100px !important; /* Szerokość zostaje stała */
    height: auto !important;     /* Pozwala kontenerowi rosnąć w pionie */
    align-self: flex-start;      /* Zapobiega rozciąganiu w flexboxie */
    overflow: visible !important; /* Pozwala wystawać elementom, jeśli trzeba */
}


.author-photo img {
    width: 100%;                 /* Szerokość dopasowana do 100px kontenera */
    height: auto !important;     /* Obrazek zachowa naturalne proporcje */
    object-fit: contain !important; /* Wyświetli całe zdjęcie zamiast przycinać */
    display: block;
}

/* kolor tekstu w stopce (znacznik a) */
.site-footer a {
    color: #ffffff !important;
}


.site-footer a:hover {
    color: #dddddd !important;
    text-decoration: underline;
}

/* --- POPRAWKA RESPONSYWNOŚCI DLA DUŻYCH EKRANÓW --- */
/* Zastosowanie: Nadpisuje sztywne px na dynamiczne jednostki tam, gdzie jest to konieczne */

/* 1. Utrzymanie układu (środkowanie) */
body.home .grid-container,
body.home .site-content {
    max-width: 1480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 2. Naprawa czcionek (Fluid Typography) - używamy wysokiej specyficzności, by wygrać ze starym CSS */
body.home p, 
body.home .entry-content p, 
body.home .news-excerpt {
    font-size: clamp(16px, 0.8vw + 12px, 20px) !important;
    line-height: 1.6 !important;
}

body.home h1, 
body.home h2 {
    font-size: clamp(1.6vw, 1.2vw + 16px, 34px) !important;
}

/* 3. Naprawa footera (czerwona belka) - zapewnia spójność szerokości */
.czerwona-belka-bottom {
    display: block !important;
    width: 100% !important;
    
}

.czerwona-belka-bottom .grid-container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* 4. Zabezpieczenie przed "rozlaniem" menu na boki */
.main-navigation, 
.site-header .grid-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    background-color: #000000;
}


/* --- FIX: Odsunięcie treści od krawędzi dla klasy rr-bg-wrapper --- */
@media (min-width: 769px) and (max-width: 1200px) {
    .rr-bg-wrapper {
        /* Zachowujemy pełną szerokość tła, ale dodajemy "bezpieczny" margines wewnętrzny */
        padding-left: 3% !important;
        padding-right: 3% !important;
        /* box-sizing sprawia, że padding nie dodaje się do szerokości 100vw, 
           co zapobiega pojawieniu się paska przewijania (scrolla) */
        box-sizing: border-box !important;
    }
}

/* Opcjonalnie: upewnijmy się, że grid-container w środku nie "ucieka" */
@media (max-width: 1200px) {
    .rr-bg-wrapper .grid-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Wymuszenie identycznej szerokości dla stopki co dla treści */
.site-footer .grid-container {
    max-width: 1400px; /* Taka sama jak w Twojej klasie .condes */
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* Elastyczne kolumny */
.footer-col {
    flex: 1;
}

/* Naprawa wyświetlania na telefonach */
@media (max-width: 768px) {
    .site-footer .grid-container > div {
        flex-direction: column;
        text-align: center;
    }
}

/* Stylizacja tytułu strony (Aktualności / Wydarzenia) */
.news-page-header .entry-title {
    font-family: 'Yantramanav', sans-serif !important; 
    font-weight: 300 !important;                      
    font-size: 37px;                                  
    text-align: center;                              
    margin-bottom: 20px;
}

/* Wymuszenie pełnej szerokości dla stopki i czerwonej belki */
body {
    overflow-x: hidden; /* Ukrywa wszystko, co wystaje poza ekran */
}

.czerwona-belka-bottom {
    position: relative;
    width: 100vw !important; 
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

.pb_telmail a,
.pb_telmail a:visited,
.pb_telmail a:hover,
.pb_telmail a:active {
    color: #ffffff;
}


.main-navigation:not(.toggled) ul li.sfHover>ul, .main-navigation:not(.toggled) ul li:hover>ul {
    left: auto;
    opacity: 1;
    transition-delay: 150ms;
    pointer-events: auto;
    height: auto;
    overflow: visible;
    background-color: #ffffffe8;
}





.dolne-przyciski {
    max-width: 73rem;
    padding: 22px 24px;
    display: flex;
    gap: 20px;
    margin: 0 auto;  background: #fff;}

.btn-dolny {
    display: inline-block;
    padding: 14px 24px;
    background-color: #fff;
    color: #da291c;
    text-decoration: none;
    border: 1px solid #da291c;
    border-radius: 6px;
    text-align: center;
    flex: 1;
    transition: 0.2s;
}


.btn-dolny:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border: 1px solid #da291c;
}

.btn-dolny:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.06);
    background-color: #f2f2f2;
}


/* Styl dla ramki, która JEST wewnątrz linku */
a .btn-dolny {
    transition: all 0.3s ease;
    cursor: pointer;
}


.rr-ramka-tekst-main {
    max-width: 70rem;
    margin: 31px auto;
    padding: 1px 63px;
    background: #ffffff;
    border-radius: 6px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .08), 0 0 0 2px rgba(126, 13, 13, .08);
    position: relative;
    font-weight: 500;
    font-style: italic;
    line-height: 1.35;
    font-size: clamp(16px, 2.2vw, 26px);
}




/* Styl dla ramki, która JEST wewnątrz linku */
a .rr-ramka-tekst-main{
    transition: all 0.3s ease;
    cursor: pointer;
}

/* Efekt HOVER - tylko gdy div jest wewnątrz <a> */
a:hover .rr-ramka-tekst-main {
  
    border: 1px solid #da291c;
}

/* Efekt CLICK (Active) - tylko gdy div jest wewnątrz <a> */
a:active .rr-ramka-tekst-main {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.06);
    background-color: #f2f2f2;
}

/* Usuwamy domyślne podkreślenie linku, żeby nie psuło wyglądu ramki */
a {
    text-decoration: none !important;
    color: inherit;
}

.rr-ramka-tekst-main h3 {
    position: relative;
   
}



.rr-ramka-tekst-main h3::before {
    content: "";
    position: absolute;
    left: -37px;
    top: 44%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 4px solid #da291c;
    border-radius: 50%;
    background: transparent;
}


/* =========================================
   UNIFIKACJA RAMEK / KART W CAŁYM SERWISIE
   hover tylko dla elementów klikalnych
   ========================================= */

:root {
  --rr-card-max: 70rem;
  --rr-card-radius: 6px;
  --rr-card-border: 1px solid #e8e8e8;
  --rr-card-shadow: 0 12px 40px rgba(0,0,0,.08), 0 0 0 2px rgba(126,13,13,.08);
  --rr-card-shadow-hover: 0 18px 44px rgba(0,0,0,.10), 0 0 0 2px rgba(218,41,28,.16);
  --rr-card-bg: #fff;
  --rr-card-transition: all .28s ease;
}

/* =========================================
   WSPÓLNA SZEROKOŚĆ JAK NA GŁÓWNEJ
   ========================================= */

.rr-ramka-tekst-main,
.rr-ramka-tekst,
.rr-ramka-tekst2,
body.page-template-news-php .news-item,
body.category .news-item,
body.home .news-item,
body.page-template-homepage-php .news-item,
body.page-template-mainpage-php .news-item {
  max-width: var(--rr-card-max);
  margin-left: auto;
  margin-right: auto;
}

body.home .grid-container,
body.page-template-homepage-php .grid-container,
body.page-template-mainpage-php .grid-container,
body.page-template-news-php .grid-container,
body.category .grid-container {
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (min-width: 1024px) {
  body.home .grid-container,
  body.page-template-homepage-php .grid-container,
  body.page-template-mainpage-php .grid-container,
  body.page-template-news-php .grid-container,
  body.category .grid-container {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}

/* =========================================
   KARTY USŁUGOWE
   ========================================= */

.rr-ramka-link {
  display: block;
  text-decoration: none !important;
  color: inherit;
}

.rr-ramka-tekst-main,
.rr-ramka-tekst,
.rr-ramka-tekst2 {
  background: var(--rr-card-bg);
  border-radius: var(--rr-card-radius);
  border: var(--rr-card-border);
  box-shadow: var(--rr-card-shadow);
  transition: var(--rr-card-transition);
  position: relative;
}

.rr-ramka-tekst-main {
  margin-top: 31px;
  margin-bottom: 31px;
  padding: 22px 24px;
}

.rr-ramka-tekst,
.rr-ramka-tekst2 {
  margin-top: 31px;
  margin-bottom: 31px;
  padding: 22px 24px;
}

/* hover tylko tam, gdzie jest link */
.rr-ramka-link:hover .rr-ramka-tekst-main,
a:hover .rr-ramka-tekst,
a:hover .rr-ramka-tekst2 {
  transform: translateY(-4px);
  box-shadow: var(--rr-card-shadow-hover);
  border-color: #da291c;
}

.rr-ramka-link:active .rr-ramka-tekst-main,
a:active .rr-ramka-tekst,
a:active .rr-ramka-tekst2 {
  transform: translateY(-1px);
}

/* tekst w głównych ramkach */
.rr-ramka-tekst-main h3 {
  position: relative;
  margin-top: 0;
  margin-bottom: 12px;
  padding-left: 40px; /* miejsce tylko dla kółka */
}

.rr-ramka-tekst-main h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 44%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  border: 4px solid #da291c;
  border-radius: 50%;
  background: transparent;
}

.rr-ramka-link:hover .rr-ramka-tekst-main h3::before {
  background: #da291c;
}

.rr-ramka-tekst-main p,
.rr-ramka-tekst p,
.rr-ramka-tekst2 p {
  margin-bottom: 0;
}

/* =========================================
   NEWS / WYDARZENIA
   ten sam charakter kart, ale bez kółka i bez hovera całej karty
   ========================================= */

body.page-template-news-php .news-item,
body.category .news-item,
body.home .news-item,
body.page-template-homepage-php .news-item,
body.page-template-mainpage-php .news-item {
  border-radius: var(--rr-card-radius);
  border: var(--rr-card-border);
  box-shadow: var(--rr-card-shadow);
  background: var(--rr-card-bg);
  transition: var(--rr-card-transition);
}

/* brak hovera na całej karcie newsowej */
body.page-template-news-php .news-title,
body.category .news-title,
body.home .news-title,
body.page-template-homepage-php .news-title,
body.page-template-mainpage-php .news-title {
  padding-left: 0 !important;
  position: static !important;
  margin-top: 0;
}

body.page-template-news-php .news-title::before,
body.category .news-title::before,
body.home .news-title::before,
body.page-template-homepage-php .news-title::before,
body.page-template-mainpage-php .news-title::before {
  content: none !important;
}

body.page-template-news-php .news-thumb,
body.category .news-thumb {
  border-radius: 6px;
  border: 1px solid #eee;
  background: #fff;
}

body.page-template-news-php .news-more,
body.category .news-more,
body.home .news-more,
body.page-template-homepage-php .news-more,
body.page-template-mainpage-php .news-more {
  color: #da291c;
  font-weight: 600;
  text-decoration: none;
}

body.page-template-news-php .news-more:hover,
body.category .news-more:hover,
body.home .news-more:hover,
body.page-template-homepage-php .news-more:hover,
body.page-template-mainpage-php .news-more:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================================
   PRZYCISKI "ZOBACZ WIĘCEJ" NA HOMEPAGE
   ========================================= */

body.home .home-news-sections,
body.page-template-homepage-php .home-news-sections,
body.page-template-mainpage-php .home-news-sections {
  margin-top: 60px;
  margin-bottom: 60px;
}

body.home .home-news-block,
body.page-template-homepage-php .home-news-block,
body.page-template-mainpage-php .home-news-block {
  margin-bottom: 50px;
}

body.home .home-news-more-wrap,
body.page-template-homepage-php .home-news-more-wrap,
body.page-template-mainpage-php .home-news-more-wrap {
  margin-top: 20px;
}





/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 768px) {
  .rr-ramka-tekst-main,
  .rr-ramka-tekst,
  .rr-ramka-tekst2 {
    padding: 20px 18px;
  }

  .rr-ramka-tekst-main h3 {
    padding-left: 34px;
  }

  .rr-ramka-tekst-main h3::before {
    width: 18px;
    height: 18px;
    border-width: 3px;
  }
}
/* ================================================================
   BETONOWY UKŁAD (3 KOLUMNY) + CZARNA KOLORYSTYKA MENU
   ================================================================ */
@media (max-width: 768px) {
    
    /* 1. PRZYWRÓCENIE UKŁADU NAGŁÓWKA */
    .inside-header {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        background-color: #000000 !important;
        padding: 5px 10px !important;
    }

    .site-logo { 
        flex: 0 0 30% !important; 
        order: 1 !important; 
        margin: 0 !important; 
    }
    
    .header-widget { 
        flex: 0 0 45% !important; 
        order: 2 !important; 
        display: block !important; 
        margin: 0 !important; 
        text-align: center !important; 
    }

    .mobile-menu-control-wrapper { 
        flex: 0 0 25% !important; 
        order: 3 !important; 
        display: flex !important; 
        justify-content: flex-end !important; 
    }

    /* 2. KOLORYSTYKA I STYL MENU (PO OTWARCIU) */
    #mobile-menu, 
    .main-navigation.toggled .main-nav {
        background-color: #000000 !important; /* Główne tło: Czarny */
    }

    /* POLA ROZWINIĘTE (PODMENU) - CIEMNY SZARY */
    .main-navigation .main-nav ul ul,
    .main-navigation .sub-menu {
        background-color: #2c2c2c !important; 
    }

    /* Linki w menu */
    .main-navigation.toggled .main-nav ul li a {
        color: #ffffff !important;
        border-bottom: 1px solid #1a1a1a !important;
    }

    /* 3. FIXY DETALI */
    .site-logo img { max-height: 35px !important; width: auto !important;
} 
    .pb_telmail { font-size: 9px !important; line-height: 1.1 !important; }
    .menu-toggle svg { fill: #fff !important; width: 25px !important; top: 1.4em !important; position: relative; }
    /* .mobile-menu { display: none !important; } */

    /* Ukrywamy duble wewnątrz menu */
    .main-navigation.toggled .site-logo,
    .main-navigation.toggled .header-widget {
        display: none !important;
    }
}


/* ================================================================
   FIX: Menu mobilne bez podziału na dwa bloki
   ================================================================ */
@media (max-width: 768px) {

    /* Nawigacja musi zajmować pełną szerokość pod headerem */
    .main-navigation {
        position: static !important;
        width: 100% !important;
    }

    /* Po otwarciu menu – nawigacja rozciąga się na 100% pod headerem */
    .main-navigation.toggled .main-nav ul {
        width: 100% !important;
        background-color: #000000 !important;
    }

    /* Wymuś żeby .inside-header pozwalał menu spaść niżej */
    .inside-header {
        flex-wrap: wrap !important;   /* nadpisuje flex-wrap: nowrap z linii 2215 */
    }

    /* Menu nawigacyjne zajmuje pełny rząd */
    .main-navigation {
        flex: 0 0 100% !important;
        order: 4 !important;
    }

    /* Ukryj nawigację gdy nieaktywna (hamburger nie kliknięty) */
    .main-navigation:not(.toggled) .main-nav {
        display: none !important;
    }

    /* Usuń zbędny margines/padding który tworzy przerwę */
    .main-navigation.toggled .main-nav {
        margin: 0 !important;
        padding: 0 !important;
        border-top: 1px solid #da291c !important;
    }
}

/* ================================================================
   FIX: Przycisk X zamykający menu (górny prawy róg)
   ================================================================ */
@media (max-width: 768px) {

    /* Przycisk X – pozycjonowanie */
    .main-navigation.toggled .menu-toggle {
        position: fixed !important;
        top: 12px !important;
        right: 12px !important;
        z-index: 9999 !important;
        background: transparent !important;
        border: none !important;
    }

    /* Zmiana ikony hamburgera na X po otwarciu */
    .main-navigation.toggled .menu-toggle .menu-toggle-icon {
        display: none !important;
    }

    .main-navigation.toggled .menu-toggle::after {
        content: "✕" !important;
        font-size: 24px !important;
        color: #ffffff !important;
        line-height: 1 !important;
        display: block !important;
    }

    /* ================================================================
       KOLORY: tło szare, główne kategorie czarne
       ================================================================ */

    /* Tło całego otwartego menu – szare */
    .main-navigation.toggled .main-nav,
    .main-navigation.toggled .main-nav > ul {
        background-color: #3a3a3a !important;
    }

    /* Główne pozycje menu (li pierwszego poziomu) – czarne tło */
    .main-navigation.toggled .main-nav > ul > li > a {
        background-color: #000000 !important;
        color: #ffffff !important;
        border-bottom: 1px solid #da291c !important;
        display: block !important;
        padding: 14px 20px !important;
        font-size: 16px !important;
        font-weight: 500 !important;
    }

    /* Podmenu (podkategorie) – szare tło */
    .main-navigation.toggled .main-nav ul ul li a,
    .main-navigation.toggled .main-nav .sub-menu li a {
        background-color: #3a3a3a !important;
        color: #dddddd !important;
        border-bottom: 1px solid #2a2a2a !important;
        padding: 11px 30px !important;
        font-size: 14px !important;
    }

    /* Hover na głównych pozycjach */
    .main-navigation.toggled .main-nav > ul > li > a:hover {
        background-color: #da291c !important;
        color: #ffffff !important;
    }

    /* Hover na podmenu */
    .main-navigation.toggled .main-nav ul ul li a:hover {
        background-color: #555555 !important;
        color: #ffffff !important;
    }
}





@media (max-width: 768px) {

    .header-widget {
        flex: 0 0 auto !important;
        margin-left: auto !important;   /* pcha w prawo, do hamburgera */
        margin-right: 44px !important;  /* odstęp od hamburgera */
        min-width: 0 !important;
        order: 2 !important;
    }

    .pb_telmail {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-end !important;  /* wyrównanie do prawej */
        align-items: center !important;
        gap: 4px 10px !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        text-align: right !important;
    }

    .pb_telmail a,
    .pb_telmail span {
        display: inline !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }
}

/* === POLA FORMULARZA === */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
    border-radius: 6px !important;
    border: 1px solid #cccccc !important;
    padding: 12px 20px !important;
    outline: none !important;
    transition: border-color 0.2s ease !important;
    box-shadow: none !important;
    line-height: 1.8 !important;
    height: 52px !important;
}

/* Focus */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus {
    border: 1px solid #000000 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Odstęp między polami */
.wpcf7 .wpcf7-form-control-wrap {
    margin-bottom: 12px !important;
    display: block !important;
}

/* === CHECKBOXY - mały odstęp === */
.wpcf7 .wpcf7-list-item,
.wpcf7 input[type="checkbox"] {
    margin-bottom: 4px !important;
}

.wpcf7 .wpcf7-form-control-wrap:has(input[type="checkbox"]) {
    margin-bottom: 4px !important;
}

/* === CTA BUTTON === */
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
    border-radius: 6px !important;
    background-color: #cc0000 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 36px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    box-shadow: 0 4px 14px rgba(204, 0, 0, 0.35) !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    margin-top: 12px !important;
}

/* CTA Hover */
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
    background-color: #aa0000 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(204, 0, 0, 0.45) !important;
}

/* === CHECKBOXY - mały odstęp === */
.wpcf7 div.checkbox.text-left br {
    display: none !important;
}

/* === PRZYCISK "Wypełnij formularz" === */
a.konsultacja-button, a.home-news-more-btn{
    border-radius: 6px !important;
    background-color: #cc0000 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 14px 36px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    box-shadow: 0 4px 14px rgba(204, 0, 0, 0.35) !important;
    display: inline-block !important;
    text-decoration: none !important;
    margin-left: 24px;
}

/* Hover / klik */
a.konsultacja-button:hover,
a.konsultacja-button:active, a.home-news-more-btn:hover, a.home-news-more-btn:active {
    background-color: #aa0000 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 18px rgba(204, 0, 0, 0.45) !important;
    color: #ffffff !important;
}




/* === "Zobacz więcej aktualności" - wyśrodkowanie === */
.home-news-more-wrap {
    text-align: center !important;
    margin: 25px auto !important;
}

.rr-ramka-tekst-main:hover h3::before {
  background: #da291c;
}

.site-header .header-image {
    width: 130px;
    background-color: #cc0000 !important;
    color: #ffffff !important;
    border: none !important;
    transition: background-color 0.2s ease, transform 0.1s ease !important;
    box-shadow: 0 4px 14px rgba(204, 0, 0, 0.35) !important;
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 12px !important;
}

.main-navigation a {
    font-size: 0.8em;
}

.site-header {
    position: fixed !important;
    top: 0 !important;
    z-index: 9999 !important;
}

.site-header .menu-toggle {
    flex-grow: 0 !important;
}

.site-header {
    background-color: #000000 !important;
}

.pb-top {
    margin-top: -1px !important;
}



#page {
  padding-top: 44px !important;
}

.site-content {
    display: flex;
    justify-content: center;
    }




/* mobile*/
@media (max-width: 991px) {
  .dolne-przyciski {
    gap: 5px;
    padding: 20px 0px;
  }
.one-container .site-content {
    padding: 0px 10px 0px 10px;
}

.konsultacja-button-top {
    position: absolute;
    left: 10%;
    bottom: 10%;
    right: 10%;
    background: #db291d;
    color: #dadada;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 300;
    font-size: medium;
    letter-spacing: 0.1em;
    text-align: center;
}
#page {
    padding-top: 75px !important;
}


}

/* Desktop */
@media (min-width: 1024px) {
  .kyma-top-section {
    padding-left: 10px;
    padding-right: 10px;
  }
}



@media (min-width: 768px) {
.konsultacja-button-top {
    position: absolute;
    bottom: 20px;   /* odległość od dołu */
    left: 50%;
    transform: translateX(-50%);
    
    padding: 12px 22px;
    background: #e60023a3;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 300;
    font-size: x-large;
    letter-spacing: 0.2em;
}
 body.page-template-homepage-php .news-thumb, body.page-template-mainpage-php .news-thumb {
    background: #fff;
    align-items: flex-start;
    justify-content: center;
    overflow: visible;
}



}

/* ═══════════════════════════════════════════════════
   Karty newsów / wydarzeń na stronie głównej
   ═══════════════════════════════════════════════════ */

.news-cards-row {
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
}

.news-card {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

/* Obrazek na pełną szerokość karty */
.news-card .news-thumb {
    flex-shrink: 0;
    width: 100%;
}

.news-card .news-thumb img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
}

/* Treść karty */
.news-card .news-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1.1rem 1.25rem 1.4rem;
}

/* Tytuł – ta sama czcionka co nagłówek sekcji "Aktualności" */
.news-card .news-title {
    font-family: 'Yantramanav', sans-serif;
    font-weight: 300;
    font-size: 37px;
    line-height: 1.2;
    margin: 0 0 0.6rem;
    flex: 1; /* wypycha przycisk na sam dół */
}

.news-card .news-title a {
    text-decoration: none;
    color: inherit;
}

.news-card .news-title a:hover {
    text-decoration: underline;
}

/* Meta (data • kategoria) */
.news-card .news-meta {
    font-size: 0.8rem;
    color: #6b7280;
    margin-bottom: 0.9rem;
}

/* Przycisk zawsze na dole karty */
.news-card .news-more {
    display: inline-block;
    margin-top: auto;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
}

.news-card .news-more:hover {
    text-decoration: underline;
}

/* Responsywność */
@media (max-width: 767px) {
    .news-cards-row {
        flex-direction: column !important;
        gap: 1rem;
    }

    .news-card {
        flex: 0 0 auto !important;
        width: 100% !important;
    }

    .news-card .news-thumb img {
        height: 200px;
    }
}


 body:not(.home) #primary, #main {
 padding-top: 42px;
}



.kyma-col-right,
.kyma-col-left {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

@media (min-width: 992px) {
  .kyma-col-right,
  .kyma-col-left {
    width: 50%;
    max-width: 50%;
    flex: 0 0 50%;
  }
}
  