/*
Theme Name: Ekstra Numer — Druga Linia
Version: 1.0.0
Text Domain: aa-theme
*/
/* =====================================================================
   ekstranumer.pl — arkusz PREMIUM „Druga linia na jednej karcie” (Fable 5.1, 2026-09-06)
   Metafora: karta SIM z dwoma stykami i przełącznikiem; turkus = druga linia.
   Krem + łupek + turkus + złoto styku; Montserrat 800 (nagłówki) + Caladea (tekst).
   Sekcje: 1 tokeny · 2 reset · 2b arkusz · 3 kontener · 4 nagłówek · 5 hero ·
   6 pasma one-page (kroki, cennik, wideo, blog) · 7 kadry · 8 przegródki ·
   9 wpis i archiwum · 10 stopka · 11 menu mobilne · 12 skala >1366 · 13 ruch i druk
   ===================================================================== */

/* --- 1. TOKENY ------------------------------------------------------- */
:root {
  --lupek-900: #151C25; --lupek: #26313F; --lupek-700: #3A4757;
  --krem: #FAF6F0; --krem-dol: #EEE6DA; --karta: #FFFFFF; --krem-cien: #EFE7DB;
  --atrament: #1B1F25; --atrament-cichy: #5A5F68;
  --jasne: #FAF6F0; --jasne-ciche: #C5CCD6;
  --turkus: #2FB8A6; --turkus-ciemny: #1B7A6D; --turkus-jasny: #8FE6D8; --zloto: #D9A441;
  --link: #1B7A6D; --linia: #E6DDD2; --linia-ui: #767C86;
  --kroj-naglowek: Montserrat, "Noto Sans", sans-serif;
  --kroj-tekst: Caladea, Cambria, Georgia, serif;
  --kontener: 86.5rem; --margines: clamp(1rem, 4vw, 3.5rem);
  --rama: clamp(0px, (100vw - 1400px) / 5.4, 96px);
  --kolumna-prozy: 42rem; --bok: 20rem;
  --promien: 14px;
  --cien-karta: 0 1px 0 rgba(255, 255, 255, 1) inset, 0 18px 40px -28px rgba(21, 28, 37, .45);
  --cien-arkusz: 0 0 0 1px rgba(255, 255, 255, .05), 0 40px 90px -40px rgba(0, 0, 0, .9);
  --przejscie: .16s ease;
}

/* --- 2. RESET I PODSTAWA --------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; font-size: clamp(1rem, .384rem + .722vw, 1.25rem); }
body { margin: 0; font-family: var(--kroj-tekst); font-size: 1.04rem; line-height: 1.65; color: var(--atrament); background-color: var(--lupek-900); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
h1, h2, h3, h4, h5, h6 { font-family: var(--kroj-naglowek); font-weight: 800; letter-spacing: -.02em; }
h1, h2, h3, h4, h5, h6, p, figure, ul, ol { margin: 0; }
ul, ol { padding: 0; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: var(--link); overflow-wrap: anywhere; }
button, input { font: inherit; color: inherit; }
strong { font-weight: 700; }
:focus-visible { outline: 3px solid var(--turkus-ciemny); outline-offset: 3px; border-radius: 6px; }
.stopka :focus-visible, .przycisk:focus-visible, .szukaj__przycisk:focus-visible { outline-color: var(--turkus-jasny); }
.omin { position: absolute; inset-block-start: 0; inset-inline-start: 0; width: 180px; height: 48px; display: flex; align-items: center; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.omin:focus { position: fixed; z-index: 60; width: auto; height: auto; clip-path: none; padding: .9rem 1.4rem; background-color: var(--lupek); color: var(--jasne); font-weight: 700; text-decoration: none; }
.czytnik { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* --- 2b. ARKUSZ ------------------------------------------------------- */
.arkusz { position: relative; display: flex; flex-direction: column; margin-inline: var(--rama); min-height: 100vh; background-color: var(--krem); box-shadow: var(--cien-arkusz); overflow-x: clip; }
.tresc { flex: 1 1 auto; }

/* --- 3. KONTENER ------------------------------------------------------ */
.kontener { width: 100%; max-width: var(--kontener); margin-inline: auto; padding-inline: var(--margines); }
.uklad { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.4rem); align-items: start; padding-block: clamp(2rem, 1.2rem + 2.4vw, 3.6rem) clamp(2.6rem, 1.6rem + 3vw, 4.6rem); }
.uklad__tresc { min-width: 0; }
@media (min-width: 1024px) { .uklad--z-bokiem { grid-template-columns: minmax(0, 1fr) var(--bok); } }

/* glif: przełącznik — dwa kółka i kreska, drugie aktywne */
.linia-glif { position: relative; display: inline-block; flex: none; width: 1.7rem; height: 1rem; border-radius: 999px; border: 2px solid currentColor; }
.linia-glif::before { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: .18rem; width: .38rem; height: .38rem; border-radius: 50%; border: 2px solid currentColor; transform: translateY(-50%); }
.linia-glif::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-end: .12rem; width: .5rem; height: .5rem; border-radius: 50%; background-color: var(--turkus-ciemny); transform: translateY(-50%); }
.plakietka .linia-glif::after, .stopka .linia-glif::after { background-color: var(--turkus-jasny); }

/* --- 4. NAGŁÓWEK ------------------------------------------------------- */
.naglowek { position: sticky; inset-block-start: 0; z-index: 40; background-color: rgba(255, 255, 255, .96); border-block-start: 5px solid var(--lupek); border-block-end: 1px solid var(--linia); }
.naglowek__pas { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; min-height: 4.6rem; padding-block: .5rem; }
.znak { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; margin-inline-end: auto; color: var(--lupek); text-decoration: none; font-family: var(--kroj-naglowek); font-weight: 800; font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); letter-spacing: -.03em; }
.znak:hover .znak__slowo { color: var(--turkus-ciemny); }
.menu__lista { display: flex; flex-wrap: wrap; align-items: center; gap: .1rem; list-style: none; }
.menu__link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: .2rem .75rem; color: var(--atrament-cichy); text-decoration: none; font-family: var(--kroj-naglowek); font-weight: 700; font-size: .84rem; border-block-end: 2px solid transparent; transition: color var(--przejscie), border-color var(--przejscie); }
.menu__link:hover { color: var(--atrament); border-block-end-color: var(--linia-ui); }
.menu__link[aria-current="page"] { color: var(--turkus-ciemny); border-block-end-color: var(--turkus); }
.menu__przelacznik { display: none; }
#menu-przelacznik { position: absolute; inset-block-start: 0; inset-inline-start: 0; opacity: 0; width: 44px; height: 44px; clip-path: inset(50%); pointer-events: none; }

/* --- 5. HERO — krem, karta SIM ------------------------------------------- */
.hero { position: relative; isolation: isolate; overflow: hidden; background-color: var(--krem); background-image: linear-gradient(180deg, #FFFCF8 0%, var(--krem-dol) 100%); color: var(--atrament); }
.hero__fale { position: absolute; inset: 0; z-index: 0; pointer-events: none; background-image: repeating-radial-gradient(circle at 76% 40%, transparent 0 2.6rem, rgba(47, 184, 166, .09) 2.6rem 2.75rem); -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 50%); mask-image: linear-gradient(90deg, transparent 0, #000 50%); }
.hero__kontener { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.2rem, 1rem + 1.6vw, 2.6rem); align-items: center; padding-block: clamp(2.2rem, 1.4rem + 3vw, 4.4rem) clamp(1rem, .8rem + 1.2vw, 2rem); }
.hero__tekst { max-width: 36rem; }
.plakietka { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.2rem; padding: .2rem .9rem .2rem .6rem; margin-block-end: clamp(1rem, .7rem + .8vw, 1.6rem); border-radius: 999px; background-color: var(--lupek); color: var(--jasne); font-family: var(--kroj-naglowek); font-weight: 700; font-size: .84rem; }
.plakietka .linia-glif { color: var(--jasne); }
.hero .tytul { margin: 0 0 clamp(.6rem, .4rem + .6vw, 1rem); font-size: clamp(2.2rem, 1.2rem + 3.8vw, 4.6rem); line-height: 1.02; letter-spacing: -.04em; color: var(--lupek); text-wrap: balance; }
.hero__lid { font-size: clamp(1.1rem, 1rem + .6vw, 1.4rem); line-height: 1.45; color: var(--atrament-cichy); text-wrap: balance; }
.hero__akcje { margin-block-start: clamp(1.2rem, 1rem + 1vw, 1.8rem); }
.przycisk { display: inline-flex; align-items: center; gap: .5rem; min-height: 48px; padding: .4rem 1.5rem; border-radius: 999px; background-color: var(--turkus-ciemny); color: #FFFFFF; font-family: var(--kroj-naglowek); font-weight: 800; font-size: .95rem; text-decoration: none; transition: background-color var(--przejscie); }
.przycisk::after { content: ""; width: .5rem; height: .5rem; border-block-start: 2px solid currentColor; border-inline-end: 2px solid currentColor; transform: rotate(45deg); }
.przycisk:hover { background-color: var(--lupek); }
.przycisk--maly { min-height: 44px; padding: .3rem 1.2rem; font-size: .84rem; }
.hero__rysunek { position: relative; z-index: 2; width: min(100%, 30rem); margin-inline: auto; filter: drop-shadow(0 14px 22px rgba(21, 28, 37, .2)); }
.hero__rysunek svg { width: 100%; height: auto; }
.hero__etykieta { position: absolute; inset-inline-end: 0; inset-block-end: .5rem; display: inline-flex; align-items: center; min-height: 44px; padding: .2rem .8rem; border-radius: 6px; background-color: var(--karta); border: 1px solid var(--linia-ui); color: var(--atrament-cichy); font-size: .76rem; }
.prog { position: relative; height: 8px; z-index: 3; background-color: var(--lupek); }
.prog::after { content: ""; position: absolute; inset-block-start: 50%; inset-inline-start: 50%; width: 2.6rem; height: 1.3rem; border-radius: 999px; background-color: var(--krem); border: 2px solid var(--lupek); background-image: radial-gradient(circle at 25% 50%, transparent 0 .22rem, var(--lupek) .22rem .32rem, transparent .32rem), radial-gradient(circle at 75% 50%, var(--turkus) 0 .3rem, transparent .3rem); transform: translate(-50%, -50%); }
.prog--stopka::after { background-color: var(--lupek-900); border-color: var(--jasne-ciche); }
@media (min-width: 900px) { .hero__kontener { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); } .hero__rysunek { width: 100%; max-width: 36rem; margin-inline: auto 0; } }

/* --- 6. PASMA ONE-PAGE ------------------------------------------------- */
.pasmo { scroll-margin-top: 5.5rem; padding-block: clamp(2.4rem, 1.6rem + 2.8vw, 4.4rem) 0; }
.pasmo--ostatnie { padding-block-end: clamp(2.8rem, 1.8rem + 3vw, 5rem); }
.pasmo--ciemne { background-color: var(--lupek); color: var(--jasne); padding-block-end: clamp(2.4rem, 1.6rem + 2.8vw, 4.4rem); margin-block-start: clamp(2.4rem, 1.6rem + 2.8vw, 4.4rem); }
.pasmo__naglowek { max-width: 46rem; margin-block-end: clamp(1.2rem, 1rem + .8vw, 1.8rem); }
.pasmo__tytul { display: flex; align-items: center; gap: .7rem; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.3rem); color: var(--lupek); }
.pasmo--ciemne .pasmo__tytul { color: var(--jasne); }
.pasmo__tytul::after { content: ""; flex: 1 1 auto; max-width: 6rem; height: 0; border-block-start: 3px solid var(--turkus); }
.pasmo__lid { margin-block-start: .5rem; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); color: var(--atrament-cichy); line-height: 1.5; }
.pasmo--ciemne .pasmo__lid { color: var(--jasne-ciche); }
.kroki { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1rem, .8rem + .8vw, 1.4rem); list-style: none; }
.kroki > li, .cennik > li, .zajawki > li { display: flex; min-width: 0; }
.kroki > li > article, .cennik > li > article, .zajawki > li > article { flex: 1; min-width: 0; }
@media (min-width: 640px) { .kroki { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .kroki { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.krok { position: relative; display: flex; flex-direction: column; gap: .6rem; background-color: var(--karta); border: 1px solid var(--linia); border-radius: var(--promien); padding: 1.2rem 1.2rem 1.3rem; box-shadow: var(--cien-karta); }
.ikona { position: relative; width: 3rem; height: 3rem; border-radius: 12px; background-color: var(--lupek); }
.ikona::before, .ikona::after { content: ""; position: absolute; }
.ikona--globus::before { inset: .7rem; border-radius: 50%; border: 2.5px solid var(--turkus-jasny); }
.ikona--globus::after { inset-block: .7rem; inset-inline-start: 50%; width: .7rem; border-radius: 50%; border: 2.5px solid var(--turkus-jasny); transform: translateX(-50%); }
.ikona--koperta::before { inset: .8rem .6rem; border-radius: 4px; border: 2.5px solid var(--turkus-jasny); }
.ikona--koperta::after { inset-block-start: .95rem; inset-inline: .95rem; height: .55rem; border-inline: 2.5px solid var(--turkus-jasny); border-block-end: 2.5px solid var(--turkus-jasny); transform: perspective(20px) rotateX(35deg); }
.ikona--kod::before { inset: .55rem .95rem; border-radius: 6px; border: 2.5px solid var(--turkus-jasny); }
.ikona--kod::after { inset-block-end: .8rem; inset-inline-start: 50%; width: .45rem; height: .2rem; border-radius: 2px; background-color: var(--turkus-jasny); transform: translateX(-50%); }
.ikona--zegar::before { inset: .55rem; border-radius: 50%; border: 2.5px solid var(--turkus-jasny); }
.ikona--zegar::after { inset-block-start: .85rem; inset-inline-start: 50%; width: .55rem; height: .7rem; border-inline-start: 2.5px solid var(--turkus-jasny); border-block-end: 2.5px solid var(--turkus-jasny); transform: translateX(-2px); }
.krok__tytul { font-size: 1.02rem; letter-spacing: .02em; color: var(--lupek); }
.krok__tekst { font-size: .98rem; line-height: 1.55; }
.cennik { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1rem, .8rem + .8vw, 1.5rem); list-style: none; }
@media (min-width: 800px) { .cennik { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.taryfa { display: flex; flex-direction: column; gap: .6rem; background-color: var(--karta); border: 1px solid var(--linia); border-radius: var(--promien); padding: 1.3rem 1.3rem 1.4rem; box-shadow: var(--cien-karta); color: var(--atrament); }
.taryfa--druga { box-shadow: inset 0 5px 0 var(--turkus-ciemny), var(--cien-karta); }
.taryfa__tytul { font-size: 1.3rem; color: var(--lupek); }
.taryfa__cena { font-family: var(--kroj-naglowek); font-weight: 800; font-size: 1.1rem; color: var(--turkus-ciemny); }
.taryfa__lista { list-style: none; display: grid; gap: .35rem; margin-block: .3rem .6rem; }
.taryfa__lista li { padding-inline-start: 1.4rem; position: relative; line-height: 1.5; font-size: .98rem; }
.taryfa__lista li::before { content: ""; position: absolute; inset-inline-start: 0; inset-block-start: .55rem; width: .55rem; height: .55rem; border-radius: 50%; background-color: var(--turkus-ciemny); }
.taryfa__lista li.lub { padding-inline-start: 1.4rem; color: var(--atrament-cichy); font-style: italic; }
.taryfa__lista li.lub::before { background-color: transparent; border: 2px solid var(--linia-ui); }
.taryfa .przycisk { align-self: flex-start; margin-block-start: auto; }
.kadr--wideo { aspect-ratio: 16 / 7; max-width: 32rem; }
.zajawki { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1rem, .8rem + .8vw, 1.5rem); list-style: none; }
@media (min-width: 800px) { .zajawki { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.zajawka { display: flex; flex-direction: column; gap: .6rem; background-color: var(--karta); border: 1px solid var(--linia); border-radius: var(--promien); padding: 1.2rem 1.2rem 1.3rem; box-shadow: var(--cien-karta); }
.zajawka__tytul { font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); line-height: 1.25; }
.zajawka__tytul a, .wpis__tytul a { display: inline-block; min-height: 44px; min-width: 44px; padding-block: .3rem; margin-block: -.3rem; color: var(--lupek); text-decoration: none; }
.zajawka__tytul a:hover, .wpis__tytul a:hover { color: var(--turkus-ciemny); }
.zajawka__tekst { font-size: .96rem; line-height: 1.58; }
.zajawka > .metka { margin-block-start: auto; }
.metka { display: inline-flex; align-items: center; gap: .4rem; align-self: flex-start; min-height: 44px; min-width: 44px; padding: .1rem .9rem; border-radius: 999px; background-color: var(--lupek); color: var(--jasne); font-family: var(--kroj-naglowek); font-weight: 700; font-size: .82rem; text-decoration: none; transition: background-color var(--przejscie); }
.metka::after { content: ""; width: .45rem; height: .45rem; border-block-start: 2px solid currentColor; border-inline-end: 2px solid currentColor; transform: rotate(45deg); }
.metka:hover { background-color: var(--turkus-ciemny); }

/* --- 7. KADRY ------------------------------------------------------------ */
.kadr { display: grid; place-items: center; position: relative; background-color: var(--lupek); background-image: repeating-radial-gradient(circle at 80% 30%, transparent 0 1.6rem, rgba(47, 184, 166, .16) 1.6rem 1.7rem); border-radius: 12px; color: var(--jasne-ciche); font-size: .9rem; line-height: 1.5; text-align: center; padding: 1.4rem 1.2rem; text-decoration: none; overflow-wrap: anywhere; }
.kadr::before { content: ""; position: absolute; inset-inline-start: 50%; inset-block-start: 24%; width: 3rem; height: 3rem; border-radius: 50%; background-color: rgba(250, 246, 240, .12); box-shadow: inset 0 0 0 2px var(--jasne-ciche); transform: translateX(-50%); }
.kadr--wideo::before { inset-block-start: 50%; transform: translate(-50%, -50%); }
.kadr--wideo::after { content: ""; position: absolute; inset-inline-start: 50%; inset-block-start: 50%; border-block: .45rem solid transparent; border-inline-start: .7rem solid var(--jasne); transform: translate(-35%, -50%); }
.kadr--wideo:hover { background-color: var(--lupek-700); }
.kadr--wideo:focus-visible { outline-color: var(--turkus-ciemny); }

/* --- 8. PRZEGRÓDKI ----------------------------------------------------- */
.przegrodki { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.3rem; align-content: start; min-width: 0; }
.przegrodka { min-width: 0; background-color: var(--karta); border: 1px solid var(--linia); border-radius: var(--promien); padding: 1rem 1.15rem 1.15rem; box-shadow: var(--cien-karta); }
.przegrodka__tytul { display: flex; align-items: center; gap: .6rem; margin: 0 0 .7rem; font-size: 1rem; color: var(--lupek); }
.przegrodka__lista { list-style: none; }
.przegrodka__lista a { display: flex; align-items: center; min-height: 44px; padding-block: .3rem; border-block-end: 1px solid var(--linia); color: var(--atrament); text-decoration: none; font-family: var(--kroj-naglowek); font-weight: 700; font-size: .86rem; line-height: 1.35; transition: color var(--przejscie), padding var(--przejscie); }
.przegrodka__lista li:last-child a { border-block-end: 0; }
.przegrodka__lista a:hover { color: var(--turkus-ciemny); padding-inline-start: .35rem; }
.szukaj { display: grid; gap: .4rem; }
.szukaj__etykieta { font-family: var(--kroj-naglowek); font-size: .8rem; font-weight: 700; color: var(--atrament-cichy); }
.szukaj__wiersz { display: flex; gap: .5rem; }
.szukaj__pole { flex: 1 1 0; width: 0; min-width: 0; min-height: 44px; padding: .5rem .9rem; background-color: var(--krem); border: 1px solid var(--linia-ui); border-radius: 999px; color: var(--atrament); font-family: var(--kroj-naglowek); }
.szukaj__pole::placeholder { color: var(--atrament-cichy); opacity: 1; }
.szukaj__przycisk { flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; background-color: var(--lupek); color: var(--jasne); border: 0; border-radius: 50%; cursor: pointer; }
.szukaj__przycisk svg { width: 18px; height: 18px; }
.szukaj__przycisk:hover { background-color: var(--turkus-ciemny); }

/* --- 9. WPIS I ARCHIWUM ------------------------------------------------ */
.wpis__naglowek { margin-block-end: clamp(1rem, .8rem + 1vw, 1.8rem); max-width: 54rem; }
.wpis__tytul { font-size: clamp(1.7rem, 1.2rem + 2.4vw, 3rem); line-height: 1.05; letter-spacing: -.04em; color: var(--lupek); text-wrap: balance; }
.meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; margin-block-start: .9rem; font-family: var(--kroj-naglowek); font-size: .82rem; color: var(--atrament-cichy); }
.meta__lista { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.meta > a, .meta__autor a { display: inline-block; min-height: 44px; min-width: 44px; text-align: center; padding-block: .6rem; margin-block: -.6rem; color: var(--lupek); font-weight: 700; text-decoration: none; }
.meta > a:hover, .meta__autor a:hover { color: var(--turkus-ciemny); }
.kat a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: .1rem .7rem; margin-block: -.45rem; border-radius: 999px; border: 1.5px solid var(--turkus-ciemny); color: var(--turkus-ciemny); text-decoration: none; font-weight: 700; }
.kat a:hover { background-color: var(--turkus-ciemny); color: #FFFFFF; }
.kartka-daty { display: inline-grid; grid-template-columns: auto auto; align-items: center; gap: 0 .5rem; padding: .25rem .7rem; border-radius: 8px; border: 1.5px solid var(--lupek); font-family: var(--kroj-naglowek); color: var(--lupek); }
.kartka-daty__dzien { grid-row: 1 / span 2; font-size: 1.5rem; font-weight: 800; line-height: 1; }
.kartka-daty__miesiac { font-size: .74rem; font-weight: 700; line-height: 1.1; }
.kartka-daty__rok { font-size: .74rem; line-height: 1.1; color: var(--atrament-cichy); }
.proza { max-width: var(--kolumna-prozy); padding: clamp(1.1rem, 2.2vw, 2rem); background-color: var(--karta); border: 1px solid var(--linia); border-radius: var(--promien); box-shadow: var(--cien-karta); }
.proza > p { margin: 0 0 1.15em; font-size: clamp(1.02rem, .98rem + .2vw, 1.12rem); line-height: 1.72; }
.proza > p:last-child { margin-block-end: 0; }
.proza a { display: inline-block; min-height: 44px; min-width: 44px; text-align: center; padding-block: .62rem; margin-block: -.62rem; color: var(--link); text-decoration: underline; text-underline-offset: .18em; }
.archiwum { list-style: none; display: grid; gap: clamp(1rem, .8rem + .8vw, 1.5rem); }
.archiwum__wpis { display: grid; gap: .6rem; background-color: var(--karta); border: 1px solid var(--linia); border-radius: var(--promien); padding: 1.2rem 1.3rem 1.3rem; box-shadow: var(--cien-karta); }
.archiwum__wpis .wpis__tytul { font-size: clamp(1.3rem, 1.1rem + .9vw, 1.9rem); }
.archiwum__wpis .meta { margin-block-start: 0; }
.archiwum__tekst { font-size: 1rem; line-height: 1.62; }
.archiwum__wpis .metka, .archiwum__wpis .kat { justify-self: start; }

/* --- 10. STOPKA -------------------------------------------------------- */
.stopka { position: relative; background-color: var(--lupek-900); color: var(--jasne-ciche); }
.stopka .kontener { display: grid; grid-template-columns: minmax(0, 1fr); gap: .8rem 2rem; align-items: center; padding-block: clamp(1.8rem, 1.4rem + 1.6vw, 3rem); }
@media (min-width: 900px) { .stopka .kontener { grid-template-columns: max-content minmax(0, 1fr) max-content; } }
.stopka__znak { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; font-family: var(--kroj-naglowek); font-weight: 800; font-size: clamp(1rem, .95rem + .4vw, 1.3rem); color: var(--jasne); text-decoration: none; }
.stopka__znak:hover { color: var(--turkus-jasny); }
.stopka__logo { font-size: .74rem; color: var(--jasne-ciche); opacity: .8; }
.stopka__tekst { display: grid; gap: .2rem; font-size: .92rem; }
.na-gore { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--turkus-jasny); color: var(--turkus-jasny); text-decoration: none; }
.na-gore::before { content: ""; width: .6rem; height: .6rem; border-block-start: 2px solid currentColor; border-inline-start: 2px solid currentColor; transform: translateY(.15rem) rotate(45deg); }
.na-gore:hover { background-color: var(--turkus-jasny); color: var(--lupek-900); }

/* --- 11. MENU MOBILNE ------------------------------------------------- */
@media (max-width: 900px) {
  .menu__przelacznik { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .2rem .9rem; border: 1px solid var(--linia-ui); border-radius: 999px; cursor: pointer; color: var(--lupek); font-family: var(--kroj-naglowek); font-weight: 700; font-size: .86rem; }
  #menu-przelacznik:focus-visible ~ .menu__przelacznik { outline: 3px solid var(--turkus-ciemny); outline-offset: 3px; }
  .menu__kreski, .menu__kreski::before, .menu__kreski::after { content: ""; display: block; width: 18px; height: 2px; background-color: currentColor; border-radius: 2px; position: relative; }
  .menu__kreski::before { position: absolute; inset-block-start: -6px; }
  .menu__kreski::after  { position: absolute; inset-block-start: 6px; }
  .menu { display: none; flex-basis: 100%; padding-block: .3rem 1rem; }
  #menu-przelacznik:checked ~ .menu { display: block; }
  .menu__lista { flex-direction: column; align-items: stretch; gap: 0; }
  .menu__link { display: flex; min-height: 48px; padding: .5rem .2rem; border-block-end: 1px solid var(--linia); font-size: 1rem; }
  .menu__link[aria-current="page"] { border-block-end-color: var(--turkus); }
  .pasmo { scroll-margin-top: 4.2rem; }
}

/* --- 12. SKALA POWYŻEJ 1366 px --------------------------------------- */
@media (min-width: 1600px) { :root { --bok: 22rem; --kolumna-prozy: 46rem; } .hero__kontener { gap: 4rem; } .hero__rysunek { max-width: 42rem; } }
@media (min-width: 901px) { #menu-przelacznik { display: none; } }

/* --- 13. RUCH I DRUK -------------------------------------------------- */
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
@media print {
  html { font-size: 11pt; }
  body, .arkusz { background: #FFFFFF; color: #000000; box-shadow: none; margin: 0; }
  .hero__fale, .hero__rysunek, .prog, .na-gore { display: none !important; }
  .naglowek { position: static; }
  .naglowek, .hero, .stopka, .kadr, .pasmo--ciemne, .ikona, .plakietka { background: #FFFFFF; color: #000000; }
  .hero .tytul, .hero__lid, .znak, .menu__link, .stopka__znak, .kadr, .kat a, .przycisk, .metka, .pasmo__tytul, .pasmo__lid { color: #000000; }
  .przycisk, .metka, .plakietka { background: #FFFFFF; border: 1px solid #000000; }
  .krok, .taryfa, .zajawka, .przegrodka, .kadr, .archiwum__wpis { box-shadow: none; border: 1px solid #000000; }
  .uklad { grid-template-columns: 1fr; }
  a { color: #000000; }
}
