/* =============================================================================
   Celebrio LP — prototyp dla wdrożenia w Kadence
   Jeden arkusz: 00-base (system, nagłówek, stopka, komponenty K) + sekcje stron.
   Źródło wartości: kanwy Claude Design „00 Fundament”, „00b Fundament wdrożenie”
   i ramki stron (390 / 1440). Kody K1–K50 = tabela 09 w 00b.

   PROGI (jak Kadence):   telefon ≤ 767  ·  tablet 768–1024  ·  komputer ≥ 1025
   Arkusz jest pisany od telefonu: reguła bez @media = telefon,
   @media (min-width: 768px) = tablet i komputer, @media (min-width: 1025px) = komputer.
   ============================================================================= */

/* ---------- 0. Kroje lokalnie (G2: „Load Google Fonts Locally” + preload; podzbiory latin, latin-ext, cyrylica dla Noto) ----------
   Schibsted Grotesk to jeden plik zmienny 400–600. Zastępcze kroje z metrykami (size-adjust / ascent-override)
   ograniczają przeskok układu przy podmianie kroju (CLS) — w Kadence: wklejone w Dodatkowy CSS. */
@font-face { font-family: 'Noto Serif Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-italic-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Noto Serif Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-italic-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Noto Serif Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Noto Serif Display'; font-style: italic; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Noto Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-cyrillic-ext.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: 'Noto Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-cyrillic.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Noto Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Noto Serif Display'; font-style: normal; font-weight: 400; font-display: swap; src: url('fonts/noto-serif-display-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Schibsted Grotesk'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('fonts/schibsted-grotesk-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Schibsted Grotesk'; font-style: normal; font-weight: 400 600; font-display: swap; src: url('fonts/schibsted-grotesk-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Schibsted Grotesk Fallback'; src: local('Arial'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; size-adjust: 102.25%; ascent-override: 95.84%; descent-override: 25.43%; line-gap-override: 0%; }
@font-face { font-family: 'Noto Serif Display Fallback'; src: local('Georgia'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF, U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; size-adjust: 105.42%; ascent-override: 101.5%; descent-override: 27.51%; line-gap-override: 0%; }

/* ---------- 1. Paleta globalna Kadence (G1) — kolejność slotów z Fundamentu ---------- */
:root {
  --global-palette1: #C4471B; /* Coral — akcja: przycisk główny, plakietka wyróżnienia, ikony potwierdzeń */
  --global-palette2: #A23A14; /* Coral głęboki — hover/wciśnięcie, linki, nadtytuły */
  --global-palette3: #1D1A17; /* Atrament — nagłówki, tło sekcji kontrastowych i stopki */
  --global-palette4: #3D3833; /* Tekst podstawowy i lead; panel na ciemnym */
  --global-palette5: #6B625A; /* Tekst cichy, mikrotekst, obramowanie pól */
  --global-palette6: #CFC6BC; /* Kamień — separatory; tekst drugorzędny na P3 */
  --global-palette7: #ECE4DA; /* Piasek — tła akcentowe, tła pod telefonami, plakietki */
  --global-palette8: #F6F2EC; /* Papier — sekcje przeplatane */
  --global-palette9: #FCFAF7; /* Baza — tło strony, kart, nagłówka */

  /* Poza paletą (Fundament 02) */
  --cb-coral-brand: #E05D2F; /* logo, ✓ na tle P3 */
  --cb-success: #2E7D4F;
  --cb-success-deep: #256B42; /* R18: ✓ w kolumnie Celebrio na piasku P7 (5,11 : 1) */
  --cb-error: #B3261E;

  /* Typografia (G2) */
  --cb-serif: 'Noto Serif Display', 'Noto Serif Display Fallback', serif;
  --cb-sans: 'Schibsted Grotesk', 'Schibsted Grotesk Fallback', system-ui, sans-serif;
  --cb-mono: ui-monospace, Menlo, monospace;

  /* Układ (G3): kontener 1280, margines boczny 40 / 32 / 20 → treść 1200 */
  --cb-content: 1200px;
  --cb-edge: 20px;
  --cb-section: 40px;      /* odstęp pionowy sekcji: tel. 40 (makiety po D1), tablet 88, komp. 112 */
  --cb-header-h: 64px;

  /* Promienie (Fundament 04) */
  --cb-r-sm: 10px;
  --cb-r-md: 20px;
  --cb-r-lg: 32px;
  --cb-r-pill: 999px;

  /* Typografia — skala (Fundament 03; telefon) */
  --cb-h1: 36px;  --cb-h1-lh: 1.1;
  --cb-h2: 32px;  --cb-h2-lh: 1.15;
  --cb-lead: 16px;
}
@media (min-width: 768px) {
  :root { --cb-edge: 32px; --cb-section: 88px; --cb-h1: 56px; --cb-h1-lh: 1.05; --cb-h2: 42px; --cb-h2-lh: 1.1; --cb-lead: 19px; --cb-header-h: 64px; }
}
@media (min-width: 1025px) {
  :root { --cb-edge: 40px; --cb-section: 112px; --cb-h1: 72px; --cb-h2: 52px; --cb-lead: 21px; --cb-header-h: 80px; }
}

/* ---------- 2. Podstawy ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
body {
  margin: 0;
  background: var(--global-palette9);
  color: var(--global-palette4);
  font: 400 16px/1.6 var(--cb-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
@media (min-width: 768px) { body { font-size: 17px; } }
img { display: block; max-width: 100%; height: auto; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
b, strong { font-weight: 600; }  /* P2-6: Schibsted ma tylko 400 i 600 */
em { font-style: italic; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
a { color: var(--global-palette2); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
@media (hover: hover) and (pointer: fine) { a:hover { text-decoration-thickness: 2px; } }

.cb-skip { position: absolute; left: 8px; top: -100px; z-index: 200; padding: 12px 16px; border-radius: var(--cb-r-pill); background: var(--global-palette3); color: var(--global-palette9); font-weight: 600; }
.cb-skip:focus { top: 8px; }
.cb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Focus klawiatury (globalny CSS pkt 3) */
:focus-visible { outline: 3px solid var(--global-palette3); outline-offset: 3px; }
.cb-dark :focus-visible { outline-color: var(--global-palette9); }

/* Widoczność bloku na progach — odpowiednik „Visibility” w Kadence */
@media (max-width: 767px) { .cb-hide-m { display: none !important; } }
@media (min-width: 768px) and (max-width: 1024px) { .cb-hide-t { display: none !important; } }
@media (min-width: 1025px) { .cb-hide-d { display: none !important; } }

/* ---------- 3. Row Layout / kontener ---------- */
.cb-section { position: relative; padding-block: var(--cb-section); }
.cb-container { width: 100%; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin-inline: auto; padding-inline: var(--cb-edge); }
.cb-bg-8 { background: var(--global-palette8); }
.cb-bg-7 { background: var(--global-palette7); }
.cb-bg-3 { background: var(--global-palette3); color: var(--global-palette9); }

/* ---------- 4. Typografia elementów (Fundament 03, K8) ---------- */
.cb-eyebrow { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette2); line-height: 1.3; }
.cb-dark .cb-eyebrow { color: var(--global-palette6); }
@media (min-width: 1025px) { .cb-eyebrow { line-height: normal; } }

.cb-h1 { font: 400 var(--cb-h1)/var(--cb-h1-lh) var(--cb-serif); letter-spacing: -.02em; color: var(--global-palette3); }
.cb-h2 { font: 400 var(--cb-h2)/var(--cb-h2-lh) var(--cb-serif); letter-spacing: -.015em; color: var(--global-palette3); }
.cb-dark .cb-h1, .cb-dark .cb-h2 { color: var(--global-palette9); }
.cb-lead { font-size: var(--cb-lead); line-height: 1.5; color: var(--global-palette4); }
.cb-dark .cb-lead { color: var(--global-palette6); }
.cb-mono-count { font: 12px var(--cb-mono); color: var(--global-palette5); padding-bottom: 6px; white-space: nowrap; line-height: normal; }

/* Cena z API (K15-C): jeden element, jeden krój, cały tekst priceDisplay */
.cb-price-inline { white-space: nowrap; }
.cb-price { font-family: var(--cb-serif); font-weight: 400; font-variant-numeric: lining-nums; white-space: nowrap; line-height: 1; }

/* ---------- 5. Przyciski (K1–K3, G4) ---------- */
.cb-btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 52px; padding: 0 28px; border-radius: var(--cb-r-pill);
  font-family: var(--cb-sans); font-weight: 600; font-size: 16px; line-height: normal; text-decoration: none;
  transition: transform 120ms ease-out, background-color 160ms ease-out, color 160ms ease-out, box-shadow 160ms ease-out;
}
.cb-btn:active { transform: scale(.97); }
.cb-btn--primary { background: var(--global-palette1); color: #FFFFFF; }
.cb-btn--secondary { box-shadow: inset 0 0 0 1.5px var(--global-palette3); color: var(--global-palette3); }
.cb-dark .cb-btn--secondary { box-shadow: inset 0 0 0 1.5px var(--global-palette9); color: var(--global-palette9); }
@media (hover: hover) and (pointer: fine) {
  .cb-btn--primary:hover { background: var(--global-palette2); }
  .cb-btn--secondary:hover { background: var(--global-palette7); }
  .cb-dark .cb-btn--secondary:hover { background: var(--global-palette4); }
}
.cb-btn--primary:active { background: var(--global-palette2); }
/* telefon: przycisk główny na pełną szerokość (K1) — „--block” zawsze, „--full-m” tylko < 768 */
.cb-btn--block { display: flex; width: 100%; padding: 0; }
@media (max-width: 767px) { .cb-btn--full-m { display: flex; width: 100%; padding: 0; } }

/* Przycisk tekstowy (K3): P3, podkreślenie, strzałka */
.cb-textlink {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px;
  color: var(--global-palette3); font-weight: 600; font-size: 16px; line-height: normal;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px;
  transition: color 160ms ease-out;
}
.cb-dark .cb-textlink { color: var(--global-palette9); }
@media (hover: hover) and (pointer: fine) { .cb-textlink:hover { color: var(--global-palette2); text-decoration-thickness: 2px; } .cb-dark .cb-textlink:hover { color: var(--global-palette6); } }
.cb-textlink svg { flex: none; }

/* Mikrotekst z ikoną check (K4) */
.cb-micro { text-wrap: wrap; display: flex; gap: 8px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--global-palette5); }
.cb-micro svg { flex: none; margin-top: 1px; }

/* Ikony liniowe (Feather) — farba z atrybutów, tak jak w kanwie */
/* Obszar dotyku ≥ 44 px bez zmiany wyglądu ramki (WCAG 2.5.8): pseudo-element powiększa cel kliknięcia */
.cb-hit { position: relative; }
.cb-hit::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; min-height: 100%; transform: translateY(-50%); }

.cb-ico { fill: none; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.cb-ico:not([stroke]) { stroke: currentColor; }

/* ---------- 6. Nagłówek (K5 komputer, K6 telefon i tablet) ---------- */
.cb-header { position: sticky; top: 0; z-index: 60; background: var(--global-palette9); border-bottom: 1px solid transparent; transition: border-color 160ms ease-out; }
.cb-header__bar { height: 64px; display: flex; align-items: center; gap: 8px; padding: 0 8px 0 20px; transition: height 160ms ease-out; }
.cb-header__logo { display: flex; align-items: center; min-height: 44px; flex: none; }
.cb-header__logo img { height: 24px; width: auto; transition: height 160ms ease-out; }
.cb-header__nav, .cb-header__tools { display: none; }
.cb-header__cta { margin-left: auto; height: 44px; padding: 0 18px; font-size: 15px; }
.cb-header__burger { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--global-palette3); border-radius: var(--cb-r-pill); }
/* przypięty po przewinięciu > 40 px: 56 + linia P7, logo 22 (tel.) */
.cb-header.is-stuck { border-bottom-color: var(--global-palette7); }
.cb-header.is-stuck .cb-header__bar { height: 56px; }
.cb-header.is-stuck .cb-header__logo img { height: 22px; }
@media (min-width: 768px) {
  .cb-header__bar { padding: 0 calc(var(--cb-edge) - 12px) 0 var(--cb-edge); }
}
@media (min-width: 1025px) {
  .cb-header__bar { height: 80px; gap: 56px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin-inline: auto; padding: 0 var(--cb-edge); }
  .cb-header__logo img { height: 30px; }
  .cb-header__burger { display: none; }
  .cb-header__nav { display: flex; gap: 8px; font-size: 16px; }
  .cb-header__nav a { display: flex; align-items: center; height: 44px; padding: 0 12px; color: var(--global-palette4); text-decoration: none; border-radius: var(--cb-r-pill); line-height: normal; transition: background-color 160ms ease-out; }
  .cb-header__nav a[aria-current="page"] { color: var(--global-palette3); font-weight: 600; box-shadow: inset 0 -2px 0 var(--global-palette1); border-radius: 0; }
  .cb-header__tools { display: flex; align-items: center; gap: 8px; margin-left: auto; font-size: 15px; color: var(--global-palette3); }
  .cb-header__cta { margin-left: 8px; padding: 0 22px; }
  .cb-header.is-stuck .cb-header__bar { height: 64px; }
  .cb-header.is-stuck .cb-header__logo img { height: 26px; }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
  .cb-header__nav a:not([aria-current="page"]):hover { background: var(--global-palette7); }
}
.cb-header__login { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; color: inherit; text-decoration: none; line-height: normal; }

/* Przełącznik języka (K24) — lista z wtyczki, bez flag; <details> = bez JS */
.cb-lang { position: relative; }
.cb-lang > summary { display: flex; align-items: center; gap: 6px; height: 44px; padding: 0 12px; border-radius: var(--cb-r-pill); list-style: none; cursor: pointer; line-height: normal; }
.cb-lang > summary::-webkit-details-marker { display: none; }
.cb-lang__list { position: absolute; right: 0; top: calc(100% + 8px); width: 260px; margin: 0; padding: 8px; list-style: none; background: var(--global-palette9); border-radius: var(--cb-r-md); box-shadow: 0 0 0 1px var(--global-palette7), 0 24px 48px -24px rgba(29, 26, 23, .35); z-index: 70; }
.cb-lang__list a { display: flex; align-items: center; gap: 12px; height: 44px; padding: 0 12px; border-radius: 12px; font-size: 15px; color: var(--global-palette3); text-decoration: none; }
.cb-lang__list a[aria-current="true"] { font-weight: 600; }
.cb-lang__list a[aria-current="true"]::after { content: "✓"; margin-left: auto; color: var(--global-palette1); font-weight: 600; }
.cb-lang__code { font: 12px var(--cb-mono); color: var(--global-palette5); width: 22px; }
@media (hover: hover) and (pointer: fine) { .cb-lang__list a:hover { background: var(--global-palette7); } }

/* Menu mobilne (K6: Off Canvas, pełny ekran, od prawej) */
.cb-menu { position: fixed; inset: 0; z-index: 100; background: var(--global-palette9); display: flex; flex-direction: column; overflow-y: auto; }
.cb-menu[hidden] { display: none; }
.cb-menu__top { height: 64px; flex: none; display: flex; align-items: center; padding: 0 8px 0 20px; border-bottom: 1px solid var(--global-palette7); }
.cb-menu__top img { height: 24px; width: auto; }
.cb-menu__close { margin-left: auto; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--global-palette3); border-radius: var(--cb-r-pill); }
.cb-menu__nav { padding: 8px 20px 0; display: flex; flex-direction: column; }
.cb-menu__nav a { display: flex; align-items: center; justify-content: space-between; height: 64px; border-bottom: 1px solid var(--global-palette7); font-size: 22px; font-weight: 600; color: var(--global-palette3); text-decoration: none; line-height: normal; }
.cb-menu__nav a[aria-current="page"] { box-shadow: inset 3px 0 0 var(--global-palette1); padding-left: 12px; }
.cb-menu__more { padding: 24px 20px 0; display: flex; flex-direction: column; gap: 8px; }
.cb-menu__lang > summary { display: flex; align-items: center; gap: 12px; height: 52px; padding: 0 16px; border-radius: var(--cb-r-pill); box-shadow: inset 0 0 0 1.5px var(--global-palette5); font-size: 16px; color: var(--global-palette3); list-style: none; cursor: pointer; line-height: normal; }
.cb-menu__lang > summary::-webkit-details-marker { display: none; }
.cb-menu__lang > summary .cb-ico:last-child { margin-left: auto; }
.cb-menu__lang .cb-lang__list { position: static; width: auto; margin-top: 8px; box-shadow: 0 0 0 1px var(--global-palette7); }
.cb-menu__login { display: flex; align-items: center; gap: 12px; height: 52px; padding: 0 16px; font-size: 16px; font-weight: 600; color: var(--global-palette3); text-decoration: none; line-height: normal; }
.cb-menu__foot { margin-top: auto; padding: 20px 20px 32px; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--global-palette7); }
.cb-menu__foot .cb-micro-c { font-size: 14px; color: var(--global-palette5); text-align: center; line-height: normal; }
body.cb-menu-open { overflow: hidden; }

/* ---------- 7. Przypięty pasek CTA — telefon (K7) ----------
   Stany kanwy (Fundament 7.3, Stany 2.2 strony głównej): pasek UKRYTY w hero; wjeżdża, gdy koniec hero opuszcza
   ekran (przycisk z hero nie jest już widoczny); znika, gdy na ekran wchodzi końcowe CTA. Na ekranie jest więc
   najwyżej przycisk w nagłówku + jeden przycisk główny. Zakres = opakowanie .cb-sticky-scope (sekcje od drugiej
   do ostatniej przed końcowym CTA); widoczność przełącza app.js (klasa is-visible). Bez JS pasek się nie pokazuje —
   to dodatek, nie treść. Tylko < 768 px. */
.cb-sticky-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
  padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
  background: rgba(252, 250, 247, .96); border-top: 1px solid var(--global-palette7);
  transform: translateY(100%); visibility: hidden;
  transition: transform 200ms ease-out, visibility 0s linear 200ms;
}
.cb-sticky-cta.is-visible { transform: none; visibility: visible; transition: transform 200ms ease-out, visibility 0s; }
@media (min-width: 768px) { .cb-sticky-cta { display: none; } }

/* ---------- 8. Akordeon FAQ (K17) ---------- */
.cb-acc { border-top: 1px solid var(--global-palette6); }
.cb-acc__item { border-bottom: 1px solid var(--global-palette6); }
.cb-acc__btn { width: 100%; display: flex; gap: 16px; align-items: flex-start; padding: 12px 0; font: 600 16px/1.4 var(--cb-sans); color: var(--global-palette3); text-align: left; transition: background-color 160ms ease-out; }
.cb-acc__btn > span { flex: 1 1 0%; }
.cb-acc__btn svg { stroke: var(--global-palette3); stroke-width: 1.6; }
.cb-acc__btn .cb-acc__minus { display: none; }
.cb-acc__btn[aria-expanded="true"] .cb-acc__plus { display: none; }
.cb-acc__btn[aria-expanded="true"] .cb-acc__minus { display: block; }
.cb-acc__panel p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-acc__btn { gap: 24px; padding: 22px 0; font-size: 19px; }
  .cb-acc__panel p { margin-bottom: 24px; font-size: 17px; max-width: 58ch; }
}
@media (hover: hover) and (pointer: fine) { .cb-acc__btn:hover { background: var(--global-palette7); } }

/* ---------- 9. Karuzela bez JS na telefonie (K26, globalny CSS pkt 13) ---------- */
@media (max-width: 767px) {
  .cb-swipe { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-padding-left: 20px; }
  .cb-swipe::-webkit-scrollbar { display: none; }
  .cb-swipe > * { flex: none; scroll-snap-align: start; }
}

/* ---------- 10. Zakładki pill (Tabs: K16-T, K29, K34) ---------- */
.cb-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: var(--cb-r-pill); background: var(--global-palette7); }
.cb-tab { display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: var(--cb-r-pill); padding: 0 6px; font: 600 14px/1.2 var(--cb-sans); color: var(--global-palette3); text-align: center; transition: background-color 160ms ease-out, color 160ms ease-out; }
.cb-tab[aria-selected="true"] { background: var(--global-palette3); color: var(--global-palette9); }
@media (hover: hover) and (pointer: fine) { .cb-tab[aria-selected="false"]:hover { background: var(--global-palette8); } }

/* ---------- 11. Stopka (K21) ---------- */
.cb-footer { background: var(--global-palette3); color: var(--global-palette9); padding: 48px 0 24px; }
.cb-footer a { color: inherit; text-decoration: none; }
.cb-footer__grid { display: flex; flex-direction: column; gap: 24px; }
.cb-footer__brand { display: flex; flex-direction: column; gap: 14px; }
.cb-footer__brand img { height: 28px; width: auto; align-self: flex-start; }
.cb-footer__desc { display: none; font-size: 15px; line-height: 1.6; color: var(--global-palette6); max-width: 34ch; }
.cb-social { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cb-social a { width: 44px; height: 44px; border-radius: var(--cb-r-pill); box-shadow: inset 0 0 0 1px var(--global-palette5); display: flex; align-items: center; justify-content: center; color: var(--global-palette9); transition: background-color 160ms ease-out; }
.cb-social svg { stroke: var(--global-palette9); stroke-width: 1.75; }
.cb-social svg.cb-fa { fill: var(--global-palette9); stroke: none; }
@media (hover: hover) and (pointer: fine) { .cb-social a:hover { background: var(--global-palette4); } }
.cb-footer__ask { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--global-palette4); padding-top: 20px; }
.cb-footer__ask-h { font-size: 16px; font-weight: 600; line-height: normal; }
.cb-footer__reply { font-size: 14px; line-height: normal; color: var(--global-palette6); }
.cb-footer__col a[aria-current="page"] { font-weight: 600; }
.cb-footer__mail { font-size: 16px; line-height: normal; text-decoration: underline !important; text-decoration-thickness: 1px; text-underline-offset: .2em; color: var(--global-palette9); }
.cb-footer__links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; border-top: 1px solid var(--global-palette4); padding-top: 8px; font-size: 15px; }
.cb-footer__col-h { display: none; }
.cb-footer__col ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-footer__col a { min-height: 44px; display: flex; align-items: center; line-height: normal; }
@media (max-width: 1024px) { .cb-footer__col a.cb-two-lines { line-height: 1.3; } }
.cb-footer__bottom { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--global-palette4); padding-top: 8px; margin-top: 24px; font-size: 14px; color: var(--global-palette6); line-height: normal; }
.cb-footer .cb-footer__lang { display: flex; align-items: center; gap: 6px; min-height: 44px; color: var(--global-palette9); }
.cb-footer__lang .cb-globe { display: none; }
.cb-footer__copy-site { display: none; }
@media (hover: hover) and (pointer: fine) { .cb-footer__col a:hover, .cb-footer__lang:hover { text-decoration: underline; } }

@media (min-width: 768px) {
  .cb-footer { padding: 72px 0 40px; }
}
@media (min-width: 1025px) {
  .cb-footer { padding: 96px 0 40px; }
  .cb-footer__grid { display: grid; grid-template-columns: 4fr 2fr 3fr 3fr; gap: 48px; }
  .cb-footer__brand { gap: 20px; }
  .cb-footer__brand img { height: 32px; }
  .cb-footer__desc { display: block; }
  .cb-footer__ask { order: 4; gap: 12px; border-top: 0; padding-top: 0; }
  .cb-footer__ask-h { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette6); margin-bottom: 4px; }
  .cb-footer__mail { font: 400 28px/1.2 var(--cb-serif); text-underline-offset: .18em; }
  .cb-footer__reply { font-size: 15px; }
  .cb-footer__links { display: contents; }
  .cb-footer__col { display: flex; flex-direction: column; gap: 12px; }
  .cb-footer__col ul { gap: 12px; }
  .cb-footer__col-h { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette6); margin-bottom: 4px; line-height: normal; }
  .cb-footer__col a { min-height: 0; display: block; }
  .cb-footer__bottom { margin-top: 64px; padding-top: 24px; }
  .cb-footer .cb-footer__lang { min-height: 0; gap: 8px; }
  .cb-footer__lang .cb-globe { display: block; }
  .cb-footer__copy-site { display: contents; }
}

/* ---------- 12. Ruch (00b „Ruch — zasady”, globalny CSS pkt 11) ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .cb-btn:active { transform: none; }
}

/* R13 · zdjęcia w miejscach „FOTO” (Kadence: Image; kadr = object-fit cover w polu o proporcji z kanwy) */
.cb-ph.cb-photo { display: block; width: 100%; padding: 0; background: var(--global-palette7); object-fit: cover; }
.cb-ph--dark.cb-photo { height: 100%; min-height: 100%; align-self: stretch; background: var(--global-palette4); }
.cb-acard__img--photo { padding: 0; background: var(--global-palette7); overflow: hidden; }
.cb-acard__img--photo > img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* =============================================================================
   01 STRONA GŁÓWNA — sekcje A–N (ramki „01 Strona glowna”: telefon 390, komputer 1440)
   ============================================================================= */

/* ---------- elementy wspólne kilku stron (opisane miejsce na zdjęcie, telefon z cieniem) ---------- */
/* Opisane miejsce na zdjęcie z kanwy („FOTO 4:5 · …”) — w Kadence: Image, gdy zdjęcie będzie gotowe */
.cb-ph { display: flex; align-items: flex-end; padding: 12px; border-radius: var(--cb-r-md); background: repeating-linear-gradient(135deg, #E3DBD0 0 1px, var(--global-palette7) 1px 10px); }
.cb-ph > span { font: 11px/1.4 var(--cb-mono); color: var(--global-palette4); background: var(--global-palette9); padding: 4px 6px; }
.cb-ph--dark { background: repeating-linear-gradient(135deg, var(--global-palette4) 0 1px, var(--global-palette3) 1px 10px); padding: 20px; border-radius: 0; }
.cb-ph--dark > span { color: var(--global-palette3); background: var(--global-palette6); }
/* Telefon K23 z cieniem w pliku: obraz jest szerszy od ramki o cień — ujemny margines w % szerokości ramki */
.cb-shadow-img { width: var(--w); max-width: none; margin: var(--mt) var(--mr) var(--mb) var(--ml); }

/* ---------- A Hero ---------- */
.cb-hero { padding: 16px 0 28px; }
.cb-hero__text { display: flex; flex-direction: column; }
.cb-hero__h1 { margin-top: 8px; }
.cb-hero__lead { margin-top: 12px; font-size: 16px; }
.cb-hero__actions { display: flex; flex-direction: column; margin-top: 16px; }
.cb-hero__actions .cb-textlink { margin-top: 4px; display: flex; }
.cb-hero__micro { justify-content: center; text-align: center; margin-top: 4px; }
/* R13: na telefonie ✓ stoi przy tekście, nie przy krawędzi (w ramce kanwy ikonę i wyśrodkowany tekst rozdzielało pół ekranu) */
@media (max-width: 767px) {
  .cb-hero__micro { display: block; }
  .cb-hero__micro svg { display: inline-block; vertical-align: -4px; margin: 0 6px 0 0; }
}
.cb-hero__media { display: block; margin-top: 12px; }
.cb-hero__media img { width: 100%; }
@media (min-width: 768px) {
  .cb-hero { padding: 48px 0 88px; }
  .cb-hero__h1 { margin-top: 16px; max-width: 12em; }
  .cb-hero__lead { margin-top: 24px; font-size: var(--cb-lead); max-width: 30em; }
  .cb-hero__actions { flex-direction: row; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 36px; }

  .cb-hero__micro { justify-content: flex-start; text-align: left; align-items: center; margin-top: 20px; font-size: 15px; line-height: normal; }
  .cb-hero__micro svg { margin-top: 0; }
  .cb-hero__media { margin-top: 40px; max-width: 480px; }
}
@media (min-width: 1025px) {
  .cb-hero { padding: 56px 0 104px; }
  .cb-hero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; }
  .cb-hero__media { margin-top: 0; }
}

/* ---------- B Liczby (K9) ---------- */
.cb-numbers { padding: 24px 0 32px; border-top: 1px solid var(--global-palette7); }
.cb-numbers__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.cb-numbers__item { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--global-palette6); padding-top: 14px; }
.cb-numbers__item--wide { grid-column: span 2; flex-direction: row; gap: 16px; align-items: baseline; }
.cb-numbers__n { font: 400 34px/1 var(--cb-serif); color: var(--global-palette3); }
.cb-numbers__l { font-size: 14px; line-height: 1.4; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-numbers { padding: 48px 0; }
  .cb-numbers__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .cb-numbers__item, .cb-numbers__item--wide { grid-column: auto; flex-direction: column; align-items: stretch; gap: 10px; border-top: 0; padding-top: 0; border-left: 1px solid var(--global-palette6); padding-left: 24px; }
  .cb-numbers__n { font-size: 44px; letter-spacing: -.02em; }
  .cb-numbers__l { font-size: 15px; line-height: normal; }
}
@media (min-width: 1025px) {
  .cb-numbers { padding: 56px 0; }
  .cb-numbers__n { font-size: 56px; }
}

/* ---------- C Problem (K28) ---------- */
.cb-problem__list { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.cb-problem__list li { display: flex; gap: 12px; font-size: 16px; line-height: 1.5; color: var(--global-palette4); }
.cb-problem__list svg { width: 20px; height: 20px; margin-top: 2px; }
.cb-problem__list b { color: var(--global-palette3); }
.cb-problem__punch { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--global-palette6); font: italic 400 21px/1.35 var(--cb-serif); color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-problem__list { margin-top: 32px; gap: 0; }
  .cb-problem__list li { gap: 16px; padding: 22px 0; border-top: 1px solid var(--global-palette6); font-size: 19px; }
  .cb-problem__list li:last-child { border-bottom: 1px solid var(--global-palette6); }
  .cb-problem__list svg { width: 22px; height: 22px; margin-top: 3px; }
  .cb-problem__punch { margin-top: 32px; padding-top: 0; border-top: 0; font-size: 30px; line-height: 1.3; max-width: 22em; }
}
@media (min-width: 1025px) {
  .cb-problem__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-problem__list { margin-top: 0; }
}

/* ---------- D Jak to działa (K10, K26) ---------- */
.cb-steps { padding: 40px 0 36px; }
.cb-steps__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.cb-steps__list { margin: 0; padding: 20px 20px 0; list-style: none; gap: 12px; }
.cb-step { width: 288px; background: var(--global-palette8); border-radius: var(--cb-r-md); padding: 16px 16px 20px; display: flex; flex-direction: column; gap: 6px; }
.cb-step__img { width: 100%; height: 150px; object-fit: cover; object-position: top; border-radius: 12px; margin-bottom: 8px; }
.cb-step__title { display: flex; gap: 10px; align-items: baseline; }
.cb-step__n { font: 400 32px/1 var(--cb-serif); color: var(--global-palette1); }
.cb-step__h { font-size: 19px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-step__p { font-size: 15px; line-height: 1.55; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-steps { padding: var(--cb-section) 0; }
  .cb-steps__head, .cb-occasions__head, .cb-reviews__head { display: block; }
  .cb-steps__heading { display: flex; flex-direction: column; gap: 12px; }
  .cb-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin: 48px auto 0; padding: 0 var(--cb-edge); }
  .cb-step { width: auto; padding: 20px; gap: 10px; }
  .cb-step__img { height: 180px; object-fit: cover; margin-bottom: 14px; }
  .cb-step__title { display: contents; }
  .cb-step__n { font-size: 48px; }
  .cb-step__h { font-size: 22px; letter-spacing: -.01em; }
  .cb-step__p { font-size: 16px; line-height: 1.6; }
  .cb-steps__cta { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-top: 48px; }
  .cb-steps__micro { align-items: center; font-size: 15px; line-height: normal; }
  .cb-steps__micro svg { margin-top: 0; }
}
@media (min-width: 1025px) {
  .cb-steps__list { gap: 24px; margin-top: 56px; }
  .cb-step { padding: 32px; }
  .cb-step__img { height: 260px; }
  .cb-step__h { font-size: 24px; }
  .cb-steps__cta { margin-top: 56px; }
}

/* ---------- E Co widzą goście (K25) ---------- */
.cb-guest__lead-m { margin-top: 12px; font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
.cb-guest__media { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 44%) minmax(0, 1fr); gap: 20px; align-items: center; }
.cb-guest__video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover; border-radius: var(--cb-r-md); background: var(--global-palette3); box-shadow: 0 24px 48px -24px rgba(29, 26, 23, .45); }
.cb-guest__video:focus, .cb-guest__video:focus-within { outline: 3px solid var(--global-palette3); outline-offset: 3px; } /* fokus siedzi w kontrolkach (shadow DOM) — pierścień na całym nagraniu */
.cb-guest__steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 16px; }
.cb-guest__step { display: flex; flex-direction: column; gap: 4px; }
.cb-guest__d { font-size: 14px; line-height: 1.45; color: var(--global-palette4); }
.cb-guest__label { font-size: 14px; line-height: 1.35; font-weight: 600; color: var(--global-palette3); }
.cb-guest__n { color: var(--global-palette2); }
.cb-guest__t { display: contents; }
@media (min-width: 768px) {
  .cb-guest__text { display: flex; flex-direction: column; gap: 20px; }
  .cb-guest__media { margin-top: 48px; max-width: 640px; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; }
  .cb-guest__steps { gap: 28px; }
  .cb-guest__step { gap: 8px; }
  .cb-guest__d { font-size: 16px; line-height: 1.5; padding-left: 42px; }
  .cb-guest__label { display: flex; gap: 10px; align-items: baseline; font-size: 18px; line-height: 1.3; }
  .cb-guest__n { font: 400 32px/1 var(--cb-serif); color: var(--global-palette1); }
  .cb-guest__t { display: block; }
}
@media (min-width: 1025px) {
  .cb-guest__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: center; }
  .cb-guest__media { margin-top: 0; max-width: none; grid-template-columns: 280px minmax(0, 1fr); }
}

/* ---------- F Więcej niż album (K12; tel. kafle) ---------- */
.cb-more__tiles { margin: 20px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
.cb-more__tiles li { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--global-palette7); padding-top: 12px; }
.cb-more__tile-t { font-size: 17px; line-height: 1.3; font-weight: 600; color: var(--global-palette3); }
a.cb-more__tile-t { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.cb-more__tile-p { font-size: 14px; line-height: 1.5; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-more__head { display: flex; flex-direction: column; gap: 12px; }
  .cb-more__cards { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 48px; }
  .cb-more__card { background: var(--global-palette7); border-radius: var(--cb-r-md); overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; }
  .cb-more__card > img { width: 100%; height: 360px; object-fit: cover; object-position: top; }
  .cb-more__body { padding: 40px 32px; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; }
  .cb-more__icon { width: 48px; height: 48px; border-radius: var(--cb-r-pill); background: var(--global-palette9); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
  .cb-more__h { font-size: 24px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; color: var(--global-palette3); }
  .cb-more__p { font-size: 16px; line-height: 1.6; color: var(--global-palette4); }
  .cb-more__link { justify-content: flex-start; }
}
@media (min-width: 1025px) {
  .cb-more__cards { grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 56px; }
}

/* ---------- G Wygląd (K26 na P3) ---------- */
.cb-looks { padding: 40px 0; }
.cb-looks__lead { margin-top: 12px; font-size: 16px; line-height: 1.55; }
.cb-looks__list { margin: 0; padding: 20px 20px 0; list-style: none; gap: 14px; }
.cb-looks__list li { width: 112px; display: flex; flex-direction: column; gap: 8px; }
.cb-looks__list p { font-size: 13px; line-height: normal; color: var(--global-palette6); }
@media (min-width: 768px) {
  .cb-looks { padding: var(--cb-section) 0; }
  .cb-looks__heading { display: flex; flex-direction: column; gap: 12px; }
  .cb-looks__lead { margin-top: 20px; font-size: var(--cb-lead); line-height: 1.5; }
  .cb-looks__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin: 48px auto 0; padding: 0 var(--cb-edge); }
  .cb-looks__list li { width: auto; gap: 14px; }
  .cb-looks__list p { font-size: 15px; }
}
@media (min-width: 1025px) {
  .cb-looks__head { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-looks__lead { margin-top: 0; }
  .cb-looks__list { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 56px; }
}

/* ---------- H Porównanie (K16 komp./tablet, K16-T tel.) ---------- */
.cb-yes-c { color: var(--cb-success-deep); } /* R18 (13.10): zielony jak w innych kolumnach — koral czytał się jak „nie”; 5,11 : 1 na P7 */
.cb-yes { color: var(--cb-success); }
.cb-no { color: var(--cb-error); }
.cb-half { color: var(--global-palette5); }
.cb-compare-m { margin-top: 24px; }
.cb-cmpm { margin-top: 16px; font-size: 13px; line-height: 1.3; }
.cb-cmpm__row, .cb-cmpm__more { display: grid; grid-template-columns: minmax(0, 1fr) 84px 84px; }
.cb-cmpm__more { grid-column: 1 / -1; }
.cb-cmpm__more[hidden] { display: none; }
.cb-cmpm__more .cb-cmpm__row { grid-column: 1 / -1; }
.cb-cmpm__row { grid-column: 1 / -1; }
.cb-cmpm__th { padding: 10px 8px; border-bottom: 1px solid var(--global-palette6); font-weight: 600; font-size: 14px; color: var(--global-palette3); }
.cb-cmpm__th:first-child { padding-left: 0; }
.cb-cmpm__th--c { background: var(--global-palette7); border-radius: 10px 10px 0 0; }
.cb-cmpm__f { padding: 12px 8px 12px 0; border-bottom: 1px solid var(--global-palette7); font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--global-palette3); }
.cb-cmpm__c, .cb-cmpm__a { padding: 12px 8px; display: flex; flex-direction: column; gap: 2px; }
.cb-cmpm__c { border-bottom: 1px solid var(--global-palette7); background: var(--global-palette7); color: var(--global-palette3); }
.cb-cmpm__a { border-bottom: 1px solid var(--global-palette7); color: var(--global-palette4); }
.cb-cmpm b { font-size: 15px; }
.cb-cmpm__toggle > span { display: contents; }
.cb-cmpm__toggle { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 48px; margin-top: 12px; border-radius: var(--cb-r-pill); box-shadow: inset 0 0 0 1.5px var(--global-palette3); font: 600 15px var(--cb-sans); color: var(--global-palette3); transition: background-color 160ms ease-out; }
@media (hover: hover) and (pointer: fine) { .cb-cmpm__toggle:hover { background: var(--global-palette7); } }

.cb-compare__table { margin-top: 48px; font-size: 15px; line-height: 1.4; }
.cb-compare__row { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); }
.cb-compare__th { padding: 20px 16px 16px; font-weight: 600; font-size: 17px; border-bottom: 1px solid var(--global-palette6); color: var(--global-palette3); }
.cb-compare__th--f { padding: 16px 16px 16px 0; }
.cb-compare__th--c { background: var(--global-palette7); border-radius: var(--cb-r-md) var(--cb-r-md) 0 0; }
.cb-compare__f { padding: 18px 16px 18px 0; border-bottom: 1px solid var(--global-palette7); font-weight: 600; color: var(--global-palette3); }
.cb-compare__c, .cb-compare__a { padding: 18px 16px; display: flex; gap: 8px; }
.cb-compare__c { border-bottom: 1px solid var(--global-palette7); background: var(--global-palette7); color: var(--global-palette3); }
.cb-compare__a { border-bottom: 1px solid var(--global-palette7); color: var(--global-palette4); }
.cb-compare__a b, .cb-compare__c b { font-weight: 600; }
@media (min-width: 768px) and (max-width: 1024px) {
  .cb-compare__th { font-size: 16px; padding: 16px 12px 12px; }
  .cb-compare__c, .cb-compare__a { padding: 16px 12px; }
}
.cb-compare__legend { display: flex; gap: 24px; margin-top: 48px; font-size: 14px; line-height: normal; color: var(--global-palette4); }
@media (min-width: 1025px) { .cb-compare__table { margin-top: 56px; } .cb-compare__legend { margin-top: 56px; } }

/* ---------- I Okazje (K13; tel. pigułki) ---------- */
.cb-occasions__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.cb-occasions__pills { margin: 20px -20px 0; padding: 0 20px; list-style: none; gap: 8px; }
.cb-occasions__pills a { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 10px 16px; border-radius: var(--cb-r-pill); background: var(--global-palette9); color: var(--global-palette3); font-weight: 600; font-size: 15px; line-height: 1.3; text-decoration: none; white-space: nowrap; }
.cb-occasions__cards { margin: 48px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; }
.cb-occ { display: flex; flex-direction: column; gap: 12px; color: var(--global-palette3); text-decoration: none; }
.cb-occ__ph { aspect-ratio: 4 / 5; }
.cb-occ__t { font-size: 19px; font-weight: 600; line-height: 1.3; }
.cb-occ__p { font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-occ__l { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; line-height: normal; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
@media (hover: hover) and (pointer: fine) { .cb-occ:hover .cb-occ__l { color: var(--global-palette2); text-decoration-thickness: 2px; } }
@media (min-width: 768px) { .cb-occasions__head { display: block; } }
@media (min-width: 1025px) { .cb-occasions__cards { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin-top: 56px; } }

/* ---------- J Opinie (K14) ---------- */
.cb-reviews { padding: 40px 0; }
.cb-reviews__head { display: flex; justify-content: space-between; align-items: flex-end; }
.cb-reviews__count { color: var(--global-palette4); white-space: normal; }
.cb-reviews__list { margin: 0; padding: 20px 20px 0; list-style: none; gap: 12px; align-items: stretch; }
.cb-review { width: 300px; background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 20px; display: flex; flex-direction: column; justify-content: space-between; gap: 14px; }
.cb-review blockquote { margin: 0; font: italic 400 17px/1.45 var(--cb-serif); color: var(--global-palette3); }
.cb-review__by { display: flex; flex-direction: column; gap: 2px; border-top: 1px solid var(--global-palette7); padding-top: 14px; line-height: normal; }
.cb-review__name { font-size: 16px; font-weight: 600; color: var(--global-palette3); }
.cb-review__type { font-size: 13px; color: var(--global-palette5); }
.cb-reviews__source { margin-top: 14px; font-size: 13px; line-height: 1.5; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-reviews { padding: var(--cb-section) 0; }
  .cb-reviews__head { display: block; }
  .cb-reviews__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin: 48px auto 0; padding: 0 var(--cb-edge); }
  .cb-review { width: auto; padding: 24px; gap: 24px; }
  .cb-review blockquote { font-size: 18px; }
  .cb-review__by { padding-top: 16px; }
  .cb-review__type { font-size: 14px; }
  .cb-reviews__source { margin-top: 32px; font-size: 14px; line-height: normal; }
}
@media (min-width: 1025px) {
  .cb-reviews__list { gap: 24px; margin-top: 56px; }
  .cb-review { padding: 32px; }
  .cb-review blockquote { font-size: 22px; }
}

/* ---------- K Cena + prywatność (K27-T tel., K15-Z komp., K15-C) ---------- */
.cb-pricing__rows { margin: 20px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; border-radius: var(--cb-r-md); box-shadow: inset 0 0 0 1px var(--global-palette7); overflow: hidden; }
.cb-pricing__rows li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--global-palette7); }
.cb-pricing__rows li:last-child { border-bottom: 0; }
.cb-pricing__name { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cb-pricing__nt { font-size: 18px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-pricing__nd { font-size: 13px; line-height: 1.4; color: var(--global-palette5); }
.cb-pricing__price { display: flex; align-items: baseline; gap: 6px; flex: none; line-height: normal; }
.cb-pricing__from { font-size: 14px; font-weight: 600; color: var(--global-palette4); }
.cb-pricing__price .cb-price { font-size: 30px; letter-spacing: -.01em; color: var(--global-palette3); }
.cb-privacy { display: flex; gap: 12px; align-items: flex-start; margin-top: 12px; padding: 14px 16px; border-radius: 16px; background: var(--global-palette8); font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-privacy svg { width: 20px; height: 20px; margin-top: 2px; }
.cb-privacy b { color: var(--global-palette3); }
.cb-pricing__foot { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; }
@media (min-width: 768px) {
  .cb-pricing__head { display: flex; flex-direction: column; gap: 12px; }
  .cb-pricing__cards { margin: 48px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .cb-pkg-teaser { border-radius: var(--cb-r-md); padding: 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: inset 0 0 0 1px var(--global-palette7); }
  .cb-pkg-teaser__name { font-size: 22px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
  .cb-pkg-teaser__desc { font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
  .cb-pkg-teaser__price { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; line-height: normal; }
  .cb-pkg-teaser__from { font-size: 18px; font-weight: 600; color: var(--global-palette4); }
  .cb-pkg-teaser__price .cb-price { font-size: 40px; letter-spacing: -.015em; color: var(--global-palette3); }
  .cb-pkg-teaser__once { font-size: 14px; line-height: normal; color: var(--global-palette5); }
  .cb-privacy { gap: 16px; margin-top: 48px; padding: 24px 28px; border-radius: var(--cb-r-md); font-size: 17px; line-height: 1.55; max-width: 900px; }
  .cb-privacy svg { width: 24px; height: 24px; }
  .cb-pricing__foot { flex-direction: row; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 48px; border-top: 1px solid var(--global-palette7); padding-top: 32px; }
  .cb-pricing__note { margin-right: auto; font-size: 17px; line-height: 1.6; color: var(--global-palette4); max-width: 34em; }
}
@media (min-width: 1025px) {
  .cb-pricing__cards { gap: 24px; }
  .cb-pkg-teaser { padding: 32px; }
  .cb-pkg-teaser__price .cb-price { font-size: 48px; }
}

/* ---------- M FAQ (K17) ---------- */
.cb-faq { padding: 40px 0 48px; }
.cb-faq__intro .cb-h2 { margin-bottom: 20px; }
@media (min-width: 768px) {
  .cb-faq { padding: var(--cb-section) 0; }
  .cb-faq__intro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
  .cb-faq__intro .cb-h2 { margin-bottom: 0; }
  .cb-faq__contact { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
}
@media (min-width: 1025px) {
  .cb-faq__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-faq__intro { margin-bottom: 0; }
}

/* ---------- N Końcowe CTA (K18) ---------- */
.cb-final__wrap { padding: 0; }
.cb-final__box { background: var(--global-palette3); color: var(--global-palette9); border-bottom: 1px solid var(--global-palette4); }
.cb-final__text { padding: 48px 20px; display: flex; flex-direction: column; gap: 16px; }
.cb-final__p { font-size: 16px; line-height: 1.55; color: var(--global-palette6); }
.cb-final__actions { display: flex; flex-direction: column; gap: 16px; margin-top: 8px; }
.cb-final__actions .cb-textlink { display: flex; }
@media (min-width: 768px) {
  .cb-final { padding: 16px 0 96px; }
  .cb-final__wrap { padding-inline: var(--cb-edge); }
  .cb-final__box { border-radius: var(--cb-r-lg); overflow: hidden; border-bottom: 0; }
  .cb-final__text { padding: 64px 48px; justify-content: center; gap: 24px; }
  .cb-final__h { font-size: 48px; line-height: 1.08; letter-spacing: -.02em; max-width: 12em; }
  .cb-final__p { font-size: var(--cb-lead); line-height: 1.5; }
  .cb-final__actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
  .cb-final__actions .cb-textlink { display: inline-flex; }
}
@media (min-width: 1025px) {
  .cb-final { padding: 16px 0 112px; }
  .cb-final__box { display: grid; grid-template-columns: 7fr 5fr; min-height: 480px; }
  .cb-final__text { padding: 80px; }
  .cb-final__h { font-size: 56px; }
}
/* =============================================================================
   02 GALERIA QR — sekcje A–I (ramki „02 Galeria QR”: telefon 390, komputer 1440)
   Klasy wspólne ze strony głównej: .cb-faq, .cb-final, .cb-acc, .cb-tabs, .cb-shadow-img.
   ============================================================================= */

/* Stopka: pozycja bieżącej strony wyróżniona 600 (nota J: „Galeria QR” 600 na tej stronie) */
.cb-page-galeria-qr .cb-footer__col a[href="galeria-qr.html"] { font-weight: 600; }

/* ---------- A Hero (K31 kod QR do demo, 3 telefony funkcji) ---------- */
.cb-qrhero { padding: 16px 0 28px; }
.cb-qrhero__text { display: flex; flex-direction: column; }
.cb-qrhero__h1 { margin-top: 8px; }
.cb-qrhero__lead { margin-top: 12px; font-size: 16px; }
.cb-qrhero__actions { display: flex; flex-direction: column; margin-top: 16px; }
.cb-qrhero__actions .cb-textlink { margin-top: 4px; display: flex; }
.cb-qrhero__micro { justify-content: center; text-align: center; margin-top: 4px; }
.cb-qrhero__card { margin-top: 12px; background: var(--global-palette7); border-radius: 24px; padding: 20px 16px 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cb-qrhero__phone { margin: 0; display: flex; flex-direction: column; gap: 8px; }
.cb-qrhero__phone figcaption { font-size: 13px; font-weight: 600; line-height: 1.3; text-align: center; color: var(--global-palette3); }
.cb-demoqr { display: flex; gap: 20px; align-items: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--global-palette7); max-width: 540px; }
.cb-demoqr img { width: 96px; height: 96px; flex: none; outline: 6px solid var(--global-palette9); box-shadow: 0 0 0 7px var(--global-palette7); }
.cb-demoqr p { font-size: 15px; line-height: 1.55; color: var(--global-palette4); }
.cb-demoqr b { color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-qrhero { padding: 48px 0 88px; }
  .cb-qrhero__h1 { margin-top: 16px; max-width: 12em; }
  .cb-qrhero__lead { margin-top: 24px; font-size: var(--cb-lead); max-width: 30em; }
  .cb-qrhero__actions { flex-direction: row; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 36px; }
  .cb-qrhero__micro { justify-content: flex-start; text-align: left; align-items: center; margin-top: 16px; line-height: normal; }
  .cb-qrhero__micro svg { margin-top: 0; }
  .cb-qrhero__micro span { display: contents; }
  .cb-qrhero__card { margin-top: 40px; max-width: 480px; padding: 40px 20px 24px; gap: 16px; }
  .cb-qrhero__phone { gap: 12px; }
  .cb-qrhero__phone figcaption { font-size: 15px; }
}
@media (min-width: 1025px) {
  .cb-qrhero { padding: 56px 0 104px; }
  .cb-qrhero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; }
  .cb-qrhero__card { margin-top: 0; }
}

/* Nadtytuł jako span w wierszu tekstu (ramki tel. B i D): szerokość = napis, wysokość wiersza = 16 px / normal.
   Od 768 px opakowanie znika (display: contents), a nadtytuł jest zwykłym blokiem w kolumnie. */
.cb-eyebrow-line { font-size: 16px; line-height: normal; }
.cb-eyebrow-line .cb-eyebrow { display: inline; line-height: normal; }
@media (min-width: 768px) { .cb-eyebrow-line { display: contents; } .cb-eyebrow-line .cb-eyebrow { display: block; } }

/* ---------- B Scenariusz (K28-S) ---------- */
.cb-scen__h { margin-top: 12px; }
.cb-scen__list { margin: 20px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-scen__item { display: flex; flex-direction: column; gap: 4px; padding: 12px 0; border-top: 1px solid var(--global-palette6); }
.cb-scen__when { font-size: 14px; font-weight: 600; line-height: normal; color: var(--global-palette2); }
.cb-scen__m { font-size: 16px; line-height: 1.5; color: var(--global-palette4); }
.cb-scen__m b { color: var(--global-palette3); }
.cb-scen__punch { margin-top: 4px; padding-top: 16px; border-top: 1px solid var(--global-palette6); font: italic 400 21px/1.35 var(--cb-serif); color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-scen__head { display: flex; flex-direction: column; gap: 12px; }
  .cb-scen__h { margin-top: 0; max-width: 18em; }
  .cb-scen__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
  .cb-scen__item { gap: 12px; padding: 22px 0 0; }
  .cb-scen__when { font-size: 15px; }
  .cb-scen__t { font-size: 21px; line-height: 1.35; font-weight: 600; color: var(--global-palette3); }
  .cb-scen__p { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
  .cb-scen__punch { margin-top: 48px; padding-top: 0; border-top: 0; font-size: 30px; line-height: 1.3; }
}
@media (min-width: 1025px) {
  .cb-scen__list { gap: 40px; margin-top: 56px; }
  .cb-scen__punch { margin-top: 56px; }
}

/* ---------- C Fotograf i goście (K30) ---------- */
.cb-pair__cards { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.cb-pair__card { border-radius: var(--cb-r-md); padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
.cb-pair__card--line { box-shadow: inset 0 0 0 1px var(--global-palette4); }
.cb-pair__card--light { background: var(--global-palette9); color: var(--global-palette3); }
.cb-pair__label { font-size: 14px; font-weight: 600; line-height: normal; color: var(--global-palette6); }
.cb-pair__card--light .cb-pair__label { color: var(--global-palette2); }
.cb-pair__thesis { font: 400 27px/1.1 var(--cb-serif); }
.cb-pair__desc { font-size: 16px; line-height: 1.55; color: var(--global-palette6); }
.cb-pair__card--light .cb-pair__desc { color: var(--global-palette4); }
.cb-pair__note { margin-top: 20px; font-size: 16px; line-height: 1.55; color: var(--global-palette6); }
.cb-pair__note b { color: var(--global-palette9); }
@media (min-width: 768px) {
  .cb-pair__h { margin-top: 16px; }
  .cb-pair__cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 40px; }
  .cb-pair__card { padding: 40px 32px; gap: 14px; min-height: 300px; justify-content: flex-end; }
  .cb-pair__label { font-size: 15px; }
  .cb-pair__thesis { font-size: 40px; letter-spacing: -.015em; }
  .cb-pair__desc { font-size: 17px; }
  .cb-pair__note { margin-top: 32px; font-size: 17px; line-height: 1.6; max-width: 30em; }
}
@media (min-width: 1025px) {
  .cb-pair__grid { display: grid; grid-template-columns: 5fr 7fr; column-gap: 72px; row-gap: 16px; align-items: center;
    grid-template-areas: "eyebrow cards" "h2 cards" "note cards"; }
  .cb-pair__eyebrow { grid-area: eyebrow; }
  .cb-pair__h { grid-area: h2; margin-top: 0; }
  .cb-pair__cards { grid-area: cards; margin-top: 0; }
  .cb-pair__note { grid-area: note; margin-top: 8px; }
}

/* ---------- D Funkcje (K29) ---------- */
.cb-feat__tabs { margin-top: 14px; }
.cb-tab > span { display: contents; }
.cb-feat__panel { display: flex; flex-direction: column; }
.cb-feat__panel[hidden] { display: none; }
.cb-feat__shot { height: 240px; margin-top: 16px; background: var(--global-palette7); border-radius: var(--cb-r-md); overflow: hidden; display: flex; justify-content: center; padding-top: 24px; }
.cb-feat__phone { width: 180px; flex: none; }
.cb-feat__h { margin-top: 20px; }
.cb-feat__p { margin-top: 10px; font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
.cb-feat__group { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--global-palette7); }
.cb-feat__gt { font-size: 17px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-feat__it { display: flex; gap: 14px; align-items: flex-start; }
.cb-feat__badge { width: 36px; height: 36px; flex: none; border-radius: var(--cb-r-pill); background: var(--global-palette7); display: flex; align-items: center; justify-content: center; font: 400 19px/1 var(--cb-serif); color: var(--global-palette2); }
.cb-feat__tx { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-feat__tx b { color: var(--global-palette3); font-size: 16px; }
.cb-feat__chips { display: flex; flex-direction: column; gap: 10px; margin-top: 20px; }
.cb-feat__chips-l { font-size: 14px; line-height: normal; color: var(--global-palette5); }
.cb-feat__chips-l > span { display: contents; }
.cb-feat__chips ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.cb-feat__chips li { font-size: 14px; font-weight: 600; line-height: normal; padding: 8px 14px; border-radius: var(--cb-r-pill); background: var(--global-palette7); color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-feat__intro { display: flex; flex-direction: column; gap: 12px; }
  .cb-feat__lead { max-width: 32em; }
  .cb-feat__tabs { display: inline-flex; gap: 4px; margin-top: 24px; }
  .cb-feat__tabs .cb-tab { height: 48px; padding: 0 22px; font-size: 16px; white-space: nowrap; }
  .cb-feat__panel { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: center; margin-top: 32px; }
  .cb-feat__shot { height: 480px; margin-top: 0; border-radius: 24px; align-items: center; padding-top: 0; }
  .cb-feat__phone { width: 200px; }
  .cb-feat__h { margin-top: 0; max-width: 14em; }
  .cb-feat__p { margin-top: 16px; font-size: 19px; max-width: 34em; }
  .cb-feat__groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; margin-top: 32px; }
  .cb-feat__group { gap: 18px; margin-top: 0; padding-top: 20px; border-top-color: var(--global-palette6); }
  .cb-feat__gt { font-size: 19px; }
  .cb-feat__it { gap: 16px; }
  .cb-feat__badge { width: 44px; height: 44px; font-size: 22px; }
  .cb-feat__tx { font-size: 16px; }
  .cb-feat__tx b { font-size: 17px; }
  .cb-feat__chips { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; }
  .cb-feat__chips-l { font-size: 15px; }
  .cb-feat__chips ul { display: contents; }
  .cb-feat__chips li { font-size: 15px; }
  .cb-feat__cta { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--global-palette7); }
  .cb-feat__cta-p { font-size: 15px; line-height: normal; color: var(--global-palette5); }
}
@media (min-width: 1025px) {
  .cb-feat__head { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: end; }
  .cb-feat__tabs { justify-self: end; margin-top: 0; }
  .cb-feat__panel { gap: 72px; margin-top: 40px; }
  .cb-feat__shot { height: 620px; }
  .cb-feat__phone { width: 250px; }
  .cb-feat__cta { margin-top: 56px; }
}

/* ---------- E Po weselu i prywatność ---------- */
.cb-after__list { display: flex; flex-direction: column; gap: 14px; margin-top: 20px; }
.cb-after__it { display: flex; gap: 14px; align-items: flex-start; }
.cb-after__ic { width: 40px; height: 40px; flex: none; border-radius: var(--cb-r-pill); background: var(--global-palette7); display: flex; align-items: center; justify-content: center; }
.cb-after__tx { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-after__tx b { color: var(--global-palette3); font-size: 16px; }
.cb-after__h3 { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--global-palette6); font-size: 20px; line-height: 1.3; font-weight: 600; color: var(--global-palette3); }
.cb-after__abroad .cb-after__h3 { margin-top: 20px; }
.cb-after__plist { margin: 12px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.cb-after__plist li { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-after__ap { margin-top: 10px; font-size: 15px; line-height: 1.55; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-after__intro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
  .cb-after__lead { font-size: 19px; line-height: 1.55; color: var(--global-palette4); max-width: 26em; }
  .cb-after__list { gap: 0; margin-top: 0; }
  .cb-after__it { gap: 20px; padding: 22px 0; border-top: 1px solid var(--global-palette6); }
  .cb-after__ic { width: 48px; height: 48px; }
  .cb-after__tx { gap: 4px; font-size: 17px; line-height: 1.55; }
  .cb-after__tx b { font-size: 19px; }
  .cb-after__priv { background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 32px; margin-top: 24px; display: flex; flex-direction: column; gap: 20px; }
  .cb-after__priv .cb-after__h3 { margin-top: 0; padding-top: 0; border-top: 0; font-size: 24px; letter-spacing: -.01em; }
  .cb-after__plist { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px; margin-top: 0; }
  .cb-after__plist li { font-size: 16px; }
}
@media (min-width: 1025px) {
  .cb-after__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-after__intro { margin-bottom: 0; }
}

/* ---------- F Za granicą (tylko tablet i komputer) ---------- */
.cb-abroad__intro { display: flex; flex-direction: column; gap: 16px; }
.cb-abroad__lead { font-size: 19px; line-height: 1.55; color: var(--global-palette4); }
.cb-abroad__main { display: flex; flex-direction: column; gap: 28px; margin-top: 40px; }
.cb-abroad__dev { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cb-abroad__dev li { display: flex; align-items: center; gap: 14px; padding: 20px 22px; border-radius: var(--cb-r-md); background: var(--global-palette8); font-size: 17px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-abroad__langs { display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--global-palette6); padding-top: 22px; }
.cb-abroad__langs p { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
.cb-abroad__langs b { color: var(--global-palette3); }
@media (min-width: 1025px) {
  .cb-abroad__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-abroad__main { margin-top: 0; }
}

/* ---------- G Limity i cena (K15-G: wiersze tel., karty komp.) ---------- */
.cb-gprice__lead { margin-top: 12px; font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
.cb-gprice__rows { margin: 20px 0 0; padding: 0; list-style: none; border-radius: var(--cb-r-md); background: var(--global-palette9); overflow: hidden; }
.cb-gprice__rows li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 20px; border-bottom: 1px solid var(--global-palette7); }
.cb-gprice__name { display: flex; flex-direction: column; gap: 2px; }
.cb-gprice__n { font-size: 18px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-gprice__s { font-size: 13px; line-height: 1.4; color: var(--global-palette5); }
.cb-gprice__p { display: flex; align-items: baseline; gap: 5px; flex: none; }
.cb-gprice__p .cb-price, .cb-gpkg__p .cb-price { letter-spacing: -.02em; color: var(--global-palette3); }
.cb-gprice__p .cb-price { font-size: 34px; }
.cb-gprice__bundle { margin-top: 12px; display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-radius: var(--cb-r-md); background: var(--global-palette9); color: var(--global-palette3); text-decoration: none; }
.cb-gprice__bundle svg { margin-left: auto; }
.cb-gprice__btx { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.45; color: var(--global-palette4); }
.cb-gprice__btx b { color: var(--global-palette3); font-size: 16px; }
@media (min-width: 768px) {
  .cb-gprice__heading { display: flex; flex-direction: column; gap: 12px; }
  .cb-gprice__lead { margin-top: 20px; font-size: 19px; max-width: 30em; }
  .cb-gprice__cards { margin: 48px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .cb-gpkg { background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 28px 24px; display: flex; flex-direction: column; gap: 14px; }
  .cb-gpkg__n { font-size: 20px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
  .cb-gpkg__p { display: flex; align-items: baseline; gap: 6px; }
  .cb-gpkg__p .cb-price { font-size: 48px; }
  .cb-gpkg__s { display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.45; color: var(--global-palette4); border-top: 1px solid var(--global-palette7); padding-top: 14px; }
  .cb-gpkg__m { color: var(--global-palette5); }
  .cb-gprice__foot { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; margin-top: 56px; }
  .cb-gprice__more { font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
}
@media (min-width: 1025px) {
  .cb-gprice__head { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-gprice__lead { margin-top: 0; max-width: none; }
  .cb-gprice__cards { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- I Końcowe CTA (wariant K18 tej strony) ---------- */
.cb-final--qr .cb-final__text { padding: 40px 20px; }
@media (min-width: 768px) {
  .cb-final--qr .cb-final__text { padding: 64px 48px; }
  .cb-final--qr .cb-final__h { max-width: 13em; }
  .cb-final--qr .cb-final__p { font-size: 19px; line-height: 1.55; max-width: 30em; }
}
@media (min-width: 1025px) {
  .cb-final--qr .cb-final__text { padding: 80px; }
}
/* =============================================================================
   03 STRONA WYDARZENIA — sekcje A–J (ramki „03 Strona wydarzenia”: telefon 390, komputer 1440)
   Klasy bazowe z 00-base i 01-glowna; tu tylko warianty i sekcje tej strony (prefiks cb-ev-).
   ============================================================================= */

/* K21: bieżąca strona w stopce wyróżniona 600 (nota 03 „K21 bez zmian; Strona wydarzenia wyróżniona 600”).
   Reguła ogólna — atrybut aria-current wstawia sync-partials z `current` w znaczniku stopki. */
/* (reguła przeniesiona do 00-base.css) */

/* H2 na tej stronie: telefon 30/1.15 (ramki 03), komputer 52/1.1 jak w skali */
@media (max-width: 767px) { .cb-page-event .cb-h2 { font-size: 30px; } }

/* Elementy powtarzalne strony */
.cb-ev-media { width: 100%; }
.cb-ev-lead19 { font-size: 19px; line-height: 1.55; color: var(--global-palette4); max-width: 30em; }
.cb-ev-split-head__p { font-size: 17px; line-height: 1.55; color: var(--global-palette4); }
.cb-ev-points { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-ev-points li { display: flex; gap: 18px; align-items: flex-start; padding: 18px 0; border-top: 1px solid var(--global-palette7); }
.cb-ev-points__ico { width: 44px; height: 44px; flex: none; border-radius: var(--cb-r-pill); background: var(--global-palette7); display: flex; align-items: center; justify-content: center; }
.cb-ev-points__t { display: flex; flex-direction: column; gap: 2px; font-size: 16px; line-height: 1.5; color: var(--global-palette4); }
.cb-ev-points__t b { font-size: 18px; color: var(--global-palette3); }
.cb-ev-points--line6 li { gap: 16px; padding: 14px 0; border-top-color: var(--global-palette6); }
.cb-ev-points--line6 .cb-ev-points__t b { font-size: 17px; }
.cb-ev-points--dark li { gap: 16px; padding: 16px 0; border-top: 0; border-bottom: 1px solid var(--global-palette4); }
.cb-ev-points--dark .cb-ev-points__ico { background: var(--global-palette4); }
.cb-ev-points--dark .cb-ev-points__t { color: var(--global-palette6); }
.cb-ev-points--dark .cb-ev-points__t b { font-size: 17px; color: var(--global-palette9); }
@media (min-width: 768px) {
  .cb-ev-split-head { display: flex; flex-direction: column; gap: 16px; }
}
@media (min-width: 1025px) {
  .cb-ev-split-head { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: end; }
}

/* ---------- A Hero (wariant hero 01) ---------- */
.cb-ev-hero { padding: 20px 0 32px; }
.cb-ev-hero .cb-hero__micro { margin-top: 2px; }
.cb-ev-qr { display: flex; gap: 20px; align-items: center; margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--global-palette7); max-width: 540px; }
.cb-ev-qr__code { flex: none; width: 96px; }
.cb-ev-qr p { font-size: 15px; line-height: 1.55; color: var(--global-palette4); }
.cb-ev-qr b { color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-ev-hero { padding: 48px 0 88px; }
  .cb-ev-hero .cb-hero__micro { margin-top: 16px; font-size: 14px; }
}
@media (min-width: 1025px) { .cb-ev-hero { padding: 48px 0 104px; } }

/* ---------- B Jak powstaje ---------- */
.cb-ev-steps__list { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-ev-steps__list li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid var(--global-palette6); }
.cb-ev-steps__n { font: 400 32px/1 var(--cb-serif); color: var(--global-palette1); }
.cb-ev-steps__body { display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-ev-steps__body b { font-size: 17px; color: var(--global-palette3); }
.cb-ev-steps__t { display: contents; }
@media (min-width: 768px) {
  .cb-ev-steps { padding: 80px 0; }
  .cb-ev-steps__head { display: flex; flex-direction: column; gap: 12px; }
  .cb-ev-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
  .cb-ev-steps__list li { display: flex; flex-direction: column; gap: 12px; padding: 22px 0 0; }
  .cb-ev-steps__n { font-size: 48px; }
  .cb-ev-steps__body { display: contents; }
  .cb-ev-steps__body b { display: block; font-size: 21px; line-height: 1.35; }
  .cb-ev-steps__t { display: block; font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
}
@media (min-width: 1025px) {
  .cb-ev-steps { padding: 96px 0; }
  .cb-ev-steps__head .cb-eyebrow { line-height: normal; }
  .cb-ev-steps__list { gap: 40px; }
}

/* ---------- C1 RSVP online (komp./tablet) ---------- */
@media (min-width: 768px) {
  .cb-ev-rsvp { padding: 88px 0; }
  .cb-ev-rsvp__grid { display: flex; flex-direction: column; gap: 48px; margin-top: 48px; }
  .cb-ev-rsvp__grid > img { max-width: 564px; }
  .cb-ev-rsvp__text { display: flex; flex-direction: column; }
  .cb-ev-rsvp__text .cb-ev-lead19 { margin-top: 16px; }
  .cb-ev-rsvp__text .cb-ev-points { margin-top: 28px; }
}
@media (min-width: 1025px) {
  .cb-ev-rsvp { padding: 112px 0 104px; }
  .cb-ev-rsvp__grid { display: grid; grid-template-columns: 6fr 6fr; gap: 72px; align-items: center; }
}

/* ---------- C2 Galeria QR wbudowana (komp./tablet) ---------- */
.cb-ev-badge-dark { font-size: 13px; font-weight: 600; line-height: normal; padding: 6px 12px; border-radius: var(--cb-r-pill); background: var(--global-palette3); color: var(--global-palette9); }
.cb-ev-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 16px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-ev-gallery { padding: 88px 0; }
  .cb-ev-gallery__grid { display: flex; flex-direction: column; gap: 48px; }
  .cb-ev-gallery__grid > img { max-width: 564px; }
  .cb-ev-gallery__text { display: flex; flex-direction: column; gap: 16px; }
  .cb-ev-gallery__row { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 12px; }
}
@media (min-width: 1025px) {
  .cb-ev-gallery { padding: 104px 0; }
  .cb-ev-gallery__grid { display: grid; grid-template-columns: 6fr 6fr; gap: 72px; align-items: center; }
}

/* ---------- C3 Pozostałe bloki / C pokaz bloków (tel.) ---------- */
.cb-ev-blocks { padding: 40px 0; }
.cb-ev-blocks .cb-container:first-child { padding-inline: 0; }
.cb-ev-blocks__head-m { line-height: normal; }
.cb-ev-blocks__head-m .cb-eyebrow { display: inline; padding: 0 20px; line-height: normal; }
.cb-ev-blocks__head-m .cb-h2 { margin-top: 10px; padding: 0 20px; }
.cb-ev-blocks__list { margin: 0; padding: 20px 20px 0; list-style: none; gap: 12px; }
.cb-ev-block { width: 236px; display: flex; flex-direction: column; gap: 6px; }
.cb-ev-block__media { position: relative; height: 200px; background: var(--global-palette7); border-radius: var(--cb-r-md); overflow: hidden; display: flex; justify-content: center; padding-top: 18px; }
.cb-ev-block__screen { width: 189px; flex: none; }
.cb-ev-block__tag { position: absolute; left: 10px; top: 10px; font-size: 12px; font-weight: 600; line-height: normal; padding: 4px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette3); color: var(--global-palette9); }
.cb-ev-block__h { margin-top: 8px; font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-ev-block__p { font-size: 14px; line-height: 1.5; color: var(--global-palette4); }
.cb-ev-blocks__more { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 16px; align-items: center; line-height: normal; }
.cb-ev-blocks .cb-container:last-child { padding-inline: 20px; }
.cb-ev-blocks__lbl { font-size: 14px; color: var(--global-palette5); }
.cb-ev-chip { font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette7); color: var(--global-palette3); }
.cb-ev-blocks__link { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; font-weight: 600; color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-ev-blocks { padding: 88px 0; }
  .cb-ev-blocks .cb-container:first-child, .cb-ev-blocks .cb-container:last-child { padding-inline: var(--cb-edge); }
  .cb-ev-blocks__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin: 40px auto 0; padding: 0 var(--cb-edge); }
  .cb-ev-block { width: auto; gap: 8px; }
  .cb-ev-block__media { height: 400px; padding-top: 28px; }
  .cb-ev-block__screen { width: 84.4%; }
  .cb-ev-block__h { margin-top: 10px; font-size: 19px; }
  .cb-ev-block__p { font-size: 16px; line-height: 1.55; }
  .cb-ev-blocks__more { gap: 10px; margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--global-palette7); }
  .cb-ev-blocks__lbl { font-size: 15px; }
  .cb-ev-chip { font-size: 14px; padding: 6px 12px; }
  .cb-ev-blocks__cta { margin-left: auto; }
}
@media (min-width: 1025px) {
  .cb-ev-blocks { padding: 112px 0; }
  .cb-ev-blocks__list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cb-ev-block__screen { width: 238px; }
}

/* ---------- D Niezbędnik dla gości ---------- */
.cb-ev-guide__grid { display: flex; flex-direction: column; }
.cb-ev-guide__text { display: contents; }
.cb-ev-guide__h { order: -1; }
.cb-ev-guide__media { display: block; margin-top: 16px; }
.cb-ev-guide__media img { width: 100%; }
.cb-ev-guide__p { margin-top: 16px; font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
.cb-ev-guide__p b { color: var(--global-palette3); }
.cb-ev-qs { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; line-height: normal; }
.cb-ev-qs li { font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: var(--cb-r-pill); background: var(--global-palette9); color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-ev-guide { padding: 88px 0; }
  .cb-ev-guide__text { display: flex; flex-direction: column; }
  .cb-ev-guide__h { order: 0; margin-top: 12px; font-size: 44px; line-height: 1.12; }
  .cb-ev-guide__media { margin-top: 0; max-width: 658px; }
  .cb-ev-guide__grid { gap: 48px; }
  .cb-ev-guide__text .cb-ev-points { margin-top: 24px; }
  .cb-ev-qs { margin-top: 4px; padding-left: 60px; }
  .cb-ev-qs li { font-size: 14px; }
}
@media (min-width: 1025px) {
  .cb-ev-guide { padding: 104px 0; }
  .cb-ev-guide__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 72px; align-items: center; }
  .cb-ev-guide__text .cb-eyebrow { line-height: normal; }
}

/* ---------- E Wygląd strony (K29 tel., 4 szablony komp.) ---------- */
.cb-ev-looks__tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; margin-top: 20px; background: var(--global-palette4); }
.cb-ev-looks__tabs .cb-tab { font-size: 13px; color: var(--global-palette9); padding: 0; }
.cb-ev-looks__tabs .cb-tab[aria-selected="true"] { background: var(--global-palette9); color: var(--global-palette3); }
@media (hover: hover) and (pointer: fine) { .cb-ev-looks__tabs .cb-tab[aria-selected="false"]:hover { background: var(--global-palette3); } }
.cb-ev-theme__arch { margin-top: 14px; height: 220px; background: var(--global-palette4); border-radius: 150px 150px 20px 20px; overflow: hidden; display: flex; justify-content: center; padding-top: 32px; }
.cb-ev-theme__screen { width: 205px; flex: none; }
.cb-ev-looks__note { margin-top: 18px; font-size: 16px; line-height: 1.55; color: var(--global-palette6); }
.cb-ev-looks__note b { color: var(--global-palette9); }
@media (min-width: 768px) {
  .cb-ev-looks__heading { display: flex; flex-direction: column; gap: 12px; }
  .cb-ev-looks__lead { font-size: 19px; color: var(--global-palette6); }
  .cb-ev-looks__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; margin-top: 48px; }
  .cb-ev-theme, .cb-ev-theme[hidden] { display: flex !important; flex-direction: column; gap: 6px; }
  .cb-ev-theme__arch { margin-top: 0; height: 400px; border-radius: 141px 141px 20px 20px; padding-top: 40px; }
  .cb-ev-theme__screen { width: 238px; }
  .cb-ev-theme__h { margin-top: 12px; font-size: 19px; font-weight: 600; line-height: normal; color: var(--global-palette9); }
  .cb-ev-theme__p { font-size: 15px; line-height: 1.5; color: var(--global-palette6); }
  .cb-ev-desktop { display: flex; flex-direction: column; gap: 48px; margin-top: 48px; border-top: 1px solid var(--global-palette4); padding-top: 56px; }
  .cb-ev-desktop__h { margin: 0 0 8px; font: 400 32px/1.2 var(--cb-serif); color: var(--global-palette9); }
  .cb-ev-browser { border-radius: 16px; overflow: hidden; background: var(--global-palette4); box-shadow: 0 0 0 1px var(--global-palette4); }
  .cb-ev-browser__bar { height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 16px; }
  .cb-ev-browser__bar > span:not(.cb-ev-browser__url) { width: 11px; height: 11px; border-radius: 99px; background: var(--global-palette5); }
  .cb-ev-browser__url { margin-left: 16px; flex: 1 1 0%; max-width: 320px; height: 24px; border-radius: var(--cb-r-pill); background: var(--global-palette3); display: flex; align-items: center; padding: 0 12px; font: 12px var(--cb-mono); color: var(--global-palette6); }
  .cb-ev-browser img { width: 100%; }
}
@media (min-width: 1025px) {
  .cb-ev-looks__heading .cb-eyebrow { line-height: normal; }
  .cb-ev-looks__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cb-ev-desktop { display: grid; grid-template-columns: 5fr 7fr; gap: 72px; align-items: center; }
}

/* ---------- F Zmiany bez chaosu ---------- */
.cb-ev-change__p { margin-top: 12px; font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
.cb-ev-change__card { margin-top: 18px; border-radius: var(--cb-r-md); box-shadow: inset 0 0 0 1px var(--global-palette7); padding: 4px 18px; }
.cb-ev-change__row { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 14px 0; align-items: baseline; line-height: normal; }
.cb-ev-change__time { display: flex; flex-direction: column; }
.cb-ev-change__time s { font-size: 14px; color: var(--global-palette5); }
.cb-ev-change__new { font: 400 24px/1.1 var(--cb-serif); color: var(--global-palette2); }
.cb-ev-change__plain { font: 400 36px/1.1 var(--cb-serif); color: var(--global-palette3); }
.cb-ev-change__what { display: flex; flex-direction: column; gap: 6px; }
.cb-ev-change__name { font-size: 16px; font-weight: 600; color: var(--global-palette3); }
.cb-ev-change__tag { align-self: flex-start; font-size: 13px; font-weight: 600; padding: 4px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette7); color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-ev-change { padding: 88px 0; }
  .cb-ev-change__text { display: flex; flex-direction: column; gap: 16px; }
  .cb-ev-change__p { margin-top: 0; font-size: 19px; }
  .cb-ev-change__card { margin-top: 48px; border-radius: 24px; padding: 8px 36px; }
  .cb-ev-change__row { grid-template-columns: 120px minmax(0, 1fr) auto; gap: 24px; padding: 24px 0; align-items: center; }
  .cb-ev-change__row:first-child { border-bottom: 1px solid var(--global-palette7); }
  .cb-ev-change__time s { font-size: 16px; }
  .cb-ev-change__new { font-size: 36px; }
  .cb-ev-change__what { display: contents; }
  .cb-ev-change__name { font-size: 20px; }
  .cb-ev-change__tag { padding: 6px 12px; }
}
@media (min-width: 1025px) {
  .cb-ev-change { padding: 104px 0; }
  .cb-ev-change__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: center; }
  .cb-ev-change__card { margin-top: 0; }
}

/* ---------- G Cena (K33 + K15-S) ---------- */
.cb-ev-price__lead-m { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-ev-price__grid { margin-top: 20px; }
.cb-ev-bundle { background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-md); padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.cb-ev-bundle__top { display: contents; }
.cb-ev-bundle__badge { order: -1; align-self: flex-start; font-size: 13px; font-weight: 600; line-height: normal; padding: 6px 12px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; }
.cb-ev-bundle__name { font-size: 20px; font-weight: 600; line-height: normal; }
.cb-ev-bundle__price { display: flex; align-items: baseline; gap: 8px; line-height: normal; }
.cb-ev-bundle__from { font-size: 17px; font-weight: 600; color: var(--global-palette6); }
.cb-ev-bundle__price .cb-price { font-size: 48px; letter-spacing: -.02em; }
.cb-ev-bundle__save { font-size: 14px; line-height: 1.45; padding: 10px 12px; border-radius: 12px; background: var(--global-palette4); color: var(--global-palette9); }
.cb-ev-pkgs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 20px; }
.cb-ev-pkgs__head { grid-column: 1 / -1; margin-bottom: 2px; }
.cb-ev-pkgs__title { display: block; font-size: 17px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-ev-pkg { background: var(--global-palette9); border-radius: 14px; padding: 12px 14px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "n p" "d d"; column-gap: 6px; row-gap: 4px; align-items: baseline; line-height: normal; }
.cb-ev-pkg__n { grid-area: n; justify-self: start; font-size: 15px; font-weight: 600; color: var(--global-palette3); }
.cb-ev-pkg__p { grid-area: p; display: flex; align-items: baseline; gap: 3px; }
.cb-ev-pkg__p .cb-price { font-size: 26px; letter-spacing: -.02em; color: var(--global-palette3); }
.cb-ev-pkg__d { grid-area: d; font-size: 13px; color: var(--global-palette5); }
.cb-ev-pkgs__actions { display: contents; }
.cb-ev-pkgs__cta { display: flex; align-items: center; justify-content: center; border-radius: 14px; box-shadow: inset 0 0 0 1.5px var(--global-palette3); color: var(--global-palette3); font-weight: 600; font-size: 15px; line-height: 1.3; text-decoration: none; text-align: center; padding: 8px; transition: transform 120ms ease-out, background-color 160ms ease-out; }
.cb-ev-pkgs__cta:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .cb-ev-pkgs__cta:hover { background: var(--global-palette7); } }
.cb-ev-pkgs__all { font-size: 16px; line-height: normal; }
@media (min-width: 768px) {
  .cb-ev-price__heading { display: flex; flex-direction: column; gap: 12px; }
  .cb-ev-price__lead { font-size: 19px; }
  .cb-ev-price__grid { display: flex; flex-direction: column; gap: 24px; margin-top: 48px; }
  .cb-ev-bundle { padding: 36px; gap: 18px; }
  .cb-ev-bundle__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .cb-ev-bundle__badge { order: 0; flex: none; }
  .cb-ev-bundle__name { font-size: 22px; }
  .cb-ev-bundle__desc { font-size: 15px; line-height: 1.5; color: var(--global-palette6); }
  .cb-ev-bundle__from { font-size: 18px; }
  .cb-ev-bundle__price .cb-price { font-size: 64px; }
  .cb-ev-bundle__once { margin-top: -10px; font-size: 14px; line-height: normal; color: var(--global-palette6); }
  .cb-ev-bundle__save { font-size: 15px; padding: 12px 14px; }
  .cb-ev-bundle__list { margin: 0; padding: 18px 0 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.45; border-top: 1px solid var(--global-palette4); flex: 1 1 0%; }
  .cb-ev-bundle__list li { display: flex; gap: 10px; }
  .cb-ev-bundle__list svg { margin-top: 1px; }
  .cb-ev-pkgs { display: flex; flex-direction: column; gap: 0; margin-top: 0; background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 12px 36px 28px; }
  .cb-ev-pkgs__head, .cb-ev-pkg { display: grid; grid-template-columns: minmax(0, 1fr) 200px 120px; grid-template-areas: none; gap: 24px; }
  .cb-ev-pkgs__head { margin: 0; padding: 20px 0 14px; border-bottom: 1px solid var(--global-palette6); align-items: end; }
  .cb-ev-pkgs__title { font-size: 22px; }
  .cb-ev-pkgs__lbl { font-size: 14px; line-height: normal; color: var(--global-palette5); }
  .cb-ev-pkgs__lbl--r { text-align: right; }
  .cb-ev-pkg { background: none; border-radius: 0; padding: 16px 0; border-bottom: 1px solid var(--global-palette7); align-items: center; }
  .cb-ev-pkg__n, .cb-ev-pkg__d, .cb-ev-pkg__p { grid-area: auto; }
  .cb-ev-pkg__n { justify-self: stretch; font-size: 19px; }
  .cb-ev-pkg__d { font-size: 16px; color: var(--global-palette4); }
  .cb-ev-pkg__p { justify-content: flex-end; gap: 6px; }
  .cb-ev-pkg__p .cb-price { font-size: 36px; }
  .cb-ev-pkgs__actions { display: flex; gap: 20px; align-items: center; margin-top: 24px; }
  .cb-ev-pkgs__cta { height: 52px; padding: 0 28px; border-radius: var(--cb-r-pill); font-size: 16px; line-height: normal; }
}
@media (min-width: 1025px) {
  .cb-ev-price__head { gap: 80px; }
  .cb-ev-price__heading .cb-eyebrow { line-height: normal; }
  .cb-ev-price__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 24px; align-items: stretch; }
}

/* ---------- H Opinie (wariant K14 z 01) ---------- */
.cb-ev-reviews .cb-reviews__head { gap: 12px; }
.cb-ev-reviews .cb-reviews__count { flex: none; }
.cb-ev-reviews .cb-review { padding: 18px 20px; }
.cb-ev-reviews .cb-review blockquote { font-size: 16px; }
@media (min-width: 768px) {
  .cb-ev-reviews .cb-reviews__list { margin-top: 48px; }
  .cb-ev-reviews .cb-review { min-height: 260px; padding: 24px; }
  .cb-ev-reviews .cb-review blockquote { font-size: 18px; color: var(--global-palette5); }
  .cb-ev-reviews .cb-reviews__source { margin-top: 24px; }
}
@media (min-width: 1025px) {
  .cb-ev-reviews { padding: 104px 0; }
  .cb-ev-reviews .cb-review { padding: 32px; }
  .cb-ev-reviews .cb-review blockquote { font-size: 22px; }
}

/* ---------- I FAQ (wariant K17 z 01) ---------- */
.cb-ev-faq .cb-faq__intro .cb-h2 { margin-bottom: 16px; }
.cb-ev-faq .cb-acc__btn { padding: 10px 0; }
.cb-ev-faq .cb-acc__panel p { margin-bottom: 14px; }
@media (min-width: 768px) {
  .cb-ev-faq .cb-faq__intro .cb-h2 { margin-bottom: 0; }
  .cb-ev-faq .cb-acc__btn { padding: 22px 0; }
  .cb-ev-faq .cb-acc__panel p { margin-bottom: 24px; }
}

/* ---------- J Końcowe CTA (wariant K18 z 01) ---------- */
.cb-ev-final .cb-final__text { padding: 44px 20px; }
.cb-ev-final .cb-textlink { gap: normal; }
@media (min-width: 768px) {
  .cb-ev-final .cb-final__text { padding: 64px 48px; }
  .cb-ev-final .cb-final__h { max-width: 13em; }
  .cb-ev-final .cb-final__p { font-size: 19px; line-height: 1.55; max-width: 30em; }
}
@media (min-width: 1025px) {
  .cb-ev-final .cb-final__text { padding: 80px; }
  .cb-ev-final__media { background: var(--global-palette4); display: flex; justify-content: center; padding-top: 64px; overflow: hidden; height: 480px; }
  .cb-ev-final__screen { width: 246px; flex: none; }
}

/* Telefon < 375 (np. 360): kafel pakietu ma 128 px treści — „Standard” + „149 zł” się nie mieszczą; cena schodzi pod nazwę */
@media (max-width: 374px) {
  .cb-ev-pkg { grid-template-columns: minmax(0, 1fr); grid-template-areas: "n" "p" "d"; }
}
/* =============================================================================
   04 CENNIK — sekcje A–F (ramki „04 Cennik”: telefon 390, komputer 1440)
   + komponenty cennika używane też na innych stronach: K15 „wiersze”, K15 karty, K15-Z, K33, K34, K35
   ============================================================================= */

/* Element bez własnego pudełka, który niesie atrybuty ceny z API wewnątrz zdania (np. „od 49 zł”) */
.cb-contents { display: contents; }
/* Nagłówek H2 28 px na telefonie (ramki cennika; sekcje główne mają 32) */
@media (max-width: 767px) { .cb-h2--28 { font-size: 28px; } }
/* Stopka: bieżąca strona pogrubiona (Footer Builder: current-menu-item) */
.cb-page-cennik .cb-footer a[href="cennik.html"] { font-weight: 600; }

/* ---------- A Hero + model płatności (K35) ---------- */
.cb-ph-hero { padding: 16px 0 24px; }
.cb-ph-hero__lead { margin-top: 12px; }
.cb-paymodel { margin: 20px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb-paymodel li { background: var(--global-palette8); border-radius: 14px; padding: 12px 10px; display: flex; flex-direction: column; gap: 4px; }
.cb-paymodel__meta { display: contents; }
.cb-paymodel__k { order: -1; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--global-palette2); line-height: 1.25; }
.cb-paymodel__v { font: 400 24px/1.1 var(--cb-serif); letter-spacing: -.02em; font-variant-numeric: lining-nums tabular-nums; white-space: nowrap; color: var(--global-palette3); }
.cb-paymodel__t { font-size: 13px; line-height: 1.35; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-ph-hero { padding: 48px 0 88px; }
  .cb-ph-hero__h1 { margin-top: 16px; max-width: 13em; }
  .cb-ph-hero__lead { margin-top: 24px; max-width: 30em; }
  .cb-paymodel { display: block; margin-top: 40px; max-width: 560px; background: var(--global-palette8); border-radius: 24px; padding: 8px 32px; }
  .cb-paymodel li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: center; padding: 20px 0; border-radius: 0; background: none; border-bottom: 1px solid var(--global-palette7); }
  .cb-paymodel li:last-child { border-bottom: 0; } /* R19: po usunięciu wiersza „Potem” linia pod ostatnim wierszem wisiała w pustce */
  .cb-paymodel__meta { display: flex; flex-direction: column; gap: 2px; }
  .cb-paymodel__k { font-size: 12px; letter-spacing: .06em; line-height: normal; }
  .cb-paymodel__v { font-size: 40px; line-height: 1; }
  .cb-paymodel__t { font-size: 16px; line-height: 1.45; }
}
@media (min-width: 1025px) {
  .cb-ph-hero { padding: 56px 0 88px; }
  .cb-ph-hero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: end; }
  .cb-ph-hero__h1 { font-size: 64px; }
  .cb-paymodel { margin-top: 0; max-width: none; }
}

/* ---------- B Kategorie i pakiety (K34 + K15) ---------- */
.cb-pkgs { padding: 28px 0; }
.cb-cattabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; padding: 4px; border-radius: 22px; background: var(--global-palette7); margin-top: 16px; }
.cb-cattab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 60px; padding: 6px 4px; border-radius: 18px; color: var(--global-palette3); text-align: center; transition: background-color 160ms ease-out, color 160ms ease-out; }
.cb-cattab__t { font: 600 14px/1.2 var(--cb-sans); }
.cb-cattab__s { font: 400 12px/1.2 var(--cb-sans); color: var(--global-palette4); }
.cb-cattab[aria-selected="true"] { background: var(--global-palette3); color: var(--global-palette9); }
.cb-cattab[aria-selected="true"] .cb-cattab__s { color: var(--global-palette6); }
@media (hover: hover) and (pointer: fine) { .cb-cattab[aria-selected="false"]:hover { background: var(--global-palette8); } }
.cb-pkgs__panel[hidden] { display: none; }
.cb-pkgs__hint { display: flex; gap: 12px; align-items: center; margin-top: 14px; font-size: 14px; line-height: 1.5; color: var(--global-palette3); }
.cb-pkgs__ico { width: 36px; height: 36px; flex: none; border-radius: var(--cb-r-pill); background: var(--global-palette9); display: flex; align-items: center; justify-content: center; }
.cb-pkgs__ico svg { width: 18px; height: 18px; }
.cb-pkgs__hintt b { font-weight: 600; }
.cb-pkgs__panel .cb-pkg-rows { margin-top: 16px; }
.cb-pkgs__panel .cb-pkg-cards { display: none; }
.cb-pkgs__foot { margin-top: 16px; }
@media (min-width: 768px) {
  .cb-pkgs { padding: var(--cb-section) 0; }
  .cb-pkgs__lead { margin-top: 20px; font-size: 19px; line-height: 1.55; color: var(--global-palette4); }
  .cb-cattabs { display: inline-flex; border-radius: var(--cb-r-pill); margin-top: 36px; }
  .cb-cattab { padding: 0 28px; border-radius: var(--cb-r-pill); }
  .cb-cattab__t { font-size: 16px; }
  .cb-cattab__s { font-size: 13px; }
  .cb-pkgs__hint { gap: 14px; align-items: flex-start; margin-top: 24px; font-size: 16px; }
  .cb-pkgs__ico { width: 44px; height: 44px; }
  .cb-pkgs__ico svg { width: 20px; height: 20px; }
  .cb-pkgs__hintt { display: flex; flex-direction: column; gap: 2px; }
  .cb-pkgs__guide { color: var(--global-palette4); }
  .cb-pkgs__panel .cb-pkg-rows { margin-top: 24px; }
  .cb-pkgs__foot { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 36px; border-top: 1px solid var(--global-palette6); padding-top: 28px; }
  .cb-pkgs__micro { align-items: center; font-size: 15px; line-height: normal; }
  .cb-pkgs__micro svg { margin-top: 0; }
  .cb-pkgs__more { margin-left: auto; font-size: 16px; line-height: normal; }
}
@media (min-width: 1025px) {
  .cb-pkgs { padding: 96px 0; }
  .cb-pkgs__head { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-pkgs__lead { margin-top: 0; }
  .cb-pkgs__body { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 48px; row-gap: 36px; align-items: center; margin-top: 36px; }
  .cb-cattabs { margin-top: 0; }
  .cb-pkgs__panel { display: contents; }
  .cb-pkgs__hint { margin-top: 0; }
  .cb-pkgs__panel .cb-pkg-rows { display: none; }
  .cb-pkgs__panel .cb-pkg-cards { display: grid; grid-column: 1 / -1; }
}

/* K15 „wiersze” — telefon i kolumny węższe niż 600 */
.cb-pkg-rows { background: var(--global-palette9); border-radius: var(--cb-r-md); overflow: hidden; box-shadow: inset 0 0 0 1px var(--global-palette7); color: var(--global-palette3); }
.cb-pkg-rows__head { display: flex; justify-content: space-between; gap: 12px; padding: 12px 18px 10px; border-bottom: 1px solid var(--global-palette7); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette5); line-height: normal; }
.cb-pkg-row { padding: 12px 18px; border-bottom: 1px solid var(--global-palette7); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.cb-pkg-row__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.cb-pkg-row__name { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cb-pkg-row__n { font-size: 18px; font-weight: 600; line-height: 1.2; }
.cb-pkg-row__spec { font-size: 14px; line-height: 1.35; color: var(--global-palette4); }
.cb-pkg-row__hint { font-size: 13px; line-height: 1.35; font-weight: 600; color: var(--global-palette2); }
.cb-pkg-row__price { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.cb-pkg-row__was { font-size: 13px; line-height: normal; color: var(--global-palette5); white-space: nowrap; }
.cb-pkg-row__p { font-size: 30px; letter-spacing: -.01em; }
.cb-pkg .cb-badge { display: none; }
.cb-pkg-row.cb-featured { background: var(--global-palette3); color: var(--global-palette9); padding: 12px 18px 14px; display: flex; flex-direction: column; gap: 8px; border-bottom: 0; }
.cb-pkg-row.cb-featured .cb-badge { display: inline-flex; align-self: flex-start; font-size: 12px; font-weight: 600; line-height: 1.2; padding: 5px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; }
.cb-pkg-row.cb-featured .cb-pkg-row__spec, .cb-pkg-row.cb-featured .cb-pkg-row__was { color: var(--global-palette6); }
.cb-pkg-row.cb-featured .cb-pkg-row__hint { color: var(--global-palette9); }

/* K15 karty — komputer (5 kol.) */
.cb-pkg-cards { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; align-items: stretch; padding-top: 16px; color: var(--global-palette3); }
.cb-pkg-card { position: relative; background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 30px 22px 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: inset 0 0 0 1px var(--global-palette7); line-height: normal; }
.cb-pkg-card__top { display: flex; flex-direction: column; gap: 4px; }
.cb-pkg-card__n { font-size: 20px; font-weight: 600; }
.cb-pkg-card__hint { font-size: 14px; line-height: 1.4; font-weight: 600; color: var(--global-palette2); }
.cb-pkg-card__pr { display: flex; flex-direction: column; gap: 6px; }
.cb-pkg-card__was { font-size: 15px; color: var(--global-palette5); }
.cb-pkg-card__p { font-size: 40px; letter-spacing: -.015em; }
.cb-pkg-card__once { font-size: 13px; color: var(--global-palette5); }
.cb-pkg-card__spec { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--global-palette7); padding-top: 14px; font-size: 14px; line-height: 1.45; color: var(--global-palette4); flex: 1 1 0%; }
.cb-pkg-card__spec b { font-size: 17px; font-weight: 600; color: var(--global-palette3); }
.cb-pkg-card__save { align-self: flex-start; font-size: 13px; font-weight: 600; padding: 6px 12px; border-radius: var(--cb-r-pill); background: var(--global-palette7); color: var(--global-palette3); }
.cb-pkg-card__ext { font-size: 13px; line-height: 1.4; color: var(--global-palette5); }
.cb-pkg-card.cb-featured { background: var(--global-palette3); color: var(--global-palette9); box-shadow: none; }
.cb-pkg-card.cb-featured .cb-badge { display: inline-flex; position: absolute; top: -14px; left: 22px; font-size: 13px; font-weight: 600; line-height: 1.2; padding: 6px 12px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; white-space: nowrap; }
.cb-pkg-card.cb-featured .cb-pkg-card__hint { color: var(--global-palette9); }
.cb-pkg-card.cb-featured .cb-pkg-card__was, .cb-pkg-card.cb-featured .cb-pkg-card__once, .cb-pkg-card.cb-featured .cb-pkg-card__ext { color: var(--global-palette6); }
.cb-pkg-card.cb-featured .cb-pkg-card__spec { border-top-color: var(--global-palette4); color: var(--global-palette6); }
.cb-pkg-card.cb-featured .cb-pkg-card__spec b { color: var(--global-palette9); }
.cb-pkg-card.cb-featured .cb-pkg-card__save { background: var(--global-palette9); }

/* ---------- C W każdym pakiecie ---------- */
.cb-every { padding: 28px 0; }
.cb-every__lead { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-every__h { margin: 14px 0 8px; font-size: 16px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-checks { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; }
.cb-checks li { display: flex; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--global-palette4); }
.cb-checks svg { width: 16px; height: 16px; margin-top: 2px; stroke-width: 2.2; }
.cb-checks__wide { grid-column: span 2; }
@media (min-width: 768px) {
  .cb-every { padding: var(--cb-section) 0; }
  .cb-every__intro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
  .cb-every__lead { margin-top: 0; font-size: 19px; line-height: 1.55; }
  .cb-every__lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
  .cb-every__col { display: flex; flex-direction: column; }
  .cb-every__h { margin: 0 0 6px; font-size: 21px; }
  .cb-checks { display: flex; flex-direction: column; gap: 0; }
  .cb-checks li { gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--global-palette7); font-size: 17px; }
  .cb-checks svg { width: 20px; height: 20px; margin-top: 1px; stroke-width: 2; }
  .cb-every__note { margin-top: 16px; font-size: 15px; line-height: 1.5; color: var(--global-palette5); }
}
@media (min-width: 1025px) {
  .cb-every { padding: 104px 0; }
  .cb-every__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-every__intro { margin-bottom: 0; }
}

/* ---------- D Pakiet z oszczędnością (K33) + przedłużenie ---------- */
.cb-save { padding: 28px 0; }
.cb-save__deal { background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-md); padding: 20px; display: flex; flex-direction: column; gap: 12px; }
.cb-save__badge { align-self: flex-start; font-size: 13px; font-weight: 600; line-height: normal; padding: 6px 12px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; }
.cb-save__h { font-size: 26px; line-height: 1.15; }
.cb-eq { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; font-size: 15px; line-height: 1.4; font-variant-numeric: lining-nums tabular-nums; }
.cb-eq__item, .cb-eq__final { display: contents; }
.cb-eq__l { color: var(--global-palette6); }
.cb-eq__v { text-align: right; white-space: nowrap; }
.cb-eq__sum { color: var(--global-palette6); text-decoration: line-through; }
.cb-eq__op { display: none; }
.cb-eq__line { grid-column: span 2; border-top: 1px solid var(--global-palette4); margin: 4px 0; }
.cb-eq__fl { font-weight: 600; align-self: center; }
.cb-eq__fv { display: flex; align-items: baseline; gap: 4px; justify-content: flex-end; }
.cb-eq__price { font-size: 40px; letter-spacing: -.02em; }
.cb-save__note { font-size: 14px; line-height: 1.45; padding: 10px 12px; border-radius: 12px; background: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-save { padding: var(--cb-section) 0; }
  .cb-save__grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
  .cb-save__deal { border-radius: 24px; padding: 44px; gap: 24px; }
  .cb-save__h { font-size: 44px; line-height: 1.1; }
  .cb-eq { grid-template-columns: auto auto auto auto auto minmax(0, 1fr); gap: 20px; align-items: end; }
  .cb-eq__item { display: flex; flex-direction: column; gap: 6px; }
  .cb-eq__l { font-size: 14px; line-height: normal; }
  .cb-eq__v { font: 400 36px/1 var(--cb-serif); text-align: left; }
  .cb-eq__sum { text-decoration-thickness: 2px; }
  .cb-eq__op { display: block; font: 400 30px/1.1 var(--cb-serif); color: var(--global-palette6); }
  .cb-eq__line { display: none; }
  .cb-eq__final { display: flex; flex-direction: column; gap: 6px; justify-self: end; align-items: flex-end; }
  .cb-eq__fl { font-size: 14px; line-height: normal; align-self: auto; }
  .cb-eq__fv { gap: 6px; line-height: normal; }
  .cb-eq__price { font-size: 64px; }
  .cb-save__note { font-size: 16px; line-height: 1.5; padding: 14px 16px; border-radius: 14px; }
  .cb-save__btn { align-self: flex-start; }
  .cb-save__renew { background: var(--global-palette9); border-radius: 24px; padding: 44px; display: flex; flex-direction: column; gap: 16px; }
  .cb-save__rh { font: 400 32px/1.15 var(--cb-serif); letter-spacing: -.01em; color: var(--global-palette3); }
  .cb-save__rp { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
  .cb-save__rows { display: flex; flex-direction: column; margin-top: auto; border-top: 1px solid var(--global-palette7); }
  .cb-save__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--global-palette7); line-height: normal; }
  .cb-save__rn { display: flex; flex-direction: column; gap: 2px; }
  .cb-save__rname { font-size: 18px; font-weight: 600; color: var(--global-palette3); }
  .cb-save__rdesc { font-size: 14px; color: var(--global-palette5); }
  .cb-save__rv { display: flex; align-items: baseline; gap: 4px; }
  .cb-save__rprice { font-size: 40px; color: var(--global-palette3); }
}
@media (min-width: 1025px) {
  .cb-save { padding: 104px 0; }
  .cb-save__grid { grid-template-columns: 7fr 5fr; align-items: stretch; }
}

/* ---------- E FAQ cennika (K17) ---------- */
.cb-pfaq { padding: 28px 0 32px; }
.cb-pfaq__intro .cb-h2 { margin-bottom: 12px; }
.cb-pfaq .cb-acc__btn { padding: 11px 0; }
.cb-pfaq .cb-acc__panel p { margin-bottom: 14px; }
@media (min-width: 768px) {
  .cb-pfaq { padding: var(--cb-section) 0; }
  .cb-pfaq__intro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
  .cb-pfaq__intro .cb-h2 { margin-bottom: 0; }
  .cb-pfaq__contact { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
  .cb-pfaq .cb-acc__btn { padding: 22px 0; }
  .cb-pfaq .cb-acc__panel p { margin-bottom: 24px; }
}
@media (min-width: 1025px) {
  .cb-pfaq__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-pfaq__intro { margin-bottom: 0; }
}

/* ---------- F Końcowe CTA (K18, wariant cennika) ---------- */
.cb-pfinal .cb-final__text { padding: 36px 20px; gap: 14px; }
.cb-pfinal .cb-final__h { font-size: 30px; }
.cb-pfinal .cb-final__actions { gap: 14px; margin-top: 6px; }
.cb-pfinal__micro { font-size: 14px; line-height: normal; color: var(--global-palette6); }
@media (min-width: 768px) {
  .cb-pfinal .cb-final__text { padding: 64px 48px; gap: 24px; }
  .cb-pfinal .cb-final__h { font-size: 48px; max-width: 13em; }
  .cb-pfinal .cb-final__p { font-size: 19px; line-height: 1.55; max-width: 30em; }
  .cb-pfinal .cb-final__actions { gap: 20px; margin-top: 8px; }
}
@media (min-width: 1025px) {
  .cb-pfinal .cb-final__text { padding: 80px; }
  .cb-pfinal .cb-final__h { font-size: 56px; }
  .cb-pfinal__img { width: 100%; height: auto; align-self: start; }
}

/* poprawki po odbiorze (inwentarz) */
.cb-pkg-row.cb-featured { align-items: stretch; }
@media (max-width: 767px) { .cb-pkgs__hintt { display: contents; } }
.cb-pfinal .cb-textlink { gap: normal; }

/* =============================================================================
   SEKCJA CENNIKA — wzorce do innych stron (ramka „Sekcja cennika” w kanwie 04):
   K15-G (Galeria QR, sekcja G), K15-S + K33 (Strona wydarzenia, sekcja G), K15-Z (zajawka)
   ============================================================================= */
.cb-ps-intro__h { margin-top: 12px; }
.cb-ps-intro__p { margin-top: 16px; max-width: 46em; }

.cb-ps { padding: 48px 0; }
.cb-ps__h { margin-top: 12px; font-size: 30px; line-height: 1.15; }
.cb-ps__lead { margin-top: 10px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-ps__lead + .cb-ps__lead { margin-top: 8px; }
.cb-ps__list { margin-top: 20px; }
.cb-ps__list .cb-pkg-cards { display: none; }
.cb-ps-bundle { margin-top: 12px; display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-radius: var(--cb-r-md); background: var(--global-palette9); color: var(--global-palette3); text-decoration: none; box-shadow: inset 0 0 0 1px var(--global-palette7); }
.cb-ps-bundle__t { display: flex; flex-direction: column; gap: 2px; font-size: 14px; line-height: 1.45; color: var(--global-palette4); }
.cb-ps-bundle__t b { font-size: 16px; color: var(--global-palette3); }
.cb-ps-bundle svg { margin-left: auto; }
.cb-ps__foot { margin-top: 20px; display: flex; flex-direction: column; gap: 4px; }
.cb-ps__all { display: flex; align-items: center; justify-content: center; min-height: 44px; font-size: 15px; font-weight: 600; color: var(--global-palette3); }
.cb-ps__split { margin-top: 20px; }
.cb-ps__left .cb-ps__foot { margin-top: 0; }
.cb-ps__left .cb-pkg-rows + .cb-ps__foot { margin-top: 20px; }
.cb-k33m { margin-top: 12px; background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-md); padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.cb-k33m__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; line-height: normal; }
.cb-k33m__t { font-size: 17px; font-weight: 600; }
.cb-k33m__badge { font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; }
.cb-k33m__pr { display: flex; align-items: baseline; gap: 6px; line-height: normal; }
.cb-k33m__from { font-size: 15px; font-weight: 600; color: var(--global-palette6); }
.cb-k33m__price { font-size: 40px; letter-spacing: -.02em; }
.cb-k33m__x { margin-left: auto; font-size: 13px; color: var(--global-palette6); }
.cb-k33m__btn { height: 48px; font-size: 15px; }
/* tel.: w K15-S przycisk główny stoi pod K33 — kolejność z ramki */
@media (max-width: 767px) {
  .cb-ps__split { display: flex; flex-direction: column; }
  .cb-ps__left { display: contents; }
  .cb-ps__left .cb-ps__foot { order: 2; margin-top: 20px; }
  .cb-k33m { order: 1; }
}

/* K15-Z — zajawka */
.cb-psz { padding: 48px 0; }
.cb-psz__rows { margin-top: 20px; border-radius: var(--cb-r-md); box-shadow: inset 0 0 0 1px var(--global-palette7); overflow: hidden; }
.cb-psz__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 18px; border-bottom: 1px solid var(--global-palette7); color: var(--global-palette3); text-decoration: none; }
.cb-psz__name { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cb-psz__nt { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; line-height: normal; }
.cb-psz__n { font-size: 18px; font-weight: 600; }
.cb-psz__badge { font-size: 12px; font-weight: 600; padding: 4px 9px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; }
.cb-psz__d { font-size: 14px; line-height: 1.4; color: var(--global-palette4); }
.cb-psz__pr { display: flex; align-items: baseline; gap: 4px; white-space: nowrap; line-height: normal; }
.cb-psz__from { font-size: 13px; font-weight: 600; color: var(--global-palette4); }
.cb-psz__price { font-size: 30px; letter-spacing: -.01em; }
.cb-psz__note { margin-top: 12px; font-size: 14px; line-height: normal; color: var(--global-palette5); }
.cb-psz__foot { margin-top: 20px; display: flex; flex-direction: column; gap: 4px; }
.cb-psz__all { display: flex; align-items: center; justify-content: center; min-height: 44px; font-size: 16px; font-weight: 600; color: var(--global-palette3); }
@media (hover: hover) and (pointer: fine) { .cb-psz__row:hover, .cb-ps-bundle:hover { background: var(--global-palette8); } .cb-psz__card:not(.cb-psz__card--featured):hover { background: var(--global-palette8); } }

@media (min-width: 768px) {
  .cb-ps, .cb-psz { padding: var(--cb-section) 0; }
  .cb-ps__heading { display: flex; flex-direction: column; gap: 12px; }
  .cb-ps__h { margin-top: 0; font-size: var(--cb-h2); line-height: var(--cb-h2-lh); }
  .cb-ps__lead { margin-top: 20px; font-size: 19px; line-height: 1.55; }
  .cb-ps__list { margin-top: 36px; }
  .cb-ps__foot { flex-direction: row; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 36px; border-top: 1px solid var(--global-palette6); padding-top: 28px; }
  .cb-ps__also { font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
  .cb-ps__all { margin-left: auto; min-height: 0; font-size: 16px; line-height: normal; }
  .cb-ps__split { display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 40px; }
  .cb-ps__left { display: flex; flex-direction: column; gap: 20px; }
  .cb-ps__left .cb-pkg-rows + .cb-ps__foot { margin-top: 0; }
  .cb-ps__foot--plain { border-top: 0; padding-top: 0; gap: 20px; }
  .cb-ps__foot--plain .cb-ps__all { margin-left: 0; }
  .cb-k33 { background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-md); padding: 36px; display: flex; flex-direction: column; gap: 18px; }
  .cb-k33__t { font-size: 22px; font-weight: 600; line-height: normal; }
  .cb-k33__d { font-size: 15px; line-height: 1.5; color: var(--global-palette6); }
  .cb-k33__pr { display: flex; align-items: baseline; gap: 8px; line-height: normal; }
  .cb-k33__from { font-size: 18px; font-weight: 600; color: var(--global-palette6); }
  .cb-k33__price { font-size: 64px; letter-spacing: -.02em; }
  .cb-k33__note { font-size: 15px; line-height: 1.45; padding: 12px 14px; border-radius: 12px; background: var(--global-palette4); }
  .cb-k33__btn { margin-top: auto; }

  .cb-psz__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; margin-top: 40px; }
  .cb-psz__card { border-radius: var(--cb-r-md); padding: 24px; display: flex; flex-direction: column; gap: 16px; box-shadow: inset 0 0 0 1px var(--global-palette7); color: var(--global-palette3); text-decoration: none; line-height: normal; transition: background-color 160ms ease-out; }
  .cb-psz__card--featured { background: var(--global-palette3); color: var(--global-palette9); box-shadow: none; }
  .cb-psz__ctop { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
  .cb-psz__ctop .cb-save__badge { flex: none; }
  .cb-psz__ct { font-size: 22px; font-weight: 600; }
  .cb-psz__cd { font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
  .cb-psz__card--featured .cb-psz__cd, .cb-psz__card--featured .cb-psz__cfrom, .cb-psz__card--featured .cb-psz__once { color: var(--global-palette6); }
  .cb-psz__cp { display: flex; align-items: baseline; gap: 8px; margin-top: auto; }
  .cb-psz__cfrom { font-size: 18px; font-weight: 600; color: var(--global-palette4); }
  .cb-psz__cprice { font-size: 40px; letter-spacing: -.02em; }
  .cb-psz__once { font-size: 14px; color: var(--global-palette5); margin-top: -8px; }
  .cb-psz__cl { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 600; border-top: 1px solid var(--global-palette7); padding-top: 16px; }
  .cb-psz__card--featured .cb-psz__cl { border-top-color: var(--global-palette4); }
  .cb-psz__foot { flex-direction: row; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 40px; border-top: 1px solid var(--global-palette7); padding-top: 32px; }
  .cb-psz__ftext { margin-right: auto; font-size: 17px; line-height: 1.6; color: var(--global-palette4); max-width: 34em; }
  .cb-psz__all { order: 0; font-size: 16px; }
  .cb-psz__btn { order: 1; }
}
@media (min-width: 1025px) {
  .cb-ps, .cb-psz { padding: 96px 0; }
  .cb-ps__head { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-ps__lead { margin-top: 0; }
  .cb-ps__list .cb-pkg-rows { display: none; }
  .cb-ps__list .cb-pkg-cards { display: grid; }
  .cb-ps__split { grid-template-columns: 7fr 5fr; align-items: stretch; }
  .cb-psz__cards { gap: 24px; }
  .cb-psz__card { padding: 32px; }
  .cb-psz__cprice { font-size: 56px; }
}
/* =============================================================================
   05 WSPÓŁPRACA · STRONA PRAWNA · 404 (kanwa „05 Wspolpraca prawne 404”)
   ============================================================================= */

/* Stopka: bieżąca strona 600 (K21; nota 05 „pozycja bieżącej strony 600”) */
/* bieżąca strona w stopce: reguła w 00-base.css */

/* Kursywa tylko od tabletu — na telefonie ramka ma H2 bez kursywy (np. „Dla kogo jest program”) */
@media (max-width: 767px) { .cb-em-d { font-style: normal; display: contents; } }

/* H2 na tej stronie: tel. 28/1.15 (ramka), komp. 52 (skala) */
@media (max-width: 767px) { .cb-wsp-h2 { font-size: 28px; } }

/* ---------- A Hero + K36 ---------- */
.cb-wsp-hero { padding: 16px 0 32px; }
.cb-wsp-hero__text { display: flex; flex-direction: column; }
.cb-wsp-hero__h1 { margin-top: 10px; }
.cb-wsp-hero__lead { margin-top: 12px; font-size: 16px; }
@media (min-width: 768px) {
  .cb-wsp-hero { padding: 48px 0 88px; }
  .cb-wsp-hero__h1 { margin-top: 16px; max-width: 12em; }
  .cb-wsp-hero__lead { margin-top: 24px; font-size: var(--cb-lead); max-width: 30em; }
  .cb-wsp-hero__actions { display: flex; gap: 24px; align-items: center; margin-top: 32px; flex-wrap: wrap; }
  .cb-wsp-hero__mail { font-size: 16px; line-height: normal; color: var(--global-palette4); }
  .cb-commission { margin-top: 40px; max-width: 480px; }
}
@media (min-width: 1025px) {
  .cb-wsp-hero { padding: 56px 0 96px; }
  .cb-wsp-hero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: end; }
  .cb-wsp-hero__h1 { font-size: 64px; }
  .cb-commission { margin-top: 0; max-width: none; }
}
/* K36 karta prowizji */
.cb-commission { background: var(--global-palette8); border-radius: 24px; padding: 40px; display: flex; flex-direction: column; gap: 20px; }
.cb-commission__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette2); line-height: normal; }
.cb-commission__value { display: flex; align-items: baseline; gap: 12px; color: var(--global-palette3); }
.cb-commission__upto { font: 400 22px/1 var(--cb-serif); color: var(--global-palette4); }
.cb-commission__n { font: 400 120px/.9 var(--cb-serif); letter-spacing: -.03em; }
.cb-commission__desc { font-size: 17px; line-height: 1.5; color: var(--global-palette4); }
.cb-commission__cells { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--global-palette7); }
.cb-commission__cell { display: flex; flex-direction: column; gap: 2px; padding: 16px 16px 0 0; border-right: 1px solid var(--global-palette7); line-height: normal; }
.cb-commission__cell + .cb-commission__cell { padding: 16px 0 0 16px; border-right: 0; }
.cb-commission__cell b { font-size: 16px; color: var(--global-palette3); }
.cb-commission__cell span { font-size: 14px; color: var(--global-palette4); }

/* ---------- B Dla kogo ---------- */
.cb-wsp-who { padding: 32px 0; }
.cb-wsp-who__grid { margin: 16px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb-wsp-who__card { background: var(--global-palette9); border-radius: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.cb-wsp-who__t { font-size: 16px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-wsp-who__p { font-size: 13px; line-height: 1.4; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-wsp-who { padding: 88px 0; }
  .cb-wsp-who__lead { margin-top: 20px; font-size: 19px; line-height: 1.55; color: var(--global-palette4); }
  .cb-wsp-who__grid { margin-top: 48px; gap: 16px; }
  .cb-wsp-who__card { border-radius: var(--cb-r-md); padding: 32px; gap: 14px; }
  .cb-wsp-who__icon { width: 56px; height: 56px; border-radius: var(--cb-r-pill); background: var(--global-palette7); display: flex; align-items: center; justify-content: center; color: var(--global-palette3); }
  .cb-wsp-who__t { font-size: 19px; margin-top: 4px; }
  .cb-wsp-who__p { font-size: 16px; line-height: 1.55; }
}
@media (min-width: 1025px) {
  .cb-wsp-who { padding: 104px 0; }
  .cb-wsp-who__head { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-wsp-who__lead { margin-top: 0; }
  .cb-wsp-who__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- C Jak to działa (+ D Co dostajesz, barter) ---------- */
.cb-wsp-how { padding: 32px 0; }
.cb-wsp-steps { margin: 18px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-wsp-step { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding-bottom: 8px; }
.cb-wsp-step__n { width: 40px; height: 40px; border-radius: var(--cb-r-pill); background: var(--global-palette3); color: var(--global-palette9); display: flex; align-items: center; justify-content: center; font: 400 20px/1 var(--cb-serif); }
.cb-wsp-step__body { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; }
.cb-wsp-step__t { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-wsp-step__p { font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-wsp-get-m__h { margin: 10px 0 8px; font-size: 19px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-wsp-get-m__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.cb-wsp-get-m__list li { display: flex; gap: 10px; font-size: 15px; line-height: 1.45; color: var(--global-palette4); }
.cb-wsp-get-m__list svg { margin-top: 1px; }
.cb-wsp-get-m__list b, .cb-wsp-barter-m b { color: var(--global-palette3); }
.cb-wsp-barter-m { margin-top: 20px; background: var(--global-palette7); border-radius: 16px; padding: 14px 16px; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--global-palette4); }
.cb-wsp-barter-m__ico { flex: none; margin-top: 2px; }
.cb-wsp-barter-m__ico svg { margin-top: 1px; display: block; }
@media (min-width: 768px) {
  .cb-wsp-how { padding: 88px 0; }
  .cb-wsp-steps { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .cb-wsp-step { display: flex; flex-direction: column; gap: 12px; padding: 24px 0 0; border-top: 2px solid var(--global-palette3); }
  .cb-wsp-step__body { display: contents; }
  .cb-wsp-step__n { width: auto; height: auto; display: block; background: none; border-radius: 0; color: var(--global-palette2); font-size: 56px; }
  .cb-wsp-step__t { font-size: 21px; }
  .cb-wsp-step__p { font-size: 17px; line-height: 1.6; max-width: 28em; }
  .cb-wsp-get { display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 72px; align-items: stretch; }
  .cb-wsp-get__card { background: var(--global-palette8); border-radius: 24px; padding: 44px; display: flex; flex-direction: column; gap: 24px; }
  .cb-wsp-get__h, .cb-wsp-barter__h { font: 400 32px/1.15 var(--cb-serif); letter-spacing: -.01em; color: var(--global-palette3); }
  .cb-wsp-get__list { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 24px 32px; }
  .cb-wsp-get__list li { display: flex; gap: 12px; font-size: 16px; line-height: 1.5; color: var(--global-palette4); }
  .cb-wsp-get__list li > svg { margin-top: 1px; }
  .cb-wsp-get__item { display: flex; flex-direction: column; gap: 2px; }
  .cb-wsp-get__item b { font-size: 17px; color: var(--global-palette3); }
  .cb-wsp-get__list li.cb-wsp-get__contact { gap: 14px; align-items: center; }
  .cb-wsp-get__photo { width: 56px; height: 56px; flex: none; border-radius: var(--cb-r-pill); background: repeating-linear-gradient(135deg, var(--global-palette7) 0 6px, var(--global-palette9) 6px 12px); display: flex; align-items: center; justify-content: center; font: 10px var(--cb-mono); color: var(--global-palette5); }
  .cb-wsp-get__item--contact { font-size: 15px; line-height: 1.45; }
  .cb-wsp-barter { background: var(--global-palette7); border-radius: 24px; padding: 44px; display: flex; flex-direction: column; gap: 14px; }
  .cb-wsp-barter__badge { display: flex; gap: 8px; align-items: center; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette2); line-height: normal; }
  .cb-wsp-barter__badge svg { margin-top: 1px; }
  .cb-wsp-barter__p { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
  .cb-wsp-barter__note { margin-top: auto; font-size: 15px; line-height: 1.5; color: var(--global-palette3); }
}
@media (min-width: 1025px) {
  .cb-wsp-how { padding: 104px 0; }
  .cb-wsp-get { grid-template-columns: 7fr 5fr; }
}

/* ---------- E Kontakt e-mail (R19: bez formularza — nic go nie obsługuje; jedyny kontakt to mailto) ---------- */
.cb-wsp-form { padding: 32px 0 36px; scroll-margin-top: 56px; }
.cb-wsp-form__lead-m { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-wsp-mail { margin-top: 16px; display: flex; flex-direction: column; gap: 16px; }
.cb-wsp-mail__h { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-wsp-mail__list { margin: 0; padding: 0 0 0 20px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-wsp-mail__foot { display: flex; flex-direction: column; gap: 4px; }
.cb-wsp-mail__addr { align-self: center; display: inline-flex; align-items: center; min-height: 44px; font: 400 22px/1.2 var(--cb-serif); color: var(--global-palette3); text-underline-offset: .18em; }
@media (min-width: 768px) {
  .cb-wsp-form { padding: 88px 0; scroll-margin-top: 64px; }
  .cb-wsp-form__intro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
  .cb-wsp-form__lead { font-size: 17px; line-height: 1.6; color: var(--global-palette4); max-width: 30em; }
  .cb-wsp-form__card { background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 40px; }
  .cb-wsp-mail { margin-top: 0; gap: 20px; }
  .cb-wsp-mail__h { font-size: 20px; }
  .cb-wsp-mail__list { font-size: 16px; gap: 10px; }
  .cb-wsp-mail__foot { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 24px; border-top: 1px solid var(--global-palette7); padding-top: 24px; }
  .cb-wsp-mail__addr { align-self: auto; font-size: 28px; }
}
@media (min-width: 1025px) {
  .cb-wsp-form { padding: 104px 0; scroll-margin-top: 80px; }
  .cb-wsp-form__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-wsp-form__intro { margin-bottom: 0; }
}

/* ---------- B Strona prawna (K37 spis treści, K38 treść, K39 wróć na górę) ---------- */
.cb-doc-head { padding: 20px 20px 0; display: flex; flex-direction: column; gap: 10px; }
.cb-doc-head__demo { padding: 8px 10px; border: 1.5px dashed var(--cb-error); font: 11px/1.4 var(--cb-mono); color: var(--cb-error); }
.cb-doc-head__h1 { font: 400 34px/1.1 var(--cb-serif); letter-spacing: -.02em; color: var(--global-palette3); }
.cb-doc-head__date { font-size: 14px; line-height: normal; color: var(--global-palette5); }
.cb-eyebrow--plain { line-height: normal; }
/* K37 — telefon i tablet: pole P8 zwijane; komputer: przyklejona kolumna 280 */
.cb-doctoc { margin: 20px 20px 0; background: var(--global-palette8); border-radius: 16px; }
.cb-doctoc__toggle { width: 100%; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 0 16px; font: 600 16px var(--cb-sans); color: var(--global-palette3); text-align: left; }
.cb-doctoc__toggle > span:first-child { flex: 1 1 0%; }
.cb-doctoc__count { font-weight: 400; font-size: 14px; color: var(--global-palette5); }
.cb-doctoc__toggle .cb-doctoc__up { display: none; }
.cb-doctoc__toggle[aria-expanded="true"] .cb-doctoc__down { display: none; }
.cb-doctoc__toggle[aria-expanded="true"] .cb-doctoc__up { display: block; }
.cb-doctoc__title { display: none; }
.cb-doctoc__list { margin: 0; padding: 0 8px 8px; list-style: none; display: flex; flex-direction: column; border-top: 1px solid var(--global-palette7); }
.cb-doctoc__list[hidden] { display: none; }
.cb-doctoc__list a { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; min-height: 44px; padding: 4px 8px; font-size: 15px; line-height: 1.35; color: var(--global-palette3); text-decoration: none; border-radius: var(--cb-r-sm); }
.cb-doctoc__list a > span { color: var(--global-palette2); }
.cb-legal { padding: 12px 20px 40px; }
.cb-legal section { padding-top: 28px; scroll-margin-top: 72px; }
.cb-legal h2 { margin: 0 0 10px; display: grid; grid-template-columns: minmax(36px, max-content) minmax(0, 1fr); column-gap: .35em; /* R18: numery rzymskie z celebrio.app (I.–XVIII.) — kolumna rośnie z numerem */ font-size: 19px; font-weight: 600; line-height: 1.35; color: var(--global-palette3); text-wrap: wrap; }
.cb-legal .cb-num { color: var(--global-palette2); }  /* R18: bez tabular-nums — poszerzał kropkę w „XII.” */
.cb-legal p { margin: 0 0 12px; font-size: 16px; line-height: 1.7; color: var(--global-palette4); }
.cb-list { margin: 0 0 12px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.cb-list li { display: grid; grid-template-columns: 16px minmax(0, 1fr); font-size: 16px; line-height: 1.6; color: var(--global-palette4); }
.cb-list li::before { content: ""; width: 5px; height: 5px; border-radius: var(--cb-r-pill); background: var(--global-palette2); margin-top: 11px; }
.cb-list--num { gap: 8px; counter-reset: cb-ol; }
.cb-list--num li { grid-template-columns: 24px minmax(0, 1fr); counter-increment: cb-ol; }
.cb-list--num li::before { content: counter(cb-ol) "."; width: auto; height: auto; border-radius: 0; background: none; margin-top: 0; color: var(--global-palette2); font-weight: 600; }
/* tabela cb-table — na telefonie wiersz = karta, etykiety z CSS (nota 05 „Treść i tabela na telefonie”) */
.cb-table { width: 100%; border-collapse: collapse; margin: 4px 0 16px; font-size: 15px; line-height: 1.5; border-top: 1px solid var(--global-palette6); }
.cb-table th { text-align: left; padding: 10px 16px 10px 0; border-bottom: 1px solid var(--global-palette5); font-weight: 600; color: var(--global-palette3); }
.cb-table td { padding: 12px 16px 12px 0; border-bottom: 1px solid var(--global-palette7); color: var(--global-palette4); vertical-align: top; }
.cb-table td:first-child { font-weight: 600; color: var(--global-palette3); }
.cb-table th:last-child, .cb-table td:last-child { padding-right: 0; }
@media (max-width: 767px) {
  .cb-table thead { display: none; }
  .cb-table tr { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--global-palette7); }
  .cb-table td { display: block; border: 0; padding: 0; }
  .cb-table td:nth-child(2)::before { content: "Cel: "; color: var(--global-palette5); }
  .cb-table td:nth-child(3)::before { content: "Siedziba: "; color: var(--global-palette5); }
}
.cb-legal__other { margin-top: 32px; border-top: 1px solid var(--global-palette6); padding-top: 20px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; line-height: normal; }
.cb-legal__other span { font-weight: 600; color: var(--global-palette3); }
.cb-legal__other a { min-height: 44px; display: flex; align-items: center; }
/* K39 wróć na górę — tylko telefon i tablet, po 1. ekranie */
.cb-totop { position: fixed; right: 16px; bottom: 20px; z-index: 40; width: 48px; height: 48px; border-radius: var(--cb-r-pill); background: var(--global-palette3); color: var(--global-palette9); display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity 200ms ease-out, transform 200ms ease-out; }
.cb-totop.is-on { opacity: 1; transform: none; pointer-events: auto; }
@media (min-width: 1025px) { .cb-totop { display: none; } }
@media (min-width: 768px) {
  .cb-doc-head { padding: 48px var(--cb-edge) 40px; gap: 14px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin: 0 auto; }
  .cb-doc-head__demo { align-self: flex-start; padding: 8px 12px; font-size: 12px; }
  .cb-doc-head__h1 { font-size: 48px; line-height: 1.05; }
  .cb-doc-head__date { font-size: 15px; }
  .cb-doctoc { margin: 0 var(--cb-edge); }
  .cb-legal { padding: 16px var(--cb-edge) 88px; max-width: calc(640px + 2 * var(--cb-edge)); }
  .cb-legal section { padding-top: 40px; }
  .cb-legal h2 { margin-bottom: 16px; grid-template-columns: minmax(48px, max-content) minmax(0, 1fr); font-size: 24px; line-height: 1.3; letter-spacing: -.005em; }
  .cb-legal p { margin-bottom: 16px; font-size: 17px; }
  .cb-list { margin-bottom: 16px; gap: 8px; }
  .cb-list li { grid-template-columns: 20px minmax(0, 1fr); font-size: 17px; line-height: 1.65; }
  .cb-list li::before { margin-top: 12px; }
  .cb-list--num { gap: 10px; }
  .cb-list--num li { grid-template-columns: 28px minmax(0, 1fr); }
  .cb-list--num li::before { margin-top: 0; }
  .cb-table { margin: 8px 0 20px; border-top: 0; }
  .cb-legal__other { margin-top: 48px; padding-top: 24px; flex-direction: row; gap: 32px; align-items: center; font-size: 16px; }
  .cb-legal__other a { min-height: 0; display: inline; }
}
@media (min-width: 1025px) {
  .cb-doc-headwrap { border-bottom: 1px solid var(--global-palette7); }
  .cb-doc-head { display: grid; grid-template-columns: 280px minmax(0, 1fr); column-gap: 120px; row-gap: 14px; padding: 56px var(--cb-edge) 48px; }
  .cb-doc-head > * { grid-column: 2; }
  .cb-doc-head__h1 { font-size: 56px; }
  .cb-doc-body { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 120px; align-items: start; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin: 0 auto; padding: 0 var(--cb-edge) 96px; }
  .cb-doctoc { margin: 0; background: none; border-radius: 0; position: sticky; top: 64px; padding-top: 40px; display: flex; flex-direction: column; gap: 2px; }
  .cb-doctoc__toggle { display: none; }
  .cb-doctoc__title { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette5); margin-bottom: 10px; line-height: normal; }
  .cb-doctoc__list, .cb-doctoc__list[hidden] { display: flex; content-visibility: visible; padding: 0; border-top: 0; gap: 2px; }
  .cb-doctoc__list a { min-height: 40px; padding: 6px 12px; color: var(--global-palette4); }
  .cb-doctoc__list a > span { color: var(--global-palette5); }
  .cb-doctoc__list a[aria-current="true"] { background: var(--global-palette7); font-weight: 600; color: var(--global-palette3); }
  .cb-doctoc__list a[aria-current="true"] > span { color: var(--global-palette2); }
  .cb-legal { padding: 16px 0 0; max-width: 640px; }
  .cb-legal section { scroll-margin-top: 96px; }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) { .cb-doctoc__list a:not([aria-current="true"]):hover { background: var(--global-palette8); } }

/* ---------- C 404 (K40) ---------- */
.cb-404 { position: relative; padding: 20px 0 28px; }
.cb-404__text { display: flex; flex-direction: column; }
.cb-404 .cb-eyebrow { line-height: normal; }
.cb-404__h1 { margin-top: 10px; font: 400 32px/1.12 var(--cb-serif); letter-spacing: -.02em; color: var(--global-palette3); }
.cb-404__info { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; padding: 14px; border-radius: 16px; background: var(--global-palette8); }
.cb-404__info-ico { width: 40px; height: 40px; flex: none; border-radius: var(--cb-r-pill); background: var(--global-palette9); display: flex; align-items: center; justify-content: center; color: var(--global-palette3); }
.cb-404__info-ico svg { margin-top: 1px; }
.cb-404__info p { font-size: 15px; line-height: 1.5; color: var(--global-palette3); }
.cb-404__links { margin: 14px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; border-top: 1px solid var(--global-palette7); }
.cb-404__links a { display: flex; align-items: center; gap: 12px; min-height: 52px; border-bottom: 1px solid var(--global-palette7); color: var(--global-palette3); text-decoration: none; }
.cb-404__col { display: flex; flex-direction: column; flex: 1 1 0%; line-height: normal; }
.cb-404__t { font-size: 16px; font-weight: 600; }
.cb-404__d { font-size: 13px; color: var(--global-palette5); }
.cb-404__links svg { margin-top: 1px; }
.cb-404__arrow-d { display: none; }
.cb-404__cta { margin-top: 20px; }
@media (hover: hover) and (pointer: fine) { .cb-404__links a:hover .cb-404__t { text-decoration: underline; text-underline-offset: 4px; } }
@media (min-width: 768px) {
  .cb-404 { padding: 56px 0 88px; }
  .cb-404__h1 { margin-top: 16px; font-size: 56px; line-height: 1.05; max-width: 12em; }
  .cb-404__info { gap: 16px; align-items: center; margin-top: 32px; padding: 20px 24px; border-radius: var(--cb-r-md); max-width: 600px; }
  .cb-404__info-ico { width: 48px; height: 48px; }
  .cb-404__info-ico svg { width: 24px; height: 24px; margin-top: 0; }
  .cb-404__info p { font-size: 17px; line-height: 1.55; }
  .cb-404__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 32px; max-width: 600px; border-top: 0; }
  .cb-404__links a { flex-direction: column; align-items: stretch; gap: 4px; min-height: 0; padding-top: 14px; border-bottom: 0; border-top: 1px solid var(--global-palette3); }
  .cb-404__col { display: contents; }
  .cb-404__t { display: flex; align-items: center; justify-content: space-between; font-size: 17px; }
  .cb-404__d { font-size: 14px; }
  .cb-404__arrow-d { display: block; }
  .cb-404__arrow-m { display: none; }
  .cb-404__cta { align-self: flex-start; margin-top: 40px; }
}
@media (min-width: 1025px) {
  .cb-404 { padding: 72px 0 120px; }
  .cb-404__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: center; }
  .cb-404__h1 { font-size: 64px; }
}
/* =============================================================================
   06 OKAZJE I PORADNIK — strona okazji (A–H), artykuł (B1–B8), lista artykułów (C)
   Ramki kanwy „06 Okazje i poradnik” (telefon 390, komputer 1440). Komponenty K41–K50.
   ============================================================================= */

/* ---------- elementy wspólne 06 ---------- */
.cb-o-price { display: contents; } /* cena z API wewnątrz zdania — bez własnego stylu (K15-C, K4) */
.cb-o-h2 { font-size: 28px; line-height: 1.15; }
@media (min-width: 768px) { .cb-o-h2 { font-size: var(--cb-h2); line-height: 1.1; } }

/* ---------- stopka w wariancie 7.19 (kolumna „Okazje”) ---------- */
@media (max-width: 1024px) {
  .cb-footer--okazje .cb-footer__links { grid-template-rows: auto auto; }
  .cb-footer--okazje .cb-footer__col--okazje { grid-column: 1; grid-row: 2; }
}
@media (min-width: 1025px) {
  .cb-footer--okazje .cb-footer__grid { grid-template-columns: 4fr 2fr 3fr 3fr 3fr; gap: 40px; }
}

/* =============================================================================
   STRONA OKAZJI
   ============================================================================= */

/* ---------- A Hero okazji (K41) ---------- */
.cb-o-hero { padding: 16px 0 32px; }
.cb-o-hero__text { display: flex; flex-direction: column; }
.cb-o-hero__h1 { margin-top: 10px; }
.cb-o-hero__lead { margin-top: 14px; font-size: 17px; line-height: 1.5; color: var(--global-palette4); }
.cb-o-hero__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.cb-o-hero__micro { justify-content: center; text-align: center; }
.cb-o-hero__ph { margin-top: 18px; height: 240px; border-radius: 24px; padding: 14px; overflow: hidden; }
.cb-o-hero__ph > span { max-width: 210px; }
@media (min-width: 768px) {
  .cb-o-hero { padding: 48px 0 88px; }
  .cb-o-hero__h1 { margin-top: 16px; max-width: 12em; }
  .cb-o-hero__lead { margin-top: 24px; font-size: var(--cb-lead); max-width: 30em; }
  .cb-o-hero__actions { flex-direction: row; align-items: center; gap: 24px; margin-top: 36px; }
  .cb-o-hero__micro { justify-content: flex-start; text-align: left; font-size: 15px; }
  .cb-o-hero__ph { margin-top: 40px; height: 360px; padding: 20px; }
  .cb-o-hero__ph > span { max-width: 300px; font-size: 12px; }
}
@media (min-width: 1025px) {
  .cb-o-hero { padding: 48px 0 104px; }
  .cb-o-hero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; }
  .cb-o-hero__h1 { font-size: 64px; }
  .cb-o-hero__ph { margin-top: 0; height: auto; aspect-ratio: 4 / 5; max-height: 600px; }
}

/* ---------- B Dlaczego ---------- */
.cb-o-why { padding: 36px 0 40px; }
.cb-o-why__lead { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-o-why__list { margin: 22px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 20px; }
.cb-o-why__item { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; }
.cb-o-why__ic { width: 44px; height: 44px; border-radius: var(--cb-r-pill); background: var(--global-palette9); display: flex; align-items: center; justify-content: center; color: var(--global-palette3); }
.cb-o-why__tx { display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.cb-o-why__t { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-o-why__d { font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-o-why { padding: var(--cb-section) 0; }
  .cb-o-why__lead { margin-top: 16px; font-size: 19px; line-height: 1.55; }
  .cb-o-why__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
  .cb-o-why__item { display: flex; flex-direction: column; gap: 14px; background: var(--global-palette9); border-radius: var(--cb-r-md); padding: 24px; }
  .cb-o-why__ic { width: 56px; height: 56px; background: var(--global-palette7); }
  .cb-o-why__ic svg { width: 28px; height: 28px; stroke-width: 1.6; }
  .cb-o-why__tx { display: contents; }
  .cb-o-why__t { font-size: 21px; margin-top: 4px; }
  .cb-o-why__d { font-size: 17px; line-height: 1.6; }
}
@media (min-width: 1025px) {
  .cb-o-why { padding: 104px 0; }
  .cb-o-why__head { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-o-why__lead { margin-top: 0; }
  .cb-o-why__list { margin-top: 48px; }
  .cb-o-why__item { padding: 32px; }
}

/* ---------- C Jak to działa ---------- */
.cb-o-steps { padding: 40px 0 24px; }
.cb-o-steps__list { margin: 18px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-o-steps__item { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding-bottom: 18px; }
.cb-o-steps__n { width: 40px; height: 40px; border-radius: var(--cb-r-pill); background: var(--global-palette3); color: var(--global-palette9); display: flex; align-items: center; justify-content: center; font: 400 20px/1 var(--cb-serif); }
.cb-o-steps__tx { display: flex; flex-direction: column; gap: 4px; padding-top: 8px; }
.cb-o-steps__t { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-o-steps__d { font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-o-steps { padding: var(--cb-section) 0 56px; }
  .cb-o-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 48px; }
  .cb-o-steps__item { display: flex; flex-direction: column; gap: 12px; padding: 24px 0 0; border-top: 2px solid var(--global-palette3); }
  .cb-o-steps__n { width: auto; height: auto; display: block; background: none; border-radius: 0; color: var(--global-palette2); font-size: 56px; }
  .cb-o-steps__tx { display: contents; }
  .cb-o-steps__t { font-size: 21px; }
  .cb-o-steps__d { font-size: 17px; line-height: 1.6; max-width: 28em; }
}
@media (min-width: 1025px) { .cb-o-steps { padding: 104px 0 56px; } }

/* ---------- D Funkcje ---------- */
.cb-o-feats { padding: 16px 0 40px; }
.cb-o-feats__h { font-size: 28px; line-height: 1.15; }
.cb-o-feats__grid { margin: 18px 0 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb-o-feat { background: var(--global-palette8); border-radius: 16px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.cb-o-feat__ic { width: 40px; height: 40px; border-radius: var(--cb-r-pill); background: var(--global-palette7); display: flex; align-items: center; justify-content: center; color: var(--global-palette3); }
.cb-o-feat__ic svg { margin-top: 1px; }
.cb-o-feat__t { font-size: 15px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-o-feat__d { font-size: 13px; line-height: 1.45; color: var(--global-palette4); }
@media (min-width: 768px) {
  .cb-o-feats { padding: 56px 0 var(--cb-section); }
  .cb-o-feats__h { font-size: 40px; }
  .cb-o-feats__grid { gap: 16px; margin-top: 40px; }
  .cb-o-feat { border-radius: var(--cb-r-md); padding: 28px; gap: 12px; }
  .cb-o-feat__ic { width: 56px; height: 56px; }
  .cb-o-feat__ic svg { width: 28px; height: 28px; stroke-width: 1.6; margin-top: 0; }
  .cb-o-feat__t { font-size: 19px; margin-top: 4px; }
  .cb-o-feat__d { font-size: 16px; line-height: 1.55; }
}
@media (min-width: 1025px) {
  .cb-o-feats { padding: 56px 0 104px; }
  .cb-o-feats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- E Szablon ---------- */
.cb-o-tpl { padding: 32px 0; }
.cb-o-tpl__grid { display: grid; grid-template-columns: 132px minmax(0, 1fr); gap: 18px; align-items: center; }
.cb-o-tpl__media { min-width: 0; }
.cb-o-tpl__text { display: flex; flex-direction: column; gap: 8px; }
.cb-o-tpl__kicker { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette2); line-height: normal; }
.cb-o-tpl__h { font-size: 24px; line-height: 1.15; letter-spacing: -.01em; }
.cb-o-tpl__d { font-size: 14px; line-height: 1.45; color: var(--global-palette4); }
.cb-o-tpl__alts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.cb-o-tpl__label { flex: 0 0 100%; margin-bottom: 2px; font-size: 13px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-o-tpl__chip { font-size: 13px; font-weight: 600; line-height: 1.2; padding: 6px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette9); color: var(--global-palette3); }
@media (min-width: 768px) {
  .cb-o-tpl { padding: 88px 0; }
  .cb-o-tpl__grid { grid-template-columns: 5fr 7fr; gap: 40px; }
  .cb-o-tpl__box { width: 100%; border-radius: 24px; }
  .cb-o-tpl__text { gap: 16px; }
  .cb-o-tpl__kicker { font-size: 13px; }
  .cb-o-tpl__h { font-size: var(--cb-h2); line-height: 1.1; letter-spacing: -.015em; }
  .cb-o-tpl__d { font-size: 19px; line-height: 1.55; max-width: 32em; }
  .cb-o-tpl__alts { gap: 8px; align-items: center; margin-top: 8px; }
  .cb-o-tpl__label { flex: none; margin: 0 4px 0 0; font-size: 15px; }
  .cb-o-tpl__chip { padding: 6px 12px; }
  .cb-o-tpl__link { align-self: flex-start; margin-top: 8px; }
}
@media (min-width: 1025px) {
  .cb-o-tpl { padding: 96px 0; }
  .cb-o-tpl__grid { gap: 80px; }
}

/* ---------- F Pakiet (K42) ---------- */
.cb-o-pkg { padding: 40px 0; }
.cb-o-pkg__grid { display: flex; flex-direction: column; }
.cb-o-pkg__intro { display: contents; }
.cb-o-pkg__intro .cb-h2 { order: 1; }
.cb-o-pkg__card { order: 2; margin-top: 18px; }
.cb-o-pkg__note { order: 3; margin-top: 14px; font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-o-pkg__link { order: 4; margin-top: 8px; display: flex; }
.cb-o-pkg__card { background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-md); padding: 20px; display: flex; flex-direction: column; gap: 14px; }
.cb-o-pkg__main { display: contents; }
.cb-o-pkg__badge { align-self: flex-start; font-size: 12px; font-weight: 600; line-height: 1.2; padding: 5px 10px; border-radius: var(--cb-r-pill); background: var(--global-palette1); color: #FFFFFF; }
.cb-o-pkg__row { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; }
.cb-o-pkg__name { font-size: 22px; font-weight: 600; line-height: normal; color: var(--global-palette9); }
.cb-o-pkg__pw { display: flex; align-items: baseline; gap: 4px; line-height: normal; }
.cb-o-pkg__price { font-size: 40px; letter-spacing: -.02em; }
.cb-o-pkg__specs { margin: 0; padding: 14px 0 0; list-style: none; display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--global-palette4); }
.cb-o-pkg__specs li { display: flex; gap: 10px; font-size: 15px; line-height: 1.45; color: var(--global-palette6); }
.cb-o-pkg__specs svg { margin-top: 1px; }
.cb-o-pkg__once { font-size: 13px; line-height: normal; color: var(--global-palette6); }
@media (min-width: 768px) {
  .cb-o-pkg { padding: var(--cb-section) 0; }
  .cb-o-pkg__grid { display: grid; grid-template-columns: 1fr; gap: 40px; }
  .cb-o-pkg__intro { display: flex; flex-direction: column; gap: 16px; }
  .cb-o-pkg__note { margin-top: 0; font-size: 17px; line-height: 1.6; max-width: 28em; }
  .cb-o-pkg__link { margin-top: 0; align-self: flex-start; display: inline-flex; }
  .cb-o-pkg__card { margin-top: 0; border-radius: 24px; padding: 40px 44px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 40px; align-items: start; }
  .cb-o-pkg__main { display: flex; flex-direction: column; gap: 16px; }
  .cb-o-pkg__badge { font-size: 13px; padding: 6px 12px; }
  .cb-o-pkg__row { display: contents; }
  .cb-o-pkg__name { font-size: 28px; }
  .cb-o-pkg__specs { padding-top: 0; border-top: 0; gap: 10px; }
  .cb-o-pkg__specs li { gap: 12px; font-size: 16px; line-height: 1.5; }
  .cb-o-pkg__side { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
  .cb-o-pkg__side .cb-o-pkg__pw { gap: 6px; }
  .cb-o-pkg__side .cb-o-pkg__price { font-size: 80px; line-height: .9; letter-spacing: -.03em; }
  .cb-o-pkg__side .cb-o-pkg__once { font-size: 14px; }
}
@media (min-width: 1025px) {
  .cb-o-pkg { padding: 104px 0; }
  .cb-o-pkg__grid { grid-template-columns: 5fr 7fr; gap: 80px; align-items: center; }
}

/* ---------- G FAQ okazji (K17) ---------- */
.cb-o-faq { padding: 40px 0 44px; }
.cb-o-faq__h { font-size: 28px; line-height: 1.15; margin-bottom: 16px; }
.cb-acc--okz .cb-acc__btn { padding: 15px 0; }
.cb-acc--okz .cb-acc__btn svg, .cb-acc--art .cb-acc__btn svg { stroke-width: 1.75; }
@media (min-width: 768px) {
  .cb-o-faq { padding: var(--cb-section) 0; }
  .cb-o-faq__intro { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
  .cb-o-faq__h { font-size: var(--cb-h2); line-height: 1.1; margin-bottom: 0; }
  .cb-o-faq__contact { font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
  .cb-acc--okz .cb-acc__btn { padding: 22px 0; }
}
@media (min-width: 1025px) {
  .cb-o-faq { padding: 104px 0; }
  .cb-o-faq__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
  .cb-o-faq__intro { margin-bottom: 0; }
}

/* ---------- H CTA i inne okazje (K18 + K43) ---------- */
.cb-o-cta { background: var(--global-palette3); padding: 48px 0 40px; }
.cb-o-cta__wrap { display: flex; flex-direction: column; gap: 14px; }
.cb-o-cta__box, .cb-o-cta__text { display: contents; }
.cb-o-cta__h { font-size: 30px; line-height: 1.15; }
.cb-o-cta__p { font-size: 16px; line-height: 1.55; color: var(--global-palette6); }
.cb-o-cta__btn { margin-top: 6px; }
.cb-o-others { display: contents; }
.cb-o-others__h { margin-top: 22px; border-top: 1px solid var(--global-palette4); padding-top: 22px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: normal; color: var(--global-palette6); }
.cb-o-others__grid { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cb-o-others__grid > li { display: flex; }
.cb-o-others__grid > li > a { flex: 1; }
.cb-o-others__grid .cb-is-current { display: none; }
.cb-o-other { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 56px; padding: 10px 14px; border-radius: 14px; background: var(--global-palette4); color: var(--global-palette9); font-weight: 600; font-size: 15px; line-height: 1.3; text-decoration: none; transition: background-color 160ms ease-out; }
.cb-o-other__t { display: contents; }
.cb-o-other svg { margin-top: 1px; }
@media (hover: hover) and (pointer: fine) { .cb-o-other:hover { background: #4A443E; } }
@media (min-width: 768px) {
  .cb-o-cta { background: var(--global-palette9); padding: 88px 0 96px; }
  .cb-o-cta__wrap { gap: 56px; }
  .cb-o-cta__box { display: block; background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-lg); overflow: hidden; }
  .cb-o-cta__text { display: flex; flex-direction: column; justify-content: center; gap: 24px; padding: 56px 48px; }
  .cb-o-cta__h { font-size: 48px; line-height: 1.08; letter-spacing: -.02em; max-width: 12em; }
  .cb-o-cta__p { font-size: var(--cb-lead); line-height: 1.5; }
  .cb-o-cta__btn { align-self: flex-start; margin-top: 8px; }
  .cb-o-others { display: flex; flex-direction: column; gap: 20px; }
  .cb-o-others__h { margin: 0; border: 0; padding: 0; color: var(--global-palette5); }
  .cb-o-others__grid { gap: 24px; }
  .cb-o-other { flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 6px; min-height: 0; padding: 16px 0 0; border-radius: 0; background: none; border-top: 1px solid var(--global-palette3); color: var(--global-palette3); }
  .cb-o-other__t { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 19px; line-height: 1.3; }
  .cb-o-other__t svg { width: 18px; height: 18px; }
  .cb-o-other__d { font-size: 15px; font-weight: 400; line-height: 1.5; color: var(--global-palette4); }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) { .cb-o-other:hover { background: none; color: var(--global-palette2); } }
@media (min-width: 1025px) {
  .cb-o-cta { padding: 104px 0 112px; }
  .cb-o-cta__box { display: grid; grid-template-columns: 7fr 5fr; min-height: 420px; }
  .cb-o-cta__text { padding: 72px 80px; }
  .cb-o-cta__h { font-size: 56px; }
  .cb-o-others__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* =============================================================================
   ARTYKUŁ (B1–B8, klasa cb-article w Kadence)
   ============================================================================= */
.cb-art article { padding: 4px 20px 40px; }
.cb-a-head__in { display: flex; flex-direction: column; }
.cb-a-crumbs { display: flex; align-items: center; gap: 6px; min-height: 36px; font-size: 14px; line-height: normal; color: var(--global-palette5); }
.cb-a-crumbs a { color: var(--global-palette4); }
.cb-a-cat { margin-top: 12px; align-self: flex-start; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: normal; color: var(--global-palette2); text-decoration: none; }
.cb-a-h1 { margin-top: 10px; font: 400 34px/1.12 var(--cb-serif); letter-spacing: -.02em; color: var(--global-palette3); }
.cb-a-lead { margin-top: 14px; font-size: 19px; line-height: 1.5; color: var(--global-palette3); }
.cb-a-author { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 12px; align-items: center; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--global-palette7); }
.cb-a-author__av { width: 40px; height: 40px; border-radius: var(--cb-r-pill); background: repeating-linear-gradient(135deg, var(--global-palette7) 0 5px, var(--global-palette8) 5px 10px); }
.cb-a-author__tx { display: flex; flex-direction: column; gap: 2px; line-height: normal; }
.cb-a-author__n { font-size: 15px; font-weight: 600; color: var(--global-palette3); }
.cb-a-author__meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 13px; line-height: 1.4; color: var(--global-palette5); }
.cb-a-author__min { display: flex; gap: 5px; align-items: center; }
.cb-a-hero { margin: 20px 0 0; }
.cb-a-hero__ph { aspect-ratio: 3 / 2; border-radius: 16px; }

/* spis treści (K37) */
.cb-toc { margin-top: 24px; background: var(--global-palette8); border-radius: 16px; }
.cb-toc__btn { width: 100%; min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 0 16px; font: 600 16px var(--cb-sans); color: var(--global-palette3); text-align: left; }
.cb-toc__btn-t { flex: 1; }
.cb-toc__count { font-weight: 400; font-size: 14px; color: var(--global-palette5); }
.cb-toc__btn .cb-acc__minus { display: none; }
.cb-toc__btn[aria-expanded="true"] .cb-acc__plus { display: none; }
.cb-toc__btn[aria-expanded="true"] .cb-acc__minus { display: block; }
.cb-toc__label { display: none; }
.cb-toc__list { margin: 0; padding: 0 8px 8px; list-style: none; display: flex; flex-direction: column; border-top: 1px solid var(--global-palette7); }
.cb-toc__list[hidden] { display: none; }
.cb-toc__list a { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px; align-items: center; min-height: 44px; padding: 4px 8px; font-size: 15px; line-height: 1.35; color: var(--global-palette3); text-decoration: none; }
.cb-toc__list a > span { color: var(--global-palette2); font-variant-numeric: tabular-nums; }

/* treść */
.cb-a-h2 { margin: 44px 0 14px; font: 400 28px/1.2 var(--cb-serif); letter-spacing: -.015em; color: var(--global-palette3); scroll-margin-top: 72px; }
.cb-a-h3 { margin: 30px 0 10px; font: 600 20px/1.35 var(--cb-sans); color: var(--global-palette3); }
.cb-a-p { margin: 0 0 16px; font-size: 17px; line-height: 1.65; color: var(--global-palette4); }
.cb-a-p b { color: var(--global-palette3); }
.cb-a-ul, .cb-a-ol { margin: 0 0 18px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.cb-a-ul li, .cb-a-ol li { display: grid; font-size: 17px; line-height: 1.6; color: var(--global-palette4); }
.cb-a-ul li { grid-template-columns: 18px minmax(0, 1fr); }
.cb-a-ul li::before { content: ""; width: 6px; height: 6px; border-radius: var(--cb-r-pill); background: var(--global-palette2); margin-top: 11px; }
.cb-a-ol li { grid-template-columns: 30px minmax(0, 1fr); counter-increment: cb-ol; }
.cb-a-ol li::before { content: counter(cb-ol) "."; color: var(--global-palette2); font-weight: 600; font-variant-numeric: tabular-nums; }
.cb-a-quote { margin: 32px 0; display: flex; flex-direction: column; gap: 12px; }
.cb-a-quote::before { content: ""; width: 40px; height: 2px; background: var(--global-palette1); }
.cb-a-quote blockquote { margin: 0; font: italic 400 22px/1.4 var(--cb-serif); color: var(--global-palette3); }
.cb-a-quote figcaption { font-size: 14px; line-height: normal; color: var(--global-palette5); }
.cb-a-fig { margin: 28px 0; }
.cb-a-fig__ph { aspect-ratio: 3 / 2; border-radius: 16px; }
.cb-a-fig figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: var(--global-palette5); }
/* tabela z wierszy (K50): na telefonie wiersz = karta z etykietami cb-l */
.cb-ttable { margin: 8px 0 24px; border-top: 1px solid var(--global-palette5); }
.cb-trow { display: flex; flex-direction: column; gap: 3px; padding: 14px 0; border-bottom: 1px solid var(--global-palette7); font-size: 15px; line-height: 1.5; color: var(--global-palette4); }
.cb-thead { display: none; }
.cb-tfirst { font-size: 16px; font-weight: 600; color: var(--global-palette3); }
.cb-l { color: var(--global-palette5); }
/* Wskazówka / Uwaga (K45) */
.cb-a-box { margin: 24px 0 28px; border-radius: 16px; padding: 18px; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; }
.cb-a-box--tip { background: var(--global-palette8); }
.cb-a-box--note { background: var(--global-palette9); box-shadow: inset 0 0 0 1.5px var(--global-palette2); }
.cb-a-box__tx { display: flex; flex-direction: column; gap: 4px; }
.cb-a-box__tx b { font-size: 15px; line-height: normal; color: var(--global-palette3); }
.cb-a-box--note .cb-a-box__tx b { color: var(--global-palette2); }
.cb-a-box__tx span { font-size: 16px; line-height: 1.6; color: var(--global-palette4); }
/* wstawka produktowa (K46) */
.cb-a-prod { margin: 28px 0 32px; background: var(--global-palette8); border-radius: var(--cb-r-md); padding: 20px; }
.cb-a-prod__tx { display: flex; flex-direction: column; gap: 10px; }
.cb-a-prod__tx img { height: 20px; width: auto; align-self: flex-start; }
.cb-a-prod__tx p { font-size: 16px; line-height: 1.55; color: var(--global-palette4); }
.cb-a-prod__tx b { color: var(--global-palette3); }
.cb-a-prod__link { align-self: flex-start; }
/* materiał do pobrania (K47) */
.cb-a-dl { margin: 28px 0 32px; border-radius: var(--cb-r-md); box-shadow: inset 0 0 0 1px var(--global-palette6); padding: 20px; display: flex; flex-direction: column; gap: 16px; }
.cb-a-dl__head { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 14px; align-items: start; }
.cb-a-dl__ic { width: 48px; height: 48px; border-radius: 12px; background: var(--global-palette7); display: flex; align-items: center; justify-content: center; color: var(--global-palette3); }
.cb-a-dl__tx { display: flex; flex-direction: column; gap: 4px; }
.cb-a-dl__meta { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: normal; color: var(--global-palette2); }
.cb-a-dl__t { font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--global-palette3); }
.cb-a-dl__d { font-size: 14px; line-height: 1.5; color: var(--global-palette4); }
.cb-a-dl__form { display: flex; flex-direction: column; gap: 10px; }
.cb-a-dl__label { display: flex; flex-direction: column; gap: 8px; }
.cb-a-dl__label > span { font-size: 15px; font-weight: 600; line-height: normal; color: var(--global-palette3); }
.cb-a-dl__label input { height: 52px; border: 0; border-radius: var(--cb-r-sm); box-shadow: inset 0 0 0 1.5px var(--global-palette5); background: #FFFFFF; padding: 0 16px; font: 16px var(--cb-sans); color: var(--global-palette3); width: 100%; }
.cb-a-dl__label input:focus { outline: 3px solid rgba(29, 26, 23, .18); outline-offset: 0; box-shadow: inset 0 0 0 2px var(--global-palette3); }
.cb-a-dl__btn { display: flex; align-items: center; justify-content: center; height: 52px; border-radius: var(--cb-r-pill); box-shadow: inset 0 0 0 1.5px var(--global-palette3); color: var(--global-palette3); font: 600 16px var(--cb-sans); transition: background-color 160ms ease-out, transform 120ms ease-out; }
.cb-a-dl__btn:active { transform: scale(.97); }
@media (hover: hover) and (pointer: fine) { .cb-a-dl__btn:hover { background: var(--global-palette7); } }
.cb-a-dl__label input::placeholder { color: var(--global-palette5); }
.cb-a-dl__act { margin: 0; }
.cb-a-dl__act .cb-a-dl__btn { text-decoration: none; }
.cb-a-dl__hint { text-wrap: wrap; font-size: 13px; line-height: 1.5; color: var(--global-palette5); }
/* FAQ artykułu */
.cb-acc--art .cb-acc__btn { padding: 15px 0; }
.cb-acc--art .cb-acc__panel p { font-size: 16px; }

@media (min-width: 768px) and (max-width: 1024px) {
  .cb-art article { max-width: 704px; margin-inline: auto; padding: 24px 32px 64px; }
}
@media (min-width: 1025px) {
  .cb-art article { padding: 0 0 104px; max-width: calc(var(--cb-content) + 2 * var(--cb-edge)); margin-inline: auto; padding-inline: var(--cb-edge); }
  .cb-a-head { display: grid; grid-template-columns: 260px minmax(0, 640px); gap: 96px; padding-top: 40px; }
  .cb-a-head__in { grid-column: 2; }
  .cb-a-crumbs { gap: 8px; font-size: 15px; }
  .cb-a-cat { margin-top: 20px; }
  .cb-a-h1 { margin-top: 14px; font-size: 56px; line-height: 1.05; }
  .cb-a-lead { margin-top: 22px; font-size: 22px; }
  .cb-a-author { display: flex; gap: 14px; margin-top: 28px; padding-top: 20px; }
  .cb-a-author__av { width: 48px; height: 48px; flex: none; }
  .cb-a-author__n { font-size: 16px; }
  .cb-a-author__meta { flex-wrap: nowrap; gap: 16px; font-size: 14px; line-height: normal; }
  .cb-a-author__min { gap: 6px; }
  .cb-a-hero { margin-top: 40px; }
  .cb-a-hero__ph { border-radius: var(--cb-r-md); padding: 16px; }
  .cb-a-hero__ph > span { font-size: 12px; }
  .cb-a-body { display: grid; grid-template-columns: 260px minmax(0, 640px); gap: 96px; align-items: start; }
  .cb-toc { position: sticky; top: 88px; margin-top: 0; padding-top: 56px; background: none; border-radius: 0; display: flex; flex-direction: column; }
  .cb-toc__btn { display: none; }
  .cb-toc__label { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: normal; color: var(--global-palette5); }
  .cb-toc__list, .cb-toc__list[hidden] { display: flex; content-visibility: visible; padding: 0; gap: 2px; border-top: 0; }
  .cb-toc__list a { grid-template-columns: 28px minmax(0, 1fr); gap: normal; min-height: 40px; padding: 6px 12px; border-radius: var(--cb-r-sm); color: var(--global-palette4); transition: background-color 160ms ease-out; }
  .cb-toc__list a > span { color: var(--global-palette5); }
  .cb-toc__list a[aria-current="true"] { background: var(--global-palette7); font-weight: 600; color: var(--global-palette3); }
  .cb-toc__list a[aria-current="true"] > span { color: var(--global-palette2); }
  .cb-a-content { padding-top: 8px; }
  .cb-a-h2 { margin: 64px 0 18px; font-size: 38px; line-height: 1.15; scroll-margin-top: 96px; }
  .cb-a-h3 { margin: 40px 0 12px; font-size: 23px; line-height: 1.3; letter-spacing: -.005em; }
  .cb-a-p { margin-bottom: 20px; font-size: 18px; line-height: 1.7; }
  .cb-a-ul, .cb-a-ol { margin-bottom: 22px; gap: 10px; }
  .cb-a-ul li, .cb-a-ol li { font-size: 18px; line-height: 1.65; }
  .cb-a-ul li { grid-template-columns: 22px minmax(0, 1fr); }
  .cb-a-ul li::before { margin-top: 13px; }
  .cb-a-ol li { grid-template-columns: 36px minmax(0, 1fr); }
  .cb-a-quote { margin: 44px 0; gap: 16px; }
  .cb-a-quote::before { width: 48px; }
  .cb-a-quote blockquote { font-size: 28px; line-height: 1.35; }
  .cb-a-quote figcaption { font-size: 15px; }
  .cb-a-fig { margin: 36px 0; }
  .cb-a-fig__ph { border-radius: var(--cb-r-md); padding: 16px; }
  .cb-a-fig__ph > span { font-size: 12px; }
  .cb-a-fig figcaption { margin-top: 12px; font-size: 15px; }
  .cb-ttable { margin: 12px 0 28px; border-top: 0; }
  .cb-trow { display: grid; grid-template-columns: 1.1fr 1fr 1fr 1.5fr; gap: 0; padding: 0; border-bottom: 0; font-size: 16px; }
  .cb-trow > span { padding: 14px 14px 14px 0; border-bottom: 1px solid var(--global-palette7); }
  .cb-thead { display: grid; }
  .cb-thead > span { padding: 10px 14px 10px 0; border-bottom: 1px solid var(--global-palette5); font-weight: 600; color: var(--global-palette3); }
  .cb-tfirst { font-size: 16px; }
  .cb-l { display: none; }
  .cb-a-box { margin: 28px 0 32px; border-radius: var(--cb-r-md); padding: 24px 28px; grid-template-columns: 24px minmax(0, 1fr); gap: 16px; }
  .cb-a-box > svg { width: 24px; height: 24px; }
  .cb-a-box__tx { gap: 6px; }
  .cb-a-box__tx b { font-size: 16px; }
  .cb-a-box__tx span { font-size: 17px; }
  .cb-a-prod { margin: 36px 0 40px; border-radius: 24px; padding: 28px 32px; display: grid; grid-template-columns: minmax(0, 1fr) 84px; gap: 28px; align-items: center; }
  .cb-a-prod__tx { gap: 12px; }
  .cb-a-prod__tx img { height: 22px; }
  .cb-a-prod__tx p { font-size: 18px; }
  .cb-a-dl { margin: 36px 0 40px; border-radius: 24px; padding: 28px 32px; gap: 20px; }
  .cb-a-dl__head { grid-template-columns: 56px minmax(0, 1fr); gap: 18px; }
  .cb-a-dl__ic { width: 56px; height: 56px; border-radius: 14px; }
  .cb-a-dl__ic svg { width: 28px; height: 28px; stroke-width: 1.6; }
  .cb-a-dl__t { font-size: 21px; }
  .cb-a-dl__d { font-size: 16px; }
  .cb-a-dl__form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; padding-left: 74px; }
  .cb-a-dl__label { display: contents; }
  .cb-a-dl__label > span { grid-column: 1 / -1; }
  .cb-a-dl__btn { display: inline-flex; padding: 0 24px; }
  .cb-a-dl__hint { grid-column: 1 / -1; }
  .cb-a-dl__act { padding-left: 74px; }
  .cb-a-dl__act .cb-a-dl__btn { display: inline-flex; padding: 0 24px; }
  .cb-acc--art .cb-acc__btn { padding: 20px 0; }
  .cb-acc--art .cb-acc__panel p { margin-bottom: 22px; font-size: 17px; line-height: 1.65; max-width: none; }
}

/* ---------- B7 CTA artykułu ---------- */
.cb-a-cta { background: var(--global-palette3); }
.cb-a-cta__wrap { padding: 44px 20px; display: flex; flex-direction: column; gap: 14px; }
.cb-a-cta__box, .cb-a-cta__text, .cb-a-cta__row { display: contents; }
.cb-a-cta__h { font-size: 28px; line-height: 1.15; }
.cb-a-cta__p { font-size: 16px; line-height: 1.55; color: var(--global-palette6); }
.cb-a-cta__row .cb-btn { margin-top: 6px; }
.cb-a-cta__from { text-align: center; font-size: 14px; line-height: normal; color: var(--global-palette6); }
@media (min-width: 768px) {
  .cb-a-cta { background: var(--global-palette9); padding: 0 0 88px; }
  .cb-a-cta__wrap { padding: 0 var(--cb-edge); display: block; }
  .cb-a-cta__box { display: block; background: var(--global-palette3); color: var(--global-palette9); border-radius: var(--cb-r-lg); overflow: hidden; }
  .cb-a-cta__text { display: flex; flex-direction: column; justify-content: center; gap: 22px; padding: 56px 48px; }
  .cb-a-cta__h { font-size: 44px; line-height: 1.1; letter-spacing: -.02em; max-width: 13em; }
  .cb-a-cta__p { font-size: 19px; line-height: 1.5; max-width: 32em; }
  .cb-a-cta__row { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 6px; }
  .cb-a-cta__row .cb-btn { margin-top: 0; }
  .cb-a-cta__from { text-align: left; font-size: 15px; }
}
@media (min-width: 1025px) {
  .cb-a-cta { padding-bottom: 96px; }
  .cb-a-cta__box { display: grid; grid-template-columns: 7fr 5fr; min-height: 380px; }
  .cb-a-cta__text { padding: 64px 72px; }
  .cb-a-cta__h { font-size: 48px; }
}

/* ---------- B8 Powiązane + karty artykułów (K48) ---------- */
.cb-a-rel { padding: 40px 0 44px; }
.cb-a-rel__h { font-size: 26px; line-height: 1.15; }
.cb-a-rel__list { margin: 12px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-acard { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--global-palette7); color: var(--global-palette3); text-decoration: none; }
.cb-acard__img { aspect-ratio: 1 / 1; border-radius: 12px; background: repeating-linear-gradient(135deg, #E3DBD0 0 1px, var(--global-palette7) 1px 10px); display: flex; align-items: flex-end; padding: 12px; }
.cb-acard__ph { display: none; font: 11px/1.4 var(--cb-mono); color: var(--global-palette4); background: var(--global-palette9); padding: 4px 6px; }
.cb-acard__tx { display: flex; flex-direction: column; gap: 4px; }
.cb-acard__cat { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: normal; color: var(--global-palette2); }
.cb-acard__t { font-size: 16px; font-weight: 600; line-height: 1.35; }
.cb-acard__meta { display: flex; gap: 5px; align-items: center; font-size: 13px; line-height: normal; color: var(--global-palette5); }
@media (hover: hover) and (pointer: fine) { .cb-acard:hover .cb-acard__t { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; } }
@media (min-width: 768px) {
  .cb-a-rel { padding: 88px 0 104px; }
  .cb-a-rel__head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
  .cb-a-rel__h { font-size: 40px; line-height: 1.1; }
  .cb-a-rel__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
  .cb-acard { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 0; border-bottom: 0; }
  .cb-acard__img { aspect-ratio: 3 / 2; border-radius: 16px; }
  .cb-acard__ph { display: block; }
  .cb-acard__tx { display: contents; }
  .cb-acard__t { font-size: 21px; line-height: 1.3; text-wrap: balance; }
  .cb-acard__meta { gap: 6px; font-size: 14px; }
}
@media (min-width: 1025px) { .cb-a-rel__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* =============================================================================
   LISTA ARTYKUŁÓW (C, archiwum /pl/poradnik/)
   ============================================================================= */
.cb-arch__head { padding-top: 16px; }
.cb-arch__desc { margin-top: 8px; font-size: 16px; line-height: 1.5; color: var(--global-palette4); }
.cb-arch__pills { list-style: none; margin: 0 auto; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-top: 18px; padding-bottom: 4px; }
.cb-arch__pills::-webkit-scrollbar { display: none; }
.cb-catpill { flex: none; height: 44px; padding: 0 16px; border-radius: var(--cb-r-pill); box-shadow: inset 0 0 0 1px var(--global-palette6); color: var(--global-palette3); font: 600 15px var(--cb-sans); display: flex; align-items: center; gap: 6px; text-decoration: none; white-space: nowrap; transition: background-color 160ms ease-out; }
.cb-catpill > span { font-weight: 400; font-size: 13px; color: var(--global-palette5); }
.cb-catpill[aria-current="page"] { background: var(--global-palette3); color: var(--global-palette9); box-shadow: none; }
.cb-catpill[aria-current="page"] > span { color: var(--global-palette6); }
@media (hover: hover) and (pointer: fine) { .cb-catpill:not([aria-current]):hover { background: var(--global-palette8); } }
.cb-arch__body { padding-top: 16px; padding-bottom: 40px; }
.cb-arch__grid { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.cb-acard--feat { display: flex; flex-direction: column; align-items: stretch; gap: 8px; padding: 0 0 16px; }
.cb-acard--feat .cb-acard__img { aspect-ratio: 3 / 2; border-radius: var(--cb-r-md); margin-bottom: 6px; }
.cb-acard--feat .cb-acard__ph { display: block; }
.cb-acard--feat .cb-acard__tx { display: contents; }
.cb-acard--feat .cb-acard__t { font: 400 24px/1.2 var(--cb-serif); letter-spacing: -.01em; text-wrap: balance; }
.cb-arch__older { margin-top: 24px; }
@media (min-width: 768px) {
  .cb-arch__head { padding-top: 48px; }
  .cb-arch__desc { margin-top: 16px; font-size: 19px; line-height: 1.55; }
  .cb-arch__cats { border-bottom: 1px solid var(--global-palette7); }
  .cb-arch__pills { flex-wrap: wrap; overflow: visible; padding-top: 36px; padding-bottom: 28px; }
  .cb-catpill { padding: 0 18px; gap: 8px; }
  .cb-arch__body { padding-top: 48px; padding-bottom: 0; }
  .cb-arch__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 24px; }
  .cb-acard--feat { gap: 12px; padding: 0; }
  .cb-acard--feat .cb-acard__img { border-radius: 16px; margin-bottom: 0; }
  .cb-acard--feat .cb-acard__t { font: 600 21px/1.3 var(--cb-sans); letter-spacing: 0; }
  .cb-pager { padding: 64px 0 88px; display: flex; justify-content: center; align-items: center; gap: 8px; font-size: 16px; }
  .cb-pager__n { width: 44px; height: 44px; border-radius: var(--cb-r-pill); display: flex; align-items: center; justify-content: center; color: var(--global-palette3); text-decoration: none; line-height: normal; }
  span.cb-pager__n { background: var(--global-palette3); color: var(--global-palette9); font-weight: 600; }
  .cb-pager__next { padding: 0 12px; margin-left: 8px; }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) { a.cb-pager__n:hover { background: var(--global-palette7); } }
@media (min-width: 1025px) {
  .cb-arch__head { padding-top: 56px; }
  .cb-arch__head-grid { display: grid; grid-template-columns: 7fr 5fr; gap: 80px; align-items: end; }
  .cb-arch__h1 { line-height: 1; }
  .cb-arch__desc { margin-top: 0; }
  .cb-arch__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cb-pager { padding-bottom: 104px; }
}

/* Okruszki i kategoria wpisu: obszar dotyku 44 px bez zmiany wyglądu (jak .cb-hit, WCAG 2.5.8; ODSTEPSTWA-01 poz. 8) */
.cb-a-crumbs a, a.cb-a-cat { position: relative; }
.cb-a-crumbs a::after, a.cb-a-cat::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }

/* Zaślepki (decyzja właściciela 07.10): strony, które kanwa 06 ma tylko z nazwy — opisane miejsce na treść, jak „FOTO …” */
.cb-todo { padding-block: 24px var(--cb-section); }
.cb-todo__ph { min-height: 280px; align-items: flex-start; padding: 20px; }
.cb-todo__ph > span { font-size: 13px; line-height: 1.6; max-width: 72ch; }
.cb-todo__ph a { color: var(--global-palette2); }
.cb-a-content .cb-todo__ph { margin-block: 8px 24px; min-height: 360px; }

/* Przycisk w hero okazji nie kurczy się: w ramce kanwy flex ściska go o 1 px (241 → 240) i napis łamie się na 2 wiersze
   w pigułce 52 px — błąd renderu kanwy, nie wartość projektu (ODSTEPSTWA, część 06; do potwierdzenia przez właściciela). */
.cb-o-hero__actions .cb-btn { flex: none; }
/* =============================================================================
   07 DECYZJE WŁAŚCICIELA PO S2 (08.10.2026) — R14 hero na środku (telefon), R15 przełącznik „Strona wydarzenia”
   Opis i powody: ODSTEPSTWA.md → R14, R15.
   ============================================================================= */

/* ---------- R14 · Hero stron sprzedażowych na środku na telefonie (≤ 767) ----------
   W Kadence bez własnego CSS: Advanced Heading / Advanced Text / Buttons / Icon List → wyrównanie dla telefonu „środek”
   (ikona telefonu przy polu wyrównania). Tablet i komputer bez zmian — do lewej jak w kanwie.
   Strony: główna (+DE), Galeria QR, Strona wydarzenia, Cennik, Współpraca, okazje, 404, lista poradnika.
   Artykuły poradnika i strona prawna zostają do lewej (długi tekst czyta się od lewej krawędzi). */
@media (max-width: 767px) {
  .cb-hero__text > .cb-eyebrow, .cb-qrhero__text > .cb-eyebrow, .cb-ph-hero__text > .cb-eyebrow,
  .cb-wsp-hero__text > .cb-eyebrow, .cb-404__text > .cb-eyebrow, .cb-o-hero__text > .cb-eyebrow,
  .cb-hero__h1, .cb-qrhero__h1, .cb-ph-hero__h1, .cb-wsp-hero__h1, .cb-404__h1, .cb-o-hero__h1, .cb-arch__h1 { text-align: center; }
  /* lead: wyśrodkowany tekst z wyrównanymi wierszami (bez krótkiego ostatniego wiersza) */
  .cb-hero__lead, .cb-qrhero__lead, .cb-ph-hero__lead, .cb-wsp-hero__lead, .cb-o-hero__lead, .cb-arch__desc { text-align: center; text-wrap: balance; }
  .cb-hero__actions .cb-textlink, .cb-qrhero__actions .cb-textlink { justify-content: center; }
  /* mikrotekst K4: jeden blok, ✓ w linii przy pierwszym słowie (R13 #6 obejmował tylko .cb-hero__micro — Galeria QR i okazje miały ✓ przy krawędzi) */
  .cb-hero__micro, .cb-qrhero__micro, .cb-o-hero__micro { display: block; text-align: center; text-wrap: balance; }
  .cb-hero__micro svg, .cb-qrhero__micro svg, .cb-o-hero__micro svg { display: inline-block; vertical-align: -4px; margin: 0 6px 0 0; }
}

/* ---------- R15 · Przełącznik „Strona wydarzenia” ----------
   cel-es      = element tylko przy WŁĄCZONEJ stronie wydarzenia (menu, karty, zakładki, wiersze cen…)
   cel-es-off  = tekst zastępczy tylko przy WYŁĄCZONEJ
   W WordPressie elementy usuwa z HTML fragment PHP (wp/przelacznik-strona-wydarzenia.php) — ta reguła CSS jest tylko symulacją prototypu.
   Stan zapisany w <html data-es="off|on">; bez JS obowiązuje stan z HTML (domyślnie „off” — tak jak dziś na celebrio.app). */
html[data-es="off"] .cel-es, html[data-es="on"] .cel-es-off { display: none !important; }

/* Pasek informacyjny prototypu na stronach tylko o stronie wydarzenia (strona-wydarzenia, poradnik-strona-slubna) — NIE przenosić do WP */
.cb-es-banner { margin: 0; padding: 12px 16px; background: var(--global-palette8); border-bottom: 1px solid var(--global-palette7); font-size: 14px; line-height: 1.5; color: var(--global-palette3); text-align: center; }
.cb-es-banner a { color: var(--global-palette3); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* Układy przy wyłączonej stronie wydarzenia (gdy z siatki znika element).
   Selektor „:nth-last-child(1 of :not(.cel-es))” jest tylko dla prototypu, gdzie ukryte elementy zostają w DOM.
   W WP elementów nie ma w HTML — wystarczy „:last-child:nth-child(odd)” (działa w obu stanach, bez html[data-es]). */
/* Główna F (tel.): 3 kafle → ostatni na całą szerokość */
html[data-es="off"] .cb-more__tiles > :nth-last-child(1 of :not(.cel-es)) { grid-column: 1 / -1; }
/* Okazje D: 3 cechy — telefon/tablet 2 kol. z ostatnią na całą szerokość, komputer 3 kol. zamiast 4 */
html[data-es="off"] .cb-o-feats__grid > :nth-last-child(1 of :not(.cel-es)) { grid-column: 1 / -1; }
@media (min-width: 1025px) {
  html[data-es="off"] .cb-o-feats__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-es="off"] .cb-o-feats__grid > :nth-last-child(1 of :not(.cel-es)) { grid-column: auto; }
  /* Główna F (komp.): 3 karty w 3 kolumnach, w karcie obraz nad tekstem (obraz 294 × 360 bez przycinania) */
  html[data-es="off"] .cb-more__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  html[data-es="off"] .cb-more__card { grid-template-columns: 1fr; align-content: start; }
  html[data-es="off"] .cb-more__card > img { object-fit: contain; object-position: center bottom; }
  html[data-es="off"] .cb-more__body { justify-content: flex-start; padding: 32px; }
}
@media (min-width: 768px) {
  /* Zajawka cen (główna K, wzorzec K15-Z): jedna karta Galerii — poziomo, na całą szerokość */
  html[data-es="off"] .cb-pricing__cards { grid-template-columns: minmax(0, 1fr); }
  html[data-es="off"] .cb-psz__cards { grid-template-columns: minmax(0, 480px); }
  html[data-es="off"] .cb-pkg-teaser { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; row-gap: 6px; align-items: center; }
  html[data-es="off"] .cb-pkg-teaser__price { grid-column: 2; grid-row: 1; margin-top: 0; justify-self: end; }
  html[data-es="off"] .cb-pkg-teaser__once { grid-column: 2; grid-row: 2; justify-self: end; }
  /* Cennik C: jedna lista „Galeria” */
  html[data-es="off"] .cb-every__lists { grid-template-columns: minmax(0, 1fr); }
  /* Cennik D: została karta przedłużenia — na całą szerokość */
  html[data-es="off"] .cb-save__grid { grid-template-columns: minmax(0, 1fr); }
}
/* Cennik D na telefonie: karta przedłużenia jest ukryta (ta sama treść w FAQ 4), więc bez „Galeria + strona” sekcja byłaby pusta */
@media (max-width: 767px) { html[data-es="off"] .cb-save { display: none; } }

/* ---------- 08.10 · Języki bez łacinki (strony hi-*, zh-*) ----------
   Noto Serif Display i Schibsted Grotesk nie mają dewanagari ani znaków chińskich, a Schibsted nie ma cyrylicy
   (rosyjski bierze krój zastępczy systemu dla tekstu; nagłówki Noto Serif Display mają cyrylicę).
   W WP: te same kroje z Google Fonts ładowane tylko na stronach danego języka (Polylang) + reguły :lang() w globalnym CSS. */
html:lang(hi) { --cb-serif: 'Noto Serif Devanagari', 'Noto Serif Display', serif; --cb-sans: 'Noto Sans Devanagari', 'Schibsted Grotesk', system-ui, sans-serif; }
html:lang(zh) { --cb-serif: 'Noto Serif SC', 'Songti SC', serif; --cb-sans: 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', system-ui, sans-serif; }
/* chiński nie ma kursywy — wyróżnienie w nagłówkach kolorem P2 zamiast pochylenia; bez rozstrzelenia wersalików */
html:lang(zh) em { font-style: normal; color: var(--global-palette2); }
html:lang(zh) .cb-eyebrow, html:lang(hi) .cb-eyebrow { letter-spacing: .02em; }
html:lang(hi) .cb-h1, html:lang(hi) .cb-h2 { line-height: 1.35; }
html:lang(zh) .cb-h1, html:lang(zh) .cb-h2 { line-height: 1.3; letter-spacing: 0; }
/* Wąskie kolumny tabeli porównania na telefonie (84 px): długie słowa (de „Chatnachrichten”, it „compressione”, ru „приложение”)
   dzielone wg słownika języka strony (atrybut lang) zamiast rozpychać stronę. W WP: ta sama reguła w globalnym CSS. */
html:not(:lang(pl)) :is(.cb-cmpm__c, .cb-cmpm__a, .cb-compare__a, .cb-compare__c, .cb-compare__th) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; min-width: 0; }
/* Języki inne niż polski (dłuższe słowa w wąskich polach na telefonie): dzielenie wyrazów w nagłówkach kart, zakładkach
   i etykietach; w kafelkach modelu płatności cennika „from / desde / dès” może przejść nad kwotę (kwota zostaje w jednym wierszu).
   Polski bez zmian (zgodność z kanwą). */
html:not(:lang(pl)) :is(h1, h2, h3, .cb-tab, .cb-paymodel__k, .cb-cattab__t) { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
html:not(:lang(pl)) .cb-paymodel__v { white-space: normal; }
html:not(:lang(pl)) .cb-paymodel__v [data-section] { white-space: nowrap; }
/* Krótkie słowa w okruszkach i kategorii wpisu (es „Guía”, zh „指南”, hi „गाइड”): obszar dotyku także ≥ 44 px szerokości (WCAG 2.5.8) */
.cb-a-crumbs a::after, a.cb-a-cat::after { left: 50%; right: auto; width: 100%; min-width: 44px; transform: translate(-50%, -50%); }
/* Chiński: wyróżnienie kolorem — na ciemnym tle P6 zamiast P2 (kontrast) */
html:lang(zh) .cb-dark em, html:lang(zh) .cb-dark :is(h1, h2, h3) em { color: var(--global-palette6); }
/* R19: „Профессиональные фото…” (nowy tekst karty Fotograf) nie mieścił się na 768 px — kolumny bez min-content i dzielenie wyrazów */
html:not(:lang(pl)) .cb-pair__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
html:not(:lang(pl)) .cb-pair__thesis { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
