:root{
  --ut-accent:#c11d1d;
  --bg:#0d0e10;
  --text:#e8eaee;
  --contentLight:#f0f0f2;
  --contentDark:#14161a;
  --shadow: rgba(0,0,0,.35);
  --radius:16px;
  --gap:18px;
  --max:1200px;
  --font: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
body.tdp{margin:0; font-family:var(--font); background: radial-gradient(1200px 700px at 20% 10%, rgba(193,29,29,.18), transparent 60%) , var(--bg); color:var(--text)}
a{color:inherit}
.tdp-container{max-width:var(--max); margin:0 auto; padding:0 14px}
.tdp-skip{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden}
.tdp-skip:focus{left:14px; top:14px; width:auto; height:auto; padding:10px 12px; background:#000; border:1px solid rgba(255,255,255,.2); border-radius:10px; z-index:9999}

.tdp-topbar{background: rgba(0,0,0,.45); border-bottom:1px solid rgba(255,255,255,.07)}
.tdp-topbar__inner{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0}
.tdp-social{display:flex; gap:8px}
.tdp-social__btn{display:inline-flex; width:32px; height:32px; align-items:center; justify-content:center; border-radius:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); text-decoration:none}
.tdp-quick input[type="search"], .tdp-quick input[type="text"]{width:260px; max-width:60vw; padding:8px 10px; border-radius:12px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:#fff}
.tdp-quick button, .tdp-quick input[type="submit"]{padding:8px 10px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.10); color:#fff}

.tdp-banner{display:block; text-decoration:none}
.tdp-banner img{display:block; width:100%; height:auto; max-height:260px; object-fit:cover; border-bottom:1px solid rgba(255,255,255,.08)}

.tdp-nav{background: rgba(0,0,0,.55); border-bottom:1px solid rgba(255,255,255,.09); position:sticky; top:0; z-index:1000; backdrop-filter: blur(8px)}
.tdp-nav__inner{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 0}
.tdp-nav__toggle{display:none; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.08); color:#fff; font-weight:800}
.tdp-nav__menu{flex:1}
.tdp-nav ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.tdp-nav a{display:inline-flex; align-items:center; padding:10px 12px; border-radius:12px; text-decoration:none; font-weight:900; text-transform:uppercase; font-size:12px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10)}
.tdp-nav li.current a, .tdp-nav li.active a{background: linear-gradient(180deg, rgba(193,29,29,.35), rgba(193,29,29,.12)); border-color: rgba(193,29,29,.55)}

.tdp-main{padding:18px 0 30px}
.tdp-layout{display:grid; grid-template-columns: 1fr 320px; gap: var(--gap); align-items:start}

body.tdp-light .tdp-content{background: rgba(240,240,242,.92)}
body.tdp-dark  .tdp-content{background: rgba(20,22,26,.92)}

.tdp-content{border-radius: var(--radius); box-shadow:0 16px 40px var(--shadow); overflow:hidden; border:1px solid rgba(255,255,255,.08)}
.tdp-content > *{padding:16px 16px}
.tdp-right__block{margin-bottom: var(--gap)}
.tdpBox{background: rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.09); border-radius: var(--radius); box-shadow:0 16px 36px var(--shadow); overflow:hidden}
.tdpBox .module-body{padding:12px 14px}
.tdpBox .module-title{margin:0; padding:12px 14px; font-size:13px; font-weight:1000; text-transform:uppercase; letter-spacing:.5px; border-bottom:1px solid rgba(255,255,255,.09); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.10))}

.tdp-footer{padding:18px 0 28px; border-top:1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.35)}
.tdp-copy{text-align:center; color: rgba(255,255,255,.78); font-weight:800}

@media (max-width: 920px){
  .tdp-layout{grid-template-columns: 1fr}
}
@media (max-width: 760px){
  .tdp-nav__toggle{display:inline-flex}
  .tdp-nav__menu{display:none}
  .tdp-nav__menu.is-open{display:block}
  .tdp-nav ul{flex-direction:column}
  .tdp-banner img{max-height:200px}
}


/* === 3 newsy w rzędzie (kafelki) === */
.blog .items-leading,
.blog .items-row{
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  padding: 0 !important;
  margin: 0 !important;
}

.blog .items-leading > .item,
.blog .items-row > .item{
  flex: 0 0 calc((100% - 28px) / 3);
  max-width: calc((100% - 28px) / 3);
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 14px 34px var(--shadow);
  padding: 14px;
}

body.tdp-dark .blog .items-leading > .item,
body.tdp-dark .blog .items-row > .item{
  background: rgba(20,22,26,.78);
  border-color: rgba(255,255,255,.08);
}

.blog .items-leading > .item h2,
.blog .items-row > .item h2,
.blog .items-leading > .item h3,
.blog .items-row > .item h3{
  margin: 0 0 8px;
  line-height: 1.15;
}

.blog .items-leading > .item img,
.blog .items-row > .item img{
  max-width: 100%;
  height: auto;
  border-radius: 14px;
}

.blog .items-leading > .item .readmore a,
.blog .items-row > .item .readmore a{
  display:inline-block;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.10);
  text-decoration:none;
  font-weight:900;
}

body.tdp-dark .blog .items-leading > .item .readmore a,
body.tdp-dark .blog .items-row > .item .readmore a{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}

.blog .items-leading > .item .readmore a:hover,
.blog .items-row > .item .readmore a:hover{
  border-color: rgba(193,29,29,.55);
}

/* Responsive: 2 w rzędzie na tablet, 1 na mobile */
@media (max-width: 980px){
  .blog .items-leading > .item,
  .blog .items-row > .item{
    flex: 0 0 calc((100% - 14px) / 2);
    max-width: calc((100% - 14px) / 2);
  }
}
@media (max-width: 620px){
  .blog .items-leading > .item,
  .blog .items-row > .item{
    flex: 0 0 100%;
    max-width: 100%;
  }
}


/* === HOME: sekcje kategorii (3 kafle) === */
.tdp-home{padding: 0 !important}
.tdp-section{padding: 16px !important; border-bottom: 1px solid rgba(0,0,0,.06)}
body.tdp-dark .tdp-section{border-bottom: 1px solid rgba(255,255,255,.08)}
.tdp-section:last-child{border-bottom:0}

.tdp-section__head{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom: 12px}
.tdp-section__title{margin:0; font-size:18px; font-weight:1000; letter-spacing:.4px}
.tdp-section__more{font-weight:900; text-decoration:none; color: var(--ut-accent)}
.tdp-section__more:hover{text-decoration:underline}

.tdp-tiles{display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px}
@media (max-width: 980px){ .tdp-tiles{grid-template-columns: repeat(2, minmax(0,1fr));} }
@media (max-width: 620px){ .tdp-tiles{grid-template-columns: 1fr;} }

.tdp-tile{display:block; text-decoration:none; border-radius: 16px; overflow:hidden; border:1px solid rgba(0,0,0,.08); box-shadow: 0 14px 34px var(--shadow); background: rgba(255,255,255,.85)}
body.tdp-dark .tdp-tile{background: rgba(20,22,26,.78); border-color: rgba(255,255,255,.08)}
.tdp-tile:hover{transform: translateY(-1px); transition: .12s ease; border-color: rgba(193,29,29,.35)}
.tdp-tile img{display:block; width:100%; height: 180px; object-fit: cover}
@media (max-width: 620px){ .tdp-tile img{height: 200px;} }

.tdp-tile__cap{padding: 10px 12px}
.tdp-tile__title{font-weight:1000; font-size:13px; line-height: 1.2; color:#0f1115}
body.tdp-dark .tdp-tile__title{color:#fff}

/* NEWSY photo only */
.tdp-tiles--photoonly .tdp-tile__cap{display:none}
.tdp-tiles--photoonly .tdp-tile img{height: 200px}

.tdp-tile__ph{display:flex; align-items:center; justify-content:center; height:180px; color:rgba(255,255,255,.8); background: rgba(0,0,0,.35); font-weight:900}

/* === Article meta row === */
.tdp-article__title{margin:0 0 8px; padding:0 !important; font-size:28px; font-weight:1100; letter-spacing:.2px}
.tdp-meta{display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding: 8px 0 12px; margin-bottom: 12px; border-bottom: 1px solid rgba(0,0,0,.10); color: rgba(0,0,0,.72); font-weight:900; font-size:12px}
body.tdp-dark .tdp-meta{border-bottom: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.78)}
.tdp-meta__sep{opacity:.55}
.tdp-meta__link{color: inherit; text-decoration:none; border-bottom: 1px dashed rgba(0,0,0,.25)}
body.tdp-dark .tdp-meta__link{border-bottom-color: rgba(255,255,255,.25)}
.tdp-meta__link:hover{color: var(--ut-accent); border-bottom-color: rgba(193,29,29,.55)}


/* HOME: autor na kaflu NEWSY */
.tdp-tile{position: relative}
.tdp-tile__author{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(0,0,0,.55);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-weight:900;
  font-size:12px;
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 22px var(--shadow);
  max-width: calc(100% - 20px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Stopka sekcji: czytaj więcej */
.tdp-section__foot{ margin-top: 10px; display:flex; justify-content:flex-start; }
.tdp-section__more2{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px; border-radius: 12px;
  text-decoration:none; font-weight:1000; font-size:12px;
  text-transform: uppercase; letter-spacing:.3px;
  background: rgba(0,0,0,.05); border: 1px solid rgba(0,0,0,.10);
  color:#0f1115;
}
body.tdp-dark .tdp-section__more2{ background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12); color:#fff; }
.tdp-section__more2:hover{ border-color: rgba(193,29,29,.55); box-shadow: 0 10px 24px var(--shadow); }


/* === MENU: jeden rząd === */
.tdp-nav ul{
  flex-wrap: nowrap !important;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.tdp-nav ul::-webkit-scrollbar{height:6px}
.tdp-nav ul::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18); border-radius:99px}
.tdp-nav a{white-space: nowrap}

/* === Reklamy Google: nie ucinać skryptów/ramek === */
.tdp-adbox{overflow: visible !important}
.tdp-adbox .moduletable{margin:0}
.tdp-adbox iframe, .tdp-adbox ins, .tdp-adbox script{max-width:100% !important}

/* === Widoczność nazw działów === */
.tdp-content .tdp-section__title{color:#0f1115}
body.tdp-dark .tdp-content .tdp-section__title{color:#ffffff}

/* === Pewność prawej kolumny na desktop === */
@media (min-width: 921px){
  .tdp-right{display:block}
}


/* === Czytelność tekstu w treści (jasne tło) === */
body.tdp-light .tdp-content{
  color: #0f1115;
}
body.tdp-light .tdp-content a{
  color: #0f1115;
}
body.tdp-light .tdp-content a:hover{
  color: var(--ut-accent);
}
body.tdp-light .tdp-content p,
body.tdp-light .tdp-content li,
body.tdp-light .tdp-content span,
body.tdp-light .tdp-content div{
  color:#0f1115;
}


/* === MENU: podmenu jako dropdown (a nie w jednym pasku) === */
.tdp-nav ul li{position:relative}
.tdp-nav ul ul{
  position:absolute;
  top: calc(100% + 6px);
  left: 0;
  display:none;
  min-width: 220px;
  padding: 8px;
  gap: 6px;
  flex-direction: column;
  background: rgba(0,0,0,.78);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  box-shadow: 0 18px 48px var(--shadow);
  z-index: 2000;
}
.tdp-nav ul ul li{width:100%}
.tdp-nav ul ul a{
  width:100%;
  justify-content:flex-start;
  font-size: 12px;
  background: rgba(255,255,255,.06);
}
.tdp-nav li:hover > ul,
.tdp-nav li:focus-within > ul{display:flex}

@media (max-width: 760px){
  .tdp-nav ul{overflow-x:visible}
  .tdp-nav ul ul{
    position:static;
    display:block;
    padding: 0;
    border:0;
    background: transparent;
    box-shadow:none;
  }
  .tdp-nav ul ul a{background: rgba(255,255,255,.04)}
}

/* === Paginacja: zawsze czytelna i w pełnej szerokości === */
.blog .pagination,
.blog .pagenav,
.pagination{clear: both; width:100%; display:block; margin-top: 18px}
.pagination ul{list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px}
.pagination a, .pagination span{
  display:inline-flex;
  padding:8px 10px;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.05);
  color:#0f1115;
}
body.tdp-dark .pagination a, body.tdp-dark .pagination span{
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color:#fff;
}
.pagination .active span{border-color: rgba(193,29,29,.55)}


/* === MENU FIX (Joomla 3): dropdown dla podmenu + spójny wygląd separatorów === */
.tdp-nav__menu{overflow-x:auto; overflow-y:visible}
.tdp-nav ul{overflow:visible !important}
.tdp-nav ul.nav,
.tdp-nav ul.menu{flex-wrap: nowrap !important; white-space: nowrap}

.tdp-nav ul.nav-child,
.tdp-nav ul ul{
  position:absolute;
  top: calc(100% + 6px);
  left: 0;
  display:none !important;
  min-width: 240px;
  padding: 8px;
  margin: 0;
  list-style:none;
  flex-direction: column;
  gap: 6px;
  white-space: normal;
  background: rgba(0,0,0,.86);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  box-shadow: 0 18px 48px var(--shadow);
  z-index: 5000;
}
.tdp-nav li.parent{position:relative}
.tdp-nav li.parent:hover > ul,
.tdp-nav li.parent:focus-within > ul{display:flex !important}
.tdp-nav ul.nav-child a{width:100%; justify-content:flex-start}

.tdp-nav span.separator{
  display:inline-flex;
  align-items:center;
  padding:10px 12px;
  border-radius:12px;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:#fff;
  cursor:default;
}
.tdp-nav li.parent > a::after{
  content:"▾";
  font-weight:1000;
  margin-left:8px;
  opacity:.8;
}

@media (max-width: 760px){
  .tdp-nav__menu{overflow-x:visible}
  .tdp-nav ul.nav-child,
  .tdp-nav ul ul{
    position:static;
    display:block !important;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    gap:0;
  }
}


/* === HOME sekcje: zawsze 3 kafle w rzędzie (desktop) === */
.tdp-tiles{
  display:grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap:14px !important;
}
@media (max-width: 980px){ .tdp-tiles{grid-template-columns: repeat(2, minmax(0,1fr)) !important;} }
@media (max-width: 620px){ .tdp-tiles{grid-template-columns: 1fr !important;} }

/* === Kategorie/blog: 3 w rzędzie + paginacja === */
.blog .items-row,
.blog .items-leading{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:14px !important;
}
.blog .items-row > .item,
.blog .items-leading > .item{
  flex: 0 0 calc((100% - 28px)/3) !important;
  max-width: calc((100% - 28px)/3) !important;
}
@media (max-width: 980px){
  .blog .items-row > .item,
  .blog .items-leading > .item{
    flex: 0 0 calc((100% - 14px)/2) !important;
    max-width: calc((100% - 14px)/2) !important;
  }
}
@media (max-width: 620px){
  .blog .items-row > .item,
  .blog .items-leading > .item{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}


/* === Dropdown na wierzchu (bez "okna przewijanego") === */
.tdp-nav, .tdp-nav__inner, .tdp-nav__menu{overflow: visible !important}

/* Scroll poziomy tylko dla top-level UL, bez wpływu na dropdown */
.tdp-nav ul.nav,
.tdp-nav ul.menu{
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}
.tdp-nav ul.nav-child{z-index: 9999 !important}


/* === Typografia (czytelniejsza, nowocześniejsza) === */
:root{ --tdp-ui-font: "Inter", "Segoe UI", Roboto, Arial, sans-serif; }
body.tdp, .tdp-content, .tdpBox{ font-family: var(--tdp-ui-font); }
.tdp-content{ font-size: 15px; line-height: 1.65; }
.tdpBox a, .tdpBox li, .tdpBox p{ font-size:13px; font-weight:800; letter-spacing:.1px; }
.tdpBox a{ text-decoration:none; }
.tdpBox a:hover{ color: var(--ut-accent); text-decoration: underline; }


/* === Meta w artykule: jeden rząd, bez etykiet === */
.tdp-meta{ font-size:12px !important; font-weight:900 !important; gap:10px !important; }
.tdp-meta__i{ display:none !important; }
.tdp-meta__sep{ opacity:.45; }


/* === Joomla 3 blog: elementy mogą być w .spanX zamiast .item === */
.blog .items-row > div[class^="span"],
.blog .items-leading > div[class^="span"]{
  flex: 0 0 calc((100% - 28px)/3) !important;
  max-width: calc((100% - 28px)/3) !important;
}
@media (max-width: 980px){
  .blog .items-row > div[class^="span"],
  .blog .items-leading > div[class^="span"]{
    flex: 0 0 calc((100% - 14px)/2) !important;
    max-width: calc((100% - 14px)/2) !important;
  }
}
@media (max-width: 620px){
  .blog .items-row > div[class^="span"],
  .blog .items-leading > div[class^="span"]{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
}


/* === MENU (jak ULTRAS TIFO) + REDAKCJA === */
.tdp-nav, .tdp-nav__inner, .tdp-nav__menu{overflow: visible !important;}
.tdp-nav ul.menu, .tdp-nav ul.nav{overflow: visible !important;}
.tdp-nav ul.menu > li, .tdp-nav ul.nav > li{position:relative;}
.tdp-nav ul.menu li ul, .tdp-nav ul.nav-child{
  position:absolute; top: calc(100% + 6px); left:0;
  display:none; min-width:240px; padding:8px; margin:0; list-style:none;
  border-radius:14px;
  background: rgba(0,0,0,.86);
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 48px var(--shadow);
  z-index: 9999;
}
.tdp-nav li.parent:hover > ul,
.tdp-nav li.parent:focus-within > ul{display:block;}

.tdp-nav span.separator{
  display:inline-flex; align-items:center;
  padding:10px 12px; border-radius:12px;
  font-weight:1000; text-transform:uppercase; font-size:12px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10);
  color:#fff;
}

  display:inline-flex; align-items:center;
  padding:10px 12px; border-radius:12px;
  font-weight:1000; text-transform:uppercase; font-size:12px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10);
  color:#fff; text-decoration:none;
}
  position:absolute; right:0; top: calc(100% + 6px);
  min-width:280px; display:none; padding:10px;
  border-radius:14px;
  background: rgba(0,0,0,.86);
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 18px 48px var(--shadow);
  z-index: 9999;
}

/* === Kategorie: tytuł + kafle === */
.tdp-cat__title{margin:0 0 14px; font-weight:1100; letter-spacing:.2px; color:#0f1115;}
body.tdp-dark .tdp-cat__title{color:#fff;}

/* === Kafle: 3 w rzędzie na home i kategoriach === */
.tdp-tiles{display:grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap:14px !important;}
@media (max-width: 980px){ .tdp-tiles{grid-template-columns: repeat(2, minmax(0,1fr)) !important;} }
@media (max-width: 620px){ .tdp-tiles{grid-template-columns: 1fr !important;} }

/* Adsense spacing */
.tdp-adsense{margin-top:10px;}
.tdp-adsense--top{display:flex; justify-content:center;}


/* === Dropdown menu: stabilniejsze trafianie === */
.tdp-nav li.parent{padding-bottom: 8px;}
.tdp-nav ul.menu li ul,
.tdp-nav ul.nav-child{
  top: 100% !important;
  margin-top: 0 !important;
  display: none;
}
.tdp-nav li.parent:hover > ul,
.tdp-nav li.parent:focus-within > ul,
.tdp-nav li.parent.tdp-open > ul{display:block !important;}
.tdp-nav li.parent::after{
  content:"";
  position:absolute;
  left:0; right:0;
  top:100%;
  height:12px;
}

/* === Social links === */
.tdp-social{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  align-items:center;
  padding: 10px 0 0;
}
.tdp-social__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius: 12px;
  font-weight: 900;
  font-size: 12px;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.22);
  color: #fff;
}
body.tdp-light .tdp-social__link{
  border-color: rgba(0,0,0,.10);
  background: rgba(0,0,0,.04);
  color:#0f1115;
}
.tdp-social__link svg{width:16px; height:16px; fill: currentColor;}

/* === Adsense w prawej kolumnie wyśrodkowany === */
.tdp-adsense--right{display:flex; justify-content:center;}

/* === Phoca Gallery: 3 kafle w rzędzie + styl === */
#phocagallery .pg-box,
#phocagallery .phocagallery-box-file,
#phocagallery .phocagallery-box-file-first,
#phocagallery .phocagallery-box-file-last{
  box-sizing:border-box;
  width: calc(33.333% - 14px) !important;
  margin: 0 7px 14px !important;
  float:left !important;
  border-radius: 14px !important;
  overflow:hidden;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 12px 30px var(--shadow);
}
body.tdp-dark #phocagallery .pg-box,
body.tdp-dark #phocagallery .phocagallery-box-file,
body.tdp-dark #phocagallery .phocagallery-box-file-first,
body.tdp-dark #phocagallery .phocagallery-box-file-last{
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.12);
}
#phocagallery .pg-box img,
#phocagallery .phocagallery-box-file img{width:100% !important; height:auto !important; display:block;}
#phocagallery .pg-cv-name{padding:10px 12px !important; font-weight:1000; font-size:12px; color:#0f1115;}
body.tdp-dark #phocagallery .pg-cv-name{color:#fff;}
@media (max-width: 980px){
  #phocagallery .pg-box,
  #phocagallery .phocagallery-box-file{width: calc(50% - 14px) !important;}
}
@media (max-width: 620px){
  #phocagallery .pg-box,
  #phocagallery .phocagallery-box-file{width: calc(100% - 14px) !important;}
}
#phocagallery::after{content:""; display:block; clear:both;}

/* === Stopka: mniejsza, delikatniejsza === */
footer, .tdp-footer, .tdp-footer *{
  font-weight: 600 !important;
  font-size: 12px !important;
  letter-spacing: .1px;
}


/* ===== v2.0.2 layout hardening (fix tiny-left / huge-empty) ===== */
html { font-size: 16px; }
body { font-size: 16px; line-height: 1.55; }
img, iframe { max-width: 100%; height: auto; }

/* prevent any accidental global scaling/zoom */
html, body { zoom: 1; }
* { text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }

/* container */
.ds-container { max-width: 1200px; margin: 0 auto; padding: 0 18px; }

/* main layout: 2 columns */
.ds-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; align-items: start; }
@media (max-width: 980px){ .ds-layout { grid-template-columns: 1fr; } }

/* ensure main content is visible and takes space */
.ds-main { min-width: 0; display: block; }
.ds-sidebar { min-width: 0; display: block; font-size: 14px; }
.ds-sidebar * { font-size: inherit; }

/* menu typography */
.ds-nav a, .ds-nav a *, .ds-nav li, .ds-nav li *{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .4px !important;
  text-transform: uppercase !important;
}

/* kill accidental fixed/anchor ad overlays while keeping in-module ads */
ins.adsbygoogle[data-anchor-status],
ins.adsbygoogle[style*="position:fixed"],
div.google-auto-placed,
iframe[id^="aswift_"][style*="position:fixed"],
iframe[id^="google_ads_iframe_"][style*="position:fixed"]{
  display:none !important;
  visibility:hidden !important;
}

/* component basic spacing */
.ds-component { padding: 18px 0 32px; }


/* ===== v2.0.3 header + theme + menu dropdown + narrower sidebar ===== */
:root{
  --bg: #f5f6f8;
  --panel: #ffffff;
  --text: #0f172a;
  --muted: #5b6475;
  --line: rgba(15,23,42,.12);
  --shadow: 0 14px 40px rgba(0,0,0,.10);
  --accent: #b11212;
}
[data-theme="dark"]{
  --bg: #0b0f17;
  --panel: #0f172a;
  --text: #e5e7eb;
  --muted: #a3aab7;
  --line: rgba(255,255,255,.10);
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --accent: #b11212;
}
body{ background: var(--bg) !important; color: var(--text) !important; }

.ds-header{
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.35));
}
[data-theme="dark"] .ds-header{
  background: linear-gradient(180deg, rgba(15,23,42,.75), rgba(15,23,42,.35));
}
.ds-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 0;
}
.ds-brand{ display:flex; align-items:flex-start; gap:14px; }
.ds-brand img{ width: 150px; height:auto; display:block; }
.ds-brand .ds-slogan{
  margin-top: 30px;
  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--muted);
  font-size: 20px;
  letter-spacing: .2px;
}
.ds-actions{ display:flex; align-items:center; gap:12px; }
.ds-toggle{
  display:inline-flex; align-items:center; gap:10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--panel);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  user-select:none;
}
[data-theme="dark"] .ds-toggle{ box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.ds-toggle button{
  appearance:none; border:0; background:transparent; cursor:pointer;
  font-size: 18px; line-height:1; padding:0 2px;
}
.ds-toggle .ds-switch{
  width: 44px; height: 24px; border-radius: 999px;
  background: rgba(15,23,42,.14);
  position:relative;
}
[data-theme="dark"] .ds-toggle .ds-switch{ background: rgba(255,255,255,.16); }
.ds-toggle .ds-knob{
  width: 20px; height: 20px; border-radius: 999px;
  background: var(--panel);
  position:absolute; top:2px; left:2px;
  transition: transform .2s ease;
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
}
[data-theme="dark"] .ds-toggle .ds-knob{ transform: translateX(20px); }

.ds-navwrap{
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(0,0,0,.06);
}
[data-theme="dark"] .ds-navwrap{ background: rgba(255,255,255,.06); }
.ds-nav{ position:relative; }

/* Joomla menu module styling (position-1) */
.ds-nav ul.menu{
  list-style:none; margin:0; padding:0;
  display:flex; align-items:center; gap: 10px;
  flex-wrap:nowrap;
}
.ds-nav ul.menu > li{ position:relative; }
.ds-nav ul.menu > li > a,
.ds-nav ul.menu > li > span{
  display:block;
  padding: 14px 14px;
  color: var(--text) !important;
  text-decoration:none !important;
  border-bottom: 2px solid transparent;
}
.ds-nav ul.menu > li.active > a{ border-bottom-color: var(--accent); color: var(--accent) !important; }
.ds-nav ul.menu > li > a:hover{ border-bottom-color: rgba(177,18,18,.45); }

/* dropdown */
.ds-nav ul.menu ul{
  display:none;
  position:absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: var(--shadow);
  padding: 8px;
  z-index: 9999;
}
.ds-nav ul.menu li:hover > ul{ display:block; }
.ds-nav ul.menu ul li a{
  display:block;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--text) !important;
  white-space: nowrap;
}
.ds-nav ul.menu ul li a:hover{ background: rgba(177,18,18,.10); }

/* Narrower sidebar (was 360px) */
.ds-layout{ grid-template-columns: minmax(0, 1fr) 270px !important; }
@media (max-width: 980px){ .ds-layout{ grid-template-columns: 1fr !important; } }


/* ===== v2.0.4 fixes: left-column ad, remove duplicate menu, footer center, featured tiles ===== */

/* Position-2 ad (under menu) should be only left column width and centered */
.ds-under-menu { padding: 18px 0 4px; }
.ds-under-menu .ds-ad { max-width: 100%; }
.ds-under-menu .ds-ad > * { margin: 0 auto; display: block; }

/* Sidebar should start at top (no extra gap) */
.ds-layout { align-items: start !important; }
.ds-sidebar { margin-top: 0 !important; }

/* Footer centered */
.ds-footer, footer, .footer { text-align: center !important; }
.ds-footer p, footer p, .footer p { margin: 6px 0; }

/* Hide any accidental leading separator "/" (breadcrumbs modules sometimes output) */
.ds-main > .breadcrumb > li:first-child:before,
.ds-main .breadcrumbs > li:first-child:before { content: "" !important; }
.ds-main .breadcrumb .divider { display:none !important; }

/* Featured/articles tiles: style com_content featured/blog to cards */
.featured, .blog-featured, .blog { color: var(--text); }
.blog-featured .items-row, .blog .items-row { display: contents; }
.blog-featured, .featured, .blog{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 980px){
  .blog-featured, .featured, .blog{ grid-template-columns: 1fr; }
}
.blog-featured .item, .featured .item, .blog .item,
.blog-featured article, .featured article, .blog article{
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}
.blog-featured .item-image, .blog .item-image { margin: 0; }
.blog-featured .item-image img, .blog .item-image img{
  width: 100%; height: 220px; object-fit: cover; display:block;
}
.blog-featured h2, .blog h2{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 900;
  font-size: 18px;
  margin: 12px 14px 10px;
}
.blog-featured .readmore, .blog .readmore { margin: 0 14px 14px; }


/* ===== v2.0.5 fixes: persistent sidebar + template rename ===== */
.ds-under-menu{ padding: 18px 0 10px; }
.ds-under-menu .ds-ad{ max-width: 100%; }
.ds-under-menu .ds-ad > *{ margin: 0 auto; display:block; }
.ds-sidebar{ margin-top: 0 !important; }


/* ===== v2.0.6: remove duplicate ads, home tile sections, suppress stray breadcrumb separators ===== */
.ds-section{ margin: 18px 0 26px; }
.ds-section-head{ display:flex; align-items:center; gap:14px; padding: 0 4px 10px; }
.ds-section-head h2{
  font-family: "Montserrat", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 900;
  letter-spacing: .02em;
  font-size: 22px;
  margin: 0;
}
.ds-section-line{ height:2px; flex:1; background: color-mix(in srgb, var(--ut-accent) 55%, transparent); border-radius: 2px; }

/* Breadcrumbs sometimes output lone '/' or '\' separator when empty */
.breadcrumb .divider, .breadcrumbs .divider{ display:none !important; }
.breadcrumb > li + li:before{ content:"" !important; }
.moduletable.breadcrumbs, .moduletable-breadcrumbs{ display:none !important; }

/* Tiles wrapper for module override */
.ds-tiles{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:18px; }
@media (max-width: 980px){ .ds-tiles{ grid-template-columns: 1fr; } }
.ds-tile{
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  display:flex; flex-direction:column;
}
.ds-tile__img{ width:100%; height:220px; background: color-mix(in srgb, var(--panel) 70%, #0000); }
.ds-tile__img img{ width:100%; height:100%; object-fit:cover; display:block; }
.ds-tile__body{ padding: 12px 14px 14px; }
.ds-tile__title{ font-weight: 900; margin: 0 0 8px; font-size: 16px; line-height: 1.25; }
.ds-tile__meta{ font-size: 12px; opacity: .75; display:flex; flex-wrap:wrap; gap:10px; }
.ds-tile__link{ color: inherit; text-decoration:none; }
.ds-tile__link:hover{ text-decoration:underline; }


/* ===== v2.0.7 fixes: home tiles only + avoid sidebar breakage ===== */
.ds-home { padding: 8px 0 28px; }
.ds-home-block { margin: 18px 0 26px; }
.ds-section-title{
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:900;
  letter-spacing:.02em;
  margin: 0 0 12px;
  border-bottom:2px solid rgba(220,0,0,.35);
  padding-bottom:10px;
}

/* tiles container */
.ds-tiles .moduletable,
.ds-tiles .moduletable > .module-inner,
.ds-tiles .module-inner { margin: 0; padding: 0; }

/* grid only inside ds-tiles */
.ds-tiles .mod-articles-category, 
.ds-tiles .newsflash, 
.ds-tiles .blog-featured,
.ds-tiles .featured,
.ds-tiles .blog{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 980px){
  .ds-tiles .mod-articles-category,
  .ds-tiles .newsflash,
  .ds-tiles .blog-featured,
  .ds-tiles .featured,
  .ds-tiles .blog{ grid-template-columns: 1fr; }
}

/* card look inside ds-tiles */
.ds-tiles .mod-articles-category > li,
.ds-tiles article{
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}
.ds-tiles .mod-articles-category > li a,
.ds-tiles article a{ color: inherit; text-decoration:none; }

/* keep sidebar modules normal */
.ds-sidebar .mod-articles-category,
.ds-sidebar .newsflash,
.ds-sidebar .blog-featured,
.ds-sidebar .featured,
.ds-sidebar .blog{ display:block !important; }


/* hide stray breadcrumb separators in position-2 area */
.ds-under-menu .breadcrumbs, .ds-under-menu .breadcrumb { display:none !important; }
.ds-under-menu a { text-decoration:none; }


/* ===== v2.0.8: left tiles are built-in, sidebar stays as simple modules ===== */
.ds-home { padding: 10px 0 28px; }
.ds-home-block { margin: 18px 0 28px; }

.ds-cards{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 980px){
  .ds-cards{ grid-template-columns: 1fr; }
}

.ds-card{
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
  display:flex;
  flex-direction:column;
  min-height: 320px;
}
.ds-card-media{ display:block; aspect-ratio: 16/9; background:#ddd; }
.ds-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.ds-card-ph{ width:100%; height:100%; }

.ds-card-body{ padding: 12px 14px 14px; display:flex; flex-direction:column; gap:10px; }
.ds-card-title{
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight: 800;
  line-height: 1.2;
  color: var(--text);
  text-decoration:none;
}
.ds-card-title:hover{ text-decoration:underline; }
.ds-card-meta{
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-size: 13px;
  color: var(--muted);
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

/* Make sure sidebar is NOT turned into cards/grids by any previous rules */
.ds-sidebar .moduletable,
.ds-sidebar .module-inner,
.ds-sidebar ul,
.ds-sidebar ol{ display:block !important; }


/* ===== v2.2.5 tweaks ===== */
.ds-cards{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.ds-card-media{ height: 180px !important; aspect-ratio: auto !important; }
.ds-card{ min-height: 0 !important; }
.ds-more{ margin-top: 10px; }
.ds-more-link{
  display:inline-block;
  padding:10px 14px;
  border-radius: 999px;
  border:1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  text-decoration:none;
  font-family:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-weight:800;
  letter-spacing:.02em;
}
.ds-more-link:hover{ transform: translateY(-1px); }
.ds-under-footer{ padding: 14px 0 8px; }
.ds-ad > *{ margin: 0 auto; display:block; }

/* ===== v2.2.6 verification + home sizing ===== */
.ds-card-media{ height: 170px !important; }
.ds-more-link{ cursor:pointer; }
/* WSPÓLNY UKŁAD: tytuł lewo, "Przejdź do działu →" prawo */
.ds-section__head,
.ds-section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
}

/* LINK po prawej + kolor jak reszta */
.ds-section__more,
.ds-section-more{
  margin-left:auto;
  color: var(--ds-accent, #c00);
  text-decoration:none;
  font-weight:600;
  white-space:nowrap;
}

.ds-section__more:hover,
.ds-section-more:hover{
  text-decoration:underline;
}