/* Dyrektor Marketingu Roku — beta: sekcje treści (O konkursie, Nowości, Kategorie, Doradca, Kapituła,
   Galeria, Poprzednie edycje, Terminy i ceny, Entry Kit, FAQ). Tokeny kolorów i siatka w style.css. */
.sekcja { padding: clamp(80px, 10vw, 150px) 0; border-top: 1px solid var(--linia-2); }
.sekcja--tlo2 { background: var(--tlo-2); }
.sekcja__glowa { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin-bottom: clamp(32px, 4vw, 56px); font-family: var(--font-display); }
.sekcja__nr { font-size: 14px; font-weight: 600; letter-spacing: 0.06em; color: var(--akcent-tekst); }
.sekcja__glowa .ukos { font-size: clamp(2.2rem, 4.6vw, 4.4rem); line-height: 1; }
.sekcja__glowa h2 { font-size: clamp(2.2rem, 5vw, 4.8rem); font-weight: 700; line-height: 1; letter-spacing: -0.03em; }
.sekcja__lead { max-width: 62ch; margin-bottom: clamp(28px, 3.4vw, 48px); font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.3rem); line-height: 1.55; color: var(--tekst-2); }
.sekcja__lead b { color: var(--tekst); font-weight: 600; }
.sekcja__wstep { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: clamp(24px, 3vw, 40px); }
.sekcja__wstep .sekcja__lead { margin-bottom: 0; }
.pojawia { opacity: 0; transform: translateY(24px); transition: opacity 0.9s var(--ease-out-expo), transform 0.9s var(--ease-out-expo); }
.pojawia.widoczne { opacity: 1; transform: none; }
.pasek-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: clamp(32px, 4vw, 56px); padding: 22px 0; border-top: 1px solid var(--linia); border-bottom: 1px solid var(--linia); }
.pasek-cta p { margin-right: auto; font: 600 clamp(1.05rem, 0.95rem + 0.4vw, 1.35rem)/1.3 var(--font-display); }

/* ---------- 01 O konkursie ---------- */
.o-konkursie__siatka { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 96px); }
.cytat { font: 600 clamp(1.8rem, 1.2rem + 2.2vw, 3.4rem)/1.12 var(--font-display); letter-spacing: -0.02em; }
.o-konkursie__teksty { display: flex; flex-direction: column; gap: 32px; }
.o-konkursie__teksty h3, .nowosc h3 + p, .doradca__kroki b { font-family: var(--font-display); }
.o-konkursie__teksty h3 { margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--akcent-tekst); }
.o-konkursie__teksty p { font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }
.liczby { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: clamp(56px, 7vw, 112px); border-top: 1px solid var(--linia); list-style: none; }
.liczby li { display: flex; flex-direction: column; gap: 8px; padding: 26px 20px 0 0; }
.liczby li + li { padding-left: 20px; border-left: 1px solid var(--linia); }
.liczby b { font: 700 clamp(2.6rem, 1.6rem + 3.4vw, 5.2rem)/1 var(--font-display); letter-spacing: -0.03em; }
.liczby span { font-size: 14px; color: var(--tekst-3); }

/* ---------- 02 Nowości ---------- */
.nowosci { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--linia); border: 1px solid var(--linia); list-style: none; }
.nowosc { display: flex; flex-direction: column; gap: 12px; padding: clamp(22px, 2.4vw, 36px); background: var(--tlo-2); transition: background-color 0.3s ease; }
.nowosc:hover { background: var(--tlo); }
.nowosc__nr { font: 600 13px/1 var(--font-display); letter-spacing: 0.18em; color: var(--akcent-tekst); }
.nowosc h3 { font: 600 clamp(1.25rem, 1rem + 0.8vw, 1.7rem)/1.15 var(--font-display); letter-spacing: -0.015em; }
.nowosc p { font-size: 15px; line-height: 1.6; color: var(--tekst-2); }
.z-mediarun { margin-top: clamp(48px, 6vw, 88px); }
.z-mediarun__tytul { margin-bottom: 22px; font: 600 14px/1.2 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--tekst-2); }
.artykuly { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); list-style: none; }
.artykul a { display: flex; flex-direction: column; gap: 12px; }
.artykul__foto { aspect-ratio: 16 / 9; overflow: hidden; background: var(--powierzchnia); }
.artykul__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease-out-expo); }
.artykul a:hover .artykul__foto img { transform: scale(1.04); }
.artykul__meta { font: 600 12px/1 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--akcent-tekst); }
.artykul__tytul { font: 600 clamp(1.05rem, 0.95rem + 0.35vw, 1.3rem)/1.3 var(--font-display); letter-spacing: -0.01em; }
.artykul a:hover .artykul__tytul { color: var(--akcent-tekst); }

/* ---------- 03 Kategorie: grupy rozwijane do pełnej listy ---------- */
.grupy { border-top: 1px solid var(--linia-2); }
.grupa { border-bottom: 1px solid var(--linia-2); }
.grupa summary { display: grid; grid-template-columns: 4.6rem 5.2rem 1.4rem minmax(0, 1fr) minmax(0, 1.1fr) 40px; align-items: baseline; gap: 16px; padding: 22px 0; list-style: none; cursor: pointer; transition: background-color 0.3s ease; }
.grupa summary::-webkit-details-marker { display: none; }
.grupa summary:hover { background: color-mix(in srgb, var(--akcent) 6%, transparent); }
.grupa__kod { font: 600 13px/1 var(--font-display); letter-spacing: 0.18em; color: var(--tekst-3); }
.grupa__ile { font: 700 clamp(2rem, 1.2rem + 2.4vw, 3.6rem)/1 var(--font-display); color: var(--akcent-tekst); }
.grupa__x { font: 400 1.4rem/1 var(--font-display); color: var(--akcent); }
.grupa__nazwa { font: 600 clamp(1.4rem, 1rem + 1.4vw, 2.4rem)/1.1 var(--font-display); letter-spacing: -0.02em; }
.grupa__opis { font-size: 15px; color: var(--tekst-3); }
.grupa__znak { position: relative; justify-self: end; align-self: center; width: 22px; height: 22px; }
.grupa__znak::before, .grupa__znak::after { content: ""; position: absolute; left: 0; top: 50%; width: 22px; height: 1.5px; background: var(--akcent); transition: transform 0.4s var(--ease-out-expo); }
.grupa__znak::after { transform: rotate(90deg); }
.grupa[open] .grupa__znak::after { transform: rotate(0deg); }
.grupa__tresc { padding: 4px 0 32px calc(11.2rem + 48px); }
.lista-kategorii { columns: 3 260px; column-gap: 40px; list-style: none; }
.lista-kategorii li { display: flex; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--linia-2); break-inside: avoid; font-size: 15px; line-height: 1.4; }
.lista-kategorii b { flex: none; width: 3.2em; font: 600 14px/1.4 var(--font-display); color: var(--akcent-tekst); }
.lista-kategorii .nowa::after { content: "nowa"; margin-left: 8px; padding: 1px 6px; border: 1px solid var(--akcent); font: 600 10px/1.5 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--akcent-tekst); }
.grupa__uwaga { margin-top: 16px; font-size: 14px; color: var(--tekst-3); }

/* ---------- 04 Doradca kategorii ---------- */
.doradca { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.doradca__wstep { position: sticky; top: calc(var(--naglowek-wys) + 32px); }
.doradca__kroki { display: flex; flex-direction: column; gap: 12px; list-style: none; }
.doradca__kroki li { display: flex; align-items: center; gap: 14px; font-size: 15px; color: var(--tekst-2); }
.doradca__kroki b { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--akcent); font-size: 14px; color: var(--akcent-tekst); }
.doradca__karta { min-height: 520px; padding: clamp(22px, 3vw, 44px); background: var(--powierzchnia); border: 1px solid var(--linia); }
.doradca__stan { color: var(--tekst-3); }
.quiz__postep { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; font: 600 13px/1 var(--font-display); letter-spacing: 0.08em; color: var(--tekst-3); }
.quiz__pasek { flex: 1; height: 3px; background: var(--linia-2); }
.quiz__pasek i { display: block; height: 100%; background: var(--akcent); transition: width 0.5s var(--ease-out-expo); }
.quiz__pytanie { font: 600 clamp(1.4rem, 1.1rem + 1vw, 2.1rem)/1.15 var(--font-display); letter-spacing: -0.02em; }
.quiz__pytanie:focus { outline: none; } /* fokus tylko dla czytników ekranu przy zmianie pytania */
.quiz__pomoc { margin-top: 10px; font-size: 14.5px; color: var(--tekst-3); }
.quiz__opcje { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.quiz__opcja { min-height: 46px; padding: 12px 16px; border: 1px solid var(--linia-2); border-radius: 0; background: var(--pole); font: 500 15px/1.3 var(--font-ui); color: var(--tekst); text-align: left; cursor: pointer; transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease; }
.quiz__opcja:hover { border-color: var(--akcent); }
.quiz__opcja[aria-pressed="true"] { border-color: var(--akcent-tlo); background: var(--akcent-tlo); color: var(--na-akcencie); }
.quiz__opcje--gesto .quiz__opcja { min-height: 40px; padding: 9px 13px; font-size: 14px; }
.quiz__nawigacja { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 32px; }
.quiz__wstecz { margin-right: auto; background: none; border: 0; font: 600 14px/1 var(--font-display); color: var(--tekst-3); cursor: pointer; }
.quiz__wstecz:hover { color: var(--akcent-tekst); }
.quiz__wyniki h3 { font: 600 13px/1.2 var(--font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-2); margin: 28px 0 12px; }
.quiz__wyniki h3:first-child { margin-top: 0; }
.rek { display: grid; grid-template-columns: 4.4ch minmax(0, 1fr); gap: 16px; padding: 16px 0; border-top: 1px solid var(--linia-2); }
.rek__kod { font: 700 1.6rem/1 var(--font-display); color: var(--akcent-tekst); }
.rek__nazwa { font: 600 1.15rem/1.25 var(--font-display); }
.rek__mocna { display: inline-block; margin-left: 8px; padding: 2px 7px; background: var(--akcent-tlo); font: 600 10px/1.4 var(--font-display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--na-akcencie); vertical-align: middle; }
.rek__powod { margin-top: 6px; font-size: 14.5px; line-height: 1.5; color: var(--tekst-2); }
.quiz__gp { margin-top: 18px; padding: 14px 16px; border-left: 3px solid var(--akcent); background: var(--pole); font-size: 14.5px; line-height: 1.5; color: var(--tekst-2); }
.quiz__koszt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--linia-2); border: 1px solid var(--linia-2); }
.quiz__koszt div { display: flex; flex-direction: column; gap: 6px; padding: 14px; background: var(--powierzchnia); }
.quiz__koszt span { font: 600 11px/1.3 var(--font-display); letter-spacing: 0.08em; text-transform: uppercase; color: var(--tekst-3); }
.quiz__koszt b { font: 700 1.3rem/1 var(--font-display); }
.quiz__koszt .teraz { background: var(--akcent-tlo); }
.quiz__koszt .teraz span, .quiz__koszt .teraz b { color: var(--na-akcencie); }
.quiz__drobne { margin-top: 8px; font-size: 12.5px; color: var(--tekst-3); }
.quiz__wskazowki { padding-left: 1.1em; font-size: 14.5px; line-height: 1.55; color: var(--tekst-2); }
.quiz__wskazowki li + li { margin-top: 6px; }
.quiz__pdf { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--linia); }

/* ---------- Formularze (doradca, Entry Kit) ---------- */
.formularz { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.formularz label { display: flex; flex-direction: column; gap: 7px; font: 600 12.5px/1.2 var(--font-display); letter-spacing: 0.04em; color: var(--tekst-2); }
.formularz input:not([type="checkbox"]) { height: 48px; padding: 0 14px; border: 1px solid var(--linia-2); border-radius: 0; background: var(--pole); font: 400 15px/1 var(--font-ui); color: var(--tekst); }
.formularz input:not([type="checkbox"]):focus { border-color: var(--akcent); outline: none; }
.formularz .formularz__zgoda { grid-column: 1 / -1; flex-direction: row; align-items: flex-start; gap: 10px; font: 400 13.5px/1.45 var(--font-ui); letter-spacing: 0; }
.formularz__zgoda input { width: 18px; height: 18px; margin-top: 1px; accent-color: var(--akcent); flex: none; }
.formularz__rodo { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; color: var(--tekst-3); }
.formularz__rodo a { text-decoration: underline; text-underline-offset: 3px; }
.formularz__blad { grid-column: 1 / -1; padding: 10px 12px; border-left: 3px solid #d9534f; background: rgba(217, 83, 79, 0.1); font-size: 14px; }
.formularz__ok { grid-column: 1 / -1; padding: 14px 16px; border-left: 3px solid var(--akcent); background: var(--pole); font-size: 15px; line-height: 1.5; }
.formularz__ok a { font-weight: 600; color: var(--akcent-tekst); text-decoration: underline; text-underline-offset: 3px; }
.formularz .btn, .formularz__przyciski { grid-column: 1 / -1; justify-self: start; }
.formularz__przyciski { display: flex; flex-wrap: wrap; gap: 12px; }
.pulapka { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 05 Kapituła ---------- */
.kapitula__siatka { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 32px 20px; list-style: none; }
.osoba { display: flex; flex-direction: column; gap: 8px; }
.osoba__foto { display: block; aspect-ratio: 1; overflow: hidden; margin-bottom: 6px; background: var(--powierzchnia); }
.osoba__foto img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.05); transform: scale(1.02); transition: filter 0.6s ease, transform 0.9s var(--ease-out-expo); }
.osoba:hover .osoba__foto img { filter: none; transform: scale(1.06); }
.osoba__imie { font: 600 17px/1.25 var(--font-display); letter-spacing: -0.01em; text-transform: uppercase; }
.osoba__rola { font-size: 12.5px; line-height: 1.4; letter-spacing: 0.04em; text-transform: uppercase; color: var(--tekst-3); }

/* ---------- Galeria: 2 rzędy, równe odstępy, krawędzie w linii kontenera ---------- */
.mozaika { --odstep: 10px; --kol: calc((min(100vw, var(--szer)) - 2 * var(--pad) - 3 * var(--odstep)) / 4);
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: calc(var(--kol) * 2 / 3); gap: var(--odstep); }
.mozaika__el { position: relative; overflow: hidden; background: var(--powierzchnia); }
.mozaika__el--szeroki { grid-column: span 2; }
.mozaika__el img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out-expo), filter 0.6s ease; }
.mozaika__el:hover img { transform: scale(1.05); }
.mozaika__el::after { content: ""; position: absolute; inset: 0; border: 1px solid transparent; transition: border-color 0.3s ease; pointer-events: none; }
.mozaika__el:hover::after { border-color: var(--akcent); }
.mozaika__el--link img { filter: brightness(0.45); }
.mozaika__el--link:hover img { filter: brightness(0.6); }
.mozaika__napis { position: absolute; inset: auto 0 0; z-index: 1; display: flex; flex-direction: column; gap: 6px; padding: clamp(16px, 2vw, 28px); font: 700 clamp(1.3rem, 1rem + 1vw, 2rem)/1.1 var(--font-display); color: #fcfcfc; }
.mozaika__napis small { font: 500 13px/1.3 var(--font-ui); color: rgba(252, 252, 252, 0.75); }
.galeria__linki { margin-top: 22px; font-size: 14.5px; color: var(--tekst-2); }
.galeria__linki a { border-bottom: 1px solid var(--linia); }
.galeria__linki a:hover { color: var(--akcent-tekst); border-color: var(--akcent-tekst); }

/* ---------- 06 Gala ---------- */
.gala__dni { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; }
.gala__dni b { font: 700 clamp(4rem, 10vw, 10rem)/0.85 var(--font-display); letter-spacing: -0.05em; color: #e5cd9c; font-variant-numeric: tabular-nums; }
.gala__dni span { font: 600 14px/1 var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; color: rgba(252, 252, 252, 0.7); }

/* ---------- 07 Poprzednie edycje ---------- */
.edycje { padding-top: 0; }
.edycje__glowa { min-height: 62svh; margin-bottom: clamp(32px, 4vw, 56px); }
.zakladki { display: flex; flex-wrap: wrap; gap: 0; margin-bottom: clamp(28px, 3vw, 44px); border-bottom: 1px solid var(--linia-2); }
.zakladka { position: relative; padding: 14px 22px; border: 0; background: none; font: 700 clamp(1.3rem, 1rem + 1vw, 2rem)/1 var(--font-display); color: var(--tekst-3); cursor: pointer; transition: color 0.2s ease; }
.zakladka::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; background: var(--akcent); transform: scaleX(0); transition: transform 0.4s var(--ease-out-expo); }
.zakladka:hover { color: var(--tekst); }
.zakladka[aria-selected="true"] { color: var(--tekst); }
.zakladka[aria-selected="true"]::after { transform: scaleX(1); }
.gp { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1px; margin-bottom: clamp(32px, 4vw, 56px); background: var(--linia); border: 1px solid var(--linia); }
.gp__karta { display: flex; flex-direction: column; gap: 10px; padding: clamp(20px, 2.4vw, 32px); background: var(--tlo); }
.gp__kat { font: 600 12px/1.3 var(--font-display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--akcent-tekst); }
.gp__osoba { font: 700 clamp(1.4rem, 1rem + 1.2vw, 2.2rem)/1.1 var(--font-display); letter-spacing: -0.02em; text-transform: uppercase; }
.gp__firma { font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tekst-3); }
.laury { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(24px, 3vw, 48px) clamp(24px, 4vw, 64px); }
.laury h3 { margin-bottom: 10px; font: 600 13px/1.2 var(--font-display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--tekst-2); }
.laury ul { list-style: none; border-top: 1px solid var(--linia-2); }
.laury li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--linia-2); font-size: 14px; line-height: 1.4; }
.laury__kat { color: var(--tekst-3); }
.laury__kto b { display: block; font: 600 14.5px/1.3 var(--font-display); text-transform: uppercase; }
.laury__kto span { font-size: 12.5px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--tekst-3); }
.edycje__linki { margin-top: 28px; font-size: 14.5px; color: var(--tekst-2); }
.edycje__linki a { border-bottom: 1px solid var(--linia); }
.edycje__linki a:hover { color: var(--akcent-tekst); }

/* ---------- 08 Terminy i ceny ---------- */
.os { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin-bottom: clamp(48px, 6vw, 88px); border-top: 1px solid var(--linia); list-style: none; }
.os li { display: flex; flex-direction: column; gap: 8px; padding: 22px 14px 0 0; }
.os li + li { padding-left: 14px; border-left: 1px solid var(--linia); }
.os b { font: 700 clamp(1.4rem, 0.9rem + 1.4vw, 2.3rem)/1 var(--font-display); letter-spacing: -0.02em; }
.os span { font-size: 13px; line-height: 1.4; color: var(--tekst-3); }
.cennik { overflow-x: auto; }
.cennik table { width: 100%; min-width: 640px; border-collapse: collapse; }
.cennik caption { padding-bottom: 16px; text-align: left; font-size: 14px; color: var(--tekst-3); }
.cennik th, .cennik td { padding: 18px 14px; border-bottom: 1px solid var(--linia-2); text-align: left; font-weight: 400; }
.cennik thead th { font: 600 14px/1.3 var(--font-display); letter-spacing: 0.04em; text-transform: uppercase; color: var(--tekst-2); vertical-align: bottom; }
.cennik thead small { display: block; margin-top: 4px; font-size: 12px; font-weight: 400; text-transform: none; color: var(--tekst-3); }
.cennik tbody th { max-width: 34ch; font-size: 15px; line-height: 1.45; color: var(--tekst-2); }
.cennik td { font: 600 18px/1.2 var(--font-display); white-space: nowrap; }
.cennik .biezacy { background: color-mix(in srgb, var(--akcent) 12%, transparent); color: var(--akcent-tekst); }
.cennik thead .biezacy { box-shadow: inset 0 3px 0 var(--akcent); }

/* ---------- Entry Kit ---------- */
.entry-kit { padding: clamp(80px, 10vw, 140px) 0; border-top: 1px solid var(--linia); background: radial-gradient(60% 80% at 12% 20%, color-mix(in srgb, var(--akcent) 22%, transparent), transparent 70%), var(--tlo-2); }
.entry-kit__siatka { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 96px); align-items: start; }
.entry-kit h2 { margin: 18px 0 16px; font: 700 clamp(2.2rem, 4.6vw, 4.4rem)/1 var(--font-display); letter-spacing: -0.03em; }
.entry-kit__opis { max-width: 52ch; font-size: 1.1rem; line-height: 1.55; color: var(--tekst-2); }
.entry-kit__lista { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; margin-top: 28px; list-style: none; }
.entry-kit__lista li { position: relative; padding-left: 22px; font-size: 15px; color: var(--tekst-2); }
.entry-kit__lista li::before { content: "/"; position: absolute; left: 0; color: var(--akcent); font-weight: 600; }

/* ---------- 09 FAQ ---------- */
.faq__lista { border-top: 1px solid var(--linia-2); }
.faq details { border-bottom: 1px solid var(--linia-2); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 0; font: 600 clamp(1.15rem, 1rem + 0.6vw, 1.6rem)/1.3 var(--font-display); letter-spacing: -0.01em; list-style: none; cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "/"; flex: none; font-size: 1.6em; font-weight: 400; color: var(--akcent); transition: transform 0.4s var(--ease-out-expo); }
.faq details[open] summary::after { transform: rotate(90deg); }
.faq details p { max-width: 72ch; padding: 0 0 26px; font-size: 1.05rem; line-height: 1.65; color: var(--tekst-2); }
.faq details a { color: var(--akcent-tekst); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Mniejsze ekrany ---------- */
@media (max-width: 1180px) {
  .nowosci, .artykuly { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .os { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 24px; }
  .os li:nth-child(5) { padding-left: 0; border-left: 0; }
  .grupa__tresc { padding-left: 0; }
  .doradca { grid-template-columns: 1fr; }
  .doradca__wstep { position: static; }
}
@media (max-width: 900px) {
  .o-konkursie__siatka, .entry-kit__siatka { grid-template-columns: 1fr; }
  .liczby { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 28px; }
  .liczby li:nth-child(3) { padding-left: 0; border-left: 0; }
  .grupa summary { grid-template-columns: 3.6rem 1.2rem minmax(0, 1fr) 28px; gap: 10px; }
  .grupa__kod { display: none; }
  .grupa__opis { grid-column: 1 / -1; grid-row: 2; }
  .os { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .os li:nth-child(odd) { padding-left: 0; border-left: 0; }
  .os li:nth-child(5) { padding-left: 0; }
  .mozaika { --kol: calc((100vw - 2 * var(--pad) - var(--odstep)) / 2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .laury li { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 700px) {
  .nowosci, .artykuly, .formularz, .entry-kit__lista { grid-template-columns: 1fr; }
  .quiz__koszt { grid-template-columns: 1fr; }
  .kapitula__siatka { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .osoba__imie { font-size: 14px; }
  .gala__dni { align-items: flex-start; text-align: left; }
  .pasek-cta .btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pojawia { opacity: 1; transform: none; transition: none; }
  .osoba__foto img, .mozaika__el img, .artykul__foto img { transition: none; }
}
