/* Operacja zaćmy w Czechach — niebieski, duże litery i kontrast z myślą o osobach starszych. */
:root {
  --granat: #0f3460; --niebieski: #1769c2; --niebieski-ciemny: #115299; --blekit: #e8f2fc; --blekit-2: #f4f9fe;
  --turkus: #0e8a9e; --tekst: #1c2b3a; --szary: #4f6072; --linia: #d5e2ef; --bialy: #fff; --zolty: #fff6dd;
  --cien: 0 8px 26px rgba(15, 52, 96, .1); --cien-duzy: 0 16px 40px rgba(15, 52, 96, .16); --promien: 16px;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 135px; }
html[data-litery="1"] { font-size: 112%; }
html[data-litery="2"] { font-size: 125%; }
html[data-litery="0"] { font-size: 100%; }
body { margin: 0; background: var(--bialy); color: var(--tekst); font: 1.125rem/1.65 "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif; padding-bottom: 64px; overflow-x: clip; }
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--niebieski-ciemny); text-underline-offset: 3px; }
a:hover { color: var(--granat); }
h1, h2, h3 { color: var(--granat); line-height: 1.22; margin: 0 0 .55em; }
h1 { font-size: clamp(1.95rem, 4.4vw, 3rem); letter-spacing: -.01em; }
h2 { font-size: clamp(1.45rem, 3vw, 1.95rem); }
h3 { font-size: 1.22rem; }
p { margin: 0 0 1em; }
figure { margin: 0; }
.wrap { max-width: 1180px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.pomin { position: absolute; left: -9999px; }
.pomin:focus { left: 12px; top: 12px; z-index: 50; background: #fff; padding: 8px 12px; }
:focus-visible { outline: 3px solid var(--turkus); outline-offset: 2px; }
[hidden] { display: none !important; }

/* Górny pasek */
.pasek { background: var(--granat); color: #e4eefa; font-size: .92rem; }
.pasek__in { display: flex; justify-content: space-between; align-items: center; gap: 8px 20px; padding-top: 5px; padding-bottom: 5px; }
.pasek p { margin: 0; }
.pasek__tekst { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 14px; font-weight: 600; color: #fff; }
.pasek__nfz { display: inline-flex; align-items: center; gap: 6px; padding: 3px 12px; background: #fff; border-radius: 99px; color: var(--niebieski-ciemny); font-weight: 800; }
.pasek__nfz svg { width: 17px; height: 17px; }
.litery { display: flex; align-items: center; gap: 4px; }
.litery span { margin-right: 4px; }
.litery button { font: inherit; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .14); border: 1px solid transparent; border-radius: 6px; min-width: 38px; min-height: 30px; padding: 0 6px; cursor: pointer; }
.litery button:hover { background: rgba(255, 255, 255, .26); }
.litery button[aria-pressed="true"] { background: #fff; color: var(--granat); }
.litery button:nth-of-type(2) { font-size: 1.08em; }
.litery button:nth-of-type(3) { font-size: 1.2em; }

/* Nagłówek */
.gora { background: #fff; border-bottom: 1px solid var(--linia); position: sticky; top: 0; z-index: 20; box-shadow: 0 2px 10px rgba(15, 52, 96, .05); }
.gora__in { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; padding-top: 9px; padding-bottom: 9px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--granat); margin-right: auto; }
.logo__tekst { display: flex; flex-direction: column; line-height: 1.2; }
.logo__tekst strong { font-size: 1.18rem; }
.logo__tekst span { font-size: .84rem; color: var(--szary); }
.menu-przycisk { display: none; font: inherit; font-size: 1rem; font-weight: 600; color: var(--granat); background: var(--blekit); border: 0; border-radius: 9px; padding: 10px 14px; cursor: pointer; }
.menu-przycisk__ikona { display: inline-block; width: 18px; height: 12px; margin-right: 8px; border-top: 2px solid var(--granat); border-bottom: 2px solid var(--granat); position: relative; vertical-align: -1px; }
.menu-przycisk__ikona::after { content: ""; position: absolute; left: 0; right: 0; top: 3px; border-top: 2px solid var(--granat); }
.menu { width: 100%; }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px; }
.menu a { display: block; padding: 6px 10px; border-radius: 8px; color: var(--granat); text-decoration: none; font-size: .98rem; font-weight: 600; }
.menu a:hover, .menu a[aria-current], .menu a.menu__dzial { background: var(--blekit); }

/* Przyciski */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 12px 20px; border-radius: 12px; font-weight: 700; text-decoration: none; border: 2px solid transparent; transition: background-color .15s, transform .15s, box-shadow .15s; }
.btn:hover { transform: translateY(-1px); }
.btn--tel { background: var(--niebieski); color: #fff; box-shadow: 0 6px 16px rgba(23, 105, 194, .3); }
.btn--tel:hover { background: var(--niebieski-ciemny); color: #fff; }
.btn--jasny { background: #fff; color: var(--granat); border-color: var(--linia); }
.btn--jasny:hover { border-color: var(--niebieski); color: var(--granat); }
.btn--drugi { background: var(--blekit); color: var(--granat); }
.btn--drugi:hover { background: #d7e8f9; color: var(--granat); }
.btn--duzy { font-size: 1.25rem; padding: 15px 26px; }
.btn--pelny { width: 100%; }
.przyciski { display: flex; flex-wrap: wrap; gap: 12px; }
.ikona-tel { width: 18px; height: 18px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.3 0 .7-.2 1l-2.3 2.2Z'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Pierwszy ekran */
.hero { background: linear-gradient(120deg, var(--granat), var(--niebieski)); color: #fff; }
.hero--grafika { background-image: linear-gradient(90deg, rgba(15, 52, 96, .95) 0%, rgba(15, 52, 96, .84) 48%, rgba(15, 52, 96, .12) 78%), var(--tlo-grafika); background-image: linear-gradient(90deg, rgba(15, 52, 96, .95) 0%, rgba(15, 52, 96, .84) 48%, rgba(15, 52, 96, .12) 78%), var(--tlo-grafika-set); background-size: cover; background-position: right center; }
.hero__in { padding-top: 54px; padding-bottom: 96px; }
.hero__tekst { max-width: 680px; }
.hero h1 { color: #fff; }
.hero__odznaka { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 .8em; padding: 7px 16px; border-radius: 99px; background: #fff; color: var(--niebieski-ciemny); font-weight: 800; }
.hero__odznaka svg { width: 20px; height: 20px; }
.hero__nad { font-weight: 600; color: #cfe6f8; margin-bottom: .5em; }
.hero__wstep { font-size: 1.24rem; }
.hero__punkty { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 18px 0 0; padding: 0; font-weight: 600; }
.hero__punkty li::before { content: "✓"; margin-right: 7px; color: #9fe3ee; font-weight: 800; }
.hero__godziny { margin: 10px 0 0; color: #dcebf9; font-size: 1rem; }
.hero .btn--tel { background: #fff; color: var(--granat); box-shadow: 0 8px 22px rgba(0, 0, 0, .25); }
.hero .btn--tel:hover { background: var(--blekit); color: var(--granat); }
.hero .btn--jasny { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .7); }
.hero .btn--jasny:hover { background: rgba(255, 255, 255, .12); color: #fff; border-color: #fff; }

/* Sekcje */
.sekcja { padding: 56px 0; }
.sekcja--szara { background: var(--blekit-2); }
.sekcja__tytul { text-align: center; }
.sekcja__wstep { text-align: center; max-width: 44em; margin: 0 auto 28px; color: var(--szary); }
.sekcja__dalej { text-align: center; margin: 28px 0 0; }
.atuty { padding: 0 0 44px; }
.atuty__siatka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: -56px; position: relative; }
.atut { background: #fff; border: 1px solid var(--linia); border-radius: var(--promien); padding: 20px 18px; box-shadow: var(--cien-duzy); }
.atut__ikona { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 13px; background: var(--blekit); color: var(--niebieski); margin-bottom: 10px; }
.atut__ikona svg { width: 28px; height: 28px; }
.atut h2 { font-size: 1.18rem; margin-bottom: .35em; }
.atut p { margin: 0; font-size: 1rem; color: var(--szary); }

/* Kroki */
.kroki { list-style: none; counter-reset: k; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; position: relative; }
.kroki::before { content: ""; position: absolute; left: 10%; right: 10%; top: 24px; border-top: 3px dashed #b9d4ee; }
.kroki li { counter-increment: k; position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.kroki li::before { content: counter(k); width: 50px; height: 50px; border-radius: 50%; background: var(--niebieski); color: #fff; font-size: 1.25rem; font-weight: 800; display: grid; place-items: center; box-shadow: 0 0 0 6px var(--blekit-2); margin-bottom: 6px; position: relative; }
.kroki strong { color: var(--granat); font-size: 1.15rem; }
.kroki span { font-size: 1rem; color: var(--szary); }

/* Sekcje tekst + obraz */
.split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 44px; align-items: center; padding: 44px 0; }
.split--odwrot .split__media { order: -1; }
.split__tekst > :last-child { margin-bottom: 0; }
.split__media img { width: 100%; border-radius: var(--promien); box-shadow: var(--cien); aspect-ratio: 3 / 2; object-fit: cover; }
.split__media figcaption, .duo figcaption { font-size: .85rem; color: var(--szary); margin-top: 5px; }
.split__media .film__link img { box-shadow: none; aspect-ratio: 16 / 9; }
.split + .split { border-top: 1px solid var(--blekit); }
.calosc { padding: 44px 0; border-top: 1px solid var(--blekit); }
.calosc--waska { max-width: 860px; margin: 0 auto; }
.duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.duo__karta { background: #fff; border: 1px solid var(--linia); border-radius: var(--promien); overflow: hidden; box-shadow: var(--cien); display: flex; flex-direction: column; }
.duo__karta img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.duo__tekst { padding: 18px 20px 20px; }
.duo__tekst h3 { margin-bottom: .3em; font-size: 1.3rem; }
.duo__tekst p { margin: 0 0 .8em; color: var(--szary); }
.banery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.banery a { display: block; border-radius: var(--promien); overflow: hidden; transition: transform .15s, box-shadow .15s; }
.banery a:hover { transform: translateY(-2px); box-shadow: var(--cien-duzy); }
.sekcja--banery { padding: 36px 0; }

/* Kafelki */
.chipy { list-style: none; margin: 0 0 1.2em; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sekcja .chipy { justify-content: center; }
.chipy a { display: block; padding: 7px 14px; background: #fff; border: 1px solid var(--linia); border-radius: 99px; color: var(--granat); text-decoration: none; font-size: 1rem; }
.chipy a:hover { border-color: var(--niebieski); background: var(--blekit); }
.porady-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.porady-lista--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.porada-karta { display: flex; flex-direction: column; border: 1px solid var(--linia); border-radius: var(--promien); background: #fff; text-decoration: none; color: var(--tekst); overflow: hidden; transition: box-shadow .15s, border-color .15s, transform .15s; }
.porada-karta:hover { border-color: var(--niebieski); box-shadow: var(--cien); transform: translateY(-2px); color: var(--tekst); }
.porada-karta img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.porada-karta__tekst { display: flex; flex-direction: column; gap: 4px; padding: 13px 16px 16px; }
.porada-karta strong { color: var(--granat); font-size: 1.1rem; line-height: 1.3; }
.porada-karta span span, .porada-karta__tekst span { color: var(--szary); font-size: .98rem; }
.regiony { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 1.6em; }
.szukaj { background: var(--blekit); border-radius: var(--promien); padding: 16px 18px; margin: 0 auto 22px; max-width: 640px; }
.szukaj label { display: block; font-weight: 700; color: var(--granat); margin-bottom: 6px; }
.szukaj input { width: 100%; font: inherit; font-size: 1.15rem; padding: 12px 14px; border: 2px solid #a9c8e6; border-radius: 10px; background: #fff; color: var(--tekst); }
.szukaj input:focus { border-color: var(--niebieski); outline: none; box-shadow: 0 0 0 3px rgba(23, 105, 194, .2); }
.szukaj__brak { margin: 10px 0 0; }

/* Podstrony */
.okruszki { padding-top: 12px; font-size: .95rem; color: var(--szary); }
.okruszki ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.okruszki li + li::before { content: "›"; margin-right: 4px; }
.strona__naglowek { background: linear-gradient(120deg, var(--blekit), var(--blekit-2)); border-bottom: 1px solid var(--linia); padding: 30px 0 26px; margin-top: 10px; }
.strona__dzial { color: var(--niebieski-ciemny); font-weight: 700; margin-bottom: .3em; }
.strona__meta { color: var(--szary); font-size: .98rem; margin: .7em 0 0; }
.wstep { font-size: 1.22rem; color: var(--szary); margin: 0; max-width: 46em; }
.grafika-strony { margin-top: 22px; }
.grafika-strony img { border-radius: var(--promien); width: 100%; max-height: 340px; object-fit: cover; }
.grafika-strony figcaption { font-size: .85rem; color: var(--szary); margin-top: 5px; }
.uklad-2 { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 44px; align-items: start; padding-top: 30px; padding-bottom: 50px; }
.tresc { max-width: 74ch; }
.tresc--pelna { max-width: none; }
.tresc h2 { margin-top: 1.6em; padding-bottom: .22em; border-bottom: 2px solid var(--blekit); }
.tresc > h2:first-child, .split__tekst h2, .calosc h2 { margin-top: 0; border-bottom: 0; padding-bottom: 0; }
.tresc h3 { margin-top: 1.2em; }
.tresc h2 a { text-decoration: none; }
.tresc ul, .tresc ol { padding-left: 1.3em; margin: 0 0 1em; }
.tresc li { margin-bottom: .35em; }
.tresc ul.chipy { padding-left: 0; }
.tabela { overflow-x: auto; }
.tresc table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; font-size: 1rem; background: #fff; }
.tresc .tabela-przewin table { margin: 0; }
.tresc .tabela-przewin { margin-bottom: 1.2em; }
.tresc th, .tresc td { border: 1px solid var(--linia); padding: 9px 12px; text-align: left; vertical-align: top; }
.tresc th { background: var(--blekit); color: var(--granat); }
.ramka-uwaga { background: var(--zolty); border-left: 5px solid #d39e00; padding: 13px 16px; border-radius: 8px; }
.ramka-info { background: var(--blekit); border-left: 5px solid var(--niebieski); padding: 13px 16px; border-radius: 8px; }
.wroc { margin-top: 1.6em; }
.spis { background: var(--blekit-2); border: 1px solid var(--linia); border-radius: var(--promien); padding: 14px 18px; }
.spis__tytul { font-weight: 700; color: var(--granat); margin-bottom: .4em; }
.spis ol { margin: 0; padding-left: 1.2em; font-size: 1rem; }
.spis li { margin-bottom: .3em; }
.podobne { margin-top: 2.2em; }
.grafika-w-tresci { margin: 0 0 1.2em; }
.grafika-w-tresci img { border-radius: var(--promien); width: 100%; max-height: 320px; object-fit: cover; }
.grafika-w-tresci figcaption { font-size: .85rem; color: var(--szary); margin-top: 5px; }

/* Cennik */
.uklad-1 { padding-top: 30px; padding-bottom: 50px; }
.pakiety { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; margin: 0 0 1.4em; }
.pakiet { display: flex; flex-direction: column; padding: 22px 20px; background: #fff; border: 1px solid var(--linia); border-top: 5px solid var(--niebieski); border-radius: var(--promien); box-shadow: var(--cien); }
.pakiety--2 .pakiet { border-top-color: var(--linia); box-shadow: none; }
.tresc .pakiet__nazwa { margin: 0; font-size: 1.3rem; }
.tresc .pakiet__cena { margin: .1em 0 .3em; font-size: 2.3rem; font-weight: 800; line-height: 1.15; color: var(--niebieski-ciemny); }
.tresc .pakiet__soczewka { margin: 0 0 .8em; padding: 8px 12px; background: var(--blekit); border-radius: 10px; font-weight: 600; color: var(--granat); }
.pakiet__soczewka span { display: block; font-size: .85rem; font-weight: 400; color: var(--szary); }
.tresc .pakiet__lista { list-style: none; margin: 0; padding: 0; }
.tresc .pakiet__lista li { position: relative; margin: 0; padding: 6px 0 6px 26px; border-top: 1px solid var(--blekit); }
.pakiet__lista li::before { position: absolute; left: 2px; font-weight: 800; }
.pakiet__lista .tak::before { content: "✓"; color: var(--turkus); }
.pakiet__lista .nie { color: var(--szary); }
.pakiet__lista .nie::before { content: "✗"; color: var(--szary); }
.tabela-przewin { overflow-x: auto; margin: 0 0 .5em; border: 1px solid var(--linia); border-radius: var(--promien); }
.tresc .cennik-tabela { min-width: 860px; margin: 0; }
.cennik-tabela th, .cennik-tabela td { padding: 11px 12px; border-bottom: 1px solid var(--blekit); text-align: left; vertical-align: top; }
.cennik-tabela thead th { background: var(--granat); color: #fff; }
.cennik-tabela thead th span { display: block; font-size: 1.2rem; font-weight: 800; }
.cennik-tabela tbody th { background: var(--blekit-2); color: var(--granat); }
.cennik-tabela th:first-child { position: sticky; left: 0; z-index: 1; min-width: 165px; }
.cennik-przypis { color: var(--szary); font-size: 1rem; }
.pakiety-skrot { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pakiety-skrot a { display: block; height: 100%; padding: 16px 18px; background: #fff; border: 1px solid var(--linia); border-radius: var(--promien); color: var(--szary); text-decoration: none; }
.pakiety-skrot a:hover { border-color: var(--niebieski); background: var(--blekit-2); }
.pakiety-skrot strong { display: block; color: var(--granat); }
.pakiety-skrot__cena { display: block; font-size: 1.7rem; font-weight: 800; line-height: 1.2; color: var(--niebieski-ciemny); }
.bezgotowkowo { display: flex; gap: 16px; align-items: flex-start; margin: 0 0 20px; padding: 20px 24px; background: var(--granat); color: #fff; border-radius: var(--promien); box-shadow: var(--cien); }
.bezgotowkowo svg { flex: none; width: 40px; height: 40px; color: #fff; }
.bezgotowkowo p { margin: 0; color: #fff; }
.tresc .bezgotowkowo .bezgotowkowo__tytul, .bezgotowkowo__tytul { margin-bottom: .25em; font-size: 1.3rem; font-weight: 800; line-height: 1.25; }
.tresc .znaczek-bezgotowkowo, .znaczek-bezgotowkowo { display: inline-block; align-self: flex-start; margin: .35em 0 .3em; padding: 5px 14px; background: #15803d; border-radius: 99px; color: #fff; font-size: 1rem; font-weight: 800; }
.tresc .bezgotowkowo-opis, .bezgotowkowo-opis { display: block; margin: 0 0 .3em; color: #166534; font-size: .98rem; font-weight: 600; line-height: 1.35; }
.miasta-grupy h3 { margin: 1.1em 0 .45em; font-size: 1.15rem; }
.miasta-grupy .chipy { margin-bottom: 0; }
.baner-tel { display: block; margin: 1.6em 0 0; }
.baner-tel img { border-radius: var(--promien); width: 100%; }

/* Pytania i odpowiedzi */
.pytanie { border: 1px solid var(--linia); border-radius: 12px; margin-bottom: 10px; background: #fff; }
.pytanie summary { list-style: none; cursor: pointer; padding: 13px 44px 13px 16px; font-weight: 700; color: var(--granat); position: relative; }
.pytanie summary::-webkit-details-marker { display: none; }
.pytanie summary::after { content: "+"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; line-height: 1; color: var(--niebieski); }
.pytanie[open] summary::after { content: "–"; }
.pytanie[open] summary { border-bottom: 1px solid var(--blekit); }
.pytanie p { margin: 0; padding: 12px 16px 14px; }

/* Film */
.film { margin: 0 0 1.4em; }
.split__media .film { margin: 0; }
.film__link { position: relative; display: block; border: 1px solid var(--linia); border-radius: var(--promien); overflow: hidden; background: #fff; box-shadow: var(--cien); }
.film__link img { width: 100%; aspect-ratio: 16 / 9; object-fit: contain; }
.film__przycisk { position: absolute; right: 16px; bottom: 16px; width: 84px; height: 60px; border-radius: 14px; background: var(--niebieski); box-shadow: 0 4px 16px rgba(0, 0, 0, .35); }
.film__przycisk::after { content: ""; position: absolute; left: 34px; top: 17px; border-style: solid; border-width: 13px 0 13px 22px; border-color: transparent transparent transparent #fff; }
.film__ramka { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--promien); background: #000; }
.film figcaption { font-size: .92rem; color: var(--szary); margin-top: 6px; }

/* Boczna kolumna */
.boczna { display: grid; gap: 16px; position: sticky; top: 92px; }
.boczna__karta { background: #fff; border: 1px solid var(--linia); border-radius: var(--promien); padding: 16px 18px; }
.boczna__karta--tel { background: var(--granat); border-color: transparent; color: #fff; }
.boczna__karta--tel .boczna__tytul { color: #fff; font-size: 1.15rem; margin-bottom: .2em; }
.boczna__karta--tel p { color: #dcebf9; }
.boczna__karta--tel .btn--tel { background: #fff; color: var(--granat); font-size: 1.2rem; box-shadow: none; }
.boczna__karta--tel .btn--tel:hover { background: var(--blekit); color: var(--granat); }
.boczna__opis { margin: 0 0 .7em; font-size: .98rem; }
.boczna__tytul { font-weight: 700; color: var(--granat); margin-bottom: .5em; }
.boczna__maly { margin: 8px 0 0; font-size: .95rem; text-align: center; }
.boczna__lista { list-style: none; margin: 0; padding: 0; }
.boczna__lista li { padding: 5px 0; border-top: 1px solid var(--blekit); font-size: 1rem; }
.boczna__lista li:first-child { border-top: 0; }
.boczna__lista a { text-decoration: none; }
.boczna__lista a[aria-current] { font-weight: 700; color: var(--granat); }
.kontakt-karta { background: var(--blekit); border-radius: var(--promien); padding: 22px 24px; margin-bottom: 1.5em; }
.kontakt-karta__etykieta { margin: 0; font-weight: 600; color: var(--szary); }
.kontakt-karta__tel { display: block; font-size: clamp(2rem, 6vw, 2.8rem); font-weight: 800; color: var(--granat); text-decoration: none; margin-bottom: .1em; }
.kontakt-karta__firma { margin: 1em 0 0; }

/* Pasek „Zadzwoń” */
.cta { background: linear-gradient(120deg, var(--granat), var(--niebieski)); color: #fff; padding: 44px 0; }
.cta--grafika { background-image: linear-gradient(90deg, rgba(15, 52, 96, .94), rgba(15, 52, 96, .76)), var(--tlo-grafika); background-image: linear-gradient(90deg, rgba(15, 52, 96, .94), rgba(15, 52, 96, .76)), var(--tlo-grafika-set); background-size: cover; background-position: center; }
.cta__in { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.cta h2 { color: #fff; margin-bottom: .3em; }
.cta p { margin: 0; max-width: 40em; }
.cta .btn--tel { background: #fff; color: var(--granat); }
.cta .btn--tel:hover { background: var(--blekit); color: var(--granat); }

/* Stopka */
.stopka { background: var(--granat); color: #dbe8f5; font-size: 1rem; }
.stopka a { color: #fff; }
.stopka__kolumny { display: grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap: 28px; padding-top: 40px; padding-bottom: 26px; }
.stopka ul { list-style: none; margin: 0; padding: 0; }
.stopka li { margin-bottom: 5px; }
.stopka__nazwa { font-size: 1.15rem; font-weight: 700; color: #fff; }
.stopka__tytul { font-weight: 700; color: #fff; margin-bottom: .5em; }
.stopka__tel { font-size: 1.15rem; font-weight: 700; }
.stopka__zastrzezenie { font-size: .92rem; color: #c4d7ea; padding-bottom: 8px; }
.stopka__zastrzezenie p { margin: 0 0 .6em; }
.stopka__reklama { border-top: 1px solid rgba(255, 255, 255, .18); padding-top: 14px; padding-bottom: 14px; font-size: .78rem; line-height: 1.55; color: #a9c1d9; }
.stopka__reklama p { margin: 0 0 .3em; }
.stopka__reklama a { color: #c9dcee; }
.stopka__dol { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 20px; border-top: 1px solid rgba(255, 255, 255, .18); padding-top: 12px; padding-bottom: 14px; font-size: .88rem; color: #a9c1d9; }
.stopka__dol p { margin: 0; }

/* Pasek z telefonem na dole ekranu */
.dzwon-pasek { position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--niebieski); color: #fff; font-weight: 700; font-size: 1.18rem; padding: 12px; text-decoration: none; box-shadow: 0 -3px 14px rgba(0, 0, 0, .18); }
.dzwon-pasek:hover { background: var(--niebieski-ciemny); color: #fff; }

@media (min-width: 1500px) {
  .gora .wrap { max-width: 1440px; }
  .gora__in { flex-wrap: nowrap; }
  .menu { width: auto; order: 2; }
  .menu ul { flex-wrap: nowrap; }
  .menu a { padding: 6px 7px; font-size: .94rem; white-space: nowrap; }
  .gora__tel { order: 3; white-space: nowrap; }
  .logo { margin-right: 10px; flex: none; }
  .menu { margin-right: auto; }
  html[data-litery] .gora__in { flex-wrap: wrap; }
  html[data-litery] .logo { margin-right: auto; }
  html[data-litery] .gora__tel { order: 2; }
  html[data-litery] .menu { order: 3; width: 100%; margin-right: 0; }
  html[data-litery] .menu ul { flex-wrap: wrap; }
}
@media (min-width: 981px) {
  body { padding-bottom: 0; }
  .dzwon-pasek { display: none; }
}
@media (max-width: 980px) {
  html { scroll-padding-top: 16px; }
  .gora { position: static; }
  .pasek__tekst { display: none; }
  .pasek__in { justify-content: flex-end; }
  .menu-przycisk { display: inline-flex; align-items: center; order: 2; }
  .gora__tel { display: none; }
  .menu { display: none; order: 3; }
  .menu.otwarte { display: block; }
  .menu ul { flex-direction: column; }
  .menu a { padding: 11px 8px; font-size: 1.08rem; border-bottom: 1px solid var(--blekit); border-radius: 0; }
  .hero--grafika { background-image: linear-gradient(180deg, rgba(15, 52, 96, .9), rgba(15, 52, 96, .78)), var(--tlo-grafika); background-image: linear-gradient(180deg, rgba(15, 52, 96, .9), rgba(15, 52, 96, .78)), var(--tlo-grafika-set); }
  .hero--telefon { background-image: linear-gradient(180deg, rgba(15, 52, 96, .9), rgba(15, 52, 96, .78)), var(--tlo-telefon); background-position: center bottom; }
  .hero__in { padding-top: 34px; padding-bottom: 84px; }
  .atuty__siatka, .porady-lista, .duo, .regiony { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kroki { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .kroki::before { left: 24px; right: auto; top: 10px; bottom: 30px; border-top: 0; border-left: 3px dashed #b9d4ee; }
  .kroki li { text-align: left; align-items: flex-start; padding: 0 0 20px 66px; min-height: 66px; }
  .kroki li::before { position: absolute; left: 0; top: 0; }
  .split { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 32px 0; }
  .split--odwrot .split__media { order: 0; }
  .uklad-2 { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .boczna { position: static; }
  .tresc { max-width: none; }
  .stopka__kolumny { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .atuty__siatka, .porady-lista, .porady-lista--2, .stopka__kolumny, .banery, .duo, .regiony, .pakiety-skrot { grid-template-columns: minmax(0, 1fr); }
  .logo__tekst span { font-size: .8rem; }
  .btn--duzy { width: 100%; font-size: 1.15rem; }
  .hero .btn--jasny { width: 100%; }
  .hero__nad { display: none; }
  .hero__wstep { font-size: 1.12rem; }
  .hero__odznaka { padding: 6px 13px; font-size: .95rem; }
  .sekcja { padding: 40px 0; }
  .atuty { padding-bottom: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
@media print { .pasek, .gora, .dzwon-pasek, .cta, .boczna { display: none; } }
