
:root {
 --papier: #F8F0E2; 
 --papier-2: #FBF6EC; 
 --papier-3: #F1E5D1; 
 --bialy: #FFFDF8; 
 --kontur: #6E4B3A; 
 --kontur-2: #7A5E4E; 
 --cichy: #9A7E6E; 
 --linia: #E8D9C2; 
 --czapka: #D94A3D; 
 --czapka-cta: #C33F33; 
 --czapka-ciemna: #A8352A; 
 --czapka-cien: #8F2C23; 
 --czapka-jasna: #FBE3DE; 
 --szalik: #F2BE45; 
 --szalik-ciemny: #D9A73B;
 --szalik-jasny: #FDF3D6;
 --na-szaliku: #5A3B2D; 
 --plaszcz: #4F9A5C; 
 --plaszcz-ciemny: #3B7D4B; 
 --plaszcz-jasny: #E5F0E3;
 --noc: #2E4677;
 --noc-ciemna: #22355C;
 --noc-jasna: #3D5585;
 --iskra: #F7C95A; 
 --snieg: #DCE8F2;
 --rumieniec: #EE958F;
 --skora: #F7D8C0;
 --tlo: var(--papier);
 --tlo-alt: var(--papier-3);
 --powierzchnia: var(--papier-2);
 --powierzchnia-mocna: var(--bialy);
 --tekst: var(--kontur);
 --tekst-2: var(--kontur-2);
 --obrys: var(--linia);
 --akcent: var(--czapka);
 --link: var(--czapka-ciemna);
 --cta: var(--czapka-cta);
 --cta-hover: var(--czapka-ciemna);
 --cta-cien: var(--czapka-cien);
 --cta-tekst: var(--bialy);
 --fokus: var(--szalik);
 --sukces: var(--plaszcz-ciemny);
 --sukces-tlo: var(--plaszcz-jasny);
 --blad: var(--czapka-ciemna);
 --blad-tlo: var(--czapka-jasna);
 --info-tlo: var(--szalik-jasny);
 --ikona-ok: var(--sukces); 
 --f-tytul: "Baloo 2", "Nunito", system-ui, sans-serif; 
 --f-tekst: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif; 
 --f-reka: "Caveat", "Nunito", system-ui, sans-serif; 
 --t-xs: 0.8125rem; 
 --t-sm: 0.9375rem; 
 --t-base: clamp(1rem, 0.96rem + 0.18vw, 1.0625rem); 
 --t-lg: clamp(1.125rem, 1.06rem + 0.3vw, 1.25rem); 
 --t-h4: clamp(1.25rem, 1.16rem + 0.4vw, 1.5rem); 
 --t-h3: clamp(1.5rem, 1.36rem + 0.6vw, 1.875rem); 
 --t-h2: clamp(1.875rem, 1.6rem + 1.2vw, 2.625rem); 
 --t-h1: clamp(2.25rem, 1.8rem + 2vw, 3.75rem); 
 --t-display: clamp(2.5rem, 1.9rem + 2.8vw, 4.5rem); 
 --t-reka: clamp(1.5rem, 1.38rem + 0.5vw, 1.875rem); 
 --lh-tytul: 1.1;
 --lh-tekst: 1.6;
 --miara: 64ch; 
 --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-5: 24px;
 --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 128px;
 --kolumny: 4;
 --rynna: 16px; 
 --kontener: 1120px;
 --kontener-szeroki: 1280px;
 --kontener-waski: 680px; 
 --sekcja: 56px; 
 --naglowek-h: 64px;
 --r-xs: 6px; --r-sm: 10px; --r-md: 16px; --r-lg: 24px; --r-pill: 999px;
 --r-reka: 18px 22px 16px 24px / 22px 16px 24px 18px; 
 --kreska: 2px;
 --kreska-gruba: 2.5px;
 --cien-1: 0 1px 0 rgba(110, 75, 58, .08), 0 6px 16px -10px rgba(110, 75, 58, .35);
 --cien-2: 0 2px 0 rgba(110, 75, 58, .06), 0 16px 36px -18px rgba(110, 75, 58, .45);
 --cien-3: 0 24px 60px -24px rgba(34, 53, 92, .5);
 --cien-papier: 0 10px 24px -14px rgba(110, 75, 58, .55);
 --czas-1: 120ms; --czas-2: 220ms; --czas-3: 420ms;
 --krzywa: cubic-bezier(.2, .8, .2, 1);
 --krzywa-sprezyna: cubic-bezier(.34, 1.56, .64, 1);
 --z-naglowek: 50; --z-sticky: 60; --z-cookie: 70; --z-toast: 80; --z-modal: 90;
 --dotyk: 48px; 
 --ziarno: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .43 0 0 0 0 .29 0 0 0 0 .23 0 0 0 .09 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
@media (min-width: 768px) {
 :root { --kolumny: 8; --rynna: 24px; --sekcja: 80px; --naglowek-h: 72px; }
}
@media (min-width: 1024px) {
 :root { --kolumny: 12; --rynna: 32px; --sekcja: 112px; }
}
.ch-noc {
 --tlo: var(--noc);
 --tlo-alt: var(--noc-ciemna);
 --powierzchnia: var(--noc-jasna);
 --powierzchnia-mocna: #4A63A0;
 --tekst: #F6EEDF; 
 --tekst-2: #C9D2E6; 
 --obrys: #4A63A0;
 --akcent: var(--iskra);
 --link: var(--iskra);
 --cta: var(--iskra);
 --cta-hover: #FFD978;
 --cta-cien: var(--szalik-ciemny);
 --cta-tekst: var(--noc-ciemna); 
 --info-tlo: var(--noc-ciemna);
 --ikona-ok: var(--iskra);
 --ziarno: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
 color-scheme: dark;
 color: var(--tekst); 
}
.ch-dzien, .ch-noc .ch-offer, .ch-noc .ch-lead-box, .ch-noc .ch-order {
 --tlo: var(--papier); --tlo-alt: var(--papier-3); --powierzchnia: var(--papier-2); --powierzchnia-mocna: var(--bialy);
 --tekst: var(--kontur); --tekst-2: var(--kontur-2); --obrys: var(--linia); --akcent: var(--czapka); --link: var(--czapka-ciemna);
 --cta: var(--czapka-cta); --cta-hover: var(--czapka-ciemna); --cta-cien: var(--czapka-cien); --cta-tekst: var(--bialy);
 --info-tlo: var(--szalik-jasny); --ikona-ok: var(--sukces); color-scheme: light; color: var(--kontur);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--naglowek-h) + var(--s-4)); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; min-height: 100vh; background: var(--tlo); background-image: var(--ziarno); color: var(--tekst);
 font: 400 var(--t-base)/var(--lh-tekst) var(--f-tekst); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:where(ul, ol)[role="list"] { list-style: none; margin: 0; padding: 0; }
[hidden] { display: none !important; } 
h1, h2, h3, h4, .ch-h1, .ch-h2, .ch-h3, .ch-h4, .ch-display {
 font-family: var(--f-tytul); font-weight: 700; line-height: var(--lh-tytul); margin: 0; letter-spacing: -0.005em; text-wrap: balance; }
.ch-display { font-size: var(--t-display); }
h1, .ch-h1 { font-size: var(--t-h1); }
h2, .ch-h2 { font-size: var(--t-h2); }
h3, .ch-h3 { font-size: var(--t-h3); }
h4, .ch-h4 { font-size: var(--t-h4); }
p { margin: 0 0 var(--s-4); max-width: var(--miara); text-wrap: pretty; }
p:last-child { margin-bottom: 0; }
.ch-lead { font-size: var(--t-lg); color: var(--tekst-2); }
.ch-small { font-size: var(--t-sm); }
.ch-xs { font-size: var(--t-xs); }
.ch-muted { color: var(--tekst-2); }
.ch-akcent { color: var(--akcent); }
.ch-reka { font: 500 var(--t-reka)/1.2 var(--f-reka); } 
.ch-nadtytul { display: inline-block; font: 800 var(--t-xs)/1.2 var(--f-tekst); letter-spacing: .1em; text-transform: uppercase; color: var(--akcent); margin-bottom: var(--s-3); }
em.ch-podkresl, .ch-podkresl { font-style: normal; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--szalik) 70%, transparent) 62% 92%, transparent 92%); }
strong, b { font-weight: 800; }
a { color: var(--link); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 3px; }
hr { border: 0; border-top: var(--kreska) dashed var(--obrys); margin: var(--s-6) 0; }
:focus { outline: none; }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 3px; border-radius: 4px; }
.ch-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ch-skip { position: absolute; left: var(--s-4); top: -100px; z-index: calc(var(--z-modal) + 1); background: var(--cta); color: var(--cta-tekst);
 padding: var(--s-3) var(--s-4); border-radius: var(--r-sm); font-weight: 800; }
.ch-skip:focus { top: var(--s-3); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.ch-container { width: 100%; max-width: calc(var(--kontener) + 2 * var(--rynna)); margin-inline: auto; padding-inline: var(--rynna); }
.ch-container--szeroki { max-width: calc(var(--kontener-szeroki) + 2 * var(--rynna)); }
.ch-container--waski { max-width: calc(var(--kontener-waski) + 2 * var(--rynna)); }
.ch-container--pelny { max-width: none; padding-inline: 0; }
.ch-section { position: relative; padding-block: var(--sekcja); background-color: var(--tlo); background-image: var(--ziarno); color: var(--tekst); }
.ch-section--alt { --tlo: var(--tlo-alt); }
.ch-section--ciasna { padding-block: calc(var(--sekcja) * .6); }
.ch-section--bez-gory { padding-top: 0; }
.ch-section__glowa { max-width: 720px; margin: 0 auto var(--s-7); text-align: center; }
.ch-section__glowa--lewo { margin-inline: 0; text-align: left; }
.ch-section__glowa p { margin-inline: auto; }
.ch-section__glowa h2 + p { margin-top: var(--s-4); }
.ch-section--fala-dol::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 18px;
 background: radial-gradient(circle at 12px 0, transparent 12px, var(--nastepna, var(--papier)) 12.5px) 0 0 / 24px 18px repeat-x; }
.ch-grid { display: grid; grid-template-columns: repeat(var(--kolumny), minmax(0, 1fr)); gap: var(--rynna); }
.ch-grid--gesta { gap: var(--s-4); }
.ch-grid--wyrownaj { align-items: center; }
.ch-grid > * { grid-column: 1 / -1; }
.ch-auto { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--min, 260px)), 1fr)); gap: var(--rynna); }
.ch-auto--2 { --min: 320px; } .ch-auto--3 { --min: 260px; } .ch-auto--4 { --min: 200px; } .ch-auto--6 { --min: 140px; }
.ch-stack { display: flex; flex-direction: column; gap: var(--gap, var(--s-4)); }
.ch-stack > * { margin: 0; }
.ch-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap, var(--s-3)); }
.ch-split { display: grid; gap: var(--s-6); align-items: center; }
@media (min-width: 768px) { .ch-split { grid-template-columns: 1fr 1fr; gap: var(--s-7); } .ch-split--odwroc > :first-child { order: 2; } }
@media (min-width: 1024px) { .ch-split--7-5 { grid-template-columns: 7fr 5fr; } .ch-split--5-7 { grid-template-columns: 5fr 7fr; } }
.ch-center { text-align: center; } .ch-center p { margin-inline: auto; }
.ch-mt-0 { margin-top: 0 !important; } .ch-mb-0 { margin-bottom: 0 !important; }
@media (max-width: 767.98px) { .ch-tylko-md { display: none !important; } }
@media (min-width: 768px) { .ch-tylko-mobile { display: none !important; } }
.ch-ilu { display: block; width: 100%; height: auto; }
.ch-ilu--na-papierze { mix-blend-mode: multiply; } 
.ch-ilu--ramka { border-radius: var(--r-reka); border: var(--kreska-gruba) solid var(--obrys); box-shadow: var(--cien-1); }
.ch-ilu--okragla { border-radius: 50%; aspect-ratio: 1; object-fit: cover; object-position: 50% 30%; }
.ch-ilu-4x5 { aspect-ratio: 4 / 5; object-fit: cover; }
.ch-ilu-1x1 { aspect-ratio: 1; object-fit: cover; }
.ch-ilu-16x9 { aspect-ratio: 16 / 9; object-fit: cover; }
.ch-ikona { width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: -0.25em; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ch-ikona--sm { width: 1em; height: 1em; } .ch-ikona--lg { width: 2rem; height: 2rem; } .ch-ikona--xl { width: 3rem; height: 3rem; }
@keyframes ch-migotanie { 0%, 100% { opacity: 1; transform: scale(1) rotate(0); } 50% { opacity: .55; transform: scale(.82) rotate(12deg); } }
@keyframes ch-podskok { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-6px); } 60% { transform: translateY(-2px); } }
@keyframes ch-obrot { to { transform: rotate(360deg); } }
@keyframes ch-wjazd { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ch-migocze { animation: ch-migotanie 2.4s var(--krzywa) infinite; }
.ch-podskakuje { animation: ch-podskok 1.8s var(--krzywa) infinite; }
.ch-reveal { opacity: 0; transform: translateY(14px); transition: opacity var(--czas-3) var(--krzywa), transform var(--czas-3) var(--krzywa); }
.ch-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .ch-reveal { opacity: 1; transform: none; } }
.no-js .ch-reveal { opacity: 1; transform: none; }
.ch-span-1 { grid-column: span 1 / span 1; }
.ch-span-2 { grid-column: span 2 / span 2; }
.ch-span-3 { grid-column: span 3 / span 3; }
.ch-span-4 { grid-column: span 4 / span 4; }
@media (min-width: 768px) { 
 .md\:ch-span-1 { grid-column: span 1 / span 1; }
 .md\:ch-span-2 { grid-column: span 2 / span 2; }
 .md\:ch-span-3 { grid-column: span 3 / span 3; }
 .md\:ch-span-4 { grid-column: span 4 / span 4; }
 .md\:ch-span-5 { grid-column: span 5 / span 5; }
 .md\:ch-span-6 { grid-column: span 6 / span 6; }
 .md\:ch-span-7 { grid-column: span 7 / span 7; }
 .md\:ch-span-8 { grid-column: span 8 / span 8; }
 .md\:ch-start-1 { grid-column-start: 1; }
 .md\:ch-start-2 { grid-column-start: 2; }
 .md\:ch-start-3 { grid-column-start: 3; }
 .md\:ch-start-4 { grid-column-start: 4; }
 .md\:ch-start-5 { grid-column-start: 5; }
 .md\:ch-start-6 { grid-column-start: 6; }
 .md\:ch-start-7 { grid-column-start: 7; }
 .md\:ch-start-8 { grid-column-start: 8; }
}
@media (min-width: 1024px) { 
 .lg\:ch-span-1 { grid-column: span 1 / span 1; }
 .lg\:ch-span-2 { grid-column: span 2 / span 2; }
 .lg\:ch-span-3 { grid-column: span 3 / span 3; }
 .lg\:ch-span-4 { grid-column: span 4 / span 4; }
 .lg\:ch-span-5 { grid-column: span 5 / span 5; }
 .lg\:ch-span-6 { grid-column: span 6 / span 6; }
 .lg\:ch-span-7 { grid-column: span 7 / span 7; }
 .lg\:ch-span-8 { grid-column: span 8 / span 8; }
 .lg\:ch-span-9 { grid-column: span 9 / span 9; }
 .lg\:ch-span-10 { grid-column: span 10 / span 10; }
 .lg\:ch-span-11 { grid-column: span 11 / span 11; }
 .lg\:ch-span-12 { grid-column: span 12 / span 12; }
 .lg\:ch-start-1 { grid-column-start: 1; }
 .lg\:ch-start-2 { grid-column-start: 2; }
 .lg\:ch-start-3 { grid-column-start: 3; }
 .lg\:ch-start-4 { grid-column-start: 4; }
 .lg\:ch-start-5 { grid-column-start: 5; }
 .lg\:ch-start-6 { grid-column-start: 6; }
 .lg\:ch-start-7 { grid-column-start: 7; }
 .lg\:ch-start-8 { grid-column-start: 8; }
 .lg\:ch-start-9 { grid-column-start: 9; }
 .lg\:ch-start-10 { grid-column-start: 10; }
 .lg\:ch-start-11 { grid-column-start: 11; }
 .lg\:ch-start-12 { grid-column-start: 12; }
}
.ch-btn { --btn-tlo: var(--powierzchnia); --btn-tekst: var(--tekst); --btn-obrys: var(--obrys); --btn-cien: transparent;
 position: relative; display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2);
 min-height: var(--dotyk); padding: 12px 24px 11px; border-radius: var(--r-pill);
 border: var(--kreska) solid var(--btn-obrys); background: var(--btn-tlo); color: var(--btn-tekst);
 font: 800 var(--t-base)/1.15 var(--f-tekst); text-decoration: none; text-align: center; white-space: normal;
 box-shadow: inset 0 -4px 0 var(--btn-cien); cursor: pointer; user-select: none; -webkit-tap-highlight-color: transparent;
 transition: transform var(--czas-1) var(--krzywa), background-color var(--czas-2), box-shadow var(--czas-1); }
.ch-btn:hover { text-decoration: none; }
.ch-btn:active { transform: translateY(2px); box-shadow: inset 0 -2px 0 var(--btn-cien); }
.ch-btn--glowny { --btn-tlo: var(--cta); --btn-tekst: var(--cta-tekst); --btn-obrys: var(--cta); --btn-cien: var(--cta-cien); font-size: var(--t-lg); padding: 14px 28px 13px; }
.ch-btn--glowny:hover { --btn-tlo: var(--cta-hover); --btn-obrys: var(--cta-hover); }
.ch-btn--drugi { --btn-tlo: transparent; --btn-tekst: var(--tekst); --btn-obrys: currentColor; }
.ch-btn--drugi:hover { --btn-tlo: color-mix(in srgb, var(--tekst) 7%, transparent); }
.ch-btn--tekst { --btn-tlo: transparent; --btn-obrys: transparent; padding-inline: var(--s-3); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; color: var(--link); }
.ch-btn--sm { min-height: 40px; padding: 8px 16px 7px; font-size: var(--t-sm); }
.ch-btn--lg { min-height: 60px; padding: 16px 32px 15px; font-size: var(--t-h4); }
.ch-btn--pelny { width: 100%; }
@media (max-width: 767.98px) { .ch-btn--pelny-mobile { width: 100%; } }
.ch-btn__ikona { width: 1.2em; height: 1.2em; }
.ch-btn__strzalka { transition: transform var(--czas-2) var(--krzywa); }
.ch-btn:hover .ch-btn__strzalka { transform: translateX(3px); }
.ch-btn[disabled] { opacity: .5; pointer-events: none; }
.ch-btn[aria-disabled="true"] { cursor: default; } 
.ch-tip--braki { display: flex; }
.ch-tip--braki:not(.has-braki) .ch-tip__dymek { display: none; }
.ch-btn[aria-busy="true"] { color: transparent; pointer-events: none; }
.ch-btn[aria-busy="true"]::after { content: ""; position: absolute; width: 1.3em; height: 1.3em; border-radius: 50%;
 border: 3px solid var(--btn-tekst); border-right-color: transparent; animation: ch-obrot .7s linear infinite; }
.ch-cta { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s-2); }
.ch-cta--srodek { align-items: center; text-align: center; }
.ch-cta__nota { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: var(--t-sm); color: var(--tekst-2); }
.ch-cta__nota span { display: inline-flex; align-items: center; gap: 5px; }
.ch-cta__nota .ch-ikona { color: var(--ikona-ok); }
@media (max-width: 767.98px) { .ch-cta { align-items: stretch; } .ch-cta .ch-btn { width: 100%; } .ch-cta__nota { justify-content: center; } }
.ch-link { color: var(--link); font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.ch-link--strzalka { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.ch-link--strzalka:hover .ch-ikona { transform: translateX(3px); }
.ch-link--strzalka .ch-ikona { transition: transform var(--czas-2) var(--krzywa); }
.ch-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 4px; border-radius: var(--r-pill);
 font: 800 var(--t-xs)/1.2 var(--f-tekst); letter-spacing: .02em; background: var(--szalik); color: var(--na-szaliku); white-space: nowrap; }
.ch-badge--zielona { background: var(--plaszcz-ciemny); color: var(--bialy); }
.ch-badge--czerwona { background: var(--cta); color: var(--bialy); }
.ch-badge--noc { background: var(--noc); color: var(--iskra); }
.ch-badge--obrys { background: transparent; color: var(--tekst); box-shadow: inset 0 0 0 var(--kreska) var(--obrys); }
.ch-badge--wstazka { position: absolute; top: -13px; left: var(--s-5); box-shadow: var(--cien-1); }
.ch-card { position: relative; background: var(--powierzchnia); color: var(--tekst); border: var(--kreska) solid var(--obrys);
 border-radius: var(--r-reka); padding: var(--s-5); }
.ch-card--cien { box-shadow: var(--cien-2); }
.ch-card--klik { transition: transform var(--czas-2) var(--krzywa), box-shadow var(--czas-2); }
.ch-card--klik:hover { transform: translateY(-3px); box-shadow: var(--cien-2); }
.ch-card--klik a::after { content: ""; position: absolute; inset: 0; } 
.ch-card__ilu { margin: calc(var(--s-5) * -1) calc(var(--s-5) * -1) var(--s-4); border-radius: var(--r-reka) var(--r-reka) 0 0; overflow: hidden; background: var(--papier); }
.ch-card__ilu img { width: 100%; }
.ch-card h3 { font-size: var(--t-h4); margin-bottom: var(--s-2); }
.ch-field { display: grid; gap: 6px; }
.ch-field__label { font-weight: 800; font-size: var(--t-sm); }
.ch-field__opc { font-weight: 400; color: var(--tekst-2); }
.ch-field__pomoc { font-size: var(--t-xs); color: var(--tekst-2); }
.ch-field__blad { display: none; align-items: center; gap: 6px; font-size: var(--t-sm); font-weight: 700; color: var(--blad); }
.ch-field[data-stan="blad"] .ch-field__blad { display: flex; }
.ch-input, .ch-select, .ch-textarea { width: 100%; min-height: var(--dotyk); padding: 12px 16px; border-radius: var(--r-sm);
 border: var(--kreska) solid var(--obrys); background: var(--powierzchnia-mocna); color: var(--kontur);
 font-size: max(16px, var(--t-base)); transition: border-color var(--czas-2), box-shadow var(--czas-2); }
.ch-noc .ch-input, .ch-noc .ch-select, .ch-noc .ch-textarea { background: var(--bialy); border-color: transparent; }
.ch-input::placeholder, .ch-textarea::placeholder { color: var(--cichy); }
.ch-input:hover, .ch-select:hover, .ch-textarea:hover { border-color: var(--cichy); }
.ch-input:focus-visible, .ch-select:focus-visible, .ch-textarea:focus-visible { outline: none; border-color: var(--kontur); box-shadow: 0 0 0 3px var(--fokus); }
.ch-field[data-stan="blad"] .ch-input, .ch-input[aria-invalid="true"] { border-color: var(--blad); background: var(--czapka-jasna); }
.ch-field[data-stan="ok"] .ch-input { border-color: var(--sukces); }
.ch-textarea { min-height: 120px; resize: vertical; }
.ch-select { appearance: none; padding-right: 44px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E4B3A' stroke-width='2.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
 background-repeat: no-repeat; background-position: right 14px center; background-size: 18px; }
.ch-check { display: flex; align-items: flex-start; gap: var(--s-3); cursor: pointer; font-size: var(--t-sm); line-height: 1.45; min-height: 32px; }
.ch-check input { appearance: none; flex: none; width: 24px; height: 24px; margin: 0; border: var(--kreska) solid var(--kontur); border-radius: 7px; background: var(--bialy);
 display: grid; place-items: center; cursor: pointer; transition: background-color var(--czas-1); }
.ch-check input[type="radio"] { border-radius: 50%; }
.ch-check input:checked { background: var(--cta); border-color: var(--cta); }
.ch-check input:checked::after { content: ""; width: 11px; height: 6px; border: 3px solid var(--bialy); border-top: 0; border-right: 0; transform: translateY(-2px) rotate(-45deg); }
.ch-check input[type="radio"]:checked::after { width: 8px; height: 8px; border: 0; border-radius: 50%; background: var(--bialy); transform: none; }
.ch-check input:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; }
.ch-choice { display: flex; flex-wrap: wrap; gap: var(--s-2); border: 0; margin: 0; padding: 0; min-width: 0; }
.ch-choice legend { font-weight: 800; font-size: var(--t-sm); margin-bottom: var(--s-2); padding: 0; }
.ch-choice label { position: relative; display: inline-flex; align-items: center; min-height: var(--dotyk); padding: 10px 18px; border-radius: var(--r-pill);
 border: var(--kreska) solid var(--obrys); background: var(--powierzchnia); font-weight: 800; cursor: pointer; transition: all var(--czas-1); }
.ch-choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ch-choice label:has(input:checked) { background: var(--plaszcz-ciemny); border-color: var(--plaszcz-ciemny); color: var(--bialy); }
.ch-choice label:has(input:focus-visible) { outline: 3px solid var(--fokus); outline-offset: 2px; }
.ch-switch { display: inline-flex; align-items: center; gap: var(--s-3); cursor: pointer; font-weight: 700; min-height: var(--dotyk); }
.ch-switch input { appearance: none; position: relative; width: 52px; height: 30px; margin: 0; border-radius: var(--r-pill); background: var(--linia); border: var(--kreska) solid var(--obrys); cursor: pointer; transition: background-color var(--czas-2); }
.ch-switch input::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--bialy); box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform var(--czas-2) var(--krzywa-sprezyna); }
.ch-switch input:checked { background: var(--plaszcz-ciemny); border-color: var(--plaszcz-ciemny); }
.ch-switch input:checked::after { transform: translateX(22px); }
.ch-switch input:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; }
.ch-form { display: grid; gap: var(--s-4); }
.ch-form__rzad { display: grid; gap: var(--s-3); }
@media (min-width: 768px) { .ch-form__rzad--inline { grid-template-columns: 1fr auto; align-items: end; } }
.ch-header { position: sticky; top: 0; z-index: var(--z-naglowek); background: color-mix(in srgb, var(--papier) 92%, transparent);
 backdrop-filter: saturate(1.2) blur(8px); -webkit-backdrop-filter: saturate(1.2) blur(8px); border-bottom: var(--kreska) solid transparent; transition: border-color var(--czas-2), box-shadow var(--czas-2); }
.ch-header.is-przewiniety { border-bottom-color: var(--linia); box-shadow: 0 6px 20px -16px rgba(110,75,58,.5); }
.ch-header__in { display: flex; align-items: center; gap: var(--s-4); min-height: var(--naglowek-h); }
.ch-logo { display: inline-flex; align-items: center; gap: .3em; font: 800 26px/1 var(--f-tytul); letter-spacing: -.01em; color: var(--kontur); text-decoration: none; white-space: nowrap; }
.ch-logo__i { position: relative; }
.ch-logo__i::after { content: ""; position: absolute; left: 50%; top: -.06em; width: .4em; height: .4em; transform: translateX(-50%);
 background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-20 -20 40 40'><path d='M0 -16 C2 -5 5 -2 16 0 C5 2 2 5 0 16 C-2 5 -5 2 -16 0 C-5 -2 -2 -5 0 -16 Z' fill='%23F7C95A' stroke='%236E4B3A' stroke-width='3.4' stroke-linejoin='round'/></svg>") center / contain no-repeat; }
.ch-noc .ch-logo, .ch-footer .ch-logo { color: #F6EEDF; }
.ch-logo--maly { font-size: 20px; }
.ch-nav { display: none; }
.ch-nav ul { display: flex; gap: var(--s-5); list-style: none; margin: 0; padding: 0; }
.ch-nav a { color: var(--kontur); font-weight: 700; text-decoration: none; padding: 6px 0; border-bottom: 3px solid transparent; }
.ch-nav a:hover, .ch-nav a[aria-current] { border-bottom-color: var(--szalik); }
.ch-header__cta { margin-left: auto; }
.ch-header__cta .ch-btn { min-height: 42px; padding: 9px 18px 8px; font-size: var(--t-sm); }
.ch-burger { display: inline-grid; place-items: center; width: var(--dotyk); height: var(--dotyk); margin-right: calc(var(--s-2) * -1); border: 0; background: transparent; color: var(--kontur); border-radius: var(--r-sm); }
.ch-burger .ch-ikona { width: 28px; height: 28px; }
.ch-mobile-nav { position: fixed; inset: var(--naglowek-h) 0 0; z-index: var(--z-naglowek); background: var(--papier); background-image: var(--ziarno);
 padding: var(--s-5) var(--rynna) var(--s-7); overflow-y: auto; transform: translateY(-8px); opacity: 0; visibility: hidden;
 transition: opacity var(--czas-2), transform var(--czas-2) var(--krzywa), visibility var(--czas-2); }
.ch-mobile-nav.is-open { opacity: 1; transform: none; visibility: visible; }
.ch-mobile-nav ul { list-style: none; margin: 0 0 var(--s-6); padding: 0; }
.ch-mobile-nav li a { display: flex; align-items: center; justify-content: space-between; min-height: 56px; font: 700 var(--t-h4) var(--f-tytul); color: var(--kontur); text-decoration: none; border-bottom: var(--kreska) dashed var(--linia); }
body.is-menu-open { overflow: hidden; }
@media (min-width: 1024px) {
 .ch-nav { display: block; margin-left: var(--s-6); }
 .ch-burger, .ch-mobile-nav { display: none; }
 .ch-header__cta .ch-btn { min-height: var(--dotyk); padding: 11px 22px 10px; font-size: var(--t-base); }
}
@media (max-width: 479.98px) { .ch-header__cta .ch-btn { padding-inline: 14px; } .ch-logo { font-size: 22px; } }
.ch-announce { background: var(--noc); color: #F6EEDF; font-size: var(--t-sm); font-weight: 700; }
.ch-announce__in { display: flex; align-items: center; justify-content: center; gap: var(--s-3); min-height: 40px; padding-block: 6px; text-align: center; }
.ch-announce a { color: var(--iskra); }
.ch-announce .ch-ikona { color: var(--iskra); }
.ch-announce__zamknij { margin-left: auto; display: inline-grid; place-items: center; width: 36px; height: 36px; border: 0; background: transparent; color: inherit; border-radius: var(--r-xs); }
.ch-announce--czerwony { background: var(--cta); color: var(--bialy); }
.ch-announce--czerwony a { color: var(--bialy); }
.ch-footer { --tlo: var(--noc-ciemna); background: var(--noc-ciemna); color: #DCE3F0; font-size: var(--t-sm); }
.ch-footer::before { content: ""; display: block; height: 10px; background: repeating-linear-gradient(90deg, var(--szalik) 0 22px, var(--czapka) 22px 30px); }
.ch-footer__in { display: grid; gap: var(--s-6); padding-block: var(--s-7) var(--s-6); }
@media (min-width: 768px) { .ch-footer__in { grid-template-columns: 2fr 1fr 1fr 1fr; } }
.ch-footer h3, .ch-footer h4 { font-size: var(--t-base); color: #fff; margin-bottom: var(--s-3); }
.ch-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.ch-footer a { color: #DCE3F0; text-decoration: none; } .ch-footer a:hover { color: var(--iskra); text-decoration: underline; }
.ch-footer .ch-logo { color: #fff; }
.ch-footer__dol { border-top: 1px solid rgba(255,255,255,.12); padding-block: var(--s-4); font-size: var(--t-xs); color: #B9C3D8; display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5); justify-content: space-between; }
.ch-hero { position: relative; overflow: hidden; padding-block: var(--s-6) var(--s-7); }
.ch-hero__in { display: grid; gap: var(--s-5); align-items: center; }
.ch-hero__tekst { display: flex; flex-direction: column; gap: var(--s-4); }
.ch-hero__tytul { font-size: var(--t-display); }
.ch-hero__tytul em { font-style: normal; color: var(--akcent); }
.ch-hero__lead { font-size: var(--t-lg); color: var(--tekst-2); max-width: 34ch; margin: 0; }
.ch-hero__ilu { position: relative; justify-self: center; width: min(100%, 360px); }
.ch-hero__ilu img { width: 100%; }
.ch-hero__iskry { position: absolute; width: 36px; color: var(--iskra); fill: currentColor; stroke: none; }
@media (max-width: 767.98px) { .ch-hero__ilu { width: min(72%, 280px); order: 2; } .ch-hero--ilu-gora .ch-hero__ilu { order: -1; width: min(52%, 200px); } }
@media (min-width: 768px) { .ch-hero { padding-block: var(--s-8); } .ch-hero__in { grid-template-columns: 1.15fr .85fr; gap: var(--s-7); } .ch-hero__ilu { width: 100%; } }
@media (min-width: 1024px) { .ch-hero { padding-block: var(--s-8) var(--s-9); } }
.ch-hero--noc { background: radial-gradient(120% 80% at 80% 20%, var(--noc-jasna), var(--noc) 55%, var(--noc-ciemna)); }
.ch-hero--noc .ch-hero__ilu img { border-radius: var(--r-reka); box-shadow: var(--cien-3); }
.ch-problem { display: grid; gap: var(--s-4); }
@media (min-width: 768px) { .ch-problem { grid-template-columns: 1fr auto 1fr; align-items: stretch; } }
.ch-problem__kol { border-radius: var(--r-reka); padding: var(--s-5); border: var(--kreska) solid var(--obrys); }
.ch-problem__kol h3 { font-size: var(--t-h4); margin-bottom: var(--s-3); display: flex; gap: var(--s-2); align-items: center; }
.ch-problem__kol ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); }
.ch-problem__kol li { display: grid; grid-template-columns: 24px 1fr; gap: var(--s-2); }
.ch-problem__kol--bez { background: var(--powierzchnia); color: var(--tekst-2); }
.ch-problem__kol--bez .ch-ikona { color: var(--cichy); }
.ch-problem__kol--z { background: var(--powierzchnia-mocna); border-color: var(--plaszcz); box-shadow: var(--cien-2); }
.ch-problem__kol--z .ch-ikona { color: var(--sukces); }
.ch-problem__strzalka { display: grid; place-items: center; color: var(--akcent); }
.ch-problem__strzalka .ch-ikona { width: 40px; height: 40px; transform: rotate(90deg); }
@media (min-width: 768px) { .ch-problem__strzalka .ch-ikona { transform: none; } }
.ch-steps { display: grid; gap: var(--s-5); counter-reset: krok; list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .ch-steps { grid-template-columns: repeat(var(--ile, 3), 1fr); } }
.ch-steps li { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: var(--s-4); align-items: start; }
@media (min-width: 768px) { .ch-steps li { grid-template-columns: 1fr; justify-items: center; text-align: center; } }
.ch-steps li::before { counter-increment: krok; content: counter(krok); display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%;
 font: 700 26px var(--f-tytul); background: var(--plaszcz-ciemny); color: var(--bialy); box-shadow: inset 0 -4px 0 rgba(0,0,0,.15); }
.ch-steps li:nth-child(2)::before { background: var(--szalik); color: var(--na-szaliku); }
.ch-steps li:nth-child(3)::before { background: var(--cta); }
.ch-steps li:nth-child(4)::before { background: var(--noc); color: var(--iskra); }
.ch-steps h3 { font-size: var(--t-h4); margin-bottom: 4px; }
.ch-steps p { color: var(--tekst-2); margin: 0; }
@media (min-width: 768px) { .ch-steps li:not(:last-child)::after { content: ""; position: absolute; top: 28px; left: calc(50% + 40px); width: calc(100% - 80px + var(--s-5)); border-top: 3px dotted var(--linia); } }
.ch-contents { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s-3); list-style: none; margin: 0; padding: 0; }
@media (min-width: 768px) { .ch-contents { grid-template-columns: repeat(3, 1fr); gap: var(--s-4); } }
@media (min-width: 1024px) { .ch-contents { grid-template-columns: repeat(4, 1fr); } }
.ch-contents li { background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-md); padding: var(--s-4); display: grid; gap: 6px; align-content: start; }
.ch-contents__ikona { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--szalik-jasny); color: var(--czapka-ciemna); }
.ch-contents__ile { font: 700 var(--t-h3)/1 var(--f-tytul); color: var(--akcent); }
.ch-contents__nazwa { font-weight: 800; line-height: 1.3; }
.ch-contents__opis { font-size: var(--t-sm); color: var(--tekst-2); }
.ch-contents__bonus { border-style: dashed !important; border-color: var(--szalik-ciemny) !important; background: var(--szalik-jasny) !important; }
.ch-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
@media (min-width: 768px) { .ch-gallery { grid-template-columns: repeat(4, 1fr); gap: var(--s-4); } }
.ch-gallery__el { position: relative; padding: 0; border: 0; background: var(--bialy); border-radius: var(--r-xs); box-shadow: var(--cien-papier); overflow: hidden; cursor: zoom-in; aspect-ratio: 148 / 210; }
.ch-gallery__el img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--czas-3) var(--krzywa); }
.ch-gallery__el:hover img { transform: scale(1.04); }
.ch-gallery__el span { position: absolute; left: 8px; bottom: 8px; font: 800 var(--t-xs) var(--f-tekst); background: var(--bialy); color: var(--kontur); padding: 3px 8px; border-radius: var(--r-pill); }
.ch-envelope { width: min(100%, 440px); margin-inline: auto; padding-top: 8%; transition: padding-top var(--czas-3) var(--krzywa); }
.ch-envelope.is-open { padding-top: 66%; }
.ch-envelope__koperta { position: relative; aspect-ratio: 16 / 10; }
.ch-envelope__tyl, .ch-envelope__przod, .ch-envelope__klapa { position: absolute; inset: 0; border-radius: 8px; }
.ch-envelope__tyl { z-index: 1; background: #E6CFA9; }
.ch-envelope__list { position: absolute; z-index: 2; left: 5%; right: 5%; bottom: 5%; height: 88%; padding: var(--s-4) var(--s-5); background: var(--bialy); color: var(--kontur);
 border-radius: 4px; box-shadow: var(--cien-1); overflow: hidden; transition: transform var(--czas-3) var(--krzywa) .2s, height var(--czas-3) var(--krzywa) .2s; }
.ch-envelope__list p { font: 500 clamp(19px, 4.6vw, 23px)/1.25 var(--f-reka); margin: 0 0 6px; max-width: none; }
.ch-envelope__przod { z-index: 3; background: #F1DEBC; box-shadow: var(--cien-papier); clip-path: polygon(0 0, 50% 54%, 100% 0, 100% 100%, 0 100%); }
.ch-envelope__klapa { z-index: 4; background: #EAD3AC; clip-path: polygon(0 0, 100% 0, 50% 58%); transform-origin: top; transition: transform var(--czas-3) var(--krzywa), z-index 0s var(--czas-3); }
.ch-envelope__pieczec { position: absolute; z-index: 5; left: 50%; top: 54%; width: 56px; height: 56px; transform: translate(-50%, -50%); border-radius: 50%;
 background: var(--czapka); box-shadow: inset 0 -4px 0 var(--czapka-cien), var(--cien-1); display: grid; place-items: center; color: var(--szalik); transition: opacity var(--czas-2), transform var(--czas-2); }
.ch-envelope__pieczec svg { width: 26px; height: 26px; fill: currentColor; stroke: none; }
.ch-envelope__btn { position: absolute; inset: 0; z-index: 6; border: 0; background: transparent; cursor: pointer; border-radius: 8px; }
.ch-envelope:not(.is-open) .ch-envelope__btn:hover ~ .ch-envelope__pieczec { transform: translate(-50%, -50%) scale(1.08) rotate(-6deg); }
.ch-envelope.is-open .ch-envelope__klapa { transform: rotateX(180deg); z-index: 1; transition: transform var(--czas-3) var(--krzywa), z-index 0s; }
.ch-envelope.is-open .ch-envelope__pieczec { opacity: 0; }
.ch-envelope.is-open .ch-envelope__list { transform: translateY(-58%); height: 140%; }
.ch-envelope.is-open .ch-envelope__btn { display: none; }
.ch-envelope__podpowiedz { text-align: center; margin-top: var(--s-4); font-weight: 700; color: var(--tekst-2); }
.ch-envelope.is-open .ch-envelope__podpowiedz { visibility: hidden; }
.ch-player { display: grid; grid-template-columns: auto 1fr; gap: var(--s-3) var(--s-4); align-items: center; background: var(--powierzchnia); border: var(--kreska) solid var(--obrys);
 border-radius: var(--r-lg); padding: var(--s-4); max-width: 560px; }
.ch-player__awatar { grid-row: span 2; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 28%; background: var(--papier); border: var(--kreska) solid var(--obrys); }
.ch-player__tytul { font-weight: 800; line-height: 1.3; }
.ch-player__ster { display: flex; align-items: center; gap: var(--s-3); }
.ch-player__play { flex: none; width: var(--dotyk); height: var(--dotyk); border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--cta); color: var(--cta-tekst); box-shadow: inset 0 -3px 0 var(--cta-cien); }
.ch-player__play .ch-ikona { width: 22px; height: 22px; fill: currentColor; }
.ch-player__pasek { flex: 1; -webkit-appearance: none; appearance: none; height: 8px; border-radius: 99px; background: var(--linia); cursor: pointer; accent-color: var(--cta); }
.ch-player__pasek::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--cta); border: 3px solid var(--bialy); box-shadow: var(--cien-1); }
.ch-player__pasek::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--cta); border: 3px solid var(--bialy); }
.ch-player__czas { font: 700 var(--t-xs) var(--f-tekst); color: var(--tekst-2); font-variant-numeric: tabular-nums; min-width: 78px; text-align: right; }
.ch-player__tekst { grid-column: 1 / -1; font-size: var(--t-sm); }
.ch-player__tekst summary { cursor: pointer; font-weight: 700; color: var(--link); }
.ch-player__tekst div { margin-top: var(--s-2); font: 500 21px/1.3 var(--f-reka); }
.ch-player.is-gra .ch-player__awatar { animation: ch-podskok 1.2s var(--krzywa) infinite; }
.ch-personas { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s-3); }
@media (min-width: 1024px) { .ch-personas { grid-template-columns: repeat(4, 1fr); gap: var(--s-4); } }
.ch-persona { position: relative; display: grid; gap: var(--s-2); align-content: start; background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-reka); padding: var(--s-4); text-decoration: none; color: var(--tekst); transition: transform var(--czas-2) var(--krzywa), box-shadow var(--czas-2), border-color var(--czas-2); }
.ch-persona:hover { transform: translateY(-3px); box-shadow: var(--cien-2); border-color: var(--szalik-ciemny); }
.ch-persona__ikona { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--szalik-jasny); color: var(--czapka-ciemna); }
.ch-persona h3 { font-size: var(--t-h4); }
.ch-persona p { font-size: var(--t-sm); color: var(--tekst-2); margin: 0; }
.ch-persona__dalej { font-weight: 800; color: var(--link); display: inline-flex; align-items: center; gap: 4px; font-size: var(--t-sm); }
.ch-calendar { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--s-2); list-style: none; margin: 0; padding: 0; }
@media (min-width: 480px) { .ch-calendar { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1024px) { .ch-calendar { grid-template-columns: repeat(8, 1fr); gap: var(--s-3); } }
.ch-calendar li { position: relative; }
.ch-calendar__dzien { width: 100%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 14px; border: var(--kreska) solid var(--obrys); background: var(--powierzchnia-mocna);
 color: var(--kontur); font: 700 clamp(18px, 4vw, 24px) var(--f-tytul); cursor: pointer; transition: transform var(--czas-1) var(--krzywa); }
.ch-calendar__dzien:hover, .ch-calendar__dzien[aria-expanded="true"] { transform: translateY(-2px) rotate(-2deg); border-color: var(--szalik-ciemny); background: var(--szalik-jasny); }
.ch-calendar__dzien--weekend { background: var(--szalik-jasny); }
.ch-calendar__dzien--zrobione { background: var(--szalik); border-color: var(--szalik-ciemny); color: var(--na-szaliku); }
.ch-calendar__dzien--dzis { background: var(--cta); border-color: var(--cta-cien); color: var(--bialy); box-shadow: inset 0 -3px 0 var(--cta-cien); }
.ch-calendar__dzien--wigilia { background: var(--noc); border-color: var(--noc-ciemna); color: var(--iskra); }
.ch-characters { display: grid; grid-auto-flow: column; grid-auto-columns: 72%; gap: var(--s-3); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--s-3); margin-inline: calc(var(--rynna) * -1); padding-inline: var(--rynna); scrollbar-width: thin; }
@media (min-width: 768px) { .ch-characters { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; margin-inline: 0; padding-inline: 0; } }
@media (min-width: 1024px) { .ch-characters { grid-template-columns: repeat(6, 1fr); } }
.ch-character { scroll-snap-align: start; background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-reka); overflow: hidden; text-align: center; }
.ch-character img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--papier); }
.ch-character div { padding: var(--s-3) var(--s-3) var(--s-4); }
.ch-character h3 { font-size: var(--t-base); }
.ch-character p { font-size: var(--t-xs); color: var(--tekst-2); margin: 4px 0 0; }
.ch-testimonial { position: relative; background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-reka); padding: var(--s-6) var(--s-5) var(--s-5); margin: 0; height: 100%; }
.ch-testimonial::before { content: "„"; position: absolute; top: -26px; left: 18px; font: 700 80px/1 var(--f-tytul); color: var(--szalik); }
.ch-testimonial__gwiazdki { display: flex; gap: 2px; color: var(--szalik-ciemny); margin-bottom: var(--s-2); }
.ch-testimonial__gwiazdki .ch-ikona { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.ch-testimonial blockquote { margin: 0 0 var(--s-4); font-size: var(--t-lg); line-height: 1.5; }
.ch-testimonial figcaption { display: flex; align-items: center; gap: var(--s-3); font-size: var(--t-sm); }
.ch-testimonial figcaption b { display: block; }
.ch-testimonial__inicjal { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--szalik); color: var(--na-szaliku); font: 700 18px var(--f-tytul); flex: none; }
.ch-offer { position: relative; display: grid; gap: var(--s-5); background: var(--powierzchnia-mocna); color: var(--kontur); border: var(--kreska-gruba) solid var(--szalik-ciemny);
 border-radius: var(--r-reka); padding: var(--s-6) var(--s-5) var(--s-5); box-shadow: var(--cien-3); max-width: 560px; margin-inline: auto; }
.ch-offer--szeroka { max-width: none; }
.ch-offer__ilu { border-radius: var(--r-md); overflow: hidden; background: var(--papier); width: min(100%, 240px); justify-self: center; }
@media (min-width: 768px) { .ch-offer--szeroka { grid-template-columns: 5fr 7fr; gap: var(--s-6); padding: var(--s-6); align-items: center; } .ch-offer--szeroka .ch-offer__ilu { width: 100%; } }
@media (min-width: 1024px) { .ch-offer--szeroka { gap: var(--s-7); padding: var(--s-7); } }
.ch-offer h3 { font-size: var(--t-h3); }
.ch-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.ch-price__teraz { font: 700 clamp(44px, 9vw, 60px)/1 var(--f-tytul); color: var(--czapka-ciemna); }
.ch-price__waluta { font-size: .5em; }
.ch-price__przed { font-size: var(--t-lg); color: var(--tekst-2); text-decoration: line-through; text-decoration-thickness: 2px; }
.ch-price__nota { width: 100%; font-size: var(--t-sm); color: var(--tekst-2); }
.ch-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.ch-ticks li { display: grid; grid-template-columns: 26px 1fr; gap: var(--s-2); line-height: 1.45; }
.ch-ticks li::before { content: ""; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--plaszcz-ciemny) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFDF8' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><path d='M6 12.5l4 4 8-9'/></svg>") center / 14px no-repeat; }
.ch-ticks__wartosc { color: var(--tekst-2); font-size: var(--t-sm); white-space: nowrap; }
.ch-bump { display: grid; grid-template-columns: 28px 1fr; gap: var(--s-3); align-items: start; padding: var(--s-4); border: var(--kreska-gruba) dashed var(--szalik-ciemny); border-radius: var(--r-md);
 background: var(--szalik-jasny); color: var(--kontur); cursor: pointer; transition: background-color var(--czas-2), border-color var(--czas-2); }
.ch-bump:has(input:checked) { background: #FCEBB8; border-style: solid; }
.ch-bump input { appearance: none; width: 26px; height: 26px; margin: 0; border: var(--kreska-gruba) solid var(--kontur); border-radius: 7px; background: var(--bialy); display: grid; place-items: center; cursor: pointer; }
.ch-bump input:checked { background: var(--cta); border-color: var(--cta); }
.ch-bump input:checked::after { content: ""; width: 12px; height: 6px; border: 3px solid var(--bialy); border-top: 0; border-right: 0; transform: translateY(-2px) rotate(-45deg); }
.ch-bump input:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; }
.ch-bump__tytul { font-weight: 800; }
.ch-bump__tytul b { color: var(--czapka-ciemna); }
.ch-bump__opis { display: block; font-size: var(--t-sm); margin-top: 4px; }
.ch-bump__strzalka { font: 700 18px/1 var(--f-reka); color: var(--czapka-ciemna); }
.ch-guarantee { display: grid; grid-template-columns: 52px 1fr; gap: var(--s-3); align-items: center; padding: var(--s-4); border-radius: var(--r-md); background: var(--plaszcz-jasny); color: var(--kontur); }
.ch-guarantee .ch-ikona { width: 46px; height: 46px; color: var(--plaszcz-ciemny); }
.ch-guarantee p { margin: 0; font-size: var(--t-sm); } .ch-guarantee b { display: block; font-size: var(--t-base); }
.ch-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-2) var(--s-5); list-style: none; margin: 0; padding: 0; font-size: var(--t-sm); color: var(--tekst-2); }
.ch-trust li { display: inline-flex; align-items: center; gap: 6px; }
.ch-trust .ch-ikona { color: var(--ikona-ok); }
.ch-trust--lewo { justify-content: flex-start; }
.ch-lead-box { display: grid; gap: var(--s-5); background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-reka); padding: var(--s-5); }
@media (min-width: 768px) { .ch-lead-box { grid-template-columns: 200px 1fr; align-items: center; padding: var(--s-6); } }
.ch-lead-box__ilu { justify-self: center; width: 160px; }
.ch-lead-box__ok { display: none; text-align: center; }
.ch-lead-box.is-wyslany form { display: none; } .ch-lead-box.is-wyslany .ch-lead-box__ok { display: block; }
.ch-legal { font-size: var(--t-xs); color: var(--tekst-2); }
.ch-countdown { display: inline-flex; gap: var(--s-2); font-variant-numeric: tabular-nums; }
.ch-countdown__el { display: grid; justify-items: center; min-width: 62px; padding: 8px 6px 6px; border-radius: var(--r-sm); background: var(--powierzchnia-mocna); border: var(--kreska) solid var(--obrys); color: var(--kontur); }
.ch-noc .ch-countdown__el { background: var(--noc-ciemna); border-color: var(--noc-jasna); color: var(--iskra); }
.ch-countdown__liczba { font: 700 clamp(24px, 6vw, 32px)/1 var(--f-tytul); }
.ch-countdown__opis { font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--tekst-2); margin-top: 4px; }
.ch-countdown--maly .ch-countdown__el { min-width: 44px; padding: 4px; } .ch-countdown--maly .ch-countdown__liczba { font-size: 18px; } .ch-countdown--maly .ch-countdown__opis { font-size: 9px; }
.ch-faq { display: grid; gap: var(--s-3); max-width: var(--kontener-waski); margin-inline: auto; }
.ch-faq details { background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-md); transition: border-color var(--czas-2); }
.ch-faq details[open] { border-color: var(--szalik-ciemny); background: var(--powierzchnia-mocna); }
.ch-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); min-height: 60px; padding: var(--s-3) var(--s-5); font-weight: 800; cursor: pointer; }
.ch-faq summary::-webkit-details-marker { display: none; }
.ch-faq summary::after { content: ""; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--szalik-jasny) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8352A' stroke-width='2.6' stroke-linecap='round'><path d='M12 6v12M6 12h12'/></svg>") center / 16px no-repeat; transition: transform var(--czas-2) var(--krzywa); }
.ch-faq details[open] summary::after { transform: rotate(45deg); }
.ch-faq details > div { padding: 0 var(--s-5) var(--s-5); color: var(--tekst-2); }
.ch-final { text-align: center; }
.ch-final__in { display: grid; justify-items: center; gap: var(--s-5); }
.ch-final__ilu { width: min(60%, 260px); }
.ch-final h2 { max-width: 18ch; }
.ch-sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: var(--z-sticky); display: flex; align-items: center; gap: var(--s-3);
 padding: 10px var(--rynna) calc(10px + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--papier-2) 96%, transparent);
 border-top: var(--kreska) solid var(--linia); box-shadow: 0 -10px 30px -16px rgba(110,75,58,.5); transform: translateY(110%); transition: transform var(--czas-3) var(--krzywa); }
.ch-sticky-cta.is-widoczny { transform: none; }
.ch-sticky-cta__cena { display: grid; line-height: 1.15; font-size: var(--t-xs); color: var(--tekst-2); }
.ch-sticky-cta__cena b { font: 700 22px var(--f-tytul); color: var(--czapka-ciemna); }
.ch-sticky-cta .ch-btn { flex: 1; min-height: 52px; font-size: var(--t-base); }
@media (min-width: 1024px) { .ch-sticky-cta { display: none; } }
body.has-sticky-cta { padding-bottom: 80px; }
@media (min-width: 1024px) { body.has-sticky-cta { padding-bottom: 0; } }
.ch-toasts { position: fixed; z-index: var(--z-toast); left: var(--rynna); right: var(--rynna); bottom: calc(var(--s-5) + env(safe-area-inset-bottom)); display: grid; gap: var(--s-2); justify-items: center; pointer-events: none; }
@media (min-width: 768px) { .ch-toasts { left: auto; right: var(--s-6); bottom: var(--s-6); justify-items: end; } }
.ch-toast { pointer-events: auto; display: flex; align-items: center; gap: var(--s-3); max-width: 420px; padding: 12px 16px; border-radius: var(--r-md); background: var(--noc-ciemna); color: #F6EEDF; box-shadow: var(--cien-3); font-weight: 700; animation: ch-wjazd var(--czas-3) var(--krzywa); }
.ch-toast .ch-ikona { color: var(--iskra); }
.ch-toast--ok .ch-ikona { color: #9BD3A5; } .ch-toast--blad { background: var(--czapka-ciemna); } .ch-toast--blad .ch-ikona { color: #fff; }
.ch-toast.is-znika { opacity: 0; transform: translateY(8px); transition: all var(--czas-2); }
.ch-modal { width: min(100% - 2 * var(--rynna), 560px); max-height: min(88vh, 760px); padding: 0; border: 0; border-radius: var(--r-lg); background: var(--papier-2); color: var(--kontur); box-shadow: var(--cien-3); overflow: hidden; }
.ch-modal::backdrop { background: rgba(34, 53, 92, .6); backdrop-filter: blur(2px); }
.ch-modal[open] { animation: ch-wjazd var(--czas-3) var(--krzywa); }
.ch-modal__glowa { display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); padding: var(--s-4) var(--s-5); border-bottom: var(--kreska) dashed var(--linia); }
.ch-modal__glowa h2 { font-size: var(--t-h4); }
.ch-modal__tresc { padding: var(--s-5); overflow-y: auto; max-height: calc(min(88vh, 760px) - 150px); }
.ch-modal__stopka { display: flex; flex-wrap: wrap; gap: var(--s-3); justify-content: flex-end; padding: var(--s-4) var(--s-5); border-top: var(--kreska) dashed var(--linia); }
.ch-zamknij { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--szalik-jasny); color: var(--kontur); }
.ch-zamknij:hover { background: var(--szalik); }
@media (max-width: 767.98px) { .ch-modal--arkusz { width: 100%; max-width: none; margin: auto 0 0; border-radius: var(--r-lg) var(--r-lg) 0 0; max-height: 92vh; }
 .ch-modal--arkusz .ch-modal__stopka .ch-btn { flex: 1; } }
.ch-tabs__lista { display: flex; gap: var(--s-2); overflow-x: auto; padding: 4px; margin: 0 0 var(--s-4); background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-pill); scrollbar-width: none; }
.ch-tabs__lista::-webkit-scrollbar { display: none; }
.ch-tabs__tab { flex: 1 0 auto; min-height: 44px; padding: 8px 18px; border: 0; border-radius: var(--r-pill); background: transparent; color: var(--tekst); font-weight: 800; white-space: nowrap; }
.ch-tabs__tab[aria-selected="true"] { background: var(--plaszcz-ciemny); color: var(--bialy); box-shadow: inset 0 -3px 0 rgba(0,0,0,.15); }
.ch-tabs__panel[hidden] { display: none; }
.ch-tabs__panel { animation: ch-wjazd var(--czas-3) var(--krzywa); }
.ch-tip { position: relative; display: inline-flex; }
.ch-tip__dymek { position: absolute; z-index: 20; left: 50%; bottom: calc(100% + 10px); transform: translate(calc(-50% + var(--przesun, 0px)), 4px); width: max-content; max-width: min(240px, 80vw);
 padding: 8px 12px; border-radius: var(--r-sm); background: var(--noc-ciemna); color: #F6EEDF; font: 700 var(--t-xs)/1.4 var(--f-tekst); text-align: center;
 opacity: 0; visibility: hidden; pointer-events: none; transition: opacity var(--czas-2), transform var(--czas-2) var(--krzywa), visibility var(--czas-2); }
.ch-tip__dymek::after { content: ""; position: absolute; top: 100%; left: calc(50% - var(--przesun, 0px)); margin-left: -7px; border: 7px solid transparent; border-top-color: var(--noc-ciemna); }
.ch-tip:hover .ch-tip__dymek, .ch-tip:focus-within .ch-tip__dymek, .ch-tip.is-open .ch-tip__dymek { opacity: 1; visibility: visible; transform: translate(calc(-50% + var(--przesun, 0px)), 0); }
.ch-tip__dymek b { display: block; color: var(--iskra); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.ch-carousel { position: relative; }
.ch-carousel__tor { display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: var(--s-4); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--rynna);
 margin-inline: calc(var(--rynna) * -1); padding: var(--s-5) var(--rynna) var(--s-4); scrollbar-width: none; list-style: none; }
.ch-carousel__tor::-webkit-scrollbar { display: none; }
.ch-carousel__tor > * { scroll-snap-align: start; }
@media (min-width: 768px) { .ch-carousel__tor { grid-auto-columns: calc((100% - var(--s-4)) / 2); margin-inline: 0; padding-inline: 0; scroll-padding-inline: 0; } }
@media (min-width: 1024px) { .ch-carousel__tor { grid-auto-columns: calc((100% - 2 * var(--s-4)) / 3); } }
.ch-carousel__ster { display: flex; align-items: center; justify-content: center; gap: var(--s-3); margin-top: var(--s-2); }
.ch-carousel__btn { width: var(--dotyk); height: var(--dotyk); border-radius: 50%; border: var(--kreska) solid var(--obrys); background: var(--powierzchnia); color: var(--tekst); display: grid; place-items: center; }
.ch-carousel__btn:hover { border-color: var(--tekst); } .ch-carousel__btn[disabled] { opacity: .35; }
.ch-carousel__kropki { display: flex; gap: 8px; }
.ch-carousel__kropki button { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 0; background: var(--linia); }
.ch-carousel__kropki button[aria-current="true"] { background: var(--akcent); width: 24px; border-radius: 99px; }
.ch-lightbox { width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(34, 53, 92, .94); color: #fff; }
.ch-lightbox::backdrop { background: transparent; }
.ch-lightbox__in { height: 100%; display: grid; grid-template-rows: auto 1fr auto; padding: var(--s-3) var(--s-3) var(--s-5); }
.ch-lightbox__glowa { display: flex; justify-content: space-between; align-items: center; font-weight: 700; }
.ch-lightbox img { max-width: 100%; max-height: 100%; margin: auto; object-fit: contain; border-radius: var(--r-xs); box-shadow: var(--cien-3); background: var(--bialy); }
.ch-lightbox__ster { display: flex; justify-content: center; gap: var(--s-4); }
.ch-lightbox .ch-carousel__btn { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.3); color: #fff; }
.ch-spinner { width: 40px; height: 40px; color: var(--iskra); animation: ch-obrot 1.4s linear infinite; fill: currentColor; stroke: none; }
.ch-loading { display: grid; justify-items: center; gap: var(--s-3); padding: var(--s-6); color: var(--tekst-2); font-weight: 700; }
.ch-progress { display: grid; gap: 6px; }
.ch-progress__opis { display: flex; justify-content: space-between; font-size: var(--t-sm); font-weight: 700; }
.ch-progress__pasek { height: 14px; border-radius: 99px; background: var(--linia); overflow: hidden; }
.ch-progress__pasek span { display: block; height: 100%; width: var(--postep, 0%); border-radius: 99px; background: repeating-linear-gradient(135deg, var(--czapka) 0 10px, #E46A5E 10px 20px); transition: width var(--czas-3) var(--krzywa); }
.ch-cookie { position: fixed; z-index: var(--z-cookie); left: var(--rynna); right: var(--rynna); bottom: calc(var(--rynna) + env(safe-area-inset-bottom)); max-width: 520px;
 display: grid; gap: var(--s-3); padding: var(--s-4) var(--s-5); background: var(--papier-2); color: var(--kontur); border: var(--kreska) solid var(--linia); border-radius: var(--r-lg); box-shadow: var(--cien-3); }
@media (min-width: 768px) { .ch-cookie { left: var(--s-6); bottom: var(--s-6); } }
.ch-cookie[hidden] { display: none; }
.ch-cookie p { font-size: var(--t-sm); margin: 0; }
.ch-cookie__przyciski { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ch-cookie__przyciski .ch-btn { flex: 1 1 140px; min-height: 44px; font-size: var(--t-sm); padding-block: 9px 8px; }
.ch-empty { display: grid; justify-items: center; text-align: center; gap: var(--s-4); padding-block: var(--s-8); }
.ch-empty__ilu { width: min(60%, 240px); }
.ch-empty__kod { font: 700 clamp(64px, 18vw, 120px)/1 var(--f-tytul); color: var(--szalik); text-shadow: 3px 3px 0 var(--linia); }
.ch-order { background: var(--powierzchnia-mocna); border: var(--kreska) solid var(--obrys); border-radius: var(--r-reka); padding: var(--s-5); display: grid; gap: var(--s-4); }
.ch-order__poz { display: grid; grid-template-columns: 56px 1fr auto; gap: var(--s-3); align-items: center; }
.ch-order__poz img { width: 56px; height: 56px; border-radius: var(--r-sm); object-fit: cover; background: var(--papier); }
.ch-order__poz small { display: block; color: var(--tekst-2); }
.ch-order__kwota { font-weight: 800; white-space: nowrap; }
.ch-order__suma { display: flex; justify-content: space-between; align-items: baseline; padding-top: var(--s-4); border-top: var(--kreska) dashed var(--linia); font-weight: 800; }
.ch-order__suma b { font: 700 var(--t-h3) var(--f-tytul); color: var(--czapka-ciemna); }
.ch-kod { display: grid; grid-template-columns: 1fr auto; gap: var(--s-2); }
.ch-thanks { display: grid; justify-items: center; text-align: center; gap: var(--s-5); }
.ch-thanks__ilu { width: min(70%, 260px); }
.ch-thanks__kroki { display: grid; gap: var(--s-3); text-align: left; width: 100%; max-width: 520px; }
.ch-thanks__kroki li { display: grid; grid-template-columns: 40px 1fr; gap: var(--s-3); align-items: start; }
.ch-thanks__kroki .ch-ikona { width: 32px; height: 32px; color: var(--sukces); }
.ch-bubble { display: flex; gap: var(--s-3); align-items: flex-end; }
.ch-bubble__awatar { width: 72px; height: 72px; flex: none; border-radius: 50%; object-fit: cover; object-position: 50% 22%; background: var(--papier); border: var(--kreska) solid var(--obrys); }
.ch-bubble__tresc { position: relative; background: var(--powierzchnia-mocna); color: var(--kontur); border: var(--kreska) solid var(--obrys); border-radius: 20px 20px 20px 4px; padding: 12px 16px; font: 500 var(--t-reka)/1.2 var(--f-reka); }
.ch-bubble--prawo { flex-direction: row-reverse; } .ch-bubble--prawo .ch-bubble__tresc { border-radius: 20px 20px 4px 20px; }
.ch-callout { display: grid; grid-template-columns: 28px 1fr; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-md); color: var(--kontur); background: var(--info-tlo); }
.ch-callout .ch-ikona { width: 26px; height: 26px; color: var(--czapka-ciemna); }
.ch-callout b { display: block; margin-bottom: 2px; }
.ch-callout--rada { background: var(--plaszcz-jasny); } .ch-callout--rada .ch-ikona { color: var(--plaszcz-ciemny); }
.ch-callout--uwaga { background: var(--czapka-jasna); }
.ch-letter { position: relative; background: var(--bialy); color: var(--kontur); border-radius: 4px; padding: var(--s-6) var(--s-5) var(--s-5); box-shadow: var(--cien-papier);
 background-image: repeating-linear-gradient(transparent 0 33px, rgba(110,75,58,.09) 33px 34px); background-position: 0 22px; }
.ch-letter p { font: 500 var(--t-reka)/34px var(--f-reka); margin: 0; max-width: none; }
.ch-letter__podpis { text-align: right; color: var(--czapka); font: 700 var(--t-reka)/34px var(--f-reka); }
.ch-letter__ps { margin-top: var(--s-2) !important; font-size: 0.85em !important; color: var(--kontur-2); }
.ch-letter::after { content: ""; position: absolute; top: -16px; right: 26px; width: 40px; height: 40px; border-radius: 50%; background: var(--czapka); box-shadow: inset 0 -4px 0 var(--czapka-cien); }
.ch-quote { margin: 0; padding: var(--s-2) 0 var(--s-2) var(--s-5); border-left: 4px solid var(--szalik); }
.ch-quote p { font-size: var(--t-lg); font-weight: 700; }
.ch-quote cite { font-style: normal; font-size: var(--t-sm); color: var(--tekst-2); }
.ch-list-stars { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
.ch-list-stars li { position: relative; padding-left: 30px; }
.ch-list-stars li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; background: var(--szalik);
 clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
.ch-table-wrap { overflow-x: auto; border: var(--kreska) solid var(--obrys); border-radius: var(--r-md); -webkit-overflow-scrolling: touch; }
.ch-table { width: 100%; border-collapse: collapse; background: var(--powierzchnia); font-size: var(--t-sm); min-width: 480px; }
.ch-table th, .ch-table td { padding: 10px 14px; text-align: left; border-bottom: 1.5px solid var(--obrys); vertical-align: top; }
.ch-table th { font-size: var(--t-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--tekst-2); background: var(--tlo-alt); }
.ch-table tr:last-child td { border-bottom: 0; }
.ch-table td.ch-tak { color: var(--sukces); font-weight: 800; } .ch-table td.ch-nie { color: var(--tekst-2); }
.ch-divider { display: flex; align-items: center; gap: var(--s-3); color: var(--iskra); margin-block: var(--s-6); }
.ch-divider::before, .ch-divider::after { content: ""; flex: 1; border-top: var(--kreska) dashed var(--obrys); }
.ch-divider .ch-ikona { fill: currentColor; stroke: none; width: 18px; height: 18px; }
.ch-divider--szalik { height: 10px; margin-block: 0; background: repeating-linear-gradient(90deg, var(--szalik) 0 22px, var(--czapka) 22px 30px); }
.ch-divider--szalik::before, .ch-divider--szalik::after { display: none; }
.ch-divider--zygzak { height: 14px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='14'><polyline points='0,11 8,3 16,11' fill='none' stroke='%23F2BE45' stroke-width='2.4' stroke-linejoin='round'/></svg>") repeat-x center / 16px 14px; }
.ch-divider--zygzak::before, .ch-divider--zygzak::after { display: none; }
.ch-audience { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 5px; border-radius: var(--r-pill); background: var(--szalik-jasny); border: var(--kreska) dashed var(--szalik-ciemny); font: 800 var(--t-sm)/1.2 var(--f-tekst); color: var(--na-szaliku); }
 .ch-rating { display: inline-flex; align-items: center; gap: 8px; font-size: var(--t-sm); color: var(--tekst-2); }
 .ch-rating .ch-ikona { color: var(--szalik-ciemny); fill: currentColor; stroke: none; width: 18px; height: 18px; }
 .ch-todo { outline: 2px dashed var(--cichy); outline-offset: 3px; border-radius: 6px; }
 .ch-scene { max-width: 640px; margin-inline: auto; display: grid; gap: var(--s-4); }
 .ch-scene__godzina { justify-self: center; font: 700 var(--t-h2)/1 var(--f-tytul); color: var(--tekst-2); letter-spacing: .02em; }
 .ch-scene__godzina small { display: block; text-align: center; font: 800 var(--t-xs) var(--f-tekst); letter-spacing: .1em; text-transform: uppercase; margin-top: 6px; color: var(--cichy); }
 .ch-scene__dymek { max-width: 85%; padding: 12px 16px; border-radius: 20px; font-size: var(--t-lg); line-height: 1.45; box-shadow: var(--cien-1); }
 .ch-scene__dymek--dziecko { justify-self: start; background: var(--bialy); border: var(--kreska) solid var(--linia); border-bottom-left-radius: 4px; }
 .ch-scene__dymek--mysl { justify-self: end; background: var(--powierzchnia); border: var(--kreska) dashed var(--obrys); border-bottom-right-radius: 4px; font-style: italic; color: var(--tekst-2); }
 .ch-scene__dymek small { display: block; font: 800 11px var(--f-tekst); letter-spacing: .08em; text-transform: uppercase; color: var(--cichy); font-style: normal; margin-bottom: 2px; }
 .ch-scene__zwrot { text-align: center; font: 700 var(--t-h3)/1.2 var(--f-tytul); margin-top: var(--s-4); }
 .ch-scene__zwrot em { font-style: normal; color: var(--akcent); }
 .ch-relief { position: relative; max-width: 760px; margin-inline: auto; text-align: center; padding: var(--s-7) var(--s-5); border-radius: var(--r-reka); background: var(--powierzchnia-mocna); border: var(--kreska-gruba) solid var(--plaszcz); box-shadow: var(--cien-2); }
 .ch-relief h2 { margin-bottom: var(--s-4); }
 .ch-relief p { margin-inline: auto; font-size: var(--t-lg); }
 .ch-days { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-3); }
 @media (min-width: 768px) { .ch-days { grid-template-columns: 1fr 1fr; gap: var(--s-4); } }
 .ch-days li { display: grid; grid-template-columns: 64px 1fr; gap: var(--s-4); align-items: center; background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-md); padding: var(--s-3) var(--s-4); }
 .ch-days img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: 50% 25%; background: var(--papier); border: var(--kreska) solid var(--obrys); }
 .ch-days b { display: block; font: 700 var(--t-sm) var(--f-tekst); color: var(--akcent); letter-spacing: .04em; text-transform: uppercase; }
 .ch-quiz { max-width: 720px; margin-inline: auto; display: grid; gap: var(--s-5); }
 .ch-quiz__krok[hidden] { display: none; }
 .ch-quiz__wynik { display: grid; gap: var(--s-4); grid-template-columns: 96px 1fr; align-items: center; }
 .ch-quiz__wynik img { width: 96px; }
 .ch-quiz__pasek { display: flex; gap: 6px; justify-content: center; }
 .ch-quiz__pasek span { width: 36px; height: 6px; border-radius: 99px; background: var(--linia); }
 .ch-quiz__pasek span.is-on { background: var(--plaszcz-ciemny); }
 .ch-value { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; border: var(--kreska) solid var(--obrys); border-radius: var(--r-md); overflow: hidden; background: var(--obrys); }
 .ch-value li { display: grid; grid-template-columns: 44px 1fr; gap: var(--s-3); align-items: start; padding: var(--s-4); background: var(--powierzchnia-mocna); }
 @media (min-width: 768px) { .ch-value li { grid-template-columns: 44px 1fr 1fr; } }
 .ch-value .ch-contents__ikona { width: 40px; height: 40px; }
 .ch-value b { display: block; }
 .ch-value span.ch-value__daje { color: var(--sukces); font-weight: 700; font-size: var(--t-sm); }
 @media (max-width: 767.98px) { .ch-value span.ch-value__daje { grid-column: 2; margin-top: calc(var(--s-3) * -1 + 4px); } } 
 .ch-value li.ch-value__bonus { background: var(--szalik-jasny); }
 .ch-per-day { text-align: center; display: grid; justify-items: center; gap: var(--s-2); }
 .ch-per-day__kwota { font: 800 clamp(64px, 16vw, 120px)/.9 var(--f-tytul); color: var(--czapka-ciemna); }
 .ch-per-day__kwota small { font-size: .4em; }
 .ch-compare { display: grid; gap: var(--s-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); margin-top: var(--s-5); text-align: left; }
 .ch-compare div { background: var(--powierzchnia); border: var(--kreska) solid var(--obrys); border-radius: var(--r-md); padding: var(--s-4); }
 .ch-compare div.ch-compare__my { background: var(--powierzchnia-mocna); border-color: var(--plaszcz); box-shadow: var(--cien-2); }
 .ch-compare b { display: block; font: 700 var(--t-h4) var(--f-tytul); }
 .ch-fit { display: grid; gap: var(--s-4); }
 @media (min-width: 768px) { .ch-fit { grid-template-columns: 1fr 1fr; } }
 .ch-fit ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s-2); }
 .ch-fit li { display: grid; grid-template-columns: 26px 1fr; gap: var(--s-2); }
 .ch-fit__tak .ch-ikona { color: var(--sukces); } .ch-fit__nie .ch-ikona { color: var(--cichy); }
 .ch-fit__nie { color: var(--tekst-2); }
 .ch-letter-adult { max-width: 680px; margin-inline: auto; }
 .ch-letter-adult .ch-letter p { font-size: clamp(22px, 5vw, 27px); }
.ch-quiz__ster { display: flex; justify-content: space-between; gap: var(--s-3); }
.ch-compare div > b + span { display: block; }
