/*
Theme Name: Tomasz Bartosiak
Author: Oskar Sypka
Author URI: https://sypka.pl
Description: Motyw strony tomaszbartosiak.pl.
Version: 2.0.0
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Text Domain: tb
*/

:root {
  --granat:      #00316E;
  --granat-noc:  #001B3D;
  --bordo:       #7A0026;
  --zboze:       #D9A441;
  --mgla:        #EDF0F5;
  --atrament:    #12182B;
  --szary:       #5A6478;

  --display: "Sofia Sans Extra Condensed", "Arial Narrow", sans-serif;
  --tekst: "Source Serif 4", Georgia, serif;

  --marg: clamp(1.25rem, 5vw, 6rem);
  --max: 1320px;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

body {
  margin: 0;
  background: #fff;
  color: var(--atrament);
  font-family: var(--tekst);
  font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

img { display: block; max-width: 100%; height: auto; }

a { color: var(--granat); text-underline-offset: .18em; text-decoration-thickness: from-font; }

:focus-visible {
  outline: 3px solid var(--zboze);
  outline-offset: 3px;
  border-radius: 2px;
}

.pomin {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--granat); color: #fff; padding: .75rem 1.25rem;
  font-family: var(--display); font-size: 1.25rem;
}
.pomin:focus { left: 0; }

/* ---------- wspólne ---------- */

.naglowek {
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(2.25rem, 1.4rem + 3.4vw, 4rem);
  line-height: .92;
  letter-spacing: -.005em;
  margin: 0 0 1.75rem;
  color: var(--granat);
  position: relative;
  padding-bottom: .55rem;
}
.naglowek::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  width: 3.5rem; height: 5px;
  background: var(--zboze);
}
.naglowek--jasny { color: #fff; }

h3 {
  font-family: var(--display);
  font-weight: 600;
  font-size: clamp(1.4rem, 1.15rem + .8vw, 1.9rem);
  line-height: 1.08;
  margin: 0 0 .6rem;
  color: var(--granat);
}

p { margin: 0 0 1.1rem; max-width: 62ch; }

.btn {
  display: inline-block;
  font-family: var(--display);
  font-weight: 600;
  font-size: 1.3rem;
  line-height: 1;
  padding: .95rem 1.7rem .85rem;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.btn--zloty { background: var(--zboze); color: var(--granat-noc); }
.btn--zloty:hover { background: #fff; }

/* ---------- pasek górny ---------- */

.pasek {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #D9DEE7;
}
.pasek__srodek {
  max-width: var(--max); margin: 0 auto;
  padding: .7rem var(--marg);
  display: flex; align-items: center; gap: 1.5rem;
}
.marka { display: flex; align-items: center; gap: .7rem; text-decoration: none; margin-right: auto; }

.marka__nazwa {
  font-family: var(--display); font-weight: 600; font-size: 1.5rem;
  color: var(--atrament); letter-spacing: .005em;
}

.menu__lista {
  display: flex; align-items: center; gap: 1.6rem;
  list-style: none; margin: 0; padding: 0;
}
.menu__lista a {
  font-family: var(--display); font-weight: 600; font-size: 1.4rem;
  color: var(--atrament); text-decoration: none;
  padding-bottom: 2px; border-bottom: 3px solid transparent;
  transition: border-color .18s ease, color .18s ease;
}
.menu__lista a:hover { color: var(--granat); border-bottom-color: var(--zboze); }

.menu__lista .current-menu-item:not(.menu-item-type-custom) > a { border-bottom-color: var(--zboze); }
.menu__lista .cta > a{
  background: var(--granat); color: #fff !important;
  padding: .5rem 1.1rem .4rem; border-bottom: none !important;
}
.menu__lista .cta > a:hover{ background: var(--bordo); }

.hamburger {
  display: none;
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: .55rem;
  background: none; border: 0; cursor: pointer;
  padding: .4rem; color: var(--atrament);
}

.hamburger span:not(.hamburger__etykieta) {
  grid-column: 1;
  display: block; width: 24px; height: 2.5px; background: currentColor; margin: 2.5px 0;
  transition: transform .22s ease, opacity .22s ease;
}
.hamburger__etykieta { grid-column: 2; grid-row: 1 / 4; }
.hamburger__etykieta { font-family: var(--display); font-size: 1.25rem; font-weight: 600; }
.hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

.menu-mobilne { display: none; border-top: 1px solid #D9DEE7; }
.menu-mobilne__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.menu-mobilne__lista a {
  display: block;
  font-family: var(--display); font-weight: 600; font-size: 1.6rem;
  padding: .85rem var(--marg); color: var(--atrament); text-decoration: none;
  border-bottom: 1px solid #E6EAF1;
}
.menu-mobilne__lista li:last-child a { border-bottom: 0; }
.menu-mobilne__lista a:hover,
.menu-mobilne__lista .current-menu-item:not(.menu-item-type-custom) > a {
  background: var(--mgla);
  color: var(--granat);
}

/* ---------- hero ---------- */

.hero {
  background: var(--granat-noc);
  color: #fff;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: stretch;
  min-height: min(82vh, 760px);
  overflow: hidden;
}
.hero__tekst {
  padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 4.5rem);
  display: flex; flex-direction: column; justify-content: center;
  max-width: 44rem; margin-left: auto; width: 100%;
}
.hero__rola {
  font-family: var(--display); font-weight: 600;
  font-size: clamp(1.15rem, 1rem + .5vw, 1.5rem);
  color: var(--zboze);
  margin: 0 0 .9rem;
  letter-spacing: .01em;
}
.hero__imie {
  font-family: var(--display);
  font-weight: 800;
  font-size: clamp(3.75rem, 1.5rem + 9.5vw, 9.5rem);
  line-height: .82;
  letter-spacing: -.015em;
  margin: 0 0 1.5rem;
  display: flex; flex-direction: column;
}

.hero__akcje { display: flex; flex-wrap: wrap; gap: .9rem; }

.hero__foto { position: relative; }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.hero__foto::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--granat-noc) 0%, rgba(0,27,61,.35) 22%, rgba(0,27,61,0) 55%);
}

@media (prefers-reduced-motion: no-preference) {
  .hero__rola, .hero__imie span, .hero__akcje {
    animation: wejscie .75s cubic-bezier(.2,.7,.3,1) backwards;
  }
  .hero__imie span:nth-child(1) { animation-delay: .06s; }
  .hero__imie span:nth-child(2) { animation-delay: .14s; }

  .hero__akcje { animation-delay: .32s; }
  @keyframes wejscie {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
  }
}

/* ---------- liczby i zdjęcia wątków ---------- */

.licz {
  font-family: var(--display); font-weight: 800;
  font-size: 1.45em; line-height: 0; color: var(--bordo);
  padding: 0 .06em;
}

.watek__foto { margin-bottom: 1.1rem; }
.watek__foto img { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: center 30%; }

/* ---------- o mnie ---------- */

.o-mnie {
  background: var(--granat);
  color: #fff;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(1.75rem, 5vw, 4.5rem);
  align-items: start;
  padding: clamp(3.5rem, 8vw, 7rem) var(--marg);
  max-width: var(--max); margin: 0 auto;
  width: 100%;
}
.o-mnie__foto { position: sticky; top: 6rem; }
.o-mnie__foto img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.o-mnie__lead {
  font-size: clamp(1.2rem, 1.05rem + .6vw, 1.55rem);
  line-height: 1.5;
  margin-bottom: 2.25rem;
  color: #fff;
}
.o-mnie h3 { color: var(--zboze); }
.o-mnie p { color: #D5DEEC; }

/* ---------- program ---------- */

.program {
  max-width: var(--max); margin: 0 auto;
  padding: clamp(3.5rem, 8vw, 7rem) var(--marg);
}

.lista-programu { border-top: 2px solid var(--granat); }

.punkt { border-bottom: 1px solid #D3DAE5; }
.punkt summary {
  display: grid;
  grid-template-columns: 2.75rem minmax(9rem, 14rem) 1fr 2rem;
  grid-template-areas: "ikona nazwa zajawka znak";
  align-items: center;
  gap: 1.25rem;
  padding: 1.35rem 0;
  cursor: pointer;
  list-style: none;
  transition: background-color .18s ease;
}
.punkt summary::-webkit-details-marker { display: none; }
.punkt summary:hover { background: var(--mgla); }
.punkt summary:hover .punkt__nazwa { color: var(--bordo); }

.punkt__nazwa {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem);
  line-height: 1; color: var(--granat);
  grid-area: nazwa;
  transition: color .18s ease;
}

.punkt__tresc {
  padding: 0 0 1.75rem;
  margin-left: calc(2.75rem + 1.25rem);
  max-width: 68ch;
}
.punkt__tresc p { margin: 0; color: #2C3446; }

@media (prefers-reduced-motion: no-preference) {
  .punkt[open] .punkt__tresc { animation: rozwin .28s ease; }
  @keyframes rozwin {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: none; }
  }
}

/* ---------- aktualności ---------- */

.aktualnosci {
  background: var(--mgla);
  padding: clamp(3.5rem, 8vw, 7rem) var(--marg);
}

/* ---------- kontakt ---------- */

.kontakt {
  background: var(--granat-noc);
  color: #fff;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 6vw, 5rem);
  padding: clamp(3.5rem, 8vw, 7rem) var(--marg);
  max-width: var(--max); margin: 0 auto; width: 100%;
}

.pole { display: grid; gap: .35rem; }
.pole label { font-family: var(--display); font-weight: 600; font-size: 1.2rem; color: #C6D2E4; }
.pole input, .pole textarea {
  font-family: var(--tekst); font-size: 1rem;
  padding: .8rem .9rem;
  background: rgba(255,255,255,.07);
  border: 1.5px solid rgba(255,255,255,.28);
  color: #fff;
  border-radius: 0;
}
.pole input:focus, .pole textarea:focus { background: rgba(255,255,255,.13); border-color: var(--zboze); }

/* ---------- stopka ---------- */

.stopka { background: #fff; border-top: 1px solid #D9DEE7; }
.stopka__srodek {
  max-width: var(--max); margin: 0 auto;
  padding: 2rem var(--marg);
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.25rem; flex-wrap: wrap;
}
.stopka__nazwa { font-family: var(--display); font-weight: 800; font-size: 1.6rem; margin: 0; color: var(--granat); }
.stopka__menu { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.stopka__menu a { font-family: var(--display); font-size: 1.25rem; color: var(--atrament); text-decoration: none; }
.stopka__menu a:hover { color: var(--bordo); }
.stopka__prawa { margin: 0; color: var(--szary); font-size: .9rem; }

/* ---------- węższe ekrany ---------- */

@media (max-width: 960px) {
  .menu { display: none; }
  .hamburger { display: grid; }
  .menu-mobilne:not([hidden]) { display: block; }

  .hero { grid-template-columns: 1fr; min-height: 0; }
  .hero__foto { order: -1; aspect-ratio: 4/3; }
  .hero__foto img { object-position: center 18%; }
  .hero__foto::after { background: linear-gradient(0deg, var(--granat-noc) 0%, rgba(0,27,61,0) 45%); }
  .hero__tekst { margin-left: 0; padding-top: 2rem; }

   .o-mnie, .kontakt {
    grid-template-columns: 1fr;
  }
  .o-mnie__foto { position: static; max-width: 22rem; }

  .punkt summary {
    grid-template-columns: 2.25rem 1fr 1.5rem;
    grid-template-areas: "ikona nazwa znak" ". zajawka zajawka";
    gap: .5rem .9rem;
  }

  .punkt__tresc { margin-left: calc(2.25rem + .9rem); }
}

@media (max-width: 560px) {
  .marka__nazwa { font-size: 1.35rem; }

  .stopka__srodek { flex-direction: column; align-items: flex-start; }
}

/* ---------- lista aktualności ---------- */

.lista-aktualnosci {
  max-width: var(--max); margin: 0 auto;
  padding: clamp(3rem, 7vw, 5.5rem) var(--marg);
}
.lista-aktualnosci__czolo { margin-bottom: clamp(2rem, 5vw, 3.5rem); }

.siatka-wpisow {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
  gap: clamp(1.75rem, 4vw, 3rem);
}
.kafelek a { text-decoration: none; color: inherit; display: block; }
.kafelek__foto { overflow: hidden; margin-bottom: .9rem; background: var(--mgla); aspect-ratio: 16/9; }
.kafelek__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.kafelek a:hover .kafelek__foto img { transform: scale(1.03); }
.kafelek__data {
  font-family: var(--display); font-weight: 600; font-size: 1.15rem;
  color: var(--bordo); margin: 0 0 .25rem;
}
.kafelek__tytul {
  font-family: var(--display); font-weight: 600;
  font-size: 1.45rem; line-height: 1.1; color: var(--granat);
  margin: 0 0 .5rem;
}
.kafelek a:hover .kafelek__tytul { color: var(--bordo); }
.kafelek__zajawka { color: #2C3446; font-size: 1rem; margin: 0; }

.navigation.pagination {
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: 1.5rem;
  border-top: 1px solid #D3DAE5;
}
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; }
.navigation.pagination .page-numbers {
  font-family: var(--display); font-weight: 600; font-size: 1.25rem;
  padding: .4rem .9rem; text-decoration: none;
  color: var(--granat); border: 2px solid #D3DAE5;
}
.navigation.pagination .page-numbers:hover { border-color: var(--zboze); }
.navigation.pagination .page-numbers.current { background: var(--granat); color: #fff; border-color: var(--granat); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

/* ---------- pojedynczy wpis ---------- */

.wpis-pelny {
  max-width: 50rem; margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 4.5rem) var(--marg) clamp(3rem, 7vw, 5rem);
}
.wpis-pelny__data {
  font-family: var(--display); font-weight: 600; font-size: 1.25rem;
  color: var(--bordo); margin: 0 0 .4rem;
}
.wpis-pelny__tytul {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(2rem, 1.3rem + 2.6vw, 3.4rem);
  line-height: 1; color: var(--granat);
  margin: 0 0 1.75rem;
}
.wpis-pelny__foto { margin: 0 0 2rem; }
.wpis-pelny__foto img { width: 100%; height: auto; }
.wpis-pelny__tresc p { max-width: none; }
.wpis-pelny__tresc > *:last-child { margin-bottom: 0; }

.wpis-pelny__nawigacja {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem;
  margin-top: clamp(2.5rem, 6vw, 4rem);
  padding-top: 1.75rem;
  border-top: 2px solid var(--granat);
}
.wpis-pelny__sasiad { text-decoration: none; display: grid; gap: .25rem; }
.wpis-pelny__sasiad span { font-family: var(--display); font-size: 1.15rem; color: var(--szary); }
.wpis-pelny__sasiad strong {
  font-family: var(--display); font-weight: 600; font-size: 1.35rem;
  line-height: 1.1; color: var(--granat);
}
.wpis-pelny__sasiad:hover strong { color: var(--bordo); }
.wpis-pelny__sasiad--nastepny { text-align: right; }

/* ---------- zwykła podstrona ---------- */

.strona {
  max-width: 50rem; margin: 0 auto;
  padding: clamp(2.5rem, 6vw, 4.5rem) var(--marg) clamp(3rem, 7vw, 5rem);
}
.strona__czolo { margin-bottom: 2rem; }
.strona__tresc p { max-width: none; }

/* ---------- bloki Gutenberga ---------- */

.wp-block-image { margin: 0 0 1.5rem; }
.wp-block-image img { width: 100%; height: auto; }
.wp-block-image figcaption {
  font-size: .92rem; color: var(--szary); margin-top: .5rem;
}
.wp-block-gallery { margin-bottom: 1.75rem; }
.wp-block-quote {
  border-left: 4px solid var(--zboze);
  padding-left: 1.25rem; margin-left: 0;
  font-size: 1.15rem;
}
.wp-block-separator { border: 0; border-top: 1px solid #D3DAE5; margin: 2.5rem 0; }
.wp-block-buttons { gap: .9rem; }
.wp-block-button__link { border-radius: 0; }

.wp-block-group.alignfull { margin-left: 0; margin-right: 0; }

@media (max-width: 720px) {
  .wpis-pelny__nawigacja { grid-template-columns: 1fr; }
  .wpis-pelny__sasiad--nastepny { text-align: left; }
}

/* ---------- bloki: hero ---------- */
.hero { align-items: stretch; }
.hero .hero__foto { margin: 0; height: 100%; }
.hero .hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 22%; }
.hero .wp-block-buttons { margin-bottom: 0; }
.hero__imie { display: flex; flex-direction: column; }

/* ---------- bloki: zdjęcia wątków ---------- */

.watek__foto { margin: 0 0 1.1rem; }
.watek__foto img { aspect-ratio: 16/10; object-fit: cover; object-position: center 30%; }

/* ---------- bloki: o mnie ---------- */
.o-mnie { display: block; }
.o-mnie__uklad.wp-block-columns {
  gap: clamp(1.75rem, 5vw, 4.5rem);
  align-items: flex-start;
  max-width: var(--max); margin-inline: auto;
}
.o-mnie__foto { margin: 0; position: sticky; top: 6rem; }
.o-mnie__foto img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.o-mnie .wp-block-column > h3 { margin-top: 2rem; }

/* ---------- bloki: program ---------- */
.lista-programu { border-top: 2px solid var(--granat); }
.punkt.wp-block-details {
  border-bottom: 1px solid #D3DAE5;
  margin: 0; padding: 0;
}
.punkt.wp-block-details > summary {
  display: grid;
  grid-template-columns: minmax(9rem, 16rem) 1fr;
  align-items: center;
  gap: 1.25rem;
  padding: 1.35rem 1rem 1.35rem 0;
  cursor: pointer;
  list-style: none;
  transition: background-color .18s ease, color .18s ease;
}
.punkt.wp-block-details > summary::-webkit-details-marker,
.punkt.wp-block-details > summary::marker { display: none; content: ""; }
.punkt.wp-block-details > summary:hover { background: var(--mgla); }
.punkt.wp-block-details > summary:hover .punkt__nazwa { color: var(--bordo); }

.punkt.wp-block-details .punkt__nazwa {
  grid-column: 1;
  font-family: var(--display); font-weight: 800;
  font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem);
  line-height: 1; color: var(--granat);
  transition: color .18s ease;
}

.punkt.wp-block-details > summary { position: relative; padding-right: 3.25rem; }
.punkt.wp-block-details > summary::before,
.punkt.wp-block-details > summary::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 1.15rem;
  height: 2.5px;
  background: var(--granat);
  transition: transform .32s cubic-bezier(.4, 0, .2, 1), background-color .18s ease;
}
.punkt.wp-block-details > summary::before { transform: translateY(-50%); }
.punkt.wp-block-details > summary::after { transform: translateY(-50%) rotate(90deg); }
.punkt.wp-block-details[open] > summary::after { transform: translateY(-50%) rotate(0deg); }
.punkt.wp-block-details > summary:hover::before,
.punkt.wp-block-details > summary:hover::after { background: var(--bordo); }

.punkt.wp-block-details .punkt__tresc { overflow: hidden; }
.punkt.wp-block-details .punkt__tresc > p:last-child { margin-bottom: 1.75rem; }

.punkt.wp-block-details .punkt__tresc > p {
  margin: 0 0 1.75rem;
  padding-left: 1rem;
  border-left: 3px solid var(--zboze);
  max-width: 68ch;
  color: #2C3446;
}

/* ---------- bloki: aktualności ---------- */
.aktualnosci .siatka-wpisow.wp-block-post-template {
  list-style: none; margin: 0; padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: clamp(1.75rem, 4vw, 3rem);
}
.aktualnosci .wp-block-post-featured-image { margin-bottom: .9rem; overflow: hidden; }
.aktualnosci .wp-block-post-featured-image img { width: 100%; object-fit: cover; transition: transform .4s ease; }
.aktualnosci .wp-block-post-featured-image:hover img { transform: scale(1.03); }
.aktualnosci .kafelek__data {
  font-family: var(--display); font-weight: 600; font-size: 1.15rem;
  color: var(--bordo); margin: 0 0 .25rem;
}
.aktualnosci .kafelek__tytul { margin: 0 0 .5rem; font-size: 1.45rem; line-height: 1.1; }
.aktualnosci .kafelek__tytul a { text-decoration: none; }
.aktualnosci .kafelek__tytul a:hover { color: var(--bordo); }
.aktualnosci .kafelek__zajawka { font-size: 1rem; color: #2C3446; margin: 0; }
.aktualnosci .wp-block-buttons { margin-top: clamp(2rem, 4vw, 3rem); }

/* ---------- bloki: kontakt ---------- */
.kontakt { display: block; }

.kontakt__mail { font-family: var(--display); font-size: 1.6rem; }
.kontakt__mail a { color: var(--zboze); }
.kontakt__social { margin-top: 1.5rem; }

.hero, .o-mnie, .program, .aktualnosci, .kontakt { width: 100%; }
 .program { max-width: var(--max); margin-inline: auto; }
.o-mnie, .aktualnosci, .kontakt { padding-inline: var(--marg); }
.aktualnosci > .naglowek, .aktualnosci > .wp-block-query, .aktualnosci > .wp-block-buttons,
.kontakt > * { max-width: var(--max); margin-inline: auto; }

@media (max-width: 960px) {
  .o-mnie__uklad.wp-block-columns { gap: 1.5rem; }
  .o-mnie__foto { position: static; max-width: 22rem; }
  .punkt.wp-block-details > summary {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
}

.hero__imie { color: #fff; }

.o-mnie h2, .o-mnie h3 { color: var(--zboze); }
.o-mnie .naglowek--jasny { color: #fff; }
.kontakt h1, .kontakt h2 { color: #fff; }

.wp-block-group.alignfull.hero,
.wp-block-group.alignfull.o-mnie,
.wp-block-group.alignfull.aktualnosci,
.wp-block-group.alignfull.kontakt { max-width: none; }

.aktualnosci .siatka-wpisow.wp-block-post-template { align-items: start; }
.aktualnosci .siatka-wpisow > li { display: flex; flex-direction: column; margin: 0; }

.stopka__lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.5rem; flex-wrap: wrap; }

/* ---------- wspólny kontener ---------- */

.hero, .o-mnie, .program, .aktualnosci, .rozwoj, .media, .kontakt,
.lista-aktualnosci, .wpis-pelny, .strona {
  max-width: none;
  width: 100%;
  padding-inline: var(--marg);
  margin-inline: 0;
}

 .program > *, .o-mnie > *, .aktualnosci > *, .rozwoj > *, .media > *, .kontakt > *,
.lista-aktualnosci > * {
  max-width: var(--max);
  margin-inline: auto;
}

.wpis-pelny > *, .strona > * { max-width: 50rem; margin-inline: auto; }

.hero { padding-inline: 0; }
.hero__tekst {
  box-sizing: border-box;
  width: 100%;
  max-width: calc(var(--max) / 2);
  margin-left: auto;
  padding: clamp(2.5rem, 6vw, 5.5rem) var(--marg) clamp(2.5rem, 6vw, 5.5rem) 0;
}

@media (max-width: 960px) {
  .hero__tekst {
    max-width: none;
    margin-left: 0;
    padding: 2rem var(--marg) clamp(2.5rem, 6vw, 3.5rem);
  }
}

/* ---------- formularz kontaktowy ---------- */

.wpcf7 { margin-top: 2.5rem; }
.wpcf7-form { display: grid; gap: 1.1rem; max-width: 34rem; }
.kontakt .wpcf7-form { max-width: none; }

.kontakt__uklad.wp-block-columns { gap: clamp(2rem, 5vw, 4.5rem); align-items: flex-start; }
.kontakt .wpcf7 { margin-top: 0; }
.kontakt .wpcf7-form { display: grid; gap: 1.1rem; max-width: none; }

.pole { display: grid; gap: .35rem; }
.pole label {
  font-family: var(--display); font-weight: 600; font-size: 1.2rem;
  color: #C6D2E4;
}
.pole input[type="text"], .pole input[type="email"], .pole textarea {
  font-family: var(--tekst); font-size: 1rem;
  padding: .8rem .9rem;
  background: rgba(255,255,255,.07);
  border: 1.5px solid rgba(255,255,255,.28);
  border-radius: 0;
  color: #fff;
  width: 100%;
  box-sizing: border-box;
}
.pole input:focus, .pole textarea:focus {
  background: rgba(255,255,255,.13);
  border-color: var(--zboze);
  outline: none;
}
.pole input::placeholder, .pole textarea::placeholder { color: #8FA3C0; }

.pole--zgoda { font-size: .95rem; color: #C6D2E4; }
.pole--zgoda .wpcf7-list-item { margin: 0; }
.pole--zgoda label { display: flex; gap: .6rem; align-items: flex-start; font-family: var(--tekst); font-size: .95rem; font-weight: 400; }
.pole--zgoda input[type="checkbox"] { margin-top: .3rem; accent-color: var(--zboze); }
.pole--zgoda a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }

.wpcf7-form .btn, .wpcf7-form input[type="submit"] {
  justify-self: start;
  font-family: var(--display); font-weight: 600; font-size: 1.3rem;
  background: var(--zboze); color: var(--granat-noc);
  border: 0; padding: .95rem 1.7rem .85rem;
  cursor: pointer;
}
.wpcf7-form input[type="submit"]:hover { background: #fff; }

.wpcf7-not-valid-tip { color: #FFC9C9; font-size: .9rem; }
.wpcf7 form .wpcf7-response-output {
  margin: 1rem 0 0; padding: .8rem 1rem;
  border: 1.5px solid rgba(255,255,255,.35);
  color: #fff; font-size: .95rem;
}
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--zboze); }

:is(.strona, .jasne-pola) .pole label { color: var(--granat); }
:is(.strona, .jasne-pola) .pole input, :is(.strona, .jasne-pola) .pole textarea {
  background: #fff; border-color: #C3CBD8; color: var(--atrament);
}
:is(.strona, .jasne-pola) .pole--zgoda { color: var(--szary); }

.kontakt__social.wp-block-social-links { gap: .35rem; margin-top: 1.5rem; }
.kontakt__social .wp-social-link { background: none !important; padding: .35rem; }
.kontakt__social .wp-social-link a { color: #fff; opacity: .85; transition: opacity .18s ease, color .18s ease; }
.kontakt__social .wp-social-link:hover a { color: var(--zboze); opacity: 1; }

.punkt .punkt__nazwa::before {
  content: "";
  width: 2rem; height: 2rem;
  flex: 0 0 auto;
  background-repeat: no-repeat; background-position: center; background-size: contain;
}
.punkt .punkt__nazwa { display: flex; align-items: center; gap: .9rem; }
.punkt--bezpieczenstwo .punkt__nazwa::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237A0026%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202%204%205.5v6c0%205%203.4%208.6%208%2010.5%204.6-1.9%208-5.5%208-10.5v-6L12%202Z%22%2F%3E%3C%2Fsvg%3E"); }
.punkt--rolnictwo .punkt__nazwa::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237A0026%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021V9%22%2F%3E%3Cpath%20d%3D%22M12%209c0-3%202-6%205-6%200%203-2%206-5%206Z%22%2F%3E%3Cpath%20d%3D%22M12%2013c0-3-2-6-5-6%200%203%202%206%205%206Z%22%2F%3E%3Cpath%20d%3D%22M12%2017c0-3%202-5%205-5%200%203-2%205-5%205Z%22%2F%3E%3C%2Fsvg%3E"); }
.punkt--biznes .punkt__nazwa::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237A0026%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M9%207V5a2%202%200%200%201%202-2h2a2%202%200%200%201%202%202v2%22%2F%3E%3Cpath%20d%3D%22M3%2012h18%22%2F%3E%3C%2Fsvg%3E"); }
.punkt--sport .punkt__nazwa::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237A0026%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%203h10v6a5%205%200%200%201-10%200V3Z%22%2F%3E%3Cpath%20d%3D%22M7%205H4v1.5A3.5%203.5%200%200%200%207.5%2010M17%205h3v1.5A3.5%203.5%200%200%201%2016.5%2010%22%2F%3E%3Cpath%20d%3D%22M12%2014v3M9%2021h6l-.7-4H9.7L9%2021Z%22%2F%3E%3C%2Fsvg%3E"); }
.punkt--zdrowie .punkt__nazwa::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237A0026%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012h4l2-5%203%2010%202.5-7%202%204h6.5%22%2F%3E%3C%2Fsvg%3E"); }
.punkt--kosmos .punkt__nazwa::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%237A0026%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.5%22%2F%3E%3Cellipse%20cx%3D%2212%22%20cy%3D%2212%22%20rx%3D%2210%22%20ry%3D%224.5%22%20transform%3D%22rotate(-28%2012%2012)%22%2F%3E%3C%2Fsvg%3E"); }

.hero {
  display: grid;
  grid-template-columns:
    minmax(var(--marg), 1fr)
    minmax(0, calc(var(--max) / 2))
    minmax(0, calc(var(--max) / 2))
    minmax(var(--marg), 1fr);
  padding-inline: 0;
}
.hero > .hero__tekst {
  grid-column: 2;
  max-width: none;
  margin-left: 0;
  padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.5rem, 3vw, 3rem) clamp(2.5rem, 6vw, 5.5rem) 0;
}
.hero .hero__foto { grid-column: 3 / -1; }

@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; }
  .hero > .hero__tekst { grid-column: 1; padding: 2rem var(--marg) clamp(2.5rem, 6vw, 3.5rem); }
  .hero .hero__foto { grid-column: 1; }
}

/* ---------- pasek: stany ---------- */

.pasek__srodek { container-type: inline-size; }

.marka,
.pasek__prawa {
  transition: opacity .45s cubic-bezier(.4, 0, .2, 1),
              transform .45s cubic-bezier(.4, 0, .2, 1);
}

.pasek__prawa { margin-left: auto; }

.pasek.pasek--gora .marka {
  opacity: 0;
  transform: translateX(-1rem);
  pointer-events: none;
}
.pasek.pasek--gora .pasek__prawa { transform: translateX(calc(50% - 50cqw)); }

.marka { opacity: 1; transform: none; }
.pasek__prawa { transform: translateX(0); }

@media (prefers-reduced-motion: reduce) {
  .marka, .pasek__prawa { transition: none; }
}

@media (max-width: 960px) {
  .pasek.pasek--gora .marka { opacity: 1; transform: none; pointer-events: auto; }
  .pasek.pasek--gora .pasek__prawa { transform: none; }
}

/* ---------- rozwój lokalny ---------- */

.rozwoj { background: var(--mgla); padding-block: clamp(3.5rem, 8vw, 7rem); }
.rozwoj__uklad.wp-block-columns { gap: clamp(1.5rem, 4vw, 3rem); }
.rozwoj__punkt {
  border-top: 4px solid var(--zboze);
  padding-top: 1.1rem;
  margin: 0;
  font-size: 1.05rem;
}
.rozwoj__punkt strong { color: var(--granat); font-family: var(--display); font-size: 1.35rem; }

.o-mnie__zamkniecie { margin-top: 2rem; font-size: 1.1rem; }
.o-mnie__zamkniecie strong { color: var(--zboze); }
.program__zamkniecie { margin-top: 1.5rem; font-size: 1.1rem; }
.program__zamkniecie strong { color: var(--bordo); }

.o-mnie__zdjecia.wp-block-columns { gap: clamp(1.25rem, 3vw, 2rem); margin-top: clamp(2rem, 5vw, 3.5rem); }
.kontakt__nazwa { font-family: var(--display); font-size: 1.9rem; color: #fff; margin-bottom: .25rem; }

.hero__imie { display: block; font-size: clamp(2.75rem, 1rem + 7vw, 7rem); line-height: .9; }
.hero__rola { margin-top: 1.25rem; font-size: clamp(1.05rem, .95rem + .5vw, 1.4rem); line-height: 1.4; }

/* ---------- o mnie ---------- */

.o-mnie__lead {
  font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem);
  line-height: 1.45;
  color: #fff;
  margin: 0;
}
.o-mnie__foto { margin: 0; }
.o-mnie__foto img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }

.o-mnie__cytat {
  font-size: clamp(1.1rem, 1rem + .55vw, 1.45rem);
  line-height: 1.5;
  color: #fff;
  margin: 0;
}
.o-mnie__cytat .licz {
  font-family: var(--display);
  font-size: 1.55em;
  line-height: 0;
  color: var(--zboze);
  padding: 0 .04em;
}

.o-mnie__zamkniecie {
  margin-top: clamp(2rem, 5vw, 3.5rem);
  font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem);
  color: #fff;
  max-width: 62ch;
}
.o-mnie__zamkniecie strong { color: var(--zboze); }

/* ---------- o mnie: portret ---------- */

.o-mnie { background: var(--granat); }

.o-mnie__uklad.wp-block-columns {
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: stretch;
}

.o-mnie__foto {
  margin: 0;
  position: sticky;
  top: 6rem;
}
.o-mnie__foto img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }

.o-mnie__lead {
  font-size: clamp(1.3rem, 1.05rem + 1vw, 1.9rem);
  line-height: 1.4;
  color: #fff;
  margin-bottom: 2.25rem;
}

.o-mnie h3 {
  color: var(--zboze);
  margin-top: 2.25rem;
  padding-top: .9rem;
  border-top: 3px solid rgba(217, 164, 65, .5);
}

.o-mnie p { color: #E2EAF5; }

.o-mnie__cytat {
  font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem);
  line-height: 1.5;
  color: #fff !important;
  border-left: 4px solid var(--zboze);
  padding: .3rem 0 .3rem 1.25rem;
  margin: 1.75rem 0;
}
.o-mnie__cytat .licz {
  font-family: var(--display);
  font-size: 1.5em;
  line-height: 0;
  color: var(--zboze);
  padding: 0 .04em;
}

.o-mnie__zamkniecie {
  margin-top: 2rem;
  font-size: 1.15rem;
  color: #fff !important;
}
.o-mnie__zamkniecie strong { color: var(--zboze); }

.o-mnie__zdjecia.wp-block-columns {
  gap: clamp(1.25rem, 3vw, 2rem);
  margin-top: clamp(2.5rem, 6vw, 4rem);
}
.watek__foto { margin: 0; }
.watek__foto img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 30%; }

@media (max-width: 781px) {
  .o-mnie__foto { position: static; max-width: 20rem; margin-bottom: 1.5rem; }
}

.stopka__prawa a {
  color: var(--granat);
  text-decoration: none;
  border-bottom: 2px solid var(--zboze);
  padding-bottom: 1px;
  transition: color .18s ease;
}
.stopka__prawa a:hover { color: var(--bordo); }

/* ---------- pasek: ikony social ---------- */

.pasek__prawa { display: flex; align-items: center; gap: clamp(1rem, 1.6vw, 1.75rem); }
.menu__lista { gap: clamp(1rem, 1.5vw, 1.6rem); }

.pasek__social.wp-block-social-links,
.menu-mobilne__social.wp-block-social-links {
  display: flex; flex-wrap: nowrap; gap: .1rem; margin: 0; padding: 0;
}
.pasek__social { padding-left: clamp(1rem, 1.6vw, 1.75rem) !important; border-left: 1px solid #D9DEE7; }
.pasek__social .wp-social-link,
.menu-mobilne__social .wp-social-link { background: none !important; color: var(--granat) !important; }
.pasek__social .wp-social-link a,
.menu-mobilne__social .wp-social-link a {
  display: block; padding: .3rem; color: var(--granat); transition: color .18s ease;
}
.pasek__social .wp-social-link svg { width: 20px; height: 20px; }
.pasek__social .wp-social-link:hover a,
.menu-mobilne__social .wp-social-link:hover a { color: var(--bordo); }
.menu-mobilne__social.wp-block-social-links { padding: 1rem calc(var(--marg) - .3rem) 1.25rem; gap: .5rem; }
.menu-mobilne__social .wp-social-link svg { width: 26px; height: 26px; }

@media (max-width: 1200px) {
  .menu { display: none; }
  .hamburger { display: grid; }
  .menu-mobilne:not([hidden]) { display: block; }
  .pasek__social { border-left: 0; padding-left: 0 !important; }
  .pasek.pasek--gora .marka { opacity: 1; transform: none; pointer-events: auto; }
  .pasek.pasek--gora .pasek__prawa { transform: none; }
}
@media (max-width: 560px) {
  .pasek__social { display: none !important; }
}

/* ---------- publikacje ---------- */

.publikacje { padding: clamp(2.5rem, 6vw, 4.5rem) var(--marg) clamp(3rem, 7vw, 5rem); }
.publikacje > * { max-width: 56rem; margin-inline: auto; }
.publikacje__czolo { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.publikacje__lista { list-style: none; margin: 0 auto; padding: 0; border-top: 1px solid #D9DEE7; }

.publikacja {
  position: relative;
  display: grid; grid-template-columns: 1fr auto; column-gap: 2rem;
  padding: 1.5rem 0 1.4rem;
  border-bottom: 1px solid #D9DEE7;
}
.publikacja > * { grid-column: 1; }
.publikacja__meta {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1rem;
  margin: 0 0 .45rem; font-size: .9rem; color: var(--szary);
}
.publikacja__rodzaj {
  font-family: var(--display); font-weight: 700; font-size: .95rem; letter-spacing: .06em;
  text-transform: uppercase; line-height: 1;
  padding: .3rem .5rem .2rem; background: var(--mgla); color: var(--granat);
}
.publikacja--pdf .publikacja__rodzaj { background: var(--bordo); color: #fff; }
.publikacja__zrodlo::before { content: "·"; margin-right: 1rem; }
.publikacja__tytul {
  font-family: var(--display); font-weight: 700;
  font-size: clamp(1.45rem, 1.2rem + .8vw, 1.9rem); line-height: 1.08;
  margin: 0 0 .4rem; color: var(--granat);
}
.publikacja__tytul a { color: inherit; text-decoration: none; }

.publikacja__tytul a::after { content: ""; position: absolute; inset: 0; }
.publikacja:hover .publikacja__tytul { color: var(--bordo); }
.publikacja__opis { margin: 0; color: #2C3446; font-size: 1rem; }
.publikacja__akcja {
  grid-column: 2; grid-row: 1 / span 3; align-self: center; margin: 0;
  font-family: var(--display); font-weight: 600; font-size: 1.2rem; white-space: nowrap;
  color: var(--granat); border-bottom: 3px solid var(--zboze); padding-bottom: 1px;
}
.publikacja:hover .publikacja__akcja { color: var(--bordo); }
.publikacja:focus-within { outline: 3px solid var(--zboze); outline-offset: 4px; }
.publikacja:focus-within a:focus-visible { outline: none; }

@media (max-width: 640px) {
  .publikacja { grid-template-columns: 1fr; }
  .publikacja__akcja { grid-column: 1; grid-row: auto; justify-self: start; margin-top: .8rem; }
}

/* ---------- formularze na podstronach ---------- */

.pole input[type="tel"], .pole select {
  font-family: var(--tekst); font-size: 1rem;
  padding: .8rem .9rem; border-radius: 0; width: 100%; box-sizing: border-box;
}
:is(.strona, .jasne-pola) .pole input[type="tel"], :is(.strona, .jasne-pola) .pole select {
  background: #fff; border: 1.5px solid #C3CBD8; color: var(--atrament);
}
:is(.strona, .jasne-pola) .pole select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2300316E%22%20stroke-width%3D%222%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat; background-position: right .8rem center; background-size: 1.1rem;
  padding-right: 2.5rem;
}
:is(.strona, .jasne-pola) .pole input:focus, :is(.strona, .jasne-pola) .pole textarea:focus, :is(.strona, .jasne-pola) .pole select:focus {
  background-color: #fff; border-color: var(--granat); outline: 2px solid var(--zboze); outline-offset: 0;
}
:is(.strona, .jasne-pola) .pole input::placeholder, :is(.strona, .jasne-pola) .pole textarea::placeholder { color: #8A93A5; }
.pole__opcja { font-family: var(--tekst); font-weight: 400; font-size: .9rem; color: var(--szary); }
:is(.strona, .jasne-pola) .wpcf7-form { max-width: none; }
:is(.strona, .jasne-pola) .wpcf7-not-valid-tip { color: var(--bordo); }
:is(.strona, .jasne-pola) .wpcf7 form .wpcf7-response-output { color: var(--atrament); border-color: #C3CBD8; }
:is(.strona, .jasne-pola) .wpcf7-form input[type="submit"] { background: var(--granat); color: #fff; }
:is(.strona, .jasne-pola) .wpcf7-form input[type="submit"]:hover { background: var(--bordo); }
.pole--para { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 640px) { .pole--para { grid-template-columns: 1fr; } }

/* ---------- publikacje: działy ---------- */

.dzialy {
  list-style: none; margin: 0 auto; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.5vw, 1.75rem);
}
.dzial {
  position: relative;
  display: flex; flex-direction: column;
  min-height: 15rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--mgla);
  border-top: 5px solid var(--zboze);
  transition: background-color .2s ease, color .2s ease;
}
.dzial__numer { font-family: var(--display); font-weight: 800; font-size: 1.1rem; letter-spacing: .08em; color: var(--bordo); }
.dzial__nazwa {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(1.9rem, 1.4rem + 1.4vw, 2.6rem); line-height: 1;
  margin: .6rem 0 .75rem; color: var(--granat);
}
.dzial__nazwa a { color: inherit; text-decoration: none; }
.dzial__nazwa a::after { content: ""; position: absolute; inset: 0; }
.dzial__opis { margin: 0 0 1rem; font-size: 1rem; color: #2C3446; }
.dzial__licznik {
  margin: auto 0 0; display: flex; justify-content: space-between; align-items: center;
  font-family: var(--display); font-weight: 600; font-size: 1.2rem; color: var(--szary);
}
.dzial__licznik::after { content: "→"; font-size: 1.5rem; color: var(--granat); transition: transform .2s ease; }
.dzial:hover { background: var(--granat); }
.dzial:hover .dzial__nazwa, .dzial:hover .dzial__licznik::after { color: #fff; }
.dzial:hover .dzial__numer { color: var(--zboze); }
.dzial:hover .dzial__opis, .dzial:hover .dzial__licznik { color: #E2EAF5; }
.dzial:hover .dzial__licznik::after { transform: translateX(4px); }
.dzial:focus-within { outline: 3px solid var(--zboze); outline-offset: 3px; }
.dzial:focus-within a:focus-visible { outline: none; }

.publikacje__powrot { margin: 0 0 1rem; font-family: var(--display); font-weight: 600; font-size: 1.2rem; }
.publikacje__powrot a { text-decoration: none; }
.publikacje__powrot a:hover { color: var(--bordo); }
.publikacje__opis { color: var(--szary); font-size: 1.1rem; }

@media (max-width: 800px) {
  .dzialy { grid-template-columns: 1fr; }
  .dzial { min-height: 0; }
  .dzial__licznik { margin-top: 1.25rem; }
}

/* ---------- podstrony z formularzem ---------- */

.wp-block-group.alignfull.formularz-strona { max-width: none; }
.formularz-strona { padding: 0 0 clamp(3.5rem, 8vw, 6rem); }

.formularz-strona__czolo {
  background: var(--granat-noc); color: #fff;
  padding: clamp(3rem, 8vw, 6rem) var(--marg) clamp(5rem, 11vw, 8rem);
}
.formularz-strona__czolo { display: grid; grid-template-columns: 1fr min(var(--max), 100%) 1fr; }
.formularz-strona__czolo > * { grid-column: 2; }
.formularz-strona__znacznik {
  font-family: var(--display); font-weight: 700; font-size: 1.15rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--zboze);
  margin-bottom: .9rem;
}
.formularz-strona__pytanie {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(2.75rem, 1.2rem + 6vw, 6rem); line-height: .92;
  color: #fff; margin-top: 0; margin-bottom: 1.5rem;
}
.formularz-strona__wstep {
  font-size: clamp(1.1rem, 1rem + .45vw, 1.35rem); line-height: 1.6;
  color: #E2EAF5; max-width: 62ch;
}

.formularz-strona__uklad.wp-block-columns {
  max-width: var(--max); margin: calc(-1 * clamp(3rem, 7vw, 5rem)) auto 0;
  padding-inline: var(--marg); box-sizing: content-box;
  gap: clamp(2rem, 5vw, 4.5rem); align-items: flex-start;
}
.formularz-strona__kroki { padding-top: calc(clamp(3rem, 7vw, 5rem) + 2.5rem); }
.formularz-strona__podtytul {
  font-family: var(--display); font-weight: 800; font-size: clamp(1.8rem, 1.4rem + 1.2vw, 2.4rem);
  color: var(--granat); margin: 0 0 1.5rem;
}
.kroki { list-style: none; margin: 0; padding: 0; counter-reset: krok; }
.kroki li {
  counter-increment: krok;
  position: relative; padding: 0 0 1.6rem 3.75rem; margin: 0;
  line-height: 1.6;
}
.kroki li::before {
  content: counter(krok, decimal-leading-zero);
  position: absolute; left: 0; top: -.2rem;
  font-family: var(--display); font-weight: 800; font-size: 2rem; line-height: 1;
  color: var(--zboze);
}
.kroki li:not(:last-child)::after {
  content: ""; position: absolute; left: 1rem; top: 2.3rem; bottom: .5rem;
  width: 2px; background: #E3E7EE;
}
.kroki strong {
  display: block; font-family: var(--display); font-weight: 700; font-size: 1.45rem;
  line-height: 1.1; color: var(--granat); margin-bottom: .3rem;
}
.formularz-strona__dopisek {
  margin-top: .5rem; padding: 1rem 1.25rem;
  border-left: 4px solid var(--bordo); background: var(--mgla);
  font-family: var(--display); font-weight: 600; font-size: 1.3rem; color: var(--granat);
}
.formularz-strona__karta {
  background: #fff;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border-top: 5px solid var(--zboze);
  box-shadow: 0 1.5rem 3rem -1rem rgba(0, 27, 61, .22), 0 0 0 1px #E3E7EE;
}
.formularz-strona__karta .wpcf7 { margin-top: 0; }

@media (max-width: 781px) {

  .formularz-strona__uklad.wp-block-columns { flex-direction: column-reverse; }
  .formularz-strona__kroki { padding-top: 0; }
}

.pasek__srodek, .stopka__srodek { max-width: calc(var(--max) + 2 * var(--marg)); }

.formularz-strona__karta p { max-width: none; }

/* ---------- social media ---------- */

.media { padding-block: clamp(3.5rem, 8vw, 7rem); }
.media__siatka {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}
.media__karta {
  border-top: 4px solid var(--zboze);
  background: var(--mgla);
  min-height: 34rem;
  display: flex; justify-content: center; align-items: flex-start;
  padding: clamp(1rem, 2.5vw, 1.75rem);
}
.media__karta--wczytana { background: none; padding: 1.25rem 0 0; min-height: 0; justify-content: flex-start; }
.media__zaslepka {
  align-self: center;
  text-align: center;
  max-width: 24rem;
  display: flex; flex-direction: column; align-items: center; gap: .6rem;
}
.media__zaslepka p { margin: 0; }
.media__ikona {
  width: 3.25rem; height: 3.25rem;
  background: var(--granat);
  -webkit-mask: var(--logo) center / contain no-repeat;
          mask: var(--logo) center / contain no-repeat;
}
.media__karta--facebook { --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.1 10.13 24v-8.44H7.08v-3.49h3.05V9.41c0-3.02 1.8-4.7 4.54-4.7 1.31 0 2.68.24 2.68.24v2.97h-1.5c-1.5 0-1.96.93-1.96 1.89v2.26h3.33l-.53 3.49h-2.8V24C19.62 23.1 24 18.1 24 12.07z'/%3E%3C/svg%3E"); }
.media__karta--tiktok { --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.53.02C13.84 0 15.14.01 16.44 0c.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E"); }
.media__nazwa {
  font-family: var(--display); font-weight: 800; font-size: 2rem;
  line-height: 1; color: var(--granat); text-transform: uppercase;
}
.media__uchwyt a { color: var(--szary); text-decoration: none; }
.media__uchwyt a:hover { color: var(--bordo); text-decoration: underline; }
.btn.media__pokaz {
  margin-top: .6rem;
  background: var(--granat); color: #fff; border: 0; cursor: pointer;
}
.btn.media__pokaz:hover { background: var(--bordo); }
.media__uwaga { font-size: .85rem; line-height: 1.4; color: var(--szary); margin-top: .4rem !important; }

.media__karta--youtube { grid-column: 1 / -1; min-height: 0; }
.media__karta--youtube .media__zaslepka { padding-block: 1.5rem; }
.media__karta--youtube { --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.5 6.2a3 3 0 0 0-2.1-2.1C19.5 3.6 12 3.6 12 3.6s-7.5 0-9.4.5A3 3 0 0 0 .5 6.2 31 31 0 0 0 0 12a31 31 0 0 0 .5 5.8 3 3 0 0 0 2.1 2.1c1.9.5 9.4.5 9.4.5s7.5 0 9.4-.5a3 3 0 0 0 2.1-2.1A31 31 0 0 0 24 12a31 31 0 0 0-.5-5.8zM9.6 15.6V8.4l6.2 3.6-6.2 3.6z'/%3E%3C/svg%3E"); }
.media__karta iframe.media__wideo { width: 100%; height: auto; aspect-ratio: 16 / 9; }

.media__karta iframe { display: block; max-width: 100%; border: 0; }
.media__karta .tiktok-embed { margin: 0 !important; width: 100%; }

@media (max-width: 900px) {
  .media__siatka { grid-template-columns: 1fr; }
  .media__karta { min-height: 24rem; }
}
