/* Bioszamba. Kierunek "Bioszamba, wierne odwzorowanie". */

:root {
  --bg: #FFFFFF;
  --surface: #F4FFF9;
  --surface-grey: #F2F2F2;
  --ink: #011A0C;
  --body: #3A3A3A;
  --muted: #6B7670;
  --accent: #03A84E;
  --accent-text: #027A3A;
  --accent-dark: #028F42;
  --hairline: #E4EDE7;

  --font-heading: "Lexend", system-ui, sans-serif;
  --font-body: "DM Sans", system-ui, sans-serif;

  --xs: 8px;
  --sm: 16px;
  --md: 32px;
  --lg: 64px;
  --xl: 96px;

  --r-sm: 8px;
  --r-md: 16px;
  --r-lg: 24px;
  --r-pill: 999px;

  --shadow: 0 2px 12px rgba(1, 26, 12, 0.06);
  --shadow-hover: 0 6px 20px rgba(1, 26, 12, 0.10);

  --wrap: 1200px;
  --gutter: 24px;
}

:where(*, *::before, *::after) { box-sizing: border-box; }
:where(body, h1, h2, h3, h4, p, figure, blockquote, ul, ol, dl, dd) { margin: 0; padding: 0; }
:where(ul[class], ol[class]) { list-style: none; }
:where(img, svg) { display: block; max-width: 100%; height: auto; }
:where(a) { color: inherit; }
:where(button, input, select, textarea) { font: inherit; color: inherit; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
/* Nic nie ma prawa rozpychac strony w poziomie na waskich ekranach. */
html, body { overflow-x: clip; }

body {
  background: var(--bg);
  color: var(--body);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.65;
  font-synthesis-weight: none;
}

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-wrap: balance;
}

h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); font-weight: 700; }
h2 { font-size: clamp(1.75rem, 3vw, 2.5rem); }
h3 { font-size: 1.25rem; }

.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }

.lead { font-size: 1.125rem; color: var(--body); max-width: 62ch; text-wrap: balance; }
.eyebrow { font-size: 1rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent-text); margin-bottom: var(--xs); }

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: var(--gutter); top: var(--xs); z-index: 100; background: var(--ink); color: #FFFFFF; padding: var(--xs) var(--sm); border-radius: var(--r-sm); }

/* Przyciski */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--xs);
  min-height: 52px; padding: 0 30px;
  border: 1px solid transparent; border-radius: var(--r-pill);
  font-family: var(--font-body); font-weight: 500; font-size: 1rem; line-height: 1;
  text-decoration: none; text-align: center; cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, transform 90ms ease;
}
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.btn--primary { background: var(--accent); color: #FFFFFF; }
.btn--primary:hover { background: var(--accent-dark); }
.btn--ghost { background: #FFFFFF; color: var(--accent-text); border-color: var(--accent); }
.btn--ghost:hover { background: var(--accent); color: #FFFFFF; }
.btn--block { width: 100%; }
.btn--light { background: #FFFFFF; color: var(--accent-text); border-color: #FFFFFF; }
.btn--light:hover { background: var(--surface); color: var(--accent-text); border-color: var(--surface); }
.btn--light:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }
.btn--onDeep { background: transparent; color: #FFFFFF; border-color: rgba(255, 255, 255, 0.55); }
.btn--onDeep:hover { background: #FFFFFF; color: var(--accent-text); border-color: #FFFFFF; }
.btn--onDeep:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }

/* Naglowek */
.site-header { background: var(--bg); border-bottom: 1px solid var(--hairline); position: relative; z-index: 20; }
.site-header__inner { display: flex; align-items: center; gap: var(--md); min-height: 84px; }
.site-header__logo { margin-right: var(--lg); }\n.site-header__logo img { width: auto; height: 44px; }
.site-nav { margin-inline: auto; }
.site-nav ul { display: flex; align-items: center; gap: var(--md); }
.site-nav a { text-decoration: none; font-size: 1rem; color: var(--body); padding-block: var(--xs); border-bottom: 2px solid transparent; transition: color 150ms ease, border-color 150ms ease; }
.site-nav a:hover, .site-nav .current-menu-item > a { color: var(--accent-text); border-bottom-color: var(--accent); }
.nav-toggle { display: none; margin-left: auto; min-height: 48px; padding: 0 var(--sm); background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); cursor: pointer; }

/* Pasma */
.band { padding-block: var(--xl); }
.band--surface { background: var(--surface); }
.band--grey { background: var(--surface-grey); }
.band--green { background: var(--accent-text); color: rgba(255, 255, 255, 0.86); }
.band--green .band__head h2 { color: #FFFFFF; }
.band--green .band__head .lead { color: rgba(255, 255, 255, 0.86); }
.band--green .band__head::after { background: #FFFFFF; }
.band--green .eyebrow { color: rgba(255, 255, 255, 0.75); }
.band--tight { padding-block: var(--lg); }

.band__head { text-align: center; max-width: 64ch; margin: 0 auto var(--lg); }
.band__head h2 { margin-bottom: var(--sm); }
.band__head::after { content: ""; display: block; width: 56px; height: 3px; margin: var(--sm) auto 0; background: var(--accent); border-radius: var(--r-pill); }
.band__head .lead { margin-inline: auto; text-wrap: balance; }
.band__head--wide { max-width: none; }


/* Hero */
.hero { padding-block: var(--xl); background: var(--surface); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: var(--lg); }
.hero__figure img { border-radius: var(--r-lg); width: 100%; }
.hero__title { margin-bottom: var(--sm); }
.hero__lead { margin-bottom: var(--md); text-wrap: balance; }
.hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sm); }

/* Wariant ze zdjeciem na calym tle */
.hero--foto { position: relative; isolation: isolate; overflow: hidden; background: var(--ink); padding-block: clamp(var(--lg), 11vw, 160px); }
.hero--foto .hero__bg { position: absolute; inset: 0; z-index: -2; }
.hero--foto .hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero--foto::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(100deg, rgba(1, 26, 12, 0.88) 0%, rgba(1, 26, 12, 0.72) 38%, rgba(1, 26, 12, 0.28) 68%, rgba(1, 26, 12, 0.12) 100%);
}
.hero--foto .hero__inner { max-width: 1200px; }
.hero--foto .hero__title { max-width: 17ch; color: #FFFFFF; margin-bottom: var(--sm); }
.hero--foto .hero__lead { max-width: 46ch; color: rgba(255, 255, 255, 0.88); font-size: 1.1875rem; margin-bottom: var(--md); }
.hero--foto .hero__actions { margin-bottom: 0; }

/* Wstazka domykajaca hero */
.hero__wstazka { position: absolute; left: 0; right: 0; bottom: -1px; z-index: 1; pointer-events: none; line-height: 0; }
.hero__wstazka img { width: 100%; height: auto; display: block; }
.hero--foto .hero__inner { position: relative; z-index: 2; }
.hero--wstazka { padding-bottom: clamp(140px, 17vw, 260px); }


@media (max-width: 900px) {
  .hero--foto::after { background: linear-gradient(170deg, rgba(1, 26, 12, 0.72) 0%, rgba(1, 26, 12, 0.88) 55%, rgba(1, 26, 12, 0.94) 100%); }
  .hero--foto .hero__title { max-width: none; }
}
@media (max-width: 560px) {
  .hero--foto { padding-block: var(--lg); }
  .hero--wstazka { padding-bottom: clamp(90px, 26vw, 160px); }
  .hero--foto .hero__actions .btn { width: 100%; }
}

/* Cztery najwazniejsze fakty */
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sm); }
.fact {
  display: flex; flex-direction: column; gap: 4px;
  padding: var(--md);
  background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md);
  box-shadow: var(--shadow);
  border-top: 3px solid var(--accent);
}
.fact__value {
  font-family: var(--font-heading); font-weight: 700;
  font-size: clamp(1.75rem, 2.8vw, 2.375rem); line-height: 1.05;
  letter-spacing: -0.02em; color: var(--accent-text);
  font-variant-numeric: tabular-nums;
}
.fact__label { font-size: 1.0625rem; color: var(--ink); }
.fact__text { margin-top: var(--xs); font-size: 0.9375rem; line-height: 1.55; color: var(--body); }

@media (max-width: 1024px) {
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .facts { grid-template-columns: 1fr; }
  .fact { padding: var(--sm) var(--md); }
}

/* Karty */
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--md); align-items: stretch; }
.cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.card { display: flex; flex-direction: column; height: 100%; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow); transition: box-shadow 150ms ease, transform 150ms ease; }
.card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.card__fig { padding: var(--md) var(--md) 0; }
.card__fig img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.card__body { display: flex; flex-direction: column; gap: var(--xs); padding: var(--md); text-align: center; flex: 1; }
.card__kicker { font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.card__name { font-size: 1.1875rem; }
.card__name a { text-decoration: none; }
.card:hover .card__name a { color: var(--accent-text); }
.card__price { font-size: 1rem; color: var(--body); font-variant-numeric: tabular-nums; }
.card__price b { color: var(--accent-text); font-weight: 700; }
.card__note { font-size: 0.875rem; color: var(--muted); }
.card .btn { margin-top: auto; }

/* Kategorie */
.cat { display: flex; flex-direction: column; height: 100%; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow); text-decoration: none; transition: box-shadow 150ms ease, transform 150ms ease; }
.cat:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.cat__fig { padding: var(--md) var(--md) 0; }
.cat__fig img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.cat__body { padding: var(--md); text-align: center; display: flex; flex-direction: column; gap: var(--xs); flex: 1; }
.cat__name { display: block; font-family: var(--font-heading); font-weight: 600; color: var(--ink); font-size: 1.25rem; line-height: 1.15; }
.cat:hover .cat__name { color: var(--accent-text); }
.cat__text { color: var(--body); font-size: 0.9375rem; }
.cat__count { font-size: 0.875rem; color: var(--muted); font-variant-numeric: tabular-nums; margin-top: auto; padding-top: var(--sm); }

/* Panel domykajacy podstrony */
.cta-panel {
  display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--lg); align-items: center;
  padding: var(--lg); border-radius: var(--r-lg);
  background: var(--accent-text); color: rgba(255, 255, 255, 0.86);
}
.cta-panel h2 { color: #FFFFFF; margin-bottom: var(--sm); max-width: 20ch; }
.cta-panel__lead { font-size: 1.0625rem; max-width: 52ch; text-wrap: balance; margin-bottom: var(--md); }
.eyebrow--onGreen { color: rgba(255, 255, 255, 0.72); }
.cta-panel .btn--light { background: #FFFFFF; color: var(--accent-text); }
.cta-panel .btn--light:hover { background: var(--surface); color: var(--accent-text); }

/* Telefon i mail jako pelnoprawne wiersze, nie przypisy */
.cta-contact { display: grid; gap: var(--sm); }
.cta-contact__row {
  display: flex; align-items: center; gap: var(--sm);
  padding: var(--sm) var(--md);
  background: rgba(255, 255, 255, 0.10); border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--r-md); text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.cta-contact__row:hover { background: rgba(255, 255, 255, 0.18); border-color: rgba(255, 255, 255, 0.4); transform: translateY(-2px); }
.cta-contact__row:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }
.cta-contact__icon { display: flex; flex: 0 0 auto; color: #FFFFFF; }
.cta-contact__icon svg { width: 28px; height: 28px; }
.cta-contact__body { display: block; min-width: 0; }
.cta-contact__label { display: block; font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255, 255, 255, 0.66); }
.cta-contact__value { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 1.125rem; line-height: 1.25; color: #FFFFFF; overflow-wrap: anywhere; }
.cta-contact__value--phone { font-size: 1.375rem; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }

@media (max-width: 1024px) {
  .cta-panel { grid-template-columns: 1fr; gap: var(--md); padding: var(--md); }
  .cta-panel h2 { max-width: none; }
}
@media (max-width: 560px) {
  .cta-panel .btn--light { width: 100%; }
  .cta-contact__value--phone { font-size: 1.25rem; }
}

/* Sekcja Nasze produkty, uklad bento */
.bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(0, auto); gap: var(--sm); }

.bento__item { display: flex; flex-direction: column; text-decoration: none; background: #FFFFFF; border: 1px solid var(--accent); border-top: 3px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); overflow: hidden; transition: box-shadow 160ms ease, transform 160ms ease, background-color 160ms ease; }
.bento__item:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); background: var(--surface); }

.bento__item--big { grid-column: span 2; grid-row: span 2; }
.bento__item--wide { grid-column: span 2; flex-direction: row; align-items: center; }
.bento__item:not(.bento__item--big):not(.bento__item--wide) { grid-column: span 1; }

.bento__fig { display: flex; align-items: center; justify-content: center; padding: var(--sm); }
.bento__fig img { width: 100%; height: 100%; object-fit: contain; }
.bento__item--big .bento__fig { flex: 1; padding: var(--md) var(--md) 0; min-height: 260px; }
.bento__item--wide .bento__fig { flex: 0 0 42%; align-self: stretch; padding: var(--sm) 0 var(--sm) var(--sm); }

.bento__body { display: flex; flex-direction: column; gap: 6px; padding: var(--md); }
.bento__item--wide .bento__body { padding-left: var(--md); }
.bento__count { font-size: 0.8125rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent-text); font-weight: 500; font-variant-numeric: tabular-nums; }
.bento__name { font-family: var(--font-heading); font-weight: 600; font-size: 1.25rem; line-height: 1.2; color: var(--ink); }
.bento__item--big .bento__name { font-size: 1.625rem; }
.bento__text { font-size: 0.9375rem; color: var(--body); line-height: 1.55; }
.bento__item:not(.bento__item--big) .bento__text { display: none; }
.bento__item--wide .bento__text { display: block; }
.bento__more { margin-top: var(--xs); font-weight: 500; font-size: 0.9375rem; color: var(--accent-text); }
.bento__item:hover .bento__more { text-decoration: underline; text-underline-offset: 4px; }
.bento__item:hover .bento__name { color: var(--accent-text); }

@media (max-width: 1024px) {
  .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bento__item--big { grid-column: span 2; grid-row: span 1; }
  .bento__item--big .bento__fig { min-height: 0; }
  .bento__item--wide { grid-column: span 2; }
  .bento__item:not(.bento__item--big) .bento__text { display: block; }
}

@media (max-width: 640px) {
  .bento { grid-template-columns: 1fr; }
  .bento__item--big, .bento__item--wide { grid-column: span 1; }
  .bento__item--wide { flex-direction: column; align-items: stretch; }
  .bento__item--wide .bento__fig { flex: none; padding: var(--sm) var(--sm) 0; }
}

/* O nas: zdjecie w kadrze pionowym, tekst obok */
.about { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--lg); align-items: center; }
.about__fig { display: flex; align-items: center; justify-content: center; }
.about__fig img { width: 100%; height: auto; max-height: 460px; object-fit: contain; display: block; }
.about__fig--foto { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow); }
.about__fig--foto img { height: 100%; max-height: none; object-fit: cover; aspect-ratio: 4 / 5; }
.about__text { padding-left: var(--md); border-left: 3px solid var(--accent); }
.about__text h2 { margin-bottom: var(--sm); }
.about__text .lead { margin-bottom: var(--md); }

/* Transport: ciemny panel ze zdjeciem dochodzacym do krawedzi */
.delivery-panel { --zachodzenie: clamp(40px, 7vw, 110px); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; gap: 0; }
.delivery-panel__text { position: relative; z-index: 1; padding: var(--lg); padding-right: calc(var(--zachodzenie) + var(--md)); background: var(--accent-text); color: rgba(255, 255, 255, 0.86); border-radius: var(--r-lg); }
.delivery-panel__text h2 { color: #FFFFFF; margin-bottom: var(--sm); }
.delivery-panel__lead { font-size: 1.0625rem; margin-bottom: var(--md); }
.delivery-panel__fig { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; line-height: 0; margin-left: calc(-1 * var(--zachodzenie)); margin-right: calc(-1 * clamp(0px, 50vw - 576px, 200px)); }
.delivery-panel__fig img { width: 100%; height: auto; max-height: 720px; object-fit: contain; display: block; }

.kroki { display: grid; gap: 12px; margin-bottom: var(--md); }
.kroki { gap: var(--sm); }
.kroki li { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: var(--xs); font-size: 0.9375rem; line-height: 1.5; color: rgba(255, 255, 255, 0.8); }
.kroki strong { display: block; margin-bottom: 2px; font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: #FFFFFF; }
.kroki__nr { font-family: var(--font-heading); font-weight: 700; font-size: 1rem; color: var(--accent); font-variant-numeric: tabular-nums; padding-top: 2px; }

@media (max-width: 1024px) {
  .about { grid-template-columns: 1fr; gap: var(--md); }
  .about__fig img { max-height: 340px; }
  .about__fig--foto img { max-height: none; aspect-ratio: 16 / 10; }
  .about__text { padding-left: var(--sm); }
  .delivery-panel { --zachodzenie: 0px; grid-template-columns: 1fr; gap: var(--md); }
  .delivery-panel__fig { margin-left: 0; margin-right: 0; }
  .delivery-panel__fig { order: -1; }
  .delivery-panel__fig img { max-height: 420px; }
  .delivery-panel__text { padding: var(--md); padding-right: var(--md); }
  .delivery-panel__text h2 { max-width: none; }
}
@media (max-width: 560px) {
  .delivery-panel__text .btn { width: 100%; }
}

/* Uklad dzielony */
.split { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--lg); align-items: center; }
.split--flip .split__media { order: -1; }
.split__media img { border-radius: var(--r-lg); width: 100%; object-fit: cover; }
.split__media--rysunek { display: flex; align-items: center; justify-content: center; }
.split__media--rysunek img { border-radius: 0; height: auto; max-height: 600px; object-fit: contain; }

/* Kroki dostawy */
.steps { display: grid; gap: var(--sm); margin-block: var(--md); }
.step { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--sm); align-items: start; }
.step__dot { width: 20px; height: 20px; margin-top: 6px; border-radius: 50%; background: var(--accent); }
.step__title { display: block; font-family: var(--font-heading); font-weight: 600; color: var(--ink); }

/* Opinie */
.quote { display: flex; flex-direction: column; gap: var(--sm); height: 100%; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow); padding: var(--md); }
.quote__mark { font-family: var(--font-heading); font-size: 2rem; line-height: 1; color: var(--accent); }
.quote__text { font-size: 0.9375rem; }
.quote__who { margin-top: auto; font-family: var(--font-heading); font-weight: 600; color: var(--ink); font-size: 0.9375rem; }

/* Realizacje */
.mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sm); }
.mosaic img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; border-radius: var(--r-md); }
.mosaic li:last-child:nth-child(3n + 1) { grid-column: span 3; }
.mosaic li:last-child:nth-child(3n + 1) img { aspect-ratio: 21 / 9; }
.mosaic li:last-child:nth-child(3n + 2) { grid-column: span 2; }
.mosaic li:last-child:nth-child(3n + 2) img { aspect-ratio: 16 / 9; }

/* Naglowek podstrony */
.page-head { padding-block: var(--lg) var(--md); background: var(--surface); text-align: center; }
.page-head h1 { margin-bottom: var(--sm); }
.page-head .lead { margin-inline: auto; max-width: 80ch; }
.page-head__spec { margin-top: var(--sm); font-size: 0.9375rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.breadcrumb { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--xs); font-size: 0.875rem; color: var(--muted); margin-bottom: var(--sm); }
.breadcrumb a { text-decoration: none; }
.breadcrumb a:hover { color: var(--accent-text); }

/* Plakietki w naglowku podstrony */
.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--xs); margin-top: var(--md); }
.chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 18px; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); font-size: 0.9375rem; color: var(--body); font-variant-numeric: tabular-nums; }
.chip--material { background: var(--accent-text); border-color: var(--accent-text); color: #FFFFFF; font-family: var(--font-heading); font-weight: 600; font-size: 1rem; padding-inline: 22px; min-height: 44px; }

@media (max-width: 560px) {
  .chips { gap: 6px; }
  .chip { min-height: 36px; padding-inline: 14px; font-size: 0.875rem; }
  .chip--material { width: 100%; justify-content: center; }
}

/* Pasek kategorii */
.filters { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--xs); padding-block: var(--md); }
.filter { display: inline-flex; align-items: center; gap: var(--xs); min-height: 46px; padding: 0 22px; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); font-size: 0.9375rem; text-decoration: none; color: var(--body); transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease; }
.filter:hover { border-color: var(--accent); color: var(--accent-text); }
.filter.is-active { background: var(--accent); border-color: var(--accent); color: #FFFFFF; }
.filter:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.filter__n { font-size: 0.8125rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.filter.is-active .filter__n { color: rgba(255, 255, 255, 0.8); }

/* Grupa kategorii na listingu */
.group__head { text-align: center; margin-bottom: var(--md); }
.group__head h2 { margin-bottom: var(--xs); }
.group__link { font-size: 0.9375rem; color: var(--muted); text-decoration: none; font-variant-numeric: tabular-nums; }
.group__link:hover { color: var(--accent-text); }

/* Paginacja */
.pagination { margin-top: var(--lg); display: flex; justify-content: center; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--xs); }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; min-height: 46px; padding: 0 var(--sm); background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); font-size: 0.9375rem; text-decoration: none; }
.pagination .page-numbers.current { background: var(--accent); border-color: var(--accent); color: #FFFFFF; }

/* Formularz zamowienia na karcie produktu */
.order__form { max-width: 820px; margin-inline: auto; }
.order__alt { max-width: 820px; margin: var(--sm) auto 0; text-align: center; font-size: 0.9375rem; color: var(--muted); }
.order__alt a { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
.order__form .forminator-input, .order__form .forminator-textarea, .order__form .forminator-select { border-radius: var(--r-sm); border-color: var(--hairline); font-family: var(--font-body); }
.order__form .forminator-input:focus, .order__form .forminator-textarea:focus { border-color: var(--accent); outline: 2px solid rgba(3, 168, 78, 0.25); }
.order__form .forminator-button-submit, .order__form .forminator-button-next, .order__form .forminator-button-back { border-radius: var(--r-pill); font-family: var(--font-body); font-weight: 500; min-height: 50px; padding-inline: 28px; }
.order__form .forminator-button-submit, .order__form .forminator-button-next { background: var(--accent); }
.order__form .forminator-button-submit:hover, .order__form .forminator-button-next:hover { background: var(--accent-dark); }
.order__form .forminator-label { color: var(--ink); font-family: var(--font-body); }
.order__form .forminator-pagination-steps .forminator-step-label { font-family: var(--font-body); }

/* Sekcja zamowienia na karcie produktu */
.order { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--md); align-items: start; }
.order__subject { margin-bottom: var(--sm); padding-bottom: var(--sm); border-bottom: 1px solid var(--hairline); font-size: 0.9375rem; color: var(--muted); }
.order__subject strong { display: block; margin-top: 2px; font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.order__side { display: grid; gap: var(--sm); }
.order__facts { display: grid; gap: 10px; padding: var(--md); background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); }
.order__facts li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.9375rem; color: var(--body); line-height: 1.5; }
.order__facts li::before { content: ""; flex: 0 0 auto; width: 8px; height: 14px; margin-top: 4px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg); }

@media (max-width: 1024px) {
  .order { grid-template-columns: 1fr; }
}

/* Obszar dostaw */
.delivery__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--lg); align-items: center; }
.delivery__list { display: grid; gap: var(--xs); margin-block: var(--sm) var(--md); }
.delivery__list li { display: flex; align-items: center; gap: 12px; padding: 12px var(--sm); background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.delivery__pin { display: flex; flex: 0 0 auto; color: var(--accent); }
.delivery__pin svg { width: 24px; height: 24px; }
.delivery__note { margin-bottom: var(--md); font-size: 0.9375rem; color: var(--muted); max-width: 46ch; }
.delivery__map { border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--hairline); box-shadow: var(--shadow); line-height: 0; background: var(--surface); }
.delivery__map iframe { display: block; width: 100%; height: 400px; border: 0; }

@media (max-width: 1024px) {
  .delivery__grid { grid-template-columns: 1fr; gap: var(--md); }
  .delivery__map iframe { height: 320px; }
}
@media (max-width: 560px) {
  .delivery__list li { font-size: 1rem; }
  .delivery__map iframe { height: 260px; }
}

/* Ile to kosztuje */
.koszty { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--lg); align-items: center; }
.koszty__text h2 { font-size: clamp(2.25rem, 5vw, 3.5rem); line-height: 1.05; margin-bottom: var(--sm); }
.koszty__text .lead { max-width: 34ch; }
.koszty__text .lead strong { color: var(--ink); }

.koszty__box { background: #FFFFFF; border: 1px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); overflow: hidden; }
.koszty__row { padding: var(--md); }
.koszty__row + .koszty__row { border-top: 1px solid var(--hairline); }
.koszty__row--tak { background: var(--surface); }
.koszty__row p:last-child { color: var(--body); font-size: 0.9375rem; line-height: 1.55; }

.koszty__tag { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; font-family: var(--font-heading); font-weight: 600; font-size: 1rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent-text); }
.koszty__tag::before { content: ""; flex: 0 0 auto; width: 9px; height: 15px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg) translateY(-2px); }
.koszty__tag--info { color: var(--muted); }
.koszty__tag--info::before { width: 14px; height: 14px; border: 2px solid var(--muted); border-radius: 50%; transform: none; }

@media (max-width: 1024px) {
  .koszty { grid-template-columns: 1fr; gap: var(--md); }
  .koszty__text .lead { max-width: none; }
}

/* Transport i montaz */
.steps-grid { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--sm); list-style: none; }
.steps-grid::before { content: ""; position: absolute; left: 10%; right: 10%; top: 54px; height: 2px; background: var(--accent); opacity: 0.35; z-index: 0; }
.step-card { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--xs); padding: var(--md) var(--sm) var(--md); background: #FFFFFF; border: 1px solid var(--hairline); border-top: 3px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); }
.step-card__no { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--accent-text); color: #FFFFFF; font-family: var(--font-heading); font-weight: 700; font-size: 1.25rem; box-shadow: 0 0 0 6px #FFFFFF; }
.step-card__title { margin-top: var(--xs); font-size: 1.1875rem; line-height: 1.2; color: var(--ink); }
.step-card p { font-size: 0.9375rem; line-height: 1.55; color: var(--body); }


.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sm); }
.stat { display: flex; flex-direction: column; gap: 2px; padding: var(--md); background: #FFFFFF; border: 1px solid var(--hairline); border-top: 3px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); }
.stat__value { display: flex; align-items: baseline; gap: 7px; font-family: var(--font-heading); font-weight: 700; font-size: clamp(1.875rem, 3.2vw, 2.5rem); line-height: 1.05; color: var(--accent-text); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.stat__value span { font-size: 1rem; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.stat__label { margin-top: var(--xs); padding-top: var(--xs); border-top: 1px solid var(--hairline); font-size: 0.9375rem; line-height: 1.5; color: var(--body); }
.stats__note { margin-top: var(--sm); font-size: 0.875rem; color: var(--muted); }

.notice {
  display: flex; align-items: flex-start; gap: var(--sm);
  margin-top: var(--lg); padding: var(--md);
  background: var(--accent-text); color: rgba(255, 255, 255, 0.88);
  border-radius: var(--r-md);
}
.notice::before { content: "!"; flex: 0 0 auto; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #FFFFFF; color: var(--accent-text); font-family: var(--font-heading); font-weight: 700; font-size: 1.375rem; line-height: 1; }
.notice strong { color: #FFFFFF; }

.faq { max-width: 860px; margin-inline: auto; border-top: 1px solid var(--hairline); }
.faq__item { border-bottom: 1px solid var(--hairline); }
.faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--sm); padding-block: var(--sm); cursor: pointer; list-style: none; font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.faq__item summary::-webkit-details-marker { display: none; }
.faq__item summary::after { content: ""; flex: 0 0 auto; width: 9px; height: 9px; border-right: 2px solid var(--accent); border-bottom: 2px solid var(--accent); transform: rotate(45deg) translateY(-3px); transition: transform 160ms ease; }
.faq__item[open] summary::after { transform: rotate(225deg) translateY(-3px); }
.faq__item summary:hover { color: var(--accent-text); }
.faq__item summary:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 2px; }
.faq__item p { padding-bottom: var(--md); color: var(--body); max-width: 72ch; }

@media (max-width: 1024px) {
  .steps-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .steps-grid::before { display: none; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .steps-grid { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr; gap: var(--sm); }
}

/* Blog */
.post-card { display: flex; flex-direction: column; height: 100%; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow); overflow: hidden; transition: box-shadow 150ms ease, transform 150ms ease; }
.post-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.post-card__fig { display: block; background: var(--surface); }
.post-card__fig img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.post-card__body { display: flex; flex-direction: column; gap: var(--xs); padding: var(--md); flex: 1; }
.post-card__title { font-size: 1.1875rem; line-height: 1.25; }
.post-card__title a { text-decoration: none; }
.post-card:hover .post-card__title a { color: var(--accent-text); }
.post-card__excerpt { font-size: 0.9375rem; color: var(--body); }
.post-card__more { margin-top: auto; padding-top: var(--xs); font-weight: 500; font-size: 0.9375rem; color: var(--accent-text); }
.post-card:hover .post-card__more { text-decoration: underline; text-underline-offset: 4px; }

.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--xs); font-size: 0.875rem; color: var(--muted); font-variant-numeric: tabular-nums; }

.page-head--post { text-align: left; }
.page-head--post .breadcrumb { justify-content: flex-start; }
.page-head--post h1 { max-width: 22ch; }
.page-head--post .post-meta { margin-top: var(--sm); }

.post-hero { margin-top: calc(-1 * var(--md)); margin-bottom: var(--lg); }
.post-hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-lg); }

.single-post .post-content { margin-inline: auto; padding-bottom: var(--lg); }
.post-content h2 { font-size: clamp(1.5rem, 2.4vw, 1.875rem); margin-top: var(--lg); }
.post-content h3 { font-size: 1.1875rem; margin-top: var(--md); }
.post-content ul, .post-content ol { padding-left: 1.25em; }
.post-content ul { list-style: disc; }
.post-content ol { list-style: decimal; }
.post-content li + li { margin-top: var(--xs); }
.post-content table { width: 100%; border-collapse: collapse; margin-top: var(--md); font-size: 0.9375rem; }
.post-content th, .post-content td { padding: 12px 10px; border-bottom: 1px solid var(--hairline); text-align: left; }
.post-content th { font-family: var(--font-heading); font-weight: 600; color: var(--ink); }
.post-content td { font-variant-numeric: tabular-nums; }
.post-content blockquote { margin-top: var(--md); padding: var(--sm) var(--md); background: var(--surface); border-left: 3px solid var(--accent); border-radius: 0 var(--r-sm) var(--r-sm) 0; }
.post-content blockquote p { margin: 0; }


@media (max-width: 560px) {
  .post-hero img { aspect-ratio: 4 / 3; border-radius: var(--r-md); }
}

/* Strona kontakt */
.contact { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--lg); align-items: start; }
.contact__side { display: grid; gap: var(--sm); }

.contact__card { display: flex; align-items: flex-start; gap: var(--sm); padding: var(--md); text-decoration: none; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow); transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
.contact__card:hover { border-color: var(--accent); box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.contact__icon { display: flex; flex: 0 0 auto; color: var(--accent); }
.contact__label { display: block; margin-bottom: 2px; font-size: 0.8125rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
.contact__value { display: block; font-family: var(--font-heading); font-weight: 600; font-size: 1.1875rem; line-height: 1.25; color: var(--ink); overflow-wrap: anywhere; }
.contact__card:hover .contact__value { color: var(--accent-text); }
.contact__hint { display: block; margin-top: 2px; font-size: 0.875rem; color: var(--muted); }

.contact__meta { display: grid; gap: 10px; padding: var(--md); background: var(--surface); border-radius: var(--r-md); }
.contact__meta > div { display: flex; justify-content: space-between; gap: var(--sm); }
.contact__meta dt { color: var(--muted); font-size: 0.9375rem; }
.contact__meta dd { font-weight: 500; color: var(--ink); }

.contact__form { padding: var(--md); background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow); }
.contact__form h2 { font-size: 1.5rem; margin-bottom: var(--xs); }
.contact__form-lead { margin-bottom: var(--md); color: var(--body); font-size: 0.9375rem; }

/* Delikatne dostrojenie Forminatora do reszty serwisu */
.contact__form .forminator-input, .contact__form .forminator-textarea { border-radius: var(--r-sm); border-color: var(--hairline); font-family: var(--font-body); }
.contact__form .forminator-input:focus, .contact__form .forminator-textarea:focus { border-color: var(--accent); outline: 2px solid rgba(3, 168, 78, 0.25); outline-offset: 0; }
.contact__form .forminator-button-submit { border-radius: var(--r-pill); background: var(--accent); font-family: var(--font-body); font-weight: 500; min-height: 52px; padding-inline: 30px; }
.contact__form .forminator-button-submit:hover { background: var(--accent-dark); }
.contact__form .forminator-label { color: var(--ink); font-family: var(--font-body); }

.map { line-height: 0; }
.map iframe { display: block; width: 100%; height: 440px; border: 0; }

@media (max-width: 1024px) {
  .contact { grid-template-columns: 1fr; gap: var(--md); }
}
@media (max-width: 560px) {
  .contact__card { padding: var(--sm); }
  .map iframe { height: 320px; }
}

/* Stopka */
.site-footer { background: var(--surface); color: var(--body); border-top: 1px solid var(--hairline); padding-top: var(--md); font-size: 1rem; }
.site-footer a { text-decoration: none; color: inherit; transition: color 150ms ease; }
.site-footer a:hover { color: var(--accent-text); }
.site-footer > .wrap { max-width: 1440px; }
.footer__grid { display: grid; grid-template-columns: minmax(0, 1.9fr) repeat(4, minmax(0, 1fr)); gap: var(--md); padding-bottom: var(--md); }

.footer__logo { margin-bottom: 12px; }
.footer__logo img { height: 82px; width: auto; }
.footer__about { max-width: 42ch; font-size: 1.0625rem; line-height: 1.55; color: var(--body); }

.footer__title { font-size: 1.125rem; margin-bottom: var(--sm); color: var(--ink); }
.footer__list { display: grid; gap: 9px; }
.footer__list a { width: fit-content; }
.footer__list a:hover { text-decoration: underline; text-underline-offset: 4px; }

.footer__contact { display: grid; gap: 12px; }
.footer__label { display: block; margin-bottom: 1px; font-size: 0.8125rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
.footer__phone { font-family: var(--font-heading); font-weight: 600; font-size: 1.25rem; color: var(--ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.footer__contact a { width: fit-content; }
.footer__contact li:nth-child(2) a { font-family: var(--font-heading); font-weight: 600; font-size: 1.125rem; color: var(--ink); overflow-wrap: anywhere; }
.footer__contact li:nth-child(2) a:hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 4px; }
.footer__phone:hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 4px; }
.footer__address { display: block; line-height: 1.5; }
.footer__address:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Dolna wstega na cala szerokosc okna */
.footer__bar { background: var(--accent-text); padding-block: var(--sm); font-size: 0.9375rem; color: rgba(255, 255, 255, 0.86); }
.footer__bar-inner { max-width: 1440px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--sm) var(--md); }
.footer__bar-inner > :nth-child(1) { justify-self: start; }
.footer__bar-inner > :nth-child(2) { justify-self: center; text-align: center; }
.footer__bar-inner > :nth-child(3) { justify-self: end; }
.footer__bar a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
.footer__bar a:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; border-radius: var(--r-sm); }
.footer__credit a { font-weight: 500; color: #FFFFFF; }

@media (max-width: 900px) {
  .footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--md); }
  .footer__brand { grid-column: 1 / -1; }
  .footer__about { max-width: 52ch; }
}

@media (max-width: 700px) {
  .footer__bar-inner { grid-template-columns: 1fr; text-align: center; }
  .footer__bar-inner > :nth-child(1), .footer__bar-inner > :nth-child(3) { justify-self: center; }
}

@media (max-width: 560px) {
  .footer__grid { grid-template-columns: 1fr; padding-bottom: var(--md); }
  .site-footer { padding-top: var(--md); }
}

/* Tresc stron wewnetrznych */
.entry { padding-block: var(--lg) var(--xl); }
.entry__body { max-width: 68ch; }
.entry__body > * + * { margin-top: var(--md); }
.entry__body h2, .entry__body h3 { margin-top: var(--lg); }
.entry__body a { color: var(--accent-text); }

/* Karuzela produktow */
.carousel { position: relative; }
.carousel__track {
  display: flex; gap: var(--md); list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  padding: 4px 4px var(--xs); margin: -4px;
  scrollbar-width: none;
}
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__item { flex: 0 0 calc((100% - 2 * var(--md)) / 3); scroll-snap-align: start; display: flex; }
.carousel__item > .card { width: 100%; }

.carousel__nav {
  position: absolute; top: 40%; z-index: 3;
  width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;
  background: #FFFFFF; border: 1px solid var(--hairline); border-radius: 50%;
  box-shadow: var(--shadow); cursor: pointer;
  transition: background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}
.carousel__nav:hover { border-color: var(--accent); transform: scale(1.06); }
.carousel__nav:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.carousel__nav[hidden] { display: none; }
.carousel__nav::before { content: ""; width: 10px; height: 10px; border-top: 2px solid var(--accent-text); border-right: 2px solid var(--accent-text); }
.carousel__nav--prev { left: calc(-1 * var(--md)); }
.carousel__nav--prev::before { transform: rotate(-135deg) translate(-2px, -2px); }
.carousel__nav--next { right: calc(-1 * var(--md)); }
.carousel__nav--next::before { transform: rotate(45deg) translate(-2px, 2px); }

@media (max-width: 1024px) {
  .carousel__item { flex: 0 0 calc((100% - var(--md)) / 2); }
  .carousel__nav--prev { left: 0; }
  .carousel__nav--next { right: 0; }
}
@media (max-width: 640px) {
  .carousel__item { flex: 0 0 86%; }
  .carousel__nav { width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  .carousel__track { scroll-behavior: auto; }
}

/* Karta pojedynczego produktu */
.breadcrumb--left { justify-content: flex-start; padding-top: var(--md); margin-bottom: 0; }
.product { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--lg); align-items: start; padding-block: var(--md) var(--xl); overflow: visible; }
.product__fig { background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-md); padding: var(--md); box-shadow: var(--shadow); }
.product__fig img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.product__info { padding-top: var(--sm); }
.product__info h1 { font-size: clamp(1.75rem, 3.2vw, 2.75rem); margin-bottom: var(--sm); }
.product__flag { display: inline-block; margin-bottom: var(--sm); padding: 6px 16px; background: var(--surface); border: 1px solid var(--accent); border-radius: var(--r-pill); color: var(--accent-text); font-size: 0.875rem; font-weight: 500; }
.product__price { font-size: 1.5rem; margin-bottom: var(--xs); }
.product__price .card__price { font-size: inherit; }
.product__transport { font-size: 0.9375rem; color: var(--muted); margin-bottom: var(--md); }
.product__lead { margin-bottom: var(--md); }
.product__specs { display: grid; margin-bottom: var(--md); border-top: 1px solid var(--hairline); }
.product__specs > div { display: flex; justify-content: space-between; gap: var(--sm); padding-block: 10px; border-bottom: 1px solid var(--hairline); }
.product__specs dt { color: var(--muted); font-size: 0.9375rem; }
.product__specs dd { font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.product__note { font-size: 0.875rem; color: var(--muted); background: var(--surface); border-radius: var(--r-sm); padding: var(--sm); margin-bottom: var(--md); }
.product__actions { display: flex; flex-wrap: wrap; gap: var(--sm); }

/* Pieczec atestu na rysunku produktu */
.product__fig { position: relative; }
.product__seal {
  position: absolute; left: -30px; bottom: -30px; z-index: 2;
  width: 116px; height: 116px;
  display: flex; align-items: center; justify-content: center;
  background: #FFFFFF; border: 1px solid var(--hairline); border-radius: 50%;
  box-shadow: 0 8px 24px rgba(1, 26, 12, 0.14);
  padding: 8px;
}
.product__seal img { width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }

@media (max-width: 1024px) {
  .product__seal { left: -22px; bottom: -22px; width: 96px; height: 96px; }
}
@media (max-width: 640px) {
  .product__seal { left: -14px; bottom: -14px; width: 78px; height: 78px; }
}

/* Zakladki */
.tabs__nav { display: flex; flex-wrap: wrap; gap: var(--xs); border-bottom: 1px solid var(--hairline); margin-bottom: var(--md); }
.tabs__btn { min-height: 48px; padding: 0 22px; background: transparent; border: 0; border-bottom: 3px solid transparent; cursor: pointer; font-size: 1rem; color: var(--muted); }
.tabs__btn:hover { color: var(--accent-text); }
.tabs__btn[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--accent); font-weight: 500; }
.tabs__btn:focus-visible { outline: 2px solid var(--accent-text); outline-offset: -2px; }
.tabs__panel[hidden] { display: none; }
.tabs__panel { max-width: 74ch; }
.tabs__panel h2 { font-size: 1.5rem; margin-top: var(--md); }
.tabs__panel h3 { font-size: 1.125rem; margin-top: var(--md); }
.tabs__panel ul { list-style: disc; padding-left: 1.25em; }
.tabs__panel li + li { margin-top: var(--xs); }

/* Tabela wymiarow */
.dims { width: 100%; max-width: 640px; border-collapse: collapse; }
.dims caption { text-align: left; color: var(--muted); font-size: 0.9375rem; padding-bottom: var(--xs); }
.dims th, .dims td { padding: 12px 0; border-bottom: 1px solid var(--hairline); text-align: left; }
.dims th { font-weight: 400; color: var(--muted); }
.dims td { text-align: right; font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.dims__note { margin-top: var(--sm); font-size: 0.875rem; color: var(--muted); }
.order__form { max-width: 760px; margin-inline: auto; }

@media (max-width: 1024px) { .product { grid-template-columns: 1fr; gap: var(--md); } }
@media (max-width: 640px) { .tabs__nav { flex-wrap: nowrap; overflow-x: auto; } .tabs__btn { white-space: nowrap; } .product__actions .btn { width: 100%; } }

@media (max-width: 1024px) {
  .hero__grid, .split { grid-template-columns: 1fr; gap: var(--md); }
  .split--flip .split__media { order: 0; }
  .cards, .cards--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-nav { display: none; position: absolute; inset-inline: 0; top: 100%; background: #FFFFFF; border-bottom: 1px solid var(--hairline); padding: var(--sm) var(--gutter) var(--md); box-shadow: var(--shadow); }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav li { border-top: 1px solid var(--hairline); }
  .site-nav li:first-child { border-top: 0; }
  .site-nav a { display: block; padding-block: var(--sm); }
  .nav-toggle { display: inline-flex; align-items: center; }
  .site-header__cta { display: none; }
}

@media (max-width: 640px) {
  :root { --xl: 64px; --lg: 44px; }
  .hero__actions .btn { width: 100%; }
  /* Karty produktow: jedna kolumna, inaczej nazwy lamia sie po jednym slowie. */
  .cards, .cards--two, .mosaic { grid-template-columns: 1fr; }
  .card__title { font-size: 1.125rem; }
  .card__fig { padding: var(--sm) var(--sm) 0; }
  .card__body { padding: var(--sm) var(--md) var(--md); }
  .filters { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; -webkit-overflow-scrolling: touch; }
  .filter { white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}



/* Naglowek dwupoziomowy */
.site-top { position: relative; z-index: 40; }
.site-header { position: static; }

.topbar { background: var(--accent-text); color: #FFFFFF; font-size: 0.9375rem; }
.topbar a { color: #FFFFFF; text-decoration: none; }
.topbar a:hover { text-decoration: underline; }
.topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--md); min-height: 46px; }
.topbar__contact { display: flex; align-items: center; gap: var(--md); font-weight: 500; }
.topbar__phone { font-variant-numeric: tabular-nums; }
.topbar__nav ul { display: flex; align-items: center; gap: var(--md); }
.topbar__nav li { position: relative; }
.topbar__nav a { display: inline-flex; align-items: center; gap: 6px; padding-block: 12px; font-weight: 500; }

/* Pasek kategorii z ikonami */
.site-header__inner { min-height: 96px; }
.cat-nav { display: flex; align-items: center; gap: var(--sm); margin-left: auto; }
.cat-nav__item { display: flex; align-items: center; gap: 8px; text-decoration: none; color: var(--ink); font-weight: 500; font-size: 0.9375rem; line-height: 1.2; transition: color 150ms ease; }
.cat-nav__icon { display: flex; color: var(--accent); transition: color 150ms ease; }
.cat-nav__img { width: 46px; height: 46px; object-fit: contain; flex: 0 0 46px; }
.cat-nav__label { max-width: 10ch; }
.cat-nav__item:hover, .cat-nav__item.is-active { color: var(--accent-text); }
.cat-nav__item:hover .cat-nav__icon, .cat-nav__item.is-active .cat-nav__icon { color: var(--accent-text); }
.cat-nav__item:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 4px; border-radius: var(--r-sm); }
.cat-nav__mobile { display: none; }

@media (max-width: 1200px) {
  .cat-nav { gap: var(--sm); }
  .site-header__cta { display: none; }
}

@media (max-width: 1024px) {
  .topbar__nav { display: none; }
  .topbar__inner { justify-content: center; }
  .cat-nav {
    display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 50;
    flex-direction: column; align-items: stretch; gap: 0;
    background: #FFFFFF; border-bottom: 1px solid var(--hairline); box-shadow: var(--shadow-hover);
    padding: var(--xs) var(--gutter) var(--md);
  }
  .cat-nav.is-open { display: flex; }
  .cat-nav__item { padding-block: 14px; border-top: 1px solid var(--hairline); }
  .cat-nav__item:first-child { border-top: 0; }
  .cat-nav__label { max-width: none; }
  .cat-nav__mobile { display: block; margin-top: var(--sm); padding-top: var(--sm); border-top: 1px solid var(--hairline); }
  .cat-nav__mobile ul { display: grid; }
  .cat-nav__mobile a { display: block; padding-block: 12px; text-decoration: none; color: var(--body); }
  .cat-nav__mobile .btn { margin-top: var(--sm); }
  .nav-toggle { display: inline-flex; align-items: center; margin-left: auto; }
}

@media (max-width: 560px) {
  .topbar__mail { display: none; }
  .site-header__logo img { height: 36px; }
}

/* Wpis na pelnej szerokosci */
.page-head--post h1 { max-width: none; }
.page-head--post .post-meta { margin-top: var(--sm); }

.single-post .post-content {
  max-width: none; margin-inline: 0;
  font-size: 1.1875rem; line-height: 1.7;
}
.single-post .post-content p,
.single-post .post-content ul,
.single-post .post-content ol { max-width: none; }
.single-post .post-content h2 { font-size: clamp(1.625rem, 2.6vw, 2.125rem); max-width: none; }
.single-post .post-content h3 { font-size: 1.3125rem; max-width: none; }
.single-post .post-content blockquote { max-width: none; font-size: 1.25rem; }
.single-post .post-content table { max-width: none; font-size: 1.0625rem; }

@media (max-width: 640px) {
  .single-post .post-content { font-size: 1.0625rem; line-height: 1.65; }
}


@media (max-width: 1024px) {
  .split__media--rysunek img { max-height: 380px; }
}

@media (max-width: 560px) {
  .notice { padding: var(--sm); gap: 12px; }
  .notice::before { width: 32px; height: 32px; font-size: 1.125rem; }
}

.kategoria-opis { max-width: 68ch; margin-inline: auto; text-align: center; color: var(--body); }

/* Mapa strony */
.mapa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--lg); align-items: start; }
.mapa__tytul { font-size: 1.25rem; margin-bottom: var(--sm); padding-bottom: var(--xs); border-bottom: 2px solid var(--accent); }
.mapa__tytul + .mapa__lista { margin-bottom: var(--lg); }
.mapa__lista { display: grid; gap: 8px; }
.mapa__lista a { color: var(--body); text-decoration: none; }
.mapa__lista a:hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 4px; }
.mapa__grupa { margin-bottom: var(--md); }
.mapa__podtytul { font-size: 1.0625rem; margin-bottom: var(--xs); }
.mapa__podtytul a { color: var(--accent-text); text-decoration: none; }
.mapa__podtytul a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 860px) {
  .mapa { grid-template-columns: 1fr; gap: var(--md); }
}

@media (min-width: 901px) {
  .band__head--wide h2 { text-wrap: nowrap; }
}

/* Lista argumentow na jasnym tle */
.kroki--jasne { margin-top: var(--lg); margin-bottom: 0; max-width: 58rem; margin-inline: auto; }
.kroki--jasne li { color: var(--body); }
.kroki--jasne strong { color: var(--ink); }
.kroki--jasne .kroki__nr { color: var(--accent-text); }

/* Slownik pojec */
.slownik-nav { display: flex; flex-wrap: wrap; gap: var(--xs); margin-bottom: var(--lg); }
.slownik-nav a { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); text-decoration: none; font-family: var(--font-heading); font-weight: 600; color: var(--accent-text); }
.slownik-nav a:hover { background: var(--surface); border-color: var(--accent); }
.slownik-grupa { margin-bottom: var(--lg); scroll-margin-top: var(--md); }
.slownik-litera { font-size: 1.5rem; margin-bottom: var(--sm); padding-bottom: var(--xs); border-bottom: 2px solid var(--accent); color: var(--accent-text); }
.slownik-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sm); }
.slownik-haslo { display: block; padding: var(--md); background: #FFFFFF; border: 1px solid var(--hairline); border-top: 3px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease; }
.slownik-haslo:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.slownik-haslo__nazwa { display: block; margin-bottom: 4px; font-family: var(--font-heading); font-weight: 600; font-size: 1.125rem; color: var(--ink); }
.slownik-haslo__opis { display: block; font-size: 0.9375rem; line-height: 1.55; color: var(--body); }

.haslo { max-width: 46rem; margin-inline: auto; }
.haslo__definicja { padding: var(--md); background: var(--surface); border-left: 3px solid var(--accent); border-radius: 0 var(--r-md) var(--r-md) 0; font-size: 1.1875rem; line-height: 1.6; color: var(--ink); margin-bottom: var(--lg); }
.haslo__inne { margin-top: var(--xl); padding-top: var(--md); border-top: 1px solid var(--hairline); }
.haslo__inne h2 { font-size: 1.25rem; margin-bottom: var(--sm); }
.haslo__lista { display: flex; flex-wrap: wrap; gap: var(--xs) var(--sm); margin-bottom: var(--md); }
.haslo__lista a { color: var(--accent-text); }

@media (max-width: 700px) {
  .slownik-lista { grid-template-columns: 1fr; }
}

/* Odnosniki do hasel slownika */
.pojecie { color: inherit; text-decoration: underline; text-decoration-style: dotted; text-decoration-color: var(--accent); text-underline-offset: 4px; }
.pojecie:hover { color: var(--accent-text); text-decoration-style: solid; }

/* Strona 404 */
.szukajka { max-width: 34rem; margin-bottom: var(--lg); }
.szukajka__label { display: block; margin-bottom: var(--xs); font-family: var(--font-heading); font-weight: 600; color: var(--ink); }
.szukajka__pole { display: flex; gap: var(--xs); }
.szukajka__pole input { flex: 1; min-width: 0; min-height: 52px; padding: 0 var(--md); background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); font-size: 1rem; color: var(--ink); }
.szukajka__pole input:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 2px; border-color: var(--accent); }

.blad__tytul { font-size: 1.375rem; margin-top: var(--lg); margin-bottom: var(--sm); }
.blad__kategorie { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sm); }
.blad__kafel { display: flex; flex-direction: column; gap: 4px; padding: var(--md); background: #FFFFFF; border: 1px solid var(--accent); border-top: 3px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); text-decoration: none; transition: background-color 160ms ease, transform 160ms ease; }
.blad__kafel:hover { background: var(--surface); transform: translateY(-2px); }
.blad__nazwa { font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.blad__wiecej { font-size: 0.9375rem; color: var(--accent-text); }

.blad__linki { display: flex; flex-wrap: wrap; gap: var(--xs) var(--md); }
.blad__linki a { color: var(--accent-text); }
.blad__pomoc { margin-top: var(--lg); padding-top: var(--md); border-top: 1px solid var(--hairline); color: var(--body); }
.blad__pomoc a { color: var(--accent-text); font-weight: 500; }

@media (max-width: 900px) {
  .blad__kategorie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .blad__kategorie { grid-template-columns: 1fr; }
  .szukajka__pole { flex-direction: column; }
  .szukajka__pole .btn { width: 100%; }
}

/* Bloki powiazan tematycznych */
.haslo__powiazane { margin-top: var(--lg); }
.haslo__powiazane h2 { font-size: 1.25rem; margin-bottom: var(--sm); }
.powiazane { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--sm); }
.powiazane__kafel { display: flex; flex-direction: column; gap: 4px; padding: var(--md); background: #FFFFFF; border: 1px solid var(--accent); border-top: 3px solid var(--accent); border-radius: var(--r-md); box-shadow: var(--shadow); text-decoration: none; transition: background-color 160ms ease, transform 160ms ease; }
.powiazane__kafel:hover { background: var(--surface); transform: translateY(-2px); }
.powiazane__tytul { font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: var(--ink); }
.powiazane__opis { font-size: 0.9375rem; color: var(--accent-text); }

.poradnik__lista { display: flex; flex-wrap: wrap; gap: var(--xs) var(--md); }
.poradnik__lista a { color: var(--accent-text); }
.poradnik__lista a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Strony obszaru dostaw */
.miasto { max-width: 54rem; margin-inline: auto; }
.miasto h2 { font-size: 1.375rem; margin-top: var(--lg); margin-bottom: var(--sm); }
.miasto__uwaga { padding: var(--md); background: var(--surface); border-left: 3px solid var(--accent); border-radius: 0 var(--r-md) var(--r-md) 0; color: var(--body); }
.miasto__uwaga p:last-child { margin-bottom: 0; }
.miasto__miejsca { display: flex; flex-wrap: wrap; gap: var(--xs); list-style: none; padding: 0; }
.miasto__miejsca li { padding: 6px 14px; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: var(--r-pill); font-size: 0.9375rem; color: var(--body); }
.miasto__nota { margin-top: var(--md); color: var(--muted); font-size: 0.9375rem; }
.miasto__nota a { color: var(--accent-text); font-weight: 500; }

.obszar__miasta { margin-top: var(--md); padding-top: var(--sm); border-top: 1px solid var(--hairline); font-size: 0.9375rem; line-height: 1.7; color: var(--muted); }
.obszar__miasta a { color: var(--accent-text); }

.page-head__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--xs); margin-top: var(--md); }
.band__akcja { display: flex; justify-content: center; margin-top: var(--lg); margin-bottom: var(--lg); }
@media (max-width: 560px) {
  .page-head__cta { flex-direction: column; }
  .page-head__cta .btn { width: 100%; }
}

/* Sekcja wyceny na stronach miast: formularz i dane obok siebie */
.wycena-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--md); align-items: start; }
.wycena-split__tytul { font-size: 1.25rem; margin-bottom: var(--xs); color: var(--ink); }

.wycena-dane { padding: var(--md); background: var(--accent-text); border-radius: var(--r-md); box-shadow: var(--shadow); color: #FFFFFF; }
.wycena-dane .wycena-split__tytul { color: #FFFFFF; }
.wycena-dane__lista { display: grid; gap: var(--sm); margin: var(--md) 0; list-style: none; padding: 0; }
.wycena-dane__lista li { display: flex; flex-direction: column; gap: 2px; padding-bottom: var(--sm); border-bottom: 1px solid rgba(255, 255, 255, 0.18); }
.wycena-dane__lista li:last-child { border-bottom: 0; padding-bottom: 0; }
.wycena-dane__etykieta { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.06em; color: rgba(255, 255, 255, 0.7); }
.wycena-dane__wartosc { font-family: var(--font-heading); font-weight: 600; font-size: 1.0625rem; color: #FFFFFF; text-decoration: none; }
a.wycena-dane__wartosc:hover { text-decoration: underline; text-underline-offset: 4px; }
.wycena-dane__nota { margin-top: 4px; font-size: 0.875rem; line-height: 1.5; color: rgba(255, 255, 255, 0.78); }
.wycena-dane .btn--ghost { border-color: rgba(255, 255, 255, 0.5); color: #FFFFFF; }
.wycena-dane .btn--ghost:hover { background: rgba(255, 255, 255, 0.12); border-color: #FFFFFF; }

@media (max-width: 900px) {
  .wycena-split { grid-template-columns: 1fr; }
}

.quote__author { margin-top: auto; padding-top: var(--xs); font-family: var(--font-heading); font-weight: 600; font-size: 0.9375rem; color: var(--accent-text); }

/* Dopracowanie stron miast */
.fact__value--male { font-size: 1.375rem; line-height: 1.25; }

/* Przycisk na ciemnym panelu mial biale tło i biały tekst, więc znikał */
.wycena-dane .btn--ghost { background: transparent; border-color: rgba(255, 255, 255, 0.55); color: #FFFFFF; }
.wycena-dane .btn--ghost:hover { background: rgba(255, 255, 255, 0.14); border-color: #FFFFFF; color: #FFFFFF; }

/* Blok warunków lokalnych: więcej powietrza i czytelniejszy skład */
.miasto__uwaga { padding: var(--lg) var(--md); font-size: 1.0625rem; line-height: 1.7; }
.miasto__uwaga p + p { margin-top: var(--sm); }

/* Równy rytm sekcji na stronie miasta */
.miasto h2:first-child { margin-top: 0; }
.miasto__miejsca { margin-top: var(--sm); }


/* Akapit z przyciskiem. Przycisk ma 52 px wysokości i jako element liniowy
   wystawał poza akapit, nachodząc na sekcję poniżej. Flex obejmuje go w całości. */
.akcja { display: flex; flex-wrap: wrap; gap: var(--xs); margin-top: var(--md); margin-bottom: 0; }
.akcja--srodek { justify-content: center; }

/* Sekcja lokalna na stronie głównej */
.lokalnie { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--xs) var(--sm); list-style: none; padding: 0; }
.lokalnie a { display: flex; align-items: baseline; justify-content: space-between; gap: var(--xs); padding: 12px 0; border-bottom: 1px solid var(--hairline); text-decoration: none; }
.lokalnie a:hover .lokalnie__miasto { color: var(--accent-text); text-decoration: underline; text-underline-offset: 4px; }
.lokalnie__miasto { font-size: 0.9375rem; color: var(--body); }
.lokalnie__km { flex: 0 0 auto; font-size: 0.8125rem; color: var(--muted); }
@media (max-width: 900px) {
  .lokalnie { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
  .lokalnie { grid-template-columns: 1fr; }
}

.footer__logo-link { display: inline-block; }
.footer__logo-link:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 4px; border-radius: 4px; }

/* Karuzela wpisów blogowych */
.blog-karuzela { position: relative; }
.blog-karuzela__tor { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, calc((100% - 2 * var(--sm)) / 3)); gap: var(--sm); overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; list-style: none; margin: 0; padding: 4px; scrollbar-width: none; }
.blog-karuzela__tor::-webkit-scrollbar { display: none; }
.blog-karuzela__pozycja { scroll-snap-align: start; display: flex; }
.blog-karuzela__pozycja > * { width: 100%; }

.blog-karuzela__strzalka { position: absolute; top: 50%; z-index: 2; display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: #FFFFFF; border: 1px solid var(--hairline); border-radius: 50%; box-shadow: var(--shadow); color: var(--accent-text); cursor: pointer; transform: translateY(-50%); transition: background-color 160ms ease, border-color 160ms ease; }
.blog-karuzela--przewijana .blog-karuzela__strzalka { display: flex; }
.blog-karuzela__strzalka:hover { background: var(--surface); border-color: var(--accent); }
.blog-karuzela__strzalka:disabled { opacity: 0.35; cursor: default; }
.blog-karuzela__strzalka svg { width: 22px; height: 22px; }
.blog-karuzela__strzalka--wstecz { left: -22px; }
.blog-karuzela__strzalka--dalej { right: -22px; }

@media (max-width: 1100px) {
  .blog-karuzela__strzalka--wstecz { left: 4px; }
  .blog-karuzela__strzalka--dalej { right: 4px; }
}
@media (max-width: 900px) {
  .blog-karuzela__tor { grid-auto-columns: minmax(0, calc((100% - var(--sm)) / 2)); }
}
@media (max-width: 620px) {
  .blog-karuzela__tor { grid-auto-columns: minmax(0, 86%); }
  .blog-karuzela__strzalka { display: none !important; }
}
