:root{
  --bg:#f6f7f9;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#b40000;
  --shadow:0 10px 30px rgba(0,0,0,.08);
  --radius:18px;
}

:root[data-theme="dark"]{
  --bg:#0b0f17;
  --card:#111827;
  --text:#e5e7eb;
  --muted:#9ca3af;
  --line:#243041;
  --accent:#ff3b3b;
  --shadow:0 10px 30px rgba(0,0,0,.35);
}

html,body{height:100%}
body.ds-body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

a{color:inherit}
.ds-skip{
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.ds-skip:focus{left:12px; top:12px; width:auto; height:auto; padding:10px 12px; background:var(--card); border:1px solid var(--line); border-radius:10px; z-index:9999}

.ds-top{
  background:var(--card);
  border-bottom:1px solid var(--line);
  /* mniejszy biały pasek u góry */
  padding:6px 0;
}
.ds-top__inner{
  /* szerokość jak układ kolumn (lewa+prawa) */
  max-width:1220px;
  margin:0 auto;
  padding:0 18px;
  position:relative;
}

.ds-topbanner-link{display:block; width:100%;}
.ds-topbanner{display:block; width:100%; height:auto;}

.ds-theme{position:absolute; right:26px; top:34px; z-index:2;}
.ds-theme__btn{
  border:1px solid var(--line);
  background:var(--card);
  color:var(--text);
  border-radius:999px;
  padding:10px 14px;
  cursor:pointer;
  box-shadow:var(--shadow);
}

.ds-nav{
  background:var(--card);
  border-bottom:1px solid var(--line);
}
.ds-nav__inner{
  max-width:1220px;
  margin:0 auto;
  padding:0 18px;
}

/* Joomla menu module in position-1 */
.ds-nav__inner ul.menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-start;
}

@media (max-width: 900px){
  .ds-top{padding:4px 0;}
  .ds-theme{right:14px; top:22px;}
}
.ds-nav__inner ul.menu > li{
  position:relative;
}
.ds-nav__inner ul.menu > li > a,
.ds-nav__inner ul.menu > li > span{
  display:block;
  padding:16px 6px;
  text-decoration:none;
  font-family:Montserrat, Inter, sans-serif;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-size:15px;
  color:var(--text);
}
.ds-nav__inner ul.menu > li.active > a{color:var(--accent)}
.ds-nav__inner ul.menu > li > a:hover{color:var(--accent)}

/* dropdown */
.ds-nav__inner ul.menu li ul{
  display:none;
  position:absolute;
  left:0;
  top:100%;
  min-width:240px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:14px;
  padding:8px;
  box-shadow:var(--shadow);
  z-index:999;
}
.ds-nav__inner ul.menu li:hover > ul{display:block}
.ds-nav__inner ul.menu li ul li{display:block}
.ds-nav__inner ul.menu li ul a{
  display:block;
  padding:10px 10px;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  font-family:Inter, sans-serif;
}
.ds-nav__inner ul.menu li ul a:hover{background:rgba(180,0,0,.08); color:var(--accent)}

/* layout */
.ds-wrap{max-width:1220px; margin:0 auto; padding:0 18px;}
.ds-main{padding:18px 0 28px;}
.ds-grid{
  display:flex;
  gap:22px;
  align-items:flex-start;
}
.ds-col--left{flex:0 0 80%;}
.ds-col--right{flex:0 0 20%;}

.ds-ad--under-menu{
  margin:18px 0 10px;
  display:flex;
  justify-content:center;
}
.ds-ad--under-menu > *{max-width:100%}

.ds-ad--above-footer{
  margin:26px 0 0;
  display:flex;
  justify-content:center;
}
.ds-ad--above-footer > *{max-width:100%}

/* sections + tiles */
.ds-section{margin:20px 0 10px;}
.ds-section__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.ds-section__title{
  margin:0;
  font-family:Montserrat, Inter, sans-serif;
  font-weight:800;
  letter-spacing:.6px;
  text-transform:uppercase;
  font-size:30px;
}
.ds-section__more{
  text-decoration:none;
  color:var(--accent);
  font-weight:700;
}
.ds-col--left .ds-tiles{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
}
.ds-tile{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  flex-direction:column;
}
.ds-tile__img{display:block; aspect-ratio:16/9; overflow:hidden; background:#d1d5db}
.ds-tile__img img{width:100%; height:100%; object-fit:cover; display:block}
.ds-tile__body{padding:12px 14px 14px;}
.ds-tile__title{
  display:block;
  text-decoration:none;
  font-family:Montserrat, Inter, sans-serif;
  font-weight:800;
  font-size:16px;
  line-height:1.25;
  margin:0 0 8px;
}
.ds-tile__title:hover{color:var(--accent)}
.ds-tile__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:var(--muted);
  font-size:13px;
}
.ds-empty{
  grid-column:1/-1;
  padding:14px;
  background:var(--card);
  border:1px dashed var(--line);
  border-radius:14px;
  color:var(--muted);
}

/* sidebar modules: keep default list/link look, just card wrapper */
.ds-col--right .moduletable,
.ds-col--right .moduletable_menu,
.ds-col--right .moduletable_text{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:14px;
  margin:0 0 16px;
}
.ds-col--right .moduletable h3{
  margin:0 0 10px;
  font-family:Montserrat, Inter, sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.6px;
  font-size:16px;
}
.ds-col--right ul{padding-left:18px}

/* footer */
.ds-footer{border-top:1px solid var(--line); padding:18px 0 24px; margin-top:24px;}
.ds-footer__inner{display:flex; justify-content:center; text-align:center}
.ds-footer__copy{color:var(--muted); line-height:1.4}
.ds-footer__cookies{margin-top:10px; display:flex; justify-content:center}

@media (max-width: 1100px){
  .ds-grid{flex-direction:column}
  .ds-col--left,.ds-col--right{flex:1 1 auto}
  .ds-col--left .ds-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .ds-col--left .ds-tiles{grid-template-columns:1fr}
  .ds-section__title{font-size:24px}
}

/* Sidebar: never turn modules into tiles (even if moduleclass_sfx contains "ds-tiles") */
.ds-col--right .ds-tiles{display:block !important; grid-template-columns:none !important; gap:0 !important;}
.ds-col--right .ds-tile{display:block !important; background:transparent !important; border:none !important; border-radius:0 !important; box-shadow:none !important; overflow:visible !important; margin:0 0 10px 0 !important;}
.ds-col--right .ds-tile__img{display:none !important;}
.ds-col--right .ds-tile__meta{padding:0 !important;}
.ds-col--right .ds-tile__title{font-size:14px !important; letter-spacing:0 !important;}

/* Stadium Guide tiles — force full width */
.ds-tiles--stadium .mod-3ds-phoca-subcats__grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  width:100% !important;
}

.ds-tiles--stadium .mod-3ds-phoca-subcats__item{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}

.ds-tiles--stadium .mod-3ds-phoca-subcats__img{
  width:100% !important;
  display:block !important;
}
/* Stadium Guide header — align and style like other sections */
.ds-section__head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:16px;
}

.ds-section__more{
  color:#b10000;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}

.ds-section__more:hover{
  text-decoration:underline;
}
.ds-section__head .ds-section__more{
  color:#b10000 !important;
  text-decoration:none !important;
}
/* 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;
}
.ds-section__more,
.ds-section-more{ color: var(--ds-accent, #c00) !important; }

/* STADIUM GUIDE – ujednolicenie nagłówka do stylu sekcji ds-section__head */
.ds-stadium-guide-head{
  margin-top: 24px;          /* jak chcesz mniejszy/większy odstęp */
  padding-bottom: 10px;
  border-bottom: 2px solid rgba(0,0,0,.08);
}

/* tytuł jak w innych sekcjach */
.ds-stadium-guide-head .ds-section-title{
  margin: 0;
  font: inherit;             /* bierz bazę z body */
  font-family: Montserrat, Inter, sans-serif;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  font-size: 28px;           /* dopasuj jeśli gdzie indziej masz inaczej */
}

/* link jak w innych sekcjach (masz już pozycję i kolor, tu tylko dopieszczamy) */
.ds-stadium-guide-head .ds-section-more{
  font-weight: 700;
}
/* STADIUM GUIDE – tytuły kafelków (przebijamy inline style) */
.mod-3ds-phoca-subcats__title{
  font-family: Inter, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
/* Globalnie – tytuły kafelków artykułów */
.ds-tile__title{
  font-family: Inter, sans-serif;
  font-weight: 700;
}
/* STADIUM GUIDE – tytuły kafelków 1:1 jak reszta (ds-tile__title) */
.mod-3ds-phoca-subcats__title{
  font-family: Inter, sans-serif !important;
  font-weight: 800 !important;     /* tu była różnica – dajemy jak nagłówki kafelków */
  font-size: 18px !important;      /* jeśli u Ciebie ds-tile ma 18 */
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  color: inherit !important;
}

/* żeby link nie robił „linkowego” stylu w środku */
.mod-3ds-phoca-subcats__item{
  color: inherit !important;
}
.mod-3ds-phoca-subcats__item:hover .mod-3ds-phoca-subcats__title{
  text-decoration: underline; /* jak w wielu kafelkach */
}
/* === STADIUM GUIDE: kafelki jak .ds-tile === */
.mod-3ds-phoca-subcats__grid{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:16px !important;
  width:100% !important;
  align-items:stretch !important;
}

.mod-3ds-phoca-subcats__item{
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  text-decoration:none !important;
  color:var(--text) !important;
}

.mod-3ds-phoca-subcats__img{
  width:100% !important;
  height:100% !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  display:block !important;
}

.mod-3ds-phoca-subcats__cap{
  padding:12px 14px 14px !important;
}

.mod-3ds-phoca-subcats__title{
  display:block !important;
  font-family:Montserrat, Inter, sans-serif !important;
  font-weight:800 !important;
  font-size:16px !important;
  line-height:1.25 !important;
  margin:0 0 8px !important;
  letter-spacing:0 !important;
}

.mod-3ds-phoca-subcats__item:hover .mod-3ds-phoca-subcats__title{
  color:var(--accent) !important;
}
/* STADIUM GUIDE – tytuły tylko 2 linie */
.mod-3ds-phoca-subcats__title{
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}