/* Tokeny z DESIGN.md — jedyne źródło kolorów, odstępów i typografii. Nie dopisuj wartości poza tym blokiem. */
:root {
  --c-brand: #DC0000; --c-brand-ink: #FFFFFF; --c-brand-hover: #B00000;
  --c-bg: #F7F7F5; --c-surface: #FFFFFF; --c-surface-2: #ECEBE7; --c-fg: #22211F; --c-muted: #595753; --c-border: #CFCDC8; --c-link: #A80000; --c-success: #1C6E31; --c-error: #B42318;
  --c-ink: #151514; --c-ink-fg: #F2F1EE; /* stały ciemny pas stopki w obu trybach */
  --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; --fs-sm: 1rem; --fs-base: 1.125rem; --fs-lg: 1.25rem; --fs-xl: clamp(1.375rem, 1.25rem + 0.6vw, 1.625rem); --fs-2xl: clamp(1.75rem, 1.5rem + 1.2vw, 2.25rem); --fs-3xl: clamp(2.125rem, 1.6rem + 2.6vw, 3.5rem); --lh-tight: 1.2; --lh-base: 1.5;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
  --radius: 4px; --radius-lg: 8px; --shadow: 0 2px 4px rgb(34 33 31 / 0.08), 0 8px 24px rgb(34 33 31 / 0.12); --maxw: 1200px; --gutter: 16px; --tap: 44px;
}
@media (prefers-color-scheme: dark) {
  :root {
    /* --c-brand, --c-brand-ink, --c-brand-hover bez zmian: biały na #DC0000 = 5,19:1, #DC0000 na tle #151514 = 3,52:1 (element UI) */
    --c-bg: #151514; --c-surface: #1E1E1C; --c-surface-2: #2A2A27; --c-fg: #F2F1EE; --c-muted: #B3B1AB; --c-border: #45433F; --c-link: #FF8F85; --c-success: #6CCB82; --c-error: #FF7A6E;
    --shadow: 0 2px 4px rgb(0 0 0 / 0.4), 0 8px 24px rgb(0 0 0 / 0.5);
  }
}
html { color-scheme: light dark; }
body { margin: 0; background: var(--c-bg); color: var(--c-fg); font-family: var(--font-sans); font-size: var(--fs-base); line-height: var(--lh-base); overflow-wrap: break-word; }

/* ===== Reset i typografia ===== */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { line-height: var(--lh-tight); margin: var(--sp-7) 0 var(--sp-3); }
h1 { font-size: var(--fs-3xl); font-weight: 800; letter-spacing: -0.02em; margin-top: var(--sp-6); }
h2 { font-size: var(--fs-2xl); font-weight: 800; }
h3 { font-size: var(--fs-xl); font-weight: 700; }
p { margin: 0 0 var(--sp-4); max-width: 70ch; }
a { color: var(--c-link); text-decoration: underline; text-underline-offset: 0.15em; }
small { font-size: var(--fs-sm); }
::selection { background: var(--c-brand); color: var(--c-brand-ink); }
:focus-visible { outline: 3px solid var(--c-fg); outline-offset: 2px; }
ul, ol { padding-left: var(--sp-5); }

/* ===== Dostępność ===== */
.skip-link { position: absolute; left: var(--sp-2); top: calc(-1 * var(--sp-8)); z-index: 100; padding: var(--sp-3) var(--sp-4); background: var(--c-surface); color: var(--c-fg); border-radius: var(--radius); }
.skip-link:focus { top: var(--sp-2); }
/* Sticky header u góry i pasek telefonu na dole nie zasłaniają celu kotwicy ani fokusu */
html { scroll-padding-top: calc(var(--tap) + var(--sp-5)); }
@media (max-width: 899.98px) { html { scroll-padding-bottom: calc(var(--tap) + var(--sp-6)); } }
.table-wrap:focus-visible { outline-offset: 0; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; min-height: 0 !important; padding: 0 !important; margin: -1px !important; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0 !important; }

/* ===== Kontener i siatka ===== */
.shell { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.grid { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); padding: 0; list-style: none; }
.shell.grid { padding-inline: var(--gutter); }
@media (min-width: 720px) {
  .grid-2 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
}

/* ===== Przyciski ===== */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--sp-2); min-height: calc(var(--tap) + var(--sp-1)); text-align: center; min-width: var(--tap); padding: var(--sp-2) var(--sp-4); border: 2px solid var(--c-fg); border-radius: var(--radius); background: var(--c-surface); color: var(--c-fg); font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.btn:hover { background: var(--c-surface-2); }
.btn:disabled { cursor: progress; opacity: 0.7; }
.btn-primary { background: var(--c-brand); border-color: var(--c-brand); color: var(--c-brand-ink); }
.btn-primary:hover { background: var(--c-brand-hover); border-color: var(--c-brand-hover); }
.btn-phone { border-color: var(--c-brand); font-variant-numeric: tabular-nums; white-space: nowrap; }
.btn-lg { min-height: calc(var(--tap) + var(--sp-1)); padding: var(--sp-3) var(--sp-5); font-size: var(--fs-lg); }
.nowrap { white-space: nowrap; }

/* ===== Karta, znacznik, tabela, W skrócie ===== */
.card { display: block; padding: var(--sp-4); background: var(--c-surface); color: var(--c-fg); border: 1px solid var(--c-border); border-radius: var(--radius-lg); text-decoration: none; }
a.card { min-height: var(--tap); font-weight: 700; }
a.card:hover { border-color: var(--c-fg); }
.badge { display: inline-block; padding: 0 var(--sp-2); border-radius: var(--radius); background: var(--c-surface-2); color: var(--c-fg); font-size: var(--fs-sm); font-weight: 600; }
.table-wrap { overflow-x: auto; max-width: 100%; }
.table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.table th, .table td { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--c-border); vertical-align: top; }
.table th { text-align: left; font-weight: 600; }
.table td { font-variant-numeric: tabular-nums; }
.table thead th, .table tbody tr:nth-child(even) { background: var(--c-surface-2); }
.tldr { margin: var(--sp-5) 0; padding: var(--sp-4); background: var(--c-surface-2); border-left: var(--sp-1) solid var(--c-brand); }
.tldr > :last-child { margin-bottom: 0; }

/* ===== Header ===== */
.site-header { position: sticky; top: 0; z-index: 50; background: var(--c-surface); border-bottom: 1px solid var(--c-border); }
.site-header__row { display: grid; grid: auto / auto 1fr auto; align-items: center; gap: var(--sp-3); min-height: calc(var(--tap) + var(--sp-4)); }
.logo { display: inline-flex; align-items: center; min-height: var(--tap); }
.logo picture { display: contents; }
.logo img { height: var(--sp-6); width: auto; }
.nav-toggle { justify-self: end; }
.site-header__row > .btn-phone { display: none; }

/* ===== Nawigacja: mobile (panel pełnoekranowy) ===== */
.nav { display: none; grid-column: 1 / -1; padding-bottom: var(--sp-5); }
body.is-open { overflow: hidden; }
body.is-open .site-header { position: fixed; inset: 0; overflow-y: auto; box-shadow: var(--shadow); }
body.is-open .nav { display: block; }
.nav__list, .nav__sub { list-style: none; margin: 0; padding: 0; }
.nav__list > li { border-bottom: 1px solid var(--c-border); }
.nav a, .nav__soon { display: flex; align-items: center; min-height: var(--tap); padding: var(--sp-2) 0; color: var(--c-fg); font-weight: 700; text-decoration: none; }
.nav a:hover { color: var(--c-link); text-decoration: underline; }
.nav__sub { display: none; padding-left: var(--sp-4); padding-bottom: var(--sp-2); }
.nav__sub a, .nav__sub .nav__soon { font-weight: 400; }
.nav__item--group.is-open > .nav__sub { display: block; }
.nav__soon { color: var(--c-muted); cursor: default; }
.nav a { min-width: var(--tap); }

/* ===== Nawigacja: desktop ===== */
@media (min-width: 900px) {
  .site-header__row { grid: auto / auto 1fr auto; position: relative; }
  .nav-toggle { display: none; }
  .nav { display: block; grid-column: auto; padding-bottom: 0; }
  .site-header__row > .btn-phone { display: inline-flex; }
  .nav__list { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 var(--sp-4); }
  .nav__list > li { border-bottom: 0; }
  .nav__list > li > a { justify-content: center; }
  .nav__item--group { position: static; }
  .nav__item--group > .nav__sub { display: none; position: absolute; left: var(--gutter); right: var(--gutter); top: 100%; z-index: 60; columns: 3; column-gap: var(--sp-5); padding: var(--sp-4) var(--sp-5); background: var(--c-surface); border-radius: 0 0 var(--radius-lg) var(--radius-lg); box-shadow: var(--shadow); }
  .nav__item--group:hover > .nav__sub, .nav__item--group:focus-within > .nav__sub { display: block; }
  .nav__sub li { break-inside: avoid; }
  .nav__item--group.is-dismissed > .nav__sub { display: none; }
}

/* ===== Sticky pasek telefonu (mobile) ===== */
.phone-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: 1fr auto; gap: var(--sp-2); padding: var(--sp-2) var(--gutter); background: var(--c-surface); box-shadow: var(--shadow); }
.phone-cta.is-hidden { display: none; }
.phone-cta .btn { flex-wrap: wrap; row-gap: 0; }
@media (max-width: 899.98px) {
  body { padding-bottom: calc(var(--tap) + var(--sp-5)); }
}
@media (min-width: 900px) {
  .phone-cta { display: none; }
}

/* ===== Sekcja zapytania i formularz ===== */
.contact-cta { margin-top: var(--sp-8); padding-block: var(--sp-7); background: var(--c-surface-2); }
.contact-cta h2 { margin-top: 0; }
.contact-form { display: grid; gap: var(--sp-4); }
.contact-form label { display: block; font-size: var(--fs-sm); font-weight: 600; }
.contact-form input:not([type="checkbox"]), .contact-form textarea { display: block; width: 100%; min-height: calc(var(--tap) + var(--sp-1)); margin-top: var(--sp-1); padding: var(--sp-2) var(--sp-3); background: var(--c-surface); color: var(--c-fg); border: 1px solid var(--c-muted); border-radius: var(--radius); font: inherit; font-weight: 400; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible { border-color: var(--c-fg); }
.contact-form .check { display: grid; grid-template-columns: auto 1fr; gap: var(--sp-3); align-items: start; font-weight: 400; }
.contact-form .check input { width: var(--sp-5); height: var(--sp-5); margin: 0; accent-color: var(--c-brand); }
.contact-form .check a { grid-column: 2; display: inline-flex; align-items: center; justify-self: start; min-height: var(--tap); }
.form-status { min-height: calc(var(--lh-base) * 1em); margin: 0; color: var(--c-error); font-weight: 600; }
.form-status:empty { display: none; }

/* ===== Stopka ===== */
.site-footer { padding-block: var(--sp-7) var(--sp-5); background: var(--c-ink); color: var(--c-ink-fg); }
.site-footer :focus-visible { outline-color: var(--c-ink-fg); }
.site-footer a { color: var(--c-ink-fg); display: inline-flex; align-items: center; min-height: var(--tap); }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer__h { margin-top: 0; font-size: var(--fs-xl); }
.site-footer img { margin-bottom: var(--sp-4); }
.team li { padding-block: var(--sp-1); }
.team li span { font-weight: 700; }
.team li small { display: block; }
.site-footer__legal { margin-top: var(--sp-6); padding-top: var(--sp-4); border-top: 1px solid var(--c-ink-fg); font-size: var(--fs-sm); }

/* ===== Okruszki ===== */
.breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; margin: var(--sp-4) 0 0; padding: 0; list-style: none; font-size: var(--fs-sm); color: var(--c-muted); }
.breadcrumbs li + li::before { content: "›"; padding-inline: var(--sp-2); }
.breadcrumbs a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap); min-height: var(--tap); }
@media (max-width: 719.98px) {
  /* Na telefonie tylko link do rodzica: pełna ścieżka zajmowała pół ekranu nad H1 */
  .breadcrumbs li { display: none; }
  .breadcrumbs li:nth-last-child(2) { display: flex; align-items: center; }
  .breadcrumbs li:nth-last-child(2)::before { content: "‹"; padding-inline: 0 var(--sp-2); }
}

/* ===== 404 ===== */
.page-404 { padding-bottom: var(--sp-6); }
.page-404 .card { display: flex; align-items: center; min-height: calc(var(--tap) * 2); font-size: var(--fs-lg); }

/* ===== Katalog: wstęp, siatki grup i kategorii ===== */
.lead { font-size: var(--fs-lg); }
.lead > :last-child { margin-bottom: 0; }
.empty { color: var(--c-muted); }
.group-grid .card { display: flex; flex-direction: column; gap: var(--sp-1); font-size: var(--fs-lg); }
.group-grid .card span { font-size: var(--fs-sm); font-weight: 600; color: var(--c-muted); }
.cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 720px) { .cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 960px) { .cat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.cat-tile > a, .cat-tile > div { display: flex; flex-direction: column; height: 100%; min-height: var(--tap); overflow: hidden; background: var(--c-surface); color: var(--c-fg); border: 1px solid var(--c-border); border-radius: var(--radius-lg); text-decoration: none; }
.cat-tile > a:hover { border-color: var(--c-fg); }
.cat-tile img, .cat-tile__ph { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--c-surface-2); }
.cat-tile__name { padding: var(--sp-3) var(--sp-3) 0; font-weight: 700; line-height: var(--lh-tight); overflow-wrap: anywhere; }
.cat-tile__meta { padding: var(--sp-1) var(--sp-3) var(--sp-3); font-size: var(--fs-sm); color: var(--c-muted); }
.cat-tile--soon > div { cursor: default; }
.cat-tile--soon img, .cat-tile--soon .cat-tile__ph { opacity: 0.5; }

/* ===== Katalog: kafelek maszyny ===== */
.product-tile { display: flex; flex-direction: column; gap: var(--sp-3); padding-bottom: var(--sp-4); overflow: hidden; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); }
.product-tile--draft { border: 2px dashed var(--c-muted); }
.product-tile__link { display: flex; flex: 1; flex-direction: column; gap: var(--sp-2); color: var(--c-fg); text-decoration: none; }
.product-tile__link:hover .product-tile__title { text-decoration: underline; }
.product-tile img, .product-tile .photo-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: var(--c-surface-2); }
.product-tile__producer, .product-tile__title, .product-tile__spec, .product-tile .price { margin-inline: var(--sp-4); }
.product-tile__producer { font-size: var(--fs-sm); font-weight: 600; color: var(--c-muted); }
.product-tile__title { font-size: var(--fs-lg); font-weight: 700; line-height: var(--lh-tight); }
.product-tile__spec { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-2) var(--sp-3); margin-block: var(--sp-1); padding: var(--sp-3); background: var(--c-surface-2); border-radius: var(--radius); }
.product-tile__spec dt { font-size: var(--fs-sm); color: var(--c-muted); }
.product-tile__spec dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; }
.product-tile .price { margin-top: auto; }
.product-tile > .btn { margin-inline: var(--sp-4); }
.photo-ph { display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; padding: var(--sp-4); background: var(--c-surface-2); color: var(--c-muted); font-size: var(--fs-sm); text-align: center; border-radius: var(--radius-lg); }
.price { font-weight: 700; font-variant-numeric: tabular-nums; }
.price--ask { color: var(--c-muted); }

/* ===== Karta maszyny ===== */
.product__head h1 { margin-top: var(--sp-2); }
.product__producer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); margin: var(--sp-4) 0 0; font-weight: 700; }
.product__producer > a:not(.badge) { display: inline-flex; align-items: center; min-height: var(--tap); }
a.badge { display: inline-flex; align-items: center; min-height: var(--tap); padding-inline: var(--sp-3); text-decoration: none; }
a.badge:hover { text-decoration: underline; }
.badge--draft { background: transparent; border: 1px dashed var(--c-muted); }
.product__grid { display: grid; gap: var(--sp-5); }
.gallery { display: grid; gap: var(--sp-3); }
.gallery img { display: block; width: 100%; background: var(--c-surface-2); border-radius: var(--radius-lg); }
.gallery a { display: block; border-radius: var(--radius-lg); }
.gallery__thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-2); margin: 0; padding: 0; list-style: none; }
.gallery__thumbs img { height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.gallery__thumbs a { border-radius: var(--radius); }
.product__cta { display: grid; gap: var(--sp-3); align-content: start; }
.product__cta .price { font-size: var(--fs-xl); }
.product__cta .btn { width: 100%; }
.product__links { display: flex; flex-wrap: wrap; gap: 0 var(--sp-4); margin: 0; }
.product__links a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap); min-height: var(--tap); }
@media (min-width: 900px) {
  .product__grid { grid-template-columns: 2fr 1fr; align-items: start; }
  .product__cta { position: sticky; top: calc(var(--tap) + var(--sp-6)); }
}
.product__body { margin-top: var(--sp-6); }
.product__body .table-wrap { margin-block: var(--sp-6); }
.table caption { caption-side: top; padding-bottom: var(--sp-3); font-size: var(--fs-xl); font-weight: 700; line-height: var(--lh-tight); text-align: left; }
.spec-table th[scope="row"] { width: 50%; }
.variants-table th[scope="col"], .variants-table td { text-align: center; white-space: nowrap; }
.variants-table th[scope="row"], .variants-table thead th:first-child { position: sticky; left: 0; z-index: 1; min-width: 9em; text-align: left; background: var(--c-bg); }
.variants-table thead th:first-child, .variants-table tbody tr:nth-child(even) th[scope="row"] { background: var(--c-surface-2); }
.equipment { display: grid; gap: 0 var(--sp-6); }
@media (min-width: 720px) { .equipment { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.faq details { border-bottom: 1px solid var(--c-border); }
.faq summary { display: list-item; min-height: var(--tap); padding-block: var(--sp-3); font-weight: 700; cursor: pointer; }
.faq details p { padding-bottom: var(--sp-3); }
.sources { font-size: var(--fs-sm); color: var(--c-muted); }
.sources li { padding-block: var(--sp-2); }
.sources a { display: inline-flex; align-items: center; min-height: var(--tap); }

/* ===== Producenci i tagi ===== */
.term-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-4) var(--sp-5); margin-top: var(--sp-5); }
.term-head h1 { margin: 0; }
.term-head img, .term-tile img { width: auto; height: var(--sp-8); padding: var(--sp-2); object-fit: contain; border-radius: var(--radius); }
.term-tile > a { display: flex; flex-direction: column; gap: var(--sp-2); height: 100%; min-height: var(--tap); padding: var(--sp-4); background: var(--c-surface); color: var(--c-fg); border: 1px solid var(--c-border); border-radius: var(--radius-lg); text-decoration: none; }
.term-tile > a:hover { border-color: var(--c-fg); }
.term-tile__name { font-size: var(--fs-lg); font-weight: 700; }
.term-tile__meta { font-size: var(--fs-sm); color: var(--c-muted); }
@media (prefers-color-scheme: dark) {
  /* Logo producentów mają przezroczyste tło i ciemny znak: jasna podkładka w trybie ciemnym */
  .term-head img, .term-tile img { background: var(--c-ink-fg); }
}

/* ===== Strony stałe, kontakt, podziękowanie ===== */
.page { max-width: 72ch; padding-bottom: var(--sp-6); }
.page .lead { margin-top: 0; }
.team--big { list-style: none; margin: 0; padding: 0; }
.team--big li { padding-block: var(--sp-4); border-bottom: 1px solid var(--c-border); }
.team--big li:first-child { padding-top: 0; }
.team--big .btn-phone { margin-block: var(--sp-2); margin-right: var(--sp-3); }
.team--big a[href^="mailto:"] { display: inline-flex; align-items: center; min-height: var(--tap); overflow-wrap: anywhere; }
.contact-page { padding-bottom: var(--sp-6); }
.contact-page .grid-2 { gap: var(--sp-7); align-items: start; }
.contact-page #formularz h2 { margin-top: 0; }
@media (min-width: 720px) { .contact-page #formularz { padding: var(--sp-5); background: var(--c-surface-2); border-radius: var(--radius-lg); } }
.thanks { padding-block: var(--sp-6) var(--sp-8); }
.thanks__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-5); }

/* ===== Strona główna ===== */
.hero { padding-block: var(--sp-6) var(--sp-7); background: var(--c-surface-2); }
.hero__grid { display: grid; gap: var(--sp-6); align-items: center; }
.hero h1 { margin-top: 0; text-wrap: balance; }
.hero__lead { font-size: var(--fs-lg); }
.hero__cta { display: flex; flex-direction: column; gap: var(--sp-3); margin-block: var(--sp-5); }
.hero__groups { display: grid; gap: var(--sp-2); margin: 0; padding: 0; list-style: none; }
.hero__groups a { display: flex; align-items: center; min-height: var(--tap); padding-inline: var(--sp-4); background: var(--c-surface); color: var(--c-fg); border: 1px solid var(--c-border); border-radius: var(--radius); font-size: var(--fs-sm); font-weight: 600; text-decoration: none; }
.hero__groups a:hover { border-color: var(--c-fg); }
.hero__img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius-lg); background: var(--c-surface); }
@media (min-width: 480px) {
  .hero__cta { flex-direction: row; flex-wrap: wrap; }
  .hero__groups { display: flex; flex-wrap: wrap; }
}
@media (min-width: 900px) { .hero__grid { grid-template-columns: 1.1fr 1fr; } }
.home-sec { padding-block: var(--sp-7); background: var(--c-bg); }
.home-sec--alt { background: var(--c-surface); }
main:has(.home-contact) + .contact-cta { margin-top: 0; }
.home-sec h2 { margin-top: 0; text-wrap: balance; }
.home-sec .grid { margin: 0; }
@media (min-width: 960px) { .home-popular { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.home-groups .card p { margin: 0; font-size: var(--fs-base); font-weight: 400; color: var(--c-fg); }
.logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: var(--sp-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .logos { grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); } }
.logos a { display: flex; align-items: center; justify-content: center; height: 100%; min-height: calc(var(--tap) + var(--sp-5)); padding: var(--sp-3); background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius-lg); }
.logos a:hover { border-color: var(--c-fg); }
.logos img { width: auto; max-width: 100%; height: var(--sp-7); object-fit: contain; filter: grayscale(1); }
.logos a:hover img, .logos a:focus-visible img { filter: none; }
.why .card { height: 100%; }
.why h3 { margin: 0 0 var(--sp-2); }
.why p { margin: 0; font-weight: 400; }
.article-tile > a { display: flex; flex-direction: column; gap: var(--sp-2); height: 100%; overflow: hidden; padding-bottom: var(--sp-4); background: var(--c-surface); color: var(--c-fg); border: 1px solid var(--c-border); border-radius: var(--radius-lg); text-decoration: none; }
.article-tile > a:hover { border-color: var(--c-fg); }
.article-tile > a:hover .article-tile__title { text-decoration: underline; }
.article-tile img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--c-surface-2); }
.article-tile__title, .article-tile__desc, .article-tile__date { margin-inline: var(--sp-4); }
.article-tile__title { margin-top: var(--sp-4); font-size: var(--fs-xl); font-weight: 700; line-height: var(--lh-tight); }
.article-tile img + .article-tile__title { margin-top: var(--sp-2); }
.article-tile__date { font-size: var(--fs-sm); color: var(--c-muted); }
.articles__all { margin: var(--sp-5) 0 0; }
.articles__all a { display: inline-flex; align-items: center; min-height: var(--tap); font-weight: 700; }
.home-contact__grid { display: grid; gap: var(--sp-5); }
.home-contact__facts { display: grid; gap: var(--sp-4); margin: 0; }
.home-contact__facts dt { font-size: var(--fs-sm); font-weight: 600; color: var(--c-muted); }
.home-contact__facts dd { margin: 0; font-size: var(--fs-lg); text-wrap: pretty; }
.home-contact__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2) var(--sp-5); margin: 0; }
.home-contact__actions a:not(.btn) { display: inline-flex; align-items: center; min-height: var(--tap); }
@media (min-width: 720px) { .home-contact__grid { grid-template-columns: 1fr 1fr; align-items: start; } }
@media (prefers-color-scheme: dark) {
  /* Logo producentów: jasna podkładka w trybie ciemnym (jak .term-tile) */
  .logos a { background: var(--c-ink-fg); }
}
.hero__facts { display: flex; flex-wrap: wrap; margin: 0 0 var(--sp-4); padding: 0; list-style: none; font-size: var(--fs-sm); font-weight: 600; color: var(--c-muted); }
.hero__facts li { display: flex; flex-direction: column; padding-inline: var(--sp-5); border-left: 1px solid var(--c-border); }
.hero__facts li:first-child { padding-left: 0; border-left: 0; }
.hero__facts strong { font-size: var(--fs-2xl); font-weight: 800; line-height: var(--lh-tight); font-variant-numeric: tabular-nums; color: var(--c-fg); }

/* ===== Blog: lista, artykuł, spis treści, powiązane ===== */
.blog { padding-bottom: var(--sp-6); }
.blog .articles { margin: var(--sp-5) 0 0; }
.blog .article-tile__title { margin-bottom: 0; }
.article-tile__desc { color: var(--c-fg); }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-4); margin: 0 0 var(--sp-5); font-size: var(--fs-sm); color: var(--c-muted); }
.article-cover { width: 100%; margin-bottom: var(--sp-5); border-radius: var(--radius-lg); background: var(--c-surface-2); }
.article { max-width: none; }
.article > :not(.related) { max-width: 72ch; }
.article table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.article th, .article td { padding: var(--sp-2) var(--sp-3); border-bottom: 1px solid var(--c-border); text-align: left; vertical-align: top; }
.article thead th { background: var(--c-surface-2); font-weight: 600; }
.table-wrap td.num { white-space: nowrap; } /* render-table: komórki liczbowe („155–230 kg”) w całości, przewija się tabela */
.article .table-wrap :is(th, td):first-child { min-width: 9em; } /* nazwa modelu w 1–2 liniach przy 360 px mimo nowrap liczb; przewija się tabela */
.article .table-wrap { margin-block: var(--sp-4); }
.article li { margin-bottom: var(--sp-2); }
.toc { margin: var(--sp-5) 0; padding: var(--sp-4); border: 1px solid var(--c-border); border-radius: var(--radius-lg); background: var(--c-surface); }
.toc h2 { margin: 0 0 var(--sp-2); font-size: var(--fs-lg); }
.toc ul { margin: 0; padding-left: var(--sp-5); }
.toc ul ul { padding-left: var(--sp-4); }
.toc li { margin: 0; }
.toc a { display: inline-flex; align-items: center; min-height: var(--tap); }
.related ul:not(.grid) { padding-left: var(--sp-5); }
.related ul:not(.grid) a { display: inline-flex; align-items: center; min-height: var(--tap); }
.pagination { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: var(--sp-6) 0 0; padding: 0; list-style: none; }
.pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: var(--tap); min-height: var(--tap); padding-inline: var(--sp-3); border: 1px solid var(--c-border); border-radius: var(--radius); text-decoration: none; }
.pagination .active a { background: var(--c-fg); color: var(--c-bg); border-color: var(--c-fg); }
.pagination .disabled a { color: var(--c-muted); pointer-events: none; }
