  :root {
    --katalog-producenta-max-szerokosc: 1500px;
    --katalog-producenta-padding-y: clamp(28px, 4vw, 78px);
    --katalog-producenta-cien: 0 22px 62px rgba(0, 0, 0, 0.13);
    --katalog-producenta-cien-hover: 0 28px 78px rgba(0, 0, 0, 0.16);
    --katalog-producenta-tlo: #ffffff;
    --katalog-producenta-tlo-soft: #f3f4f6;
    --katalog-producenta-anim-czas: 240ms;
    --katalog-producenta-anim-krzywa: cubic-bezier(.2,.8,.2,1);
    --katalog-producenta-btn-obramowanie: rgba(0,0,0,.22);
    --katalog-producenta-btn-hover: rgba(0,0,0,.04);

    --katalog-producenta-kropka: 8px;
    --katalog-producenta-kropka-gap: 10px;
    --katalog-producenta-kropka-alpha: 0.14;
    --katalog-producenta-kropka-alpha-active: 0.34;
  }

  .katalog-producenta { padding: var(--katalog-producenta-padding-y) 0; }
  .katalog-producenta__container { max-width: var(--katalog-producenta-max-szerokosc); margin: 0 auto; padding: 0 16px; }
  .katalog-producenta__header { text-align: center; margin-bottom: 22px; }
  .katalog-producenta__title { margin: 0 0 10px; font-size: clamp(22px, 2.4vw, 34px); line-height: 1.12; letter-spacing: -0.02em; }
  .katalog-producenta__desc { margin: 0 auto; max-width: 960px; opacity: 0.86; line-height: 1.6; }

  /* Minimalny CSS “swiper-like” dla własnych klas */
  .katalog-producenta__karuzela { overflow: hidden; position: relative; padding: 14px 10px 56px; }
  .katalog-producenta__wrapper { display: flex; }
  .katalog-producenta__slide { flex-shrink: 0; width: auto; }

  .katalog-producenta__kafel {
    height: 100%;
    background: var(--katalog-producenta-tlo);
    box-shadow: var(--katalog-producenta-cien);
    transition: box-shadow var(--katalog-producenta-anim-czas) var(--katalog-producenta-anim-krzywa),
      transform var(--katalog-producenta-anim-czas) var(--katalog-producenta-anim-krzywa);
    transform: translateZ(0);
  }
  .katalog-producenta__kafel:hover { box-shadow: var(--katalog-producenta-cien-hover); transform: translateY(-3px); }

  .katalog-producenta__media { display: block; background: var(--katalog-producenta-tlo-soft); aspect-ratio: 16 / 9; }
  .katalog-producenta__media img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; background: var(--katalog-producenta-tlo-soft); }

  .katalog-producenta__kafel-tytul { margin: 0; padding: 14px 16px 16px; font-size: 18px; line-height: 1.25; letter-spacing: -0.01em; }
  .katalog-producenta__kafel-tytul a {
    color: inherit; text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 0% 2px; background-position: 0 100%; background-repeat: no-repeat;
    transition: background-size var(--katalog-producenta-anim-czas) var(--katalog-producenta-anim-krzywa);
  }
  .katalog-producenta__kafel:hover .katalog-producenta__kafel-tytul a { background-size: 100% 2px; }

  .katalog-producenta__predkosci {
    position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%);
    display: inline-flex; gap: var(--katalog-producenta-kropka-gap);
    align-items: center; justify-content: center;
    padding: 10px 12px; background: rgba(255,255,255,.7);
    backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border: 0; box-shadow: 0 18px 46px rgba(0,0,0,.10);
  }
  .katalog-producenta__kropka {
    width: var(--katalog-producenta-kropka); height: var(--katalog-producenta-kropka);
    border-radius: 999px; border: 0; padding: 0; cursor: pointer;
    background: rgba(0,0,0,var(--katalog-producenta-kropka-alpha));
    transition: transform 180ms var(--katalog-producenta-anim-krzywa), background 180ms var(--katalog-producenta-anim-krzywa);
  }
  .katalog-producenta__kropka:hover { transform: translateY(-1px); background: rgba(0,0,0,0.22); }
  .katalog-producenta__kropka.is-active { background: rgba(0,0,0,var(--katalog-producenta-kropka-alpha-active)); }

  .katalog-producenta__cta { display: flex; justify-content: center; margin-top: 18px; }
  .katalog-producenta__btn {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 12px 18px; border-radius: 999px;
    border: 1px solid var(--katalog-producenta-btn-obramowanie);
    text-decoration: none; color: inherit;
    transition: transform 180ms var(--katalog-producenta-anim-krzywa), background 180ms var(--katalog-producenta-anim-krzywa);
  }
  .katalog-producenta__btn:hover { transform: translateY(-1px); background: var(--katalog-producenta-btn-hover); }