/** Shopify CDN: Minification failed

Line 217:0 Unexpected "{"
Line 217:1 Expected identifier but found "%"
Line 217:23 Unexpected "06.08"
Line 222:74 Expected identifier but found "%"

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:paradox-cars (INDEX:46) */
.pdx-cars__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 1.6vw, 2rem); }
.pdx-cars__item { position: relative; display: block; overflow: hidden; border: 1px solid var(--pdx-gunmetal); aspect-ratio: 3/2; background: var(--pdx-void); }
.pdx-cars__item--lead { grid-column: 1 / -1; aspect-ratio: 16/9; }
.pdx-cars__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--pdx-ease); }
.pdx-cars__item:hover img { transform: scale(1.03); }
.pdx-cars__cap {
  position: absolute; left: 1.4rem; bottom: 1.2rem;
  font-family: var(--pdx-mono); font-size: 1.1rem; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--pdx-platinum); text-shadow: 0 1px 10px rgba(0,0,0,.9), 0 0 3px rgba(0,0,0,.9);
}
.pdx-cars__foot { margin-top: clamp(2rem, 3vw, 3rem); display: flex; justify-content: flex-end; }
@media screen and (max-width: 749px) {
  .pdx-cars__grid { grid-template-columns: 1fr; }
  .pdx-cars__item, .pdx-cars__item--lead { aspect-ratio: 3/2; }
}
@media (prefers-reduced-motion: reduce) {
  .pdx-cars__item img { transition: none; }
  .pdx-cars__item:hover img { transform: none; }
}
/* END_SECTION:paradox-cars */

/* START_SECTION:paradox-cart-note (INDEX:47) */
.pdx-cartnote { border-top: 1px solid var(--pdx-gunmetal); border-bottom: 1px solid var(--pdx-gunmetal); padding-block: 2.2rem; }
.pdx-cartnote__inner { display: flex; align-items: center; justify-content: space-between; gap: 2rem; flex-wrap: wrap; }
.pdx-cartnote__line { font-size: 1.45rem; color: var(--pdx-platinum); line-height: 1.5; max-width: 70ch; margin: 0; }
.pdx-cartnote__tag { color: var(--pdx-ash); letter-spacing: .1em; text-transform: uppercase; font-size: 1.1rem; margin-right: .6rem; }
/* END_SECTION:paradox-cart-note */

/* START_SECTION:paradox-collection (INDEX:48) */
.pdx-plp { padding-block: clamp(3rem, 4vw, 5rem) clamp(5rem, 7vw, 8rem); }
.pdx-plp__crumb { font-size: 1.3rem; color: var(--pdx-ash); display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }
.pdx-plp__crumb a { color: var(--pdx-ash); }
.pdx-plp__crumb a:hover { color: var(--pdx-text); }
.pdx-plp__crumb .pdx-sep { color: var(--pdx-gunmetal); }
.pdx-plp__count { color: var(--pdx-text-2); }
.pdx-plp__grid { grid-template-columns: repeat(3, 1fr); margin-top: clamp(2.6rem, 4vw, 4rem); }

@media screen and (max-width: 989px) { .pdx-plp__grid { grid-template-columns: 1fr 1fr; } }
@media screen and (max-width: 480px) { .pdx-plp__grid { grid-template-columns: 1fr; } }
/* END_SECTION:paradox-collection */

/* START_SECTION:paradox-editorial-teaser (INDEX:49) */
.pdx-edit__inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(2.4rem, 4vw, 5.4rem); align-items: center; }
.pdx-edit--rev .pdx-edit__media { order: 2; }
.pdx-edit__media { position: relative; aspect-ratio: 3/2; background: var(--pdx-void); overflow: hidden; border: 1px solid var(--pdx-gunmetal); }
.pdx-edit__media img { width: 100%; height: 100%; object-fit: cover; }
.pdx-edit__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,.45)); }
.pdx-edit__body { margin: 2rem 0 3rem; }
.pdx-edit__foot { display: flex; align-items: center; gap: 2.4rem; flex-wrap: wrap; }
@media screen and (max-width: 749px) {
  .pdx-edit__inner { grid-template-columns: 1fr; }
  .pdx-edit--rev .pdx-edit__media { order: 0; }
}
/* END_SECTION:paradox-editorial-teaser */

/* START_SECTION:paradox-footer (INDEX:50) */
.pdx-footer { padding-block: clamp(5.6rem, 7vw, 8.8rem) 3.6rem; border-top: 1px solid var(--pdx-gunmetal); }
.pdx-footer__main {
  display: grid;
  grid-template-columns: 1fr 1fr 1.6fr;
  gap: clamp(3.2rem, 5vw, 7rem);
  padding-bottom: clamp(4.4rem, 6vw, 6.4rem);
}
.pdx-footer__head {
  display: block; font-family: var(--pdx-mono); font-weight: 500;
  font-size: 1.2rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--pdx-ash); margin-bottom: 2.2rem;
}
.pdx-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .2rem; }
/* padding zamiast gapu: hit area linku >=44px przy tym samym rytmie */
.pdx-footer__col a { font-size: 1.5rem; line-height: 1.4; color: var(--pdx-platinum); display: inline-block; padding-block: 1.1rem; }
.pdx-footer__col a:hover { text-decoration: underline; text-decoration-color: var(--pdx-gunmetal); text-underline-offset: 4px; }
.pdx-footer__news { max-width: 40rem; justify-self: end; width: 100%; }
.pdx-footer__news-lead { color: var(--pdx-ash); font-size: 1.5rem; line-height: 1.6; margin: 0 0 1.8rem; }
.pdx-news-row { display: flex; gap: 1rem; flex-wrap: wrap; }
.pdx-news-row .pdx-input { flex: 1; min-width: 16rem; }
.pdx-news-ok { color: var(--pdx-platinum); font-size: 1.4rem; }
.pdx-footer__bottom {
  display: flex; flex-direction: column; align-items: center; gap: 3.2rem;
  border-top: 1px solid var(--pdx-gunmetal); padding-top: 3.6rem;
}
/* logo 1344x122: na mobile na cala szerokosc kontenera, na desktop do
   rozsadnego rozmiaru (60rem), dalej wysrodkowane (Bartek 06.08) */
.pdx-footer__lockup { width: 100%; display: flex; justify-content: center; }
.pdx-footer__lockup .pdx-wordmark { width: 100%; display: block; }
.pdx-footer__lockup .pdx-wordmark img { width: 100% !important; height: auto !important; max-width: 100% !important; }
@media screen and (min-width: 750px) {
  .pdx-footer__lockup .pdx-wordmark { width: min(100%, 60rem); }
}
.pdx-footer__utility { display: flex; align-items: center; justify-content: center; gap: 1.4rem; font-size: 1.2rem; color: var(--pdx-ash); flex-wrap: wrap; }
.pdx-footer__utility .pdx-sep { color: var(--pdx-gunmetal); }

@media screen and (max-width: 989px) {
  .pdx-footer__main { grid-template-columns: 1fr 1fr; }
  .pdx-footer__news { grid-column: 1 / -1; max-width: none; justify-self: stretch; margin-top: 1.6rem; }
  .pdx-footer__bottom { gap: 2.4rem; }
}
@media screen and (max-width: 480px) {
  .pdx-footer__main { grid-template-columns: 1fr; gap: 4rem; }
  .pdx-footer__news { margin-top: 0; }
}
/* END_SECTION:paradox-footer */

/* START_SECTION:paradox-header (INDEX:51) */
/* czarny pasek (Bartek 2026-07-24); tekstowe vary flipuje dark scope w paradox.css */
.pdx-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(8,8,9,.92);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(232,232,230,.14);
}
/* 3 strefy: nav | logo (zawsze centralnie) | utils */
.pdx-header__bar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1.6rem;
  min-height: 7rem;
}
.pdx-header__left { display: flex; align-items: center; justify-self: start; min-width: 0; }
/* inline-flex: bez tego inline'owy <a> dokleja pod obrazkiem przestrzen linii
   (baseline) i logo siedzi optycznie za wysoko wzgledem paska */
.pdx-header__logo { justify-self: center; min-width: 0; display: inline-flex; align-items: center; }
.pdx-header__logo img { max-width: 100%; }
.pdx-header__utils { display: flex; align-items: center; gap: 1.6rem; justify-self: end; }
.pdx-nav { display: flex; gap: clamp(1.4rem, 2vw, 3rem); list-style: none; margin: 0; padding: 0; }
.pdx-nav__item { position: static; }
.pdx-nav__link {
  font-family: var(--pdx-grotesk); font-weight: 400; font-size: 1.3rem; color: var(--pdx-text);
  text-transform: uppercase; padding: 1rem 0; display: inline-block; position: relative; letter-spacing: .12em;
}
.pdx-nav__link::after {
  content: ""; position: absolute; left: 0; bottom: .4rem; height: 1px; width: 0;
  background: var(--pdx-text); transition: width .25s var(--pdx-ease);
}
.pdx-nav__link:hover::after { width: 100%; }
.pdx-locale { font-size: 1.2rem; color: var(--pdx-text-2); letter-spacing: .1em; }
.pdx-header__icon { color: var(--pdx-text); display: inline-flex; position: relative; }
.pdx-header__icon svg { width: 2.2rem; height: 2.2rem; }
.pdx-cart-count {
  position: absolute; top: -.6rem; right: -.9rem; min-width: 1.7rem; height: 1.7rem;
  background: var(--pdx-platinum); color: var(--pdx-ink); border-radius: 50%;
  font-size: 1.05rem; display: flex; align-items: center; justify-content: center; padding: 0 .3rem;
}
.pdx-cart-count.is-empty { display: none; }
.pdx-header__burger { display: none; flex-direction: column; align-items: center; justify-content: center; gap: .45rem; background: none; border: 0; cursor: pointer; padding: .6rem; min-width: 4.4rem; min-height: 4.4rem; margin-left: -1rem; }
.pdx-header__burger span { width: 2.4rem; height: 2px; background: var(--pdx-text); display: block; }

/* Mega menu - ciemny panel pod czarnym paskiem */
.pdx-mega {
  position: absolute; left: 0; right: 0; top: 100%;
  background: rgba(10,10,11,.96);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(232,232,230,.1);
  border-bottom: 1px solid rgba(232,232,230,.16);
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .25s var(--pdx-ease), transform .25s var(--pdx-ease), visibility .25s;
  z-index: 49;
}
.pdx-has-mega:hover .pdx-mega, .pdx-has-mega:focus-within .pdx-mega { opacity: 1; visibility: visible; transform: translateY(0); }
.pdx-mega__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; padding-block: 3.6rem; }
.pdx-mega__col .pdx-eyebrow { color: var(--pdx-text-2); }
.pdx-mega__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1.2rem; }
.pdx-mega__col a { font-size: 1.5rem; color: var(--pdx-text); }
.pdx-mega__col a:hover { color: var(--pdx-text-2); }
.pdx-mega__all { color: var(--pdx-text-2) !important; }

/* Mobile drawer - ciemna kotwica nad murem */
.pdx-mobnav { position: fixed; inset: 0; z-index: 60; }
.pdx-mobnav[hidden] { display: none; }
.pdx-mobnav__scrim { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.pdx-mobnav__panel {
  position: absolute; left: 0; top: 0; bottom: 0; width: 88%; max-width: 38rem;
  background: var(--pdx-obsidian); border-right: 1px solid var(--pdx-gunmetal);
  padding: 2.4rem; display: flex; flex-direction: column; gap: 2rem; overflow-y: auto;
  transform: translateX(-100%); transition: transform .3s var(--pdx-ease);
}
.pdx-mobnav.is-open .pdx-mobnav__panel { transform: translateX(0); }
.pdx-mobnav__head { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; }
.pdx-mobnav__homelink { display: inline-flex; min-width: 0; }
.pdx-mobnav__close {
  background: none; border: 0; color: var(--pdx-platinum); font-size: 2.2rem; cursor: pointer;
  min-width: 4.4rem; min-height: 4.4rem; display: inline-flex; align-items: center; justify-content: center;
  margin-right: -1rem; flex-shrink: 0;
}
.pdx-mobnav__cta { margin-top: .4rem; }
.pdx-mobnav__nav { display: flex; flex-direction: column; }
.pdx-mobnav__link, .pdx-mobnav__group summary {
  font-family: var(--pdx-grotesk); font-weight: 400; text-transform: uppercase; letter-spacing: .1em;
  font-size: 1.4rem; color: var(--pdx-platinum); padding: 1.8rem 0; border-bottom: 1px solid var(--pdx-gunmetal);
  cursor: pointer; list-style: none;
}
.pdx-mobnav__group summary { display: flex; justify-content: space-between; align-items: center; }
.pdx-mobnav__group summary::after { content: "+"; font-family: var(--pdx-mono); color: var(--pdx-ash); font-size: 1.7rem; }
.pdx-mobnav__group[open] summary::after { content: "-"; }
.pdx-mobnav__group summary::-webkit-details-marker { display: none; }
.pdx-mobnav__group ul { list-style: none; margin: 0; padding: .6rem 0 1.6rem; display: flex; flex-direction: column; gap: 1.2rem; }
.pdx-mobnav__group ul a { font-family: var(--pdx-body); text-transform: none; letter-spacing: 0; font-size: 1.5rem; color: var(--pdx-ash); }
.pdx-mobnav__foot { display: flex; justify-content: space-between; font-size: 1.2rem; letter-spacing: .1em; margin-top: auto; padding-top: 1.6rem; color: var(--pdx-text); }

{%- comment -%} Bartek 06.08: na weszczym desktopie logo najezdzalo na nav.
    Logo jest ZAWSZE centralne (grid auto), wiec miejsce na nie to
    100vw - 2 x (nav + padding kontenera + gap). Dwie warstwy obrony:
    ciasniejsza typografia nav w zakresie 990-1279 i twardy max-width na
    logo (clamp z podloga 13rem; !important przebija inline max-width:74vw
    z pdx-wordmark, object-fit:contain skaluje rysunek proporcjonalnie). {%- endcomment -%}
@media screen and (min-width: 990px) and (max-width: 1279px) {
  .pdx-nav { gap: 1.2rem; }
  .pdx-nav__link { font-size: 1.2rem; letter-spacing: .06em; }
  .pdx-header__logo .pdx-wordmark img { max-width: clamp(13rem, calc(100vw - 86rem), 26.5rem) !important; }
}
@media screen and (min-width: 1280px) {
  /* pelna typografia nav wraca (446px) - stala formuly musi urosnac, inaczej
     przy 1280px logo dotyka nav na 1px; pelne 264px logo od ~1320px */
  .pdx-header__logo .pdx-wordmark img { max-width: clamp(13rem, calc(100vw - 105.5rem), 26.5rem) !important; }
}
@media screen and (max-width: 989px) {
  .pdx-header__nav { display: none; }
  .pdx-header__burger { display: flex; }
  .pdx-locale { display: none; }
}
@media screen and (max-width: 989px) {
  /* wieksze logo na mobile + odrobine nizej (Bartek 04.08): translateY centruje
     optycznie w pionie paska (PNG ma podpis FORGED WHEELS przy dolnej krawedzi) */
  .pdx-header__logo { transform: translateY(.2rem); }
}
@media screen and (max-width: 480px) {
  .pdx-header__bar { gap: 1rem; }
  /* !important przebija inline height z pdx-wordmark; logo centralne musi zmiescic sie
     miedzy burgerem a koszykiem nawet na 360px */
  .pdx-header__logo .pdx-wordmark img { height: 2.1rem !important; max-width: 62vw !important; }
}
/* END_SECTION:paradox-header */

/* START_SECTION:paradox-hero (INDEX:52) */
.pdx-hero { position: relative; overflow: hidden; }
.pdx-hero__inner {
  display: grid;
  grid-template-columns: minmax(30rem, 42fr) 58fr;
  align-items: center;
  gap: clamp(2rem, 4vw, 6rem);
  min-height: clamp(48rem, 74vh, 78rem);
  padding-block: clamp(2.4rem, 4vw, 4.8rem);
}
.pdx-hero__text { animation: pdx-hero-fade-up .6s ease-out; }
.pdx-hero__h1 { margin-bottom: 2rem; max-width: 14ch; }
.pdx-hero__spec { font-family: var(--pdx-mono); font-size: 1.3rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--pdx-text-2); margin: 0 0 3.2rem; }
.pdx-hero__cta { display: flex; gap: 1.2rem; flex-wrap: wrap; }
.pdx-hero__pin { display: block; margin-top: 3.2rem; }
.pdx-hero__media { min-width: 0; }
.pdx-hero__media img {
  width: 100%; height: auto; max-height: 74vh;
  object-fit: contain;
  animation: pdx-hero-fade-up .7s ease-out;
}

/* slider-hero (Bartek 06.08): fotki zamiast cutoutu felgi.
   Desktop: szerokosc spieta z 74vh przez aspect fotek (1113/1440), wysrodkowana
   w kolumnie po prawej od napisu. Specyficznosc 0-2-1 bije generyczne
   .pdx-hero__media img (contain/max-height zrobilyby letterbox). */
.pdx-heroslider { position: relative; width: min(100%, calc(74vh * 0.7729)); margin-inline: auto; }
.pdx-heroslider__track {
  display: flex;
  gap: .8rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.pdx-heroslider__track::-webkit-scrollbar { display: none; }
.pdx-heroslider__track:focus-visible { outline: 2px solid var(--pdx-ink); outline-offset: 2px; }
.pdx-heroslider__slide { flex: none; width: 100%; scroll-snap-align: center; }
.pdx-heroslider .pdx-heroslider__slide img {
  display: block; width: 100%; height: auto;
  max-height: none; object-fit: unset;
  animation: pdx-hero-fade-up .7s ease-out;
}
.pdx-heroslider__dots {
  position: absolute;
  left: 50%; bottom: 1.4rem;
  transform: translateX(-50%);
  display: flex; gap: 1.2rem;
  z-index: 2;
}
.pdx-heroslider__dot {
  width: .9rem; height: .9rem; padding: 0;
  background: rgba(255,255,255,.25);
  border: 1px solid rgba(255,255,255,.85);
  cursor: pointer;
}
.pdx-heroslider__dot.is-active { background: #fff; border-color: #fff; }

@media screen and (max-width: 749px) {
  .pdx-hero__inner { grid-template-columns: 1fr; min-height: auto; gap: .4rem; padding-top: 1.2rem; }
  .pdx-hero__media { order: -1; }
  .pdx-hero__media img { max-height: 52vh; margin-inline: auto; }
  /* full-bleed: fotka na cala szerokosc ekranu, poza gutter kontenera */
  .pdx-hero__media:has(.pdx-heroslider) { margin-inline: calc(-1 * var(--pdx-gutter)); }
  .pdx-heroslider { width: 100%; }
  .pdx-hero__text { padding-top: 1.6rem; padding-bottom: 2.4rem; }

  /* --- mobile ze sliderem: SAME fotki, zero napisow (Bartek 07.08) ----------
     Wczesniejsza wersja kladla naglowek/spec/CTA na fotce na kinowym scrimie
     (Bartek 06.08); nowe fotki v2 maja wlasne wpieczone napisy i gryzly sie
     z overlayem - Bartek kazal na mobile usunac nasze napisy w calosci,
     scrim stracil racje bytu (byl tylko pod czytelnosc tekstu).
     Desktop bez zmian: tekst stoi OBOK slidera, nie na nim. */
  /* padding-top: 0 - slider klei sie do czarnego paska menu, bez paska betonu
     (Bartek 06.08); fallback bez slidera trzyma stare 1.2rem */
  .pdx-hero__inner:has(.pdx-heroslider) { gap: 0; padding-top: 0; }
  .pdx-hero__inner:has(.pdx-heroslider) .pdx-hero__text { display: none; }
  /* kropki w prawym dolnym rogu (jak dotad) */
  .pdx-heroslider__dots {
    left: auto;
    right: var(--pdx-gutter);
    bottom: 2.4rem;
    transform: none;
  }
}

@keyframes pdx-hero-fade-up {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .pdx-hero__text, .pdx-hero__media img { animation: none; }
}
/* END_SECTION:paradox-hero */

/* START_SECTION:paradox-kolekcje (INDEX:53) */
.pdx-kolekcje__title { margin-bottom: clamp(3.2rem, 5vw, 5.6rem); }
.pdx-kolekcje__group + .pdx-kolekcje__group { margin-top: clamp(4.8rem, 7vw, 8.8rem); }
.pdx-kolekcje__head {
  display: flex; align-items: center; gap: clamp(2rem, 3vw, 3.6rem);
  margin-bottom: clamp(2.4rem, 3.4vw, 4rem);
}
.pdx-kolekcje__name {
  font-family: var(--pdx-grotesk);
  font-weight: 400;
  font-size: clamp(2.4rem, 3.4vw, 4.2rem);
  line-height: 1.1;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--pdx-text);
  white-space: nowrap;
}
.pdx-kolekcje__name:hover { color: var(--pdx-text-2); }
.pdx-kolekcje__rule { flex: 1; height: 1px; background: var(--pdx-line-strong); }
.pdx-kolekcje__grid {
  display: grid;
  grid-template-columns: repeat(var(--pdx-cols, 2), 1fr);
  gap: clamp(2rem, 3.4vw, 4.8rem);
}
@media screen and (max-width: 749px) {
  /* mobile: 1 felga na rzad - 2 obok siebie byly za male (Bartek 2026-07-24) */
  .pdx-kolekcje__grid { grid-template-columns: 1fr; gap: 3.2rem; }
}
/* END_SECTION:paradox-kolekcje */

/* START_SECTION:paradox-kontakt (INDEX:54) */
.pdx-kontakt__hero { max-width: 60ch; }
.pdx-kontakt__hero .pdx-h1 { margin-top: 1.8rem; }
.pdx-kontakt__lead { margin-top: 1.8rem; }
.pdx-kontakt__grid { margin-top: clamp(4rem, 7vw, 8rem); display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(3rem, 5vw, 6rem); border-top: 1px solid var(--pdx-line-strong); padding-top: clamp(3rem, 4vw, 4.6rem); }
.pdx-kontakt__details-lead { margin-bottom: clamp(2.4rem, 3.5vw, 3.4rem); }
.pdx-kontakt__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.pdx-kontakt__item { display: flex; flex-direction: column; gap: .7rem; padding: 1.8rem 0; border-top: 1px solid var(--pdx-line); }
.pdx-kontakt__item:first-child { border-top: 0; padding-top: 0; }
.pdx-kontakt__value { font-size: 1.6rem; color: var(--pdx-text); }
.pdx-kontakt__note { font-size: 1.4rem; line-height: 1.5; margin-top: .2rem; }
/* v3 beton: formularz "wyryty w scianie" - jasny panel, atramentowy tekst
   (bylo: graphite z v2 = ciemne napisy na ciemnym; feedback Bartka 2026-07-24) */
.pdx-kontakt__form { background: rgba(255,255,255,.16); border: 1px solid var(--pdx-line-strong); padding: clamp(2.4rem, 4vw, 4rem); }
.pdx-kontakt__head { margin-bottom: 2.8rem; max-width: 56ch; }
.pdx-kontakt__head .pdx-lead { margin-top: 1.4rem; }
.pdx-kontakt__foot { display: flex; align-items: center; gap: 2rem; margin-top: 1rem; flex-wrap: wrap; }
.pdx-kontakt__ok { padding: 2rem 0; display: flex; flex-direction: column; gap: 1.4rem; }
.pdx-kontakt__err { color: var(--pdx-text); margin-bottom: 1.6rem; font-size: 1.4rem; }
@media screen and (max-width: 989px) { .pdx-kontakt__grid { grid-template-columns: 1fr; } }
/* END_SECTION:paradox-kontakt */

/* START_SECTION:paradox-lookbook (INDEX:55) */
.pdx-look__intro { margin-bottom: clamp(2.6rem, 4vw, 4rem); }
.pdx-look__grid { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 3vw, 3.2rem); }
.pdx-look__item { display: flex; flex-direction: column; gap: 1.2rem; }
.pdx-look__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--pdx-gunmetal); background: var(--pdx-void); }
.pdx-look__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s var(--pdx-ease); }
.pdx-look__item:hover .pdx-look__media img, .pdx-look__item:focus-within .pdx-look__media img { transform: scale(1.02); }
.pdx-look__cap { display: flex; align-items: center; justify-content: space-between; gap: 1.6rem; flex-wrap: wrap; }
.pdx-look__name { font-family: var(--pdx-mono); font-weight: 500; text-transform: uppercase; letter-spacing: .14em; font-size: 1.35rem; color: var(--pdx-text); }
.pdx-look__closer { margin-top: clamp(3.4rem, 5vw, 6rem); display: flex; justify-content: center; }
@media screen and (min-width: 750px) { .pdx-look__grid { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .pdx-look__media img { transition: none; }
  .pdx-look__item:hover .pdx-look__media img { transform: none; }
}
/* END_SECTION:paradox-lookbook */

/* START_SECTION:paradox-manifest (INDEX:56) */
.pdx-manifest { background: #000; }
.pdx-manifest__inner { max-width: 96rem; }
.pdx-manifest__text { margin-top: clamp(3.2rem, 6vw, 6.4rem); }
.pdx-manifest__open {
  font-size: clamp(3rem, 6vw, 6.6rem);
  margin-bottom: clamp(4rem, 8vw, 8rem);
}
.pdx-manifest__stanza {
  text-transform: none;
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: 0;
  font-size: clamp(2.2rem, 3.6vw, 4rem);
  margin: 0 0 clamp(3.6rem, 7vw, 7rem);
  max-width: 24ch;
}
.pdx-manifest__stanza:last-child { margin-bottom: 0; }
.pdx-manifest__refrain { color: var(--pdx-platinum); }
.pdx-manifest__rule { margin: clamp(4.8rem, 9vw, 9rem) 0 clamp(3.2rem, 5vw, 4.8rem); }
.pdx-manifest__close { display: flex; flex-direction: column; gap: clamp(2.4rem, 4vw, 3.6rem); align-items: flex-start; }
.pdx-manifest__cta { align-self: flex-start; }
/* END_SECTION:paradox-manifest */

/* START_SECTION:paradox-models (INDEX:57) */
.pdx-models__head { margin-bottom: clamp(2.8rem, 4vw, 4.4rem); }
.pdx-models__grid { grid-template-columns: repeat(4, 1fr); }
/* 990-1199px: 4 kolumny robia sie za ciasne dla nazw w Michromie */
@media screen and (max-width: 1199px) { .pdx-models__grid { grid-template-columns: repeat(3, 1fr); } }
@media screen and (max-width: 989px) { .pdx-models__grid { grid-template-columns: 1fr 1fr; } }
/* END_SECTION:paradox-models */

/* START_SECTION:paradox-page (INDEX:58) */
.pdx-pagewrap__inner { max-width: 86rem; }
.pdx-pagewrap__head { margin-bottom: clamp(3rem,4vw,4.6rem); padding-bottom: 2.6rem; border-bottom: 1px solid var(--pdx-gunmetal); }
/* END_SECTION:paradox-page */

/* START_SECTION:paradox-pdp (INDEX:59) */
.pdx-pdp { padding-block: clamp(2.4rem, 3vw, 4rem) clamp(5rem,7vw,9rem); }
/* selektor z sekcja-rodzicem: ten arkusz laduje sie PRZED paradox.css,
   wiec sama klasa przegrywa remis z .pdx-btn { display:inline-flex } */
.pdx-pdp .pdx-pdp__mobcta { display: none; }
@media screen and (max-width: 749px) {
  .pdx-pdp .pdx-pdp__mobcta {
    display: flex; position: fixed; left: 1.2rem; right: 1.2rem; bottom: 1.2rem; z-index: 40;
    justify-content: center; box-shadow: 0 .6rem 2rem rgba(0,0,0,.25);
    opacity: 1; transform: translateY(0);
    transition: opacity .25s var(--pdx-ease), transform .25s var(--pdx-ease);
  }
  .pdx-pdp .pdx-pdp__mobcta[hidden] { display: flex; opacity: 0; transform: translateY(8px); pointer-events: none; }
  .pdx-pdp { padding-bottom: 9rem; }
}
@media (prefers-reduced-motion: reduce) {
  .pdx-pdp__mobcta { transition: none; }
}
.pdx-pdp__crumb { font-size: 1.4rem; color: var(--pdx-text-2); display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; margin-bottom: 2.8rem; }
.pdx-pdp__crumb a { color: var(--pdx-text-2); }
.pdx-pdp__crumb a:hover { color: var(--pdx-text); }
.pdx-pdp__crumb .pdx-sep { color: var(--pdx-line); }
.pdx-pdp__grid { display: grid; grid-template-columns: 57fr 43fr; grid-template-areas: "gal buy"; gap: clamp(2.4rem, 4vw, 4.4rem); align-items: start; }
.pdx-pdp__zone { display: contents; } /* desktop: strefa przezroczysta dla grida */
.pdx-pdp__gallery { position: sticky; top: 9rem; grid-area: gal; }
.pdx-pdp__hero { aspect-ratio: 1/1; overflow: hidden; border: 1px solid var(--pdx-line); background: var(--pdx-void); }
.pdx-pdp__hero img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--pdx-ease); }
/* cutout: felga z cieniem alpha lezy bezposrednio na scianie - bez ramki, bez tla,
   bez cropu. overflow visible: puls skalowania przy podmianie nie moze przycinac
   cienia rowna linia wzdluz kadru (Bartek 04.08 pkt 3) */
.pdx-pdp__hero.is-cutout { border: none; background: transparent; overflow: visible; }
.pdx-pdp__hero.is-cutout img { object-fit: contain; }
.pdx-pdp__heronote { font-size: 1.35rem; margin-top: 1rem; }
.pdx-pdp__thumbs { display: flex; gap: 1rem; margin-top: 1.2rem; flex-wrap: wrap; }
/* media to cutouty z alpha (od 04.08) - zadnego czarnego tla pod miniaturka,
   felga lezy bezposrednio na scianie; ramka zostaje jako afordancja kliku */
.pdx-pdp__thumb { width: 8rem; height: 8rem; padding: 0; border: 1px solid var(--pdx-line); background: transparent; cursor: pointer; overflow: hidden; }
.pdx-pdp__thumb.is-active { border-color: var(--pdx-text); }
.pdx-pdp__thumb img { width: 100%; height: 100%; object-fit: contain; }
/* buybox bez panelu: tresc bezposrednio na scianie */
.pdx-pdp__buybox { padding: 0; grid-area: buy; }
.pdx-pdp__title { margin: .4rem 0 2rem; }
.pdx-pdp__price { display: flex; flex-direction: column; gap: .4rem; padding-bottom: 2.4rem; border-bottom: 1px solid var(--pdx-line); margin-bottom: 2.4rem; }
.pdx-pdp__priceval { font-size: 2.2rem; }
.pdx-pdp__config { display: flex; flex-direction: column; gap: 2.2rem; }
.pdx-cfg { display: flex; flex-direction: column; gap: 1rem; }
/* [hidden] przegralby z display:flex (specyficznosc UA) - rzad koloru oslony musi znikac */
.pdx-cfg[hidden] { display: none; }
/* to samo dla pojedynczych chipow: oslona srub znika przy center locku */
.pdx-chip[hidden] { display: none; }
.pdx-cfg__req { color: var(--pdx-text-2); }
.pdx-pdp__twopcnote { font-size: 1.3rem; line-height: 1.55; margin: .2rem 0 0; max-width: 46ch; }
/* swatche kolorow: wiersz na grupe wykonczen (SATIN/GLOSS/BRUSHED/CHROME).
   Klasy pdx-cswatch* - pdx-swatch jest zajeta przez stare swatche PLP w paradox.css
   (1.8rem kolo bez tekstu) i zlamalaby layout chipow. */
.pdx-cswatches { display: flex; flex-direction: column; gap: 1rem; }
.pdx-cswatchrow { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; align-items: start; }
.pdx-cswatchrow__label { font-size: 1.3rem; color: var(--pdx-text-2); letter-spacing: .08em; padding-top: 1.3rem; }
.pdx-cswatch { gap: .8rem; }
.pdx-cswatch__dot { width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 1px solid var(--pdx-line); flex: none; }
@media screen and (max-width: 480px) {
  .pdx-cswatchrow { grid-template-columns: 1fr; gap: .6rem; }
  .pdx-cswatchrow__label { padding-top: 0; }
}
.pdx-pdp__qtyrow { display: flex; align-items: center; justify-content: space-between; gap: 1.6rem; margin-top: 2.6rem; }
.pdx-stepper { display: inline-flex; align-items: center; border: 1px solid var(--pdx-line); }
.pdx-stepper__btn { width: 4.4rem; height: 4.4rem; background: none; border: 0; color: var(--pdx-text); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.pdx-stepper__btn svg { width: 1.8rem; height: 1.8rem; }
.pdx-stepper__input { width: 5rem; text-align: center; background: transparent; border: 0; border-inline: 1px solid var(--pdx-line); color: var(--pdx-text); height: 4.4rem; font-size: 1.6rem; -moz-appearance: textfield; }
.pdx-stepper__input::-webkit-outer-spin-button, .pdx-stepper__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pdx-pdp__subtotal { font-size: 1.7rem; color: var(--pdx-text); }
.pdx-pdp__qtynote { font-size: 1.35rem; margin-top: .8rem; }
.pdx-pdp__cta { margin-top: 2.4rem; display: flex; flex-direction: column; gap: 1rem; }
.pdx-pdp__carthint { font-size: 1.35rem; color: var(--pdx-text-2); text-align: center; min-height: 1.6rem; }
/* soft-disabled: wyglada jak disabled, ale klika sie (komunikat walidacji) */
.pdx-pdp .pdx-btn--soft-disabled,
.pdx-pdp .pdx-btn--soft-disabled:hover {
  background: var(--pdx-line); color: var(--pdx-text-2); border-color: var(--pdx-line);
  cursor: not-allowed;
}
.pdx-pdp__carthint.is-alert {
  color: var(--pdx-text);
  animation: pdx-hint-shake .4s var(--pdx-ease);
}
.pdx-cfg.is-missing .pdx-label { color: var(--pdx-text); }
.pdx-cfg.is-missing .pdx-chips { animation: pdx-missing-pulse 1.6s var(--pdx-ease); }
@keyframes pdx-hint-shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-4px); }
  75% { transform: translateX(4px); }
}
@keyframes pdx-missing-pulse {
  0%, 55% { outline: 1px solid var(--pdx-text); outline-offset: 6px; }
  100% { outline: 1px solid transparent; outline-offset: 6px; }
}
.pdx-pdp__microcopy { margin-top: .8rem; display: flex; flex-direction: column; gap: .4rem; }
.pdx-pdp__microcopy p { font-size: 1.35rem; color: var(--pdx-text-2); line-height: 1.5; }
.pdx-pdp__microcopy a { color: var(--pdx-text); text-decoration: underline; text-underline-offset: .2rem; }
.pdx-pdp__div { margin-block: clamp(4rem,6vw,7rem); }
/* --- suwak ET (Bartek 04.08): -50..+50 co 1, kwadratowy uchwyt w estetyce chipow --- */
.pdx-etrow { display: flex; align-items: center; gap: 1.8rem; }
.pdx-etslider { -webkit-appearance: none; appearance: none; flex: 1; height: 3.2rem; background: transparent; margin: 0; cursor: pointer; }
.pdx-etslider::-webkit-slider-runnable-track { height: 2px; background: var(--pdx-line-strong); }
.pdx-etslider::-moz-range-track { height: 2px; background: var(--pdx-line-strong); }
.pdx-etslider::-webkit-slider-thumb { -webkit-appearance: none; width: 2.6rem; height: 2.6rem; margin-top: -1.2rem; background: var(--pdx-ink); border: 1px solid var(--pdx-line-strong); border-radius: 0; }
.pdx-etslider::-moz-range-thumb { width: 2.6rem; height: 2.6rem; background: var(--pdx-ink); border: 1px solid var(--pdx-line-strong); border-radius: 0; }
.pdx-etslider:focus-visible { outline: 1px solid var(--pdx-text); outline-offset: 4px; }
.pdx-etval { min-width: 7rem; text-align: right; font-size: 1.6rem; color: var(--pdx-text); }
/* skala pod suwakiem: padding-right = szerokosc outputu + gap, zeby -50/0/+50 siedzialy pod toru */
.pdx-etscale { display: flex; justify-content: space-between; font-size: 1.15rem; letter-spacing: .08em; color: var(--pdx-text-2); padding-right: 8.8rem; }
.pdx-cfg.is-missing .pdx-etslider::-webkit-slider-thumb { background: var(--pdx-text); box-shadow: 0 0 0 2px var(--pdx-line-strong); }
.pdx-cfg.is-missing .pdx-etslider::-moz-range-thumb { background: var(--pdx-text); box-shadow: 0 0 0 2px var(--pdx-line-strong); }
/* pola tekstowe konfiguratora: Model auta / Dodatkowe uwagi.
   pdx-cfield, NIE pdx-field - pdx-field w paradox.css to WRAPPER pola (flex + margin-bottom 1.8rem) */
.pdx-cfg--field { display: flex; flex-direction: column; gap: .8rem; }
.pdx-cfield {
  width: 100%; padding: 1.2rem 1.4rem;
  background: rgba(255,255,255,.22); color: var(--pdx-ink);
  border: 1px solid var(--pdx-line); border-radius: 0;
  font-family: inherit; font-size: 1.5rem; line-height: 1.4;
  transition: border-color .2s var(--pdx-ease);
}
.pdx-cfield::placeholder { color: var(--pdx-text-2); opacity: .7; }
.pdx-cfield:focus { outline: none; border-color: var(--pdx-text); }
.pdx-cfield--area { resize: vertical; min-height: 8rem; }
.pdx-cfg.is-missing .pdx-cfield { border-color: var(--pdx-ink); }

.pdx-pdp__proof { padding: clamp(2.6rem,4vw,4.4rem); border: 1px solid var(--pdx-line); }
.pdx-pdp__proofgrid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(2.4rem,4vw,5rem); align-items: center; }
/* margin-top: proof i FAQ stykaly sie bez przerwy (Bartek 04.08 pkt 5) */
.pdx-pdp__faq { max-width: 80rem; margin-top: clamp(4rem, 6vw, 7rem); margin-bottom: clamp(4rem,6vw,6.5rem); }
.pdx-pdp__faq .pdx-h2 { margin-bottom: 2rem; }
.pdx-acc { border-bottom: 1px solid var(--pdx-line); }
.pdx-acc summary { cursor: pointer; padding: 1.8rem 0; font-size: 1.7rem; list-style: none; display: flex; justify-content: space-between; }
.pdx-acc summary::-webkit-details-marker { display: none; }
.pdx-acc summary::after { content: "+"; font-family: var(--pdx-mono); color: var(--pdx-text-2); }
.pdx-acc[open] summary::after { content: "-"; }
.pdx-acc p { padding-bottom: 1.8rem; color: var(--pdx-text-2); font-size: 1.6rem; line-height: 1.55; }
.pdx-pdp__related .pdx-h2 { margin-bottom: 0; }
.pdx-pdp__relgrid { grid-template-columns: repeat(3,1fr); margin-top: 2.6rem; }

@media screen and (max-width: 989px) {
  /* areas: none - inaczej template-areas z desktopu robilyby druga kolumne */
  .pdx-pdp__grid { grid-template-columns: 1fr; grid-template-areas: none; }
  /* zone = granica sticky hero. Runway (Bartek 04.08): odklejanie ma startowac, gdy
     koniec buyboxa (nota "Pytanie o rozmiar?") WCHODZI w viewport od dolu - zone jest
     skracana ujemnym marginesem buyboxa o (100dvh - wysokosc galerii), wiec sticky
     wypycha galerie dokladnie w tym momencie. flow-root: bez niego ujemny margines
     ostatniego dziecka zbija sie z marginesem zone i ucieka na zewnatrz, zamiast
     skracac jej content-box (granice sticky). Wlasny margin-bottom oddaje odjete
     miejsce, zeby tresc pod gridem nie podjechala. --pdx-galh ustawia JS (stickyTop). */
  .pdx-pdp__zone { display: flow-root; margin-bottom: max(0px, 100dvh - var(--pdx-galh, 9999px)); }
  .pdx-pdp__buybox { margin-bottom: calc(-1 * max(0px, 100dvh - var(--pdx-galh, 9999px))); }
  /* margines gallery-buybox robil dotad row-gap grida; w zone (block) daje go margin */
  .pdx-pdp__gallery { position: sticky; top: var(--pdx-sticky-top, 0px); z-index: 5; margin-bottom: clamp(2.4rem, 4vw, 4.4rem); }
  /* kompakt po scrollu (decyzja Bartka 04.08 wieczor: hero BEZ zmniejszania i BEZ
     zadnego tla - felga w pelnym rozmiarze plywa nad opcjami, opcje widac przez
     alpha cutoutu). Gasna tylko miniatury i notka - przez opacity, NIE display,
     bo zmiana wysokosci layoutu wpada w petle ze scroll anchoringiem (e2e). */
  .pdx-pdp__thumbs, .pdx-pdp__heronote { transition: opacity .25s var(--pdx-ease); }
  .pdx-pdp__gallery.is-compact .pdx-pdp__thumbs,
  .pdx-pdp__gallery.is-compact .pdx-pdp__heronote { opacity: 0; }
  /* przyklejony box galerii nie moze lapac tapniec - maja przechodzic do opcji
     scrollujacych pod felga */
  .pdx-pdp__gallery.is-compact { pointer-events: none; }
  .pdx-pdp__proofgrid { grid-template-columns: 1fr; }
  .pdx-pdp__relgrid { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 480px) { .pdx-pdp__relgrid { grid-template-columns: 1fr; } }
/* END_SECTION:paradox-pdp */

/* START_SECTION:paradox-prefooter (INDEX:60) */
.pdx-prefooter { margin-top: clamp(4rem, 7vw, 8rem); }
.pdx-prefooter img {
  display: block;
  width: 100%;
  height: auto;
  /* na bardzo szerokich ekranach fotka nie moze zajac dwoch wysokosci viewportu */
  max-height: 88vh;
  object-fit: cover;
  object-position: center;
}
/* END_SECTION:paradox-prefooter */

/* START_SECTION:paradox-technologia (INDEX:61) */
.pdx-tech__hero { padding: clamp(2.6rem, 4vw, 4.4rem); border: 1px solid var(--pdx-gunmetal); }
.pdx-tech__hero .pdx-h1 { margin: .4rem 0 1.8rem; }
.pdx-tech__lead { max-width: 60ch; }
.pdx-tech__process { margin-top: clamp(4rem, 6vw, 7rem); }
.pdx-tech__process .pdx-h2 { margin-bottom: clamp(2.4rem, 4vw, 3.6rem); }
.pdx-tech__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--pdx-gunmetal); }
.pdx-tech__step { padding: 2.8rem 2.4rem; border-left: 1px solid var(--pdx-gunmetal); display: flex; flex-direction: column; gap: 1.2rem; }
.pdx-tech__step:first-child { border-left: 0; padding-left: 0; }
.pdx-tech__stepno { font-size: 1.3rem; color: var(--pdx-ash); letter-spacing: .14em; }
.pdx-tech__step p { font-size: 1.5rem; line-height: 1.55; }
.pdx-tech__div { margin-block: clamp(4rem, 6vw, 7rem); }
.pdx-tech__proof { padding: clamp(2.6rem, 4vw, 4.4rem); border: 1px solid var(--pdx-gunmetal); }
.pdx-tech__proofgrid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(2.4rem, 4vw, 5rem); align-items: center; }
.pdx-tech__cert { max-width: 72ch; margin-top: clamp(4rem, 6vw, 6.5rem); }
.pdx-tech__cert .pdx-h2 { margin-bottom: 1.6rem; }
.pdx-tech__cert .pdx-lead { margin-bottom: 1.6rem; }
.pdx-tech__cta { margin-top: clamp(4rem, 6vw, 6.5rem); display: flex; flex-direction: column; gap: 2rem; align-items: flex-start; }
@media screen and (max-width: 989px) {
  .pdx-tech__steps { grid-template-columns: 1fr 1fr; }
  .pdx-tech__step { border-left: 0; border-top: 1px solid var(--pdx-gunmetal); padding: 2.4rem 0; }
  .pdx-tech__step:nth-child(even) { padding-left: 2.4rem; border-left: 1px solid var(--pdx-gunmetal); }
  .pdx-tech__proofgrid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 749px) {
  .pdx-tech__steps { grid-template-columns: 1fr; }
  .pdx-tech__step:nth-child(even) { padding-left: 0; border-left: 0; }
}
/* END_SECTION:paradox-technologia */

/* START_SECTION:paradox-value-proof (INDEX:62) */
.pdx-vp__lead { max-width: 24ch; margin-bottom: clamp(3rem, 4vw, 4.6rem); }
.pdx-vp__tiles { display: flex; align-items: center; gap: 0; border-top: 1px solid var(--pdx-gunmetal); border-bottom: 1px solid var(--pdx-gunmetal); }
.pdx-vp__tile { flex: 1; padding: 2.2rem 2.6rem; border-left: 1px solid var(--pdx-gunmetal); display: flex; flex-direction: column; gap: .8rem; }
.pdx-vp__tile:first-child { border-left: 0; padding-left: 0; }
.pdx-vp__tile--mid { position: relative; }
.pdx-vp__foot { margin-top: clamp(2.6rem, 3vw, 3.6rem); }
@media screen and (max-width: 749px) {
  .pdx-vp__tiles { flex-direction: column; align-items: stretch; }
  .pdx-vp__tile { border-left: 0; border-top: 1px solid var(--pdx-gunmetal); padding: 1.8rem 0; }
  .pdx-vp__tile:first-child { border-top: 0; }
}
/* END_SECTION:paradox-value-proof */