/* ============================================================
 * B2B-BUNDLE 20260713-1225 — v8: CLS guard dolazen na NE-card vysky
 * (515/490/470), dlouhe B2B dostupnosti se zalamuji (max-width 46%).
 * Jinak shodne s v7. JS: /upload/b2b-cards/20260713-1130/b2b-cards.js.
 * Clenove: 01 banners(+HERO-SHELF) 02 registration 03 home-trust
 * 04 trust-pages 05 price-access 06 product-integrity 07 category-hub
 * 08 hub-crop 09 b2b-cards (NE-CARD-PORT+ADAPT+COHESION+CLS-GUARD)
 * ============================================================ */

/* ==== bundle member: 01-b2b-homepage-banners.css ==== */
/* === FIX START: B2B-HOME-BANNERS-20260710 === */
body.in-index .b2b-banner-zone {
  --b2b-ink: #2f2b2b;
  --b2b-ink-deep: #1f1c1c;
  --b2b-red: #c90018;
  --b2b-red-deep: #830010;
  --b2b-yellow: #ffc400;
  --b2b-paper: #f4f1e9;
  --b2b-white: #ffffff;
  color: var(--b2b-ink);
  font-family: "Source Sans 3", Arial, sans-serif;
  margin-block: 24px 44px;
  position: relative;
}

body.in-index .b2b-banner-zone :where(section, article, nav, div, span, picture, img, h2, p, ul, li, a, strong) {
  box-sizing: border-box;
}

body.in-index .b2b-banner-zone__inner {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  margin-inline: auto;
  max-width: 1630px;
  padding-inline: 15px;
  width: calc(100% - 50px);
}

body.in-index .b2b-banner-hero,
body.in-index .b2b-banner-card {
  border: 1px solid rgba(47, 43, 43, 0.12);
  border-radius: 20px;
  box-shadow: 0 20px 46px rgba(31, 28, 28, 0.14);
  overflow: hidden;
}

body.in-index .b2b-banner-hero {
  background: var(--b2b-white);
  color: var(--b2b-ink);
  isolation: isolate;
  min-height: 420px;
  position: relative;
}

body.in-index .b2b-banner-hero::before,
body.in-index .b2b-banner-hero::after {
  content: "";
  pointer-events: none;
  position: absolute;
}

body.in-index .b2b-banner-hero::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0 47%, rgba(255, 255, 255, 0.86) 57%, rgba(255, 255, 255, 0) 76%);
  inset: 0;
  z-index: 1;
}

body.in-index .b2b-banner-hero::after {
  background: linear-gradient(90deg, var(--b2b-red) 0 56%, var(--b2b-yellow) 56% 82%, var(--b2b-ink-deep) 82% 100%);
  block-size: 8px;
  inset: auto 0 0;
  z-index: 5;
}

body.in-index .b2b-banner-visual {
  display: block;
  margin: 0;
}

body.in-index .b2b-banner-visual img {
  block-size: 100%;
  display: block;
  inline-size: 100%;
  margin: 0;
  max-width: none;
  object-fit: cover;
}

body.in-index .b2b-banner-visual--background {
  inset: 0;
  position: absolute;
  z-index: 0;
}

body.in-index .b2b-banner-visual--background img {
  object-position: 50% 50%;
}

body.in-index .b2b-banner-hero__copy {
  display: flex;
  flex-direction: column;
  min-height: 420px;
  padding: clamp(40px, 4vw, 54px);
  position: relative;
  width: min(61%, 660px);
  z-index: 3;
}

body.in-index .b2b-banner-eyebrow,
body.in-index .b2b-banner-support__eyebrow {
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

body.in-index .b2b-banner-eyebrow {
  align-items: center;
  color: var(--b2b-ink);
  gap: 10px;
  margin-block-end: 16px;
}

body.in-index .b2b-banner-eyebrow::before {
  background: var(--b2b-red);
  block-size: 3px;
  content: "";
  inline-size: 31px;
}

body.in-index .b2b-banner-zone .b2b-banner-hero h2 {
  color: var(--b2b-red);
  font-family: "Exo 2", Arial, sans-serif;
  font-size: clamp(2.25rem, 3.65vw, 3.35rem);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0;
  max-width: 610px;
  text-wrap: balance;
}

body.in-index .b2b-banner-hero__lead {
  color: rgba(47, 43, 43, 0.82);
  font-size: clamp(1.02rem, 1.3vw, 1.16rem);
  line-height: 1.45;
  margin: 18px 0 0;
  max-width: 580px;
  text-wrap: pretty;
}

body.in-index .b2b-banner-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-block-start: 23px;
}

body.in-index .b2b-banner-button {
  align-items: center;
  border: 2px solid transparent;
  border-radius: 10px;
  display: inline-flex;
  font-size: 0.98rem;
  font-weight: 800;
  gap: 10px;
  justify-content: center;
  line-height: 1.2;
  min-height: 48px;
  padding: 11px 18px;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

body.in-index .b2b-banner-button--primary {
  background: var(--b2b-red);
  border-color: var(--b2b-red);
  color: var(--b2b-white);
}

body.in-index .b2b-banner-button--secondary {
  background: rgba(255, 255, 255, 0.7);
  border-color: rgba(47, 43, 43, 0.55);
  color: var(--b2b-ink-deep);
}

body.in-index .b2b-banner-button:focus-visible,
body.in-index .b2b-banner-card:focus-visible {
  outline: 3px solid var(--b2b-red);
  outline-offset: 4px;
}

body.in-index .b2b-banner-proofs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: auto 0 0;
  padding: 24px 0 0;
}

body.in-index .b2b-banner-proofs li {
  border-block-start: 1px solid rgba(47, 43, 43, 0.24);
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding-block-start: 10px;
}

body.in-index .b2b-banner-proofs strong {
  color: var(--b2b-ink-deep);
  font-size: 0.87rem;
  line-height: 1.18;
}

body.in-index .b2b-banner-proofs span {
  color: rgba(47, 43, 43, 0.65);
  font-size: 0.72rem;
  line-height: 1.3;
}

/* === FIX START: B2B-HERO-SHELF-20260713 (grounded product row, was floating diagonal) === */
body.in-index .b2b-banner-products {
  inset: 20px 14px 12px 53%;
  pointer-events: none;
  position: absolute;
  z-index: 2;
}

body.in-index .b2b-banner-products::before {
  background: radial-gradient(ellipse, rgba(47, 43, 43, 0.22), rgba(47, 43, 43, 0) 68%);
  block-size: 54px;
  content: "";
  inline-size: 96%;
  inset: auto 0 14px;
  position: absolute;
}

body.in-index .b2b-banner-product {
  background: var(--b2b-white);
  border: 1px solid rgba(47, 43, 43, 0.1);
  border-radius: 18px;
  box-shadow: 0 22px 40px rgba(47, 43, 43, 0.22);
  display: block;
  overflow: hidden;
  position: absolute;
}

body.in-index .b2b-banner-product img {
  block-size: auto;
  display: block;
  inline-size: 100%;
  margin: 0;
}

body.in-index .b2b-banner-product--drugstore {
  inline-size: clamp(180px, 22vw, 232px);
  inset: auto 6px 24px auto;
  transform: rotate(1.6deg);
  z-index: 2;
}

body.in-index .b2b-banner-product--grocery {
  inline-size: clamp(158px, 19.5vw, 204px);
  inset: auto auto 24px 3%;
  transform: rotate(-1.6deg);
  z-index: 3;
}

body.in-index .b2b-banner-products__caption {
  background: var(--b2b-ink-deep);
  border-radius: 999px;
  color: var(--b2b-white);
  font-size: 0.69rem;
  font-weight: 800;
  inset: 6px auto auto 50%;
  letter-spacing: 0.04em;
  padding: 8px 12px;
  position: absolute;
  text-transform: uppercase;
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 4;
}

@media (min-width: 1024px) and (max-width: 1180px) {
  body.in-index .b2b-banner-hero__copy {
    width: 55%;
  }

  body.in-index .b2b-banner-products {
    inset-inline-start: 56%;
  }

  body.in-index .b2b-banner-product--drugstore {
    inline-size: clamp(150px, 17vw, 190px);
  }

  body.in-index .b2b-banner-product--grocery {
    inline-size: clamp(132px, 15vw, 168px);
  }
}
/* === FIX END: B2B-HERO-SHELF-20260713 === */

body.in-index .b2b-banner-products__caption::before {
  color: var(--b2b-yellow);
  content: "●";
  margin-inline-end: 7px;
}

body.in-index .b2b-banner-supports {
  display: grid;
  gap: 22px;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  min-width: 0;
}

body.in-index .b2b-banner-card {
  color: var(--b2b-white);
  display: block;
  min-height: 199px;
  position: relative;
  text-decoration: none;
  transition: box-shadow 160ms ease, transform 160ms ease;
}

body.in-index .b2b-banner-visual--support {
  inset: 0;
  position: absolute;
}

body.in-index .b2b-banner-visual--support img {
  object-position: 65% 50%;
}

body.in-index .b2b-banner-card--sale {
  background: linear-gradient(135deg, var(--b2b-red-deep) 0%, var(--b2b-red) 64%, var(--b2b-yellow) 100%);
  isolation: isolate;
}

body.in-index .b2b-banner-sale-products {
  inset: 0;
  overflow: hidden;
  position: absolute;
}

body.in-index .b2b-banner-sale-products::before {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  block-size: 260px;
  content: "";
  inline-size: 260px;
  inset: -76px -68px auto auto;
  position: absolute;
}

body.in-index .b2b-banner-sale-product {
  background: var(--b2b-white);
  block-size: 174px;
  border: 1px solid rgba(47, 43, 43, 0.12);
  border-radius: 14px;
  box-shadow: 0 16px 28px rgba(31, 28, 28, 0.22);
  inline-size: 150px;
  margin: 0;
  object-fit: cover;
  position: absolute;
}

body.in-index .b2b-banner-sale-product--dalli {
  inset: 14px 96px auto auto;
  transform: rotate(-5deg);
  z-index: 1;
}

body.in-index .b2b-banner-sale-product--dallmayr {
  inset: 18px -7px auto auto;
  transform: rotate(5deg);
  z-index: 2;
}

body.in-index .b2b-banner-support__copy {
  background: linear-gradient(90deg, rgba(31, 28, 28, 0.98) 0 40%, rgba(31, 28, 28, 0.86) 55%, rgba(31, 28, 28, 0.12) 84%);
  display: flex;
  flex-direction: column;
  inset: 0;
  padding: 25px 24px;
  position: absolute;
  z-index: 1;
}

body.in-index .b2b-banner-card--sale .b2b-banner-support__copy {
  background: linear-gradient(90deg, rgba(82, 0, 10, 0.99) 0 42%, rgba(162, 0, 20, 0.91) 56%, rgba(201, 0, 24, 0.12) 82%);
}

body.in-index .b2b-banner-support__eyebrow {
  color: var(--b2b-yellow);
}

body.in-index .b2b-banner-support__title {
  color: var(--b2b-white);
  display: block;
  font-family: "Exo 2", Arial, sans-serif;
  font-size: clamp(1.65rem, 2.25vw, 2.15rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1;
  margin-block-start: 7px;
  max-width: 250px;
  text-wrap: balance;
}

body.in-index .b2b-banner-support__text {
  color: rgba(255, 255, 255, 0.8);
  display: block;
  font-size: 0.9rem;
  line-height: 1.35;
  margin-block-start: 8px;
  max-width: 210px;
}

body.in-index .b2b-banner-support__link {
  align-items: center;
  color: var(--b2b-white);
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 800;
  gap: 8px;
  margin-block-start: auto;
  min-height: 44px;
  padding-block-start: 8px;
}

/* === FIX START: B2B-MOBILE-BANNER-ANCHOR-20260710 === */
body.in-index .homepage-box.before-carousel.b2b-native-banners--replaced,
body.in-index .row.banners-row.b2b-native-banners--replaced {
  display: none;
}
/* === FIX END: B2B-MOBILE-BANNER-ANCHOR-20260710 === */

@media (hover: hover) {
  body.in-index .b2b-banner-button:hover,
  body.in-index .b2b-banner-card:hover {
    transform: translateY(-2px);
  }

  body.in-index .b2b-banner-button--primary:hover {
    background: #a90015;
    border-color: #a90015;
    color: var(--b2b-white);
  }

  body.in-index .b2b-banner-button--secondary:hover {
    background: var(--b2b-ink-deep);
    border-color: var(--b2b-ink-deep);
    color: var(--b2b-white);
  }

  body.in-index .b2b-banner-card:hover {
    box-shadow: 0 24px 50px rgba(31, 28, 28, 0.22);
    color: var(--b2b-white);
  }
}

@media (max-width: 1023px) {
  body.in-index .b2b-banner-zone__inner {
    grid-template-columns: 1fr;
  }

  body.in-index .b2b-banner-hero__copy {
    width: min(58%, 670px);
  }

  body.in-index .b2b-banner-products {
    inset-inline-start: 58%;
  }

  body.in-index .b2b-banner-supports {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
}

@media (max-width: 767px) {
  body.in-index .b2b-banner-zone {
    margin-block: 18px 34px;
  }

  body.in-index .b2b-banner-zone__inner {
    gap: 16px;
  }

  body.in-index .b2b-banner-hero {
    min-height: 0;
    padding-block-start: 244px;
  }

  body.in-index .b2b-banner-hero::before {
    background: linear-gradient(0deg, var(--b2b-white) 0 35%, rgba(255, 255, 255, 0.84) 47%, rgba(255, 255, 255, 0) 72%);
  }

  body.in-index .b2b-banner-visual--background img {
    object-position: 50% 0;
  }

  body.in-index .b2b-banner-products {
    block-size: 222px;
    inset: 20px 12px auto;
  }

  body.in-index .b2b-banner-product--drugstore {
    inline-size: clamp(146px, 44vw, 180px);
    inset: 8px 7px auto auto;
  }

  body.in-index .b2b-banner-product--grocery {
    inline-size: clamp(126px, 38vw, 156px);
    inset: auto auto 0 15px;
  }

  body.in-index .b2b-banner-products__caption {
    display: none;
  }

  body.in-index .b2b-banner-hero__copy {
    background: var(--b2b-white);
    min-height: 0;
    padding: 26px 22px 25px;
    width: 100%;
  }

  body.in-index .b2b-banner-zone .b2b-banner-hero h2 {
    font-size: clamp(2rem, 10vw, 2.65rem);
  }

  body.in-index .b2b-banner-hero__lead {
    font-size: 1rem;
    margin-block-start: 16px;
  }

  body.in-index .b2b-banner-hero__actions {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
    margin-block-start: 20px;
  }

  body.in-index .b2b-banner-button {
    min-height: 44px;
    width: 100%;
  }

  body.in-index .b2b-banner-proofs {
    gap: 9px;
    grid-template-columns: 1fr;
    margin-block-start: 23px;
    padding-block-start: 0;
  }

  body.in-index .b2b-banner-proofs li {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  body.in-index .b2b-banner-supports {
    gap: 16px;
    grid-template-columns: 1fr;
  }

  body.in-index .b2b-banner-sale-product {
    block-size: 164px;
    inline-size: 140px;
  }

  body.in-index .b2b-banner-sale-product--dalli {
    inset: 16px 82px auto auto;
  }

  body.in-index .b2b-banner-sale-product--dallmayr {
    inset: 20px -10px auto auto;
  }

  body.in-index .b2b-banner-card {
    min-height: 220px;
  }

  body.in-index .b2b-banner-support__copy {
    padding: 25px 22px;
  }
}

@media (max-width: 420px) {
  body.in-index .b2b-banner-zone__inner {
    padding-inline: 15px;
  }

  body.in-index .b2b-banner-hero,
  body.in-index .b2b-banner-card {
    border-radius: 16px;
  }
}

/* === FIX START: B2B-CAROUSEL-ALIGNMENT-20260710 === */
@media (min-width: 1751px) {
  body.in-index .b2b-banner-zone__inner {
    max-width: 1710px;
    width: 100%;
  }
}

@media (min-width: 481px) and (max-width: 992px) {
  body.in-index .b2b-banner-zone__inner {
    max-width: none;
    width: calc(100% - 10px);
  }
}

@media (max-width: 480px) {
  body.in-index .b2b-banner-zone__inner {
    max-width: none;
    width: 100%;
  }
}
/* === FIX END: B2B-CAROUSEL-ALIGNMENT-20260710 === */

@media (prefers-reduced-motion: reduce) {
  body.in-index .b2b-banner-button,
  body.in-index .b2b-banner-card {
    transition: none;
  }
}

@media (forced-colors: active) {
  body.in-index .b2b-banner-hero,
  body.in-index .b2b-banner-card,
  body.in-index .b2b-banner-button {
    border: 2px solid CanvasText;
  }
}
/* === FIX END: B2B-HOME-BANNERS-20260710 === */

/* ==== bundle member: 02-b2b-registration.css ==== */
/* === FIX START: B2B-REGISTRATION-CONVERSION-20260709 === */
.in-registrace .b2b-registration-layout {
  --b2b-reg-ink: #2f2b2b;
  --b2b-reg-red: #c90018;
  --b2b-reg-yellow: #ffc400;
  --b2b-reg-paper: #f4f1e9;
  --b2b-reg-canvas: #f6f7f8;
  --b2b-reg-white: #ffffff;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  grid-template-areas: "form guide";
  gap: clamp(24px, 3.2vw, 52px);
  align-items: start;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.in-registrace .b2b-registration-layout,
.in-registrace .b2b-registration-layout *,
.in-registrace .b2b-registration-layout *::before,
.in-registrace .b2b-registration-layout *::after {
  box-sizing: border-box;
}

.in-registrace .b2b-registration-layout > .formRegistration {
  grid-area: form;
  min-width: 0;
}

.in-registrace .b2b-registration-guide {
  grid-area: guide;
  position: relative;
  align-self: start;
  overflow: hidden;
  color: var(--b2b-reg-ink);
  background: var(--b2b-reg-paper);
  border: 1px solid var(--b2b-reg-ink);
  border-top: 6px solid var(--b2b-reg-red);
  box-shadow: 8px 8px 0 rgba(47, 43, 43, 0.1);
  padding: clamp(22px, 3vw, 32px);
}

.in-registrace .b2b-registration-guide__eyebrow {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 10px 5px;
  color: var(--b2b-reg-ink);
  background: var(--b2b-reg-yellow);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.in-registrace .b2b-registration-guide__title {
  margin: 0;
  color: var(--b2b-reg-ink);
  font-size: clamp(24px, 2.3vw, 34px);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.025em;
}

.in-registrace .b2b-registration-guide__intro {
  margin: 16px 0 0;
  color: #504b4b;
  font-size: 15px;
  line-height: 1.55;
}

.in-registrace .b2b-registration-guide__steps {
  counter-reset: b2b-registration-step;
  display: grid;
  gap: 0;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(47, 43, 43, 0.25);
}

.in-registrace .b2b-registration-guide__steps li {
  counter-increment: b2b-registration-step;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap: 12px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(47, 43, 43, 0.25);
}

.in-registrace .b2b-registration-guide__steps li::before {
  content: counter(b2b-registration-step, decimal-leading-zero);
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: var(--b2b-reg-white);
  background: var(--b2b-reg-ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

.in-registrace .b2b-registration-guide__steps strong,
.in-registrace .b2b-registration-guide__steps span {
  display: block;
}

.in-registrace .b2b-registration-guide__steps strong {
  color: var(--b2b-reg-ink);
  font-size: 15px;
  line-height: 1.3;
}

.in-registrace .b2b-registration-guide__steps span {
  margin-top: 4px;
  color: #625d5d;
  font-size: 13px;
  line-height: 1.45;
}

.in-registrace .b2b-registration-guide__proofs {
  display: grid;
  gap: 9px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.in-registrace .b2b-registration-guide__proofs li {
  position: relative;
  margin: 0;
  padding-left: 20px;
  color: var(--b2b-reg-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.in-registrace .b2b-registration-guide__proofs li::before {
  content: "";
  position: absolute;
  top: 0.42em;
  left: 0;
  width: 9px;
  height: 9px;
  background: var(--b2b-reg-red);
}

.in-registrace .b2b-registration-guide__login {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
  padding: 12px 16px;
  color: var(--b2b-reg-white);
  background: var(--b2b-reg-red);
  border: 2px solid var(--b2b-reg-red);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.in-registrace .b2b-registration-guide__login:hover {
  color: var(--b2b-reg-red);
  background: var(--b2b-reg-white);
  text-decoration: none;
}

.in-registrace .b2b-registration-layout .formRegistration input:not([type="hidden"]),
.in-registrace .b2b-registration-layout .formRegistration select,
.in-registrace .b2b-registration-layout .formRegistration button {
  min-height: 48px;
}

.in-registrace .b2b-registration-layout a:focus-visible,
.in-registrace .b2b-registration-layout input:focus-visible,
.in-registrace .b2b-registration-layout select:focus-visible,
.in-registrace .b2b-registration-layout button:focus-visible {
  outline: 3px solid var(--b2b-reg-yellow);
  outline-offset: 3px;
}

@media (max-width: 991px) {
  .in-registrace .b2b-registration-layout {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "guide"
      "form";
    gap: 28px;
  }

  .in-registrace .b2b-registration-guide {
    box-shadow: 6px 6px 0 rgba(47, 43, 43, 0.1);
  }
}

@media (max-width: 767px) {
  .in-registrace .b2b-registration-guide {
    padding: 22px 18px;
    box-shadow: 4px 4px 0 rgba(47, 43, 43, 0.1);
  }

  .in-registrace .b2b-registration-guide__title {
    font-size: 26px;
  }

  .in-registrace .b2b-registration-layout .formRegistration input:not([type="hidden"]),
  .in-registrace .b2b-registration-layout .formRegistration select,
  .in-registrace .b2b-registration-layout .formRegistration textarea,
  .in-registrace .b2b-registration-layout .formRegistration button {
    font-size: 16px;
  }
}
/* === FIX END: B2B-REGISTRATION-CONVERSION-20260709 === */

/* ==== bundle member: 03-b2b-home-trust.css ==== */
/* === FIX START: B2B-HOME-TRUST-PROMOTION-20260710 === */
body.in-index .homepage-box.welcome-wrapper .welcome > .h1,
.b2b-home-trust > .h1 {
  max-inline-size: 58rem;
  margin-block: 0 1.25rem;
  margin-inline: 0;
  color: #211d1d;
  font-size: clamp(1.875rem, 3.2vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1.1;
  text-align: start;
  text-transform: none;
}

.b2b-home-trust {
  --b2b-trust-red: #d9001b;
  --b2b-trust-red-dark: #ad0016;
  --b2b-trust-yellow: #ffc400;
  --b2b-trust-ink: #211d1d;
  --b2b-trust-muted: #655e5b;
  --b2b-trust-line: #ded8d5;
  --b2b-trust-paper: #f7f6f4;
  --b2b-trust-soft: #f5f3f1;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  padding: clamp(1.5rem, 3.2vw, 2.75rem);
  border: 1px solid var(--b2b-trust-line);
  border-radius: 1.125rem;
  background: #ffffff;
  box-shadow: 0 1rem 2.5rem rgba(33, 29, 29, 0.07);
  color: var(--b2b-trust-ink);
  text-align: start;
}

.b2b-home-trust--promoted {
  inline-size: calc(100% - 80px);
  max-inline-size: 1600px;
  margin-block: 2.5rem;
  margin-inline: auto;
}

.b2b-home-trust--promoted::before {
  position: absolute;
  inset: 0 0 auto;
  block-size: 0.375rem;
  background: linear-gradient(90deg, #d9001b 0 48%, #ffc400 48% 68%, #211d1d 68% 100%);
  content: '';
}

.b2b-home-trust-source--empty {
  display: none;
}

.b2b-home-trust__intro {
  max-inline-size: 60rem;
}

.b2b-home-trust__eyebrow {
  display: inline-flex;
  align-items: center;
  min-block-size: 1.5rem;
  gap: 0.625rem;
  margin-block: 0 0.625rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--b2b-trust-red-dark);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.075em;
  line-height: 1.35;
  text-transform: uppercase;
}

.b2b-home-trust__eyebrow::before {
  inline-size: 1.75rem;
  block-size: 0.1875rem;
  flex: 0 0 auto;
  background: var(--b2b-trust-red);
  content: '';
}

.b2b-home-trust__lead {
  max-inline-size: 56.25rem;
  margin: 0;
  color: var(--b2b-trust-muted);
  font-size: clamp(1.0625rem, 1.4vw, 1.1875rem);
  line-height: 1.65;
}

.b2b-home-trust__evidence {
  display: grid;
  grid-template-columns: minmax(17rem, 0.9fr) minmax(0, 2.1fr);
  gap: 1rem 1.75rem;
  align-items: center;
  margin-block: 1.75rem 0;
  padding-block: 1.125rem;
  padding-inline: 1.25rem;
  border: 1px solid var(--b2b-trust-line);
  border-radius: 0.875rem;
  background: var(--b2b-trust-soft);
}

.b2b-home-trust__evidence-copy {
  min-inline-size: 0;
  margin: 0;
  color: var(--b2b-trust-ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.55;
}

.b2b-home-trust__evidence-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.b2b-home-trust__evidence-item {
  min-inline-size: 0;
  margin: 0;
  padding-inline: 1rem;
  border-inline-start: 1px solid var(--b2b-trust-line);
}

.b2b-home-trust__evidence-link {
  display: flex;
  min-block-size: 44px;
  min-inline-size: 0;
  align-items: center;
  padding-block: 0.5rem;
  padding-inline: 0;
  border: 0;
  border-radius: 0.25rem;
  background: transparent;
  color: var(--b2b-trust-ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: break-word;
  text-decoration-color: var(--b2b-trust-red);
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.2rem;
}

.b2b-home-trust__evidence-link:hover {
  color: var(--b2b-trust-red-dark);
}

.b2b-home-trust__facts,
.b2b-home-trust__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.875rem;
  margin-block: 1.25rem 0;
  margin-inline: 0;
  padding: 0;
  list-style: none;
}

.b2b-home-trust__facts > li {
  min-inline-size: 0;
  padding-block: 1.125rem;
  padding-inline: 1.25rem;
  border: 1px solid var(--b2b-trust-line);
  border-inline-start: 0.25rem solid var(--b2b-trust-red);
  border-radius: 0.75rem;
  background: #ffffff;
}

.b2b-home-trust__facts strong,
.b2b-home-trust__facts span,
.b2b-home-trust__steps strong,
.b2b-home-trust__steps span {
  display: block;
}

.b2b-home-trust__facts strong {
  margin-block-end: 0.4rem;
  color: var(--b2b-trust-ink);
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4;
}

.b2b-home-trust__facts span,
.b2b-home-trust__steps span {
  color: var(--b2b-trust-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.b2b-home-trust__journey {
  margin-block-start: 1rem;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px solid var(--b2b-trust-line);
  border-radius: 0.875rem;
  background: var(--b2b-trust-soft);
}

.b2b-home-trust__journey h2 {
  margin: 0;
  color: var(--b2b-trust-ink);
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  font-weight: 700;
  line-height: 1.2;
}

.b2b-home-trust__steps {
  counter-reset: b2b-home-step;
  margin-block-start: 1.25rem;
}

.b2b-home-trust__steps > li {
  position: relative;
  min-block-size: 4.5rem;
  min-inline-size: 0;
  padding-inline-start: 3.15rem;
  padding-inline-end: 1.25rem;
  counter-increment: b2b-home-step;
}

.b2b-home-trust__steps > li:not(:last-child) {
  border-inline-end: 1px solid var(--b2b-trust-line);
}

.b2b-home-trust__steps > li::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: grid;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  border-radius: 0.5rem;
  background: var(--b2b-trust-yellow);
  color: var(--b2b-trust-ink);
  content: counter(b2b-home-step) / "Krok " counter(b2b-home-step);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  place-items: center;
}

.b2b-home-trust__steps strong {
  margin-block-end: 0.3rem;
  color: var(--b2b-trust-ink);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.b2b-home-trust__steps span {
  color: var(--b2b-trust-muted);
}

.b2b-home-trust__actions {
  display: grid;
  grid-template-columns: max-content max-content minmax(11.25rem, 1fr);
  gap: 0.75rem;
  align-items: center;
  margin-block-start: 1rem;
}

.b2b-home-trust__primary,
.b2b-home-trust__secondary {
  display: inline-flex;
  min-block-size: 3rem;
  align-items: center;
  justify-content: center;
  padding-block: 0.75rem;
  padding-inline: 1.2rem;
  border: 2px solid var(--b2b-trust-red);
  border-radius: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
}

.b2b-home-trust__primary {
  background: var(--b2b-trust-red);
  color: #ffffff;
}

.b2b-home-trust__secondary {
  background: #ffffff;
  color: var(--b2b-trust-red-dark);
}

.b2b-home-trust__primary:hover,
.b2b-home-trust__primary:focus-visible {
  border-color: var(--b2b-trust-red-dark);
  background: var(--b2b-trust-red-dark);
  color: #ffffff;
}

.b2b-home-trust__secondary:hover,
.b2b-home-trust__secondary:focus-visible {
  background: #fff0f2;
  color: var(--b2b-trust-red-dark);
}

.b2b-home-trust a:focus-visible {
  outline: 3px solid var(--b2b-trust-yellow);
  outline-offset: 3px;
}

.b2b-home-trust__actions p {
  margin: 0;
  padding-inline-start: 0.25rem;
  color: var(--b2b-trust-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.b2b-home-trust__actions p a {
  color: var(--b2b-trust-red-dark);
  font-weight: 700;
  text-underline-offset: 0.1875rem;
}

/* === FIX START: B2B-CAROUSEL-ALIGNMENT-20260710 === */
@media (min-width: 1751px) {
  .b2b-home-trust--promoted {
    inline-size: 1680px;
    max-inline-size: 1680px;
  }
}

@media (max-width: 992px) {
  .b2b-home-trust--promoted {
    inline-size: calc(100% - 40px);
    max-inline-size: none;
  }
}
/* === FIX END: B2B-CAROUSEL-ALIGNMENT-20260710 === */

@media (max-width: 47.9375rem) {
  body.in-index .homepage-box.welcome-wrapper .welcome > .h1,
  .b2b-home-trust > .h1 {
    margin-block-end: 1rem;
    font-size: clamp(1.7rem, 8vw, 2.25rem);
  }

  .b2b-home-trust--promoted {
    margin-block: 1.75rem;
  }

  .b2b-home-trust {
    padding-block: 1.375rem;
    padding-inline: 1rem;
    border-radius: 0.875rem;
  }

  .b2b-home-trust__evidence,
  .b2b-home-trust__evidence-list,
  .b2b-home-trust__facts,
  .b2b-home-trust__steps,
  .b2b-home-trust__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .b2b-home-trust__evidence {
    padding: 0.875rem;
  }

  .b2b-home-trust__evidence-item {
    padding-block: 0.25rem;
    padding-inline: 0;
    border-inline-start: 0;
    border-block-start: 1px solid var(--b2b-trust-line);
  }

  .b2b-home-trust__facts {
    margin-block-start: 1rem;
  }

  .b2b-home-trust__journey {
    padding-block: 1.25rem;
    padding-inline: 1rem;
  }

  .b2b-home-trust__steps > li {
    min-block-size: 0;
    padding-block-end: 1rem;
    padding-inline-end: 0;
  }

  .b2b-home-trust__steps > li:not(:last-child) {
    border-inline-end: 0;
  }

  .b2b-home-trust__primary,
  .b2b-home-trust__secondary {
    inline-size: 100%;
  }

  .b2b-home-trust__actions p {
    margin-block-start: 0.125rem;
    padding-inline-start: 0;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .b2b-home-trust--promoted {
    inline-size: calc(100% - 30px);
  }
}

@supports (text-wrap: balance) {
  body.in-index .homepage-box.welcome-wrapper .welcome > .h1,
  .b2b-home-trust > .h1,
  .b2b-home-trust__journey h2 {
    text-wrap: balance;
  }
}
/* === FIX END: B2B-HOME-TRUST-PROMOTION-20260710 === */

/* === FIX START: B2B-HOME-TRUST-COMPACT-20260710 === */
.b2b-home-trust--compact {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(28rem, 0.75fr);
  grid-template-areas:
    "title actions"
    "intro actions"
    "facts facts"
    "evidence evidence";
  column-gap: 2rem;
  row-gap: 0.75rem;
  margin-block: 2rem 3rem;
  padding-block: 1.5rem;
  padding-inline: clamp(1.5rem, 2.5vw, 2.25rem);
  box-shadow: 0 0.75rem 2rem rgba(33, 29, 29, 0.06);
}

.b2b-home-trust--compact > .h1 {
  grid-area: title;
  max-inline-size: none;
  margin: 0;
  font-size: clamp(1.75rem, 2.2vw, 2.25rem);
  line-height: 1.12;
}

.b2b-home-trust--compact .b2b-home-trust__intro {
  grid-area: intro;
  max-inline-size: 54rem;
}

.b2b-home-trust--compact .b2b-home-trust__eyebrow {
  margin-block-end: 0.25rem;
}

.b2b-home-trust--compact .b2b-home-trust__lead {
  max-inline-size: 52rem;
  font-size: clamp(1rem, 1.15vw, 1.0625rem);
  line-height: 1.5;
}

.b2b-home-trust--compact .b2b-home-trust__facts {
  grid-area: facts;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0.25rem 0 0;
  padding-block: 0.625rem;
  border-block: 1px solid var(--b2b-trust-line);
}

.b2b-home-trust--compact .b2b-home-trust__facts > li {
  padding-block: 0.25rem;
  padding-inline: 1.25rem;
  border: 0;
  border-inline-start: 1px solid var(--b2b-trust-line);
  border-radius: 0;
  background: transparent;
}

.b2b-home-trust--compact .b2b-home-trust__facts > li:first-child {
  padding-inline-start: 0;
  border-inline-start: 0;
}

.b2b-home-trust--compact .b2b-home-trust__facts strong {
  margin-block-end: 0.125rem;
  font-size: 1rem;
}

.b2b-home-trust--compact .b2b-home-trust__facts span {
  font-size: 1rem;
  line-height: 1.45;
}

.b2b-home-trust--compact .b2b-home-trust__evidence {
  grid-area: evidence;
  grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 2.1fr);
  gap: 0.75rem 1.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.b2b-home-trust--compact .b2b-home-trust__evidence-copy,
.b2b-home-trust--compact .b2b-home-trust__evidence-link {
  font-size: 1rem;
  line-height: 1.45;
}

.b2b-home-trust--compact .b2b-home-trust__evidence-item {
  padding-inline: 0.875rem;
}

.b2b-home-trust--compact .b2b-home-trust__evidence-link {
  min-block-size: 44px;
  padding-block: 0.25rem;
}

.b2b-home-trust--compact .b2b-home-trust__journey {
  display: none;
}

.b2b-home-trust--compact .b2b-home-trust__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  gap: 0.625rem;
  margin: 0;
}

.b2b-home-trust--compact .b2b-home-trust__primary,
.b2b-home-trust--compact .b2b-home-trust__secondary {
  min-block-size: 48px;
  padding-block: 0.625rem;
  padding-inline: 1rem;
}

.b2b-home-trust--compact .b2b-home-trust__actions p {
  flex-basis: 100%;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  text-align: end;
}

@media (max-width: 992px) {
  .b2b-home-trust--compact {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "title"
      "intro"
      "facts"
      "evidence"
      "actions";
    row-gap: 0.75rem;
    padding-block: 1.25rem;
    padding-inline: 1.25rem;
  }

  .b2b-home-trust--compact .b2b-home-trust__actions {
    justify-content: flex-start;
  }

  .b2b-home-trust--compact .b2b-home-trust__actions p {
    text-align: start;
  }
}

@media (max-width: 47.9375rem) {
  .b2b-home-trust--compact {
    margin-block: 1.5rem 2.25rem;
    padding-block: 1.125rem;
    padding-inline: 1rem;
  }

  .b2b-home-trust--compact > .h1 {
    margin: 0;
    font-size: clamp(1.55rem, 7vw, 1.875rem);
  }

  .b2b-home-trust--compact .b2b-home-trust__facts {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
    padding-block: 0;
    border-block: 0;
  }

  .b2b-home-trust--compact .b2b-home-trust__facts > li,
  .b2b-home-trust--compact .b2b-home-trust__facts > li:first-child {
    padding-block: 0.625rem;
    padding-inline: 0.75rem;
    border-inline-start: 0.1875rem solid var(--b2b-trust-red);
  }

  .b2b-home-trust--compact .b2b-home-trust__evidence {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.5rem;
    padding-block-start: 0.625rem;
    border-block-start: 1px solid var(--b2b-trust-line);
  }

  .b2b-home-trust--compact .b2b-home-trust__evidence-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .b2b-home-trust--compact .b2b-home-trust__evidence-item {
    padding-inline: 0;
  }

  .b2b-home-trust--compact .b2b-home-trust__actions p {
    text-align: center;
  }
}
/* === FIX END: B2B-HOME-TRUST-COMPACT-20260710 === */

/* ==== bundle member: 04-b2b-trust-pages.css ==== */
/* === FIX START: B2B-TRUST-PAGES-20260709 === */
.b2b-trust-page {
  --b2b-green: #2f7d45;
  --b2b-green-dark: #1f5f34;
  --b2b-green-deep: #174b29;
  --b2b-ink: #17221a;
  --b2b-muted: #59685d;
  --b2b-line: #d8e5d9;
  --b2b-paper: #f4f8f4;
  color: var(--b2b-ink);
  font-size: 1rem;
  line-height: 1.6;
  text-align: start;
}

.b2b-trust-page *,
.b2b-trust-page *::before,
.b2b-trust-page *::after {
  box-sizing: border-box;
}

.b2b-trust-page__hero {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  border: 1px solid var(--b2b-line);
  border-inline-start: 0.5rem solid var(--b2b-green);
  border-radius: 1.25rem;
  background: linear-gradient(135deg, #ffffff 0%, var(--b2b-paper) 100%);
}

.b2b-trust-page__eyebrow {
  margin: 0 0 0.5rem;
  color: var(--b2b-green-dark);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.b2b-trust-page h2,
.b2b-trust-page h3,
.b2b-trust-page h4 {
  color: var(--b2b-ink);
  text-transform: none;
}

.b2b-trust-page h2 {
  margin: 0;
  font-size: clamp(1.875rem, 5vw, 3.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
}

.b2b-trust-page h3 {
  margin: 0;
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-weight: 800;
  line-height: 1.2;
}

.b2b-trust-page h4 {
  margin: 0;
  font-size: clamp(1.125rem, 2.5vw, 1.375rem);
  font-weight: 800;
  line-height: 1.25;
}

.b2b-trust-page__lead {
  max-inline-size: 48rem;
  margin: 1rem 0 0;
  color: var(--b2b-muted);
  font-size: clamp(1.0625rem, 2vw, 1.25rem);
}

.b2b-trust-page__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.b2b-trust-page__button {
  display: inline-flex;
  min-block-size: 3rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.25rem;
  border: 2px solid var(--b2b-green-dark);
  border-radius: 0.75rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

.b2b-trust-page__button--primary {
  background: var(--b2b-green-dark);
  color: #ffffff;
}

.b2b-trust-page__button--secondary {
  background: #ffffff;
  color: var(--b2b-green-dark);
}

.b2b-trust-page__button:hover,
.b2b-trust-page__button:focus-visible {
  border-color: var(--b2b-green-deep);
}

.b2b-trust-page__button--primary:hover,
.b2b-trust-page__button--primary:focus-visible {
  background: var(--b2b-green-deep);
  color: #ffffff;
}

.b2b-trust-page a:focus-visible {
  outline: 3px solid #111111;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #ffffff;
}

.b2b-trust-page__ledger {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  margin: 1.25rem 0 0;
  padding: 0;
  border-block: 1px solid var(--b2b-line);
  list-style: none;
}

.b2b-trust-page__ledger li {
  min-inline-size: 0;
  padding: 1.25rem;
  border-block-end: 1px solid var(--b2b-line);
  font-variant-numeric: tabular-nums;
}

.b2b-trust-page__ledger li:last-child {
  border-block-end: 0;
}

.b2b-trust-page__ledger span,
.b2b-trust-page__ledger strong,
.b2b-trust-page__ledger small {
  display: block;
}

.b2b-trust-page__ledger span {
  color: var(--b2b-green-dark);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.b2b-trust-page__ledger strong {
  margin-block-start: 0.25rem;
  font-size: 1.25rem;
  line-height: 1.25;
}

.b2b-trust-page__ledger small {
  margin-block-start: 0.25rem;
  color: var(--b2b-muted);
}

.b2b-trust-page__section {
  margin-block-start: 1.25rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid var(--b2b-line);
  border-radius: 1rem;
  background: #ffffff;
}

.b2b-trust-page__steps {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding: 0;
  counter-reset: b2b-step;
  list-style: none;
}

.b2b-trust-page__steps li {
  position: relative;
  min-inline-size: 0;
  padding-inline-start: 3rem;
  counter-increment: b2b-step;
}

.b2b-trust-page__steps li::before {
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  display: grid;
  inline-size: 2.25rem;
  block-size: 2.25rem;
  border-radius: 50%;
  background: var(--b2b-green);
  color: #ffffff;
  content: counter(b2b-step) / "Krok " counter(b2b-step);
  font-weight: 800;
  line-height: 1;
  place-items: center;
}

.b2b-trust-page__steps strong,
.b2b-trust-page__steps span {
  display: block;
}

.b2b-trust-page__steps span {
  margin-block-start: 0.25rem;
  color: var(--b2b-muted);
}

.b2b-trust-page__split,
.b2b-trust-page__contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  margin-block-start: 1.5rem;
}

.b2b-trust-page__split article,
.b2b-trust-page__contact-card {
  min-inline-size: 0;
  padding: 1.25rem;
  border: 1px solid var(--b2b-line);
  border-block-start: 0.25rem solid var(--b2b-green);
  border-radius: 0.75rem;
  background: var(--b2b-paper);
}

.b2b-trust-page__split article p,
.b2b-trust-page__split address {
  margin: 0.75rem 0 0;
  color: var(--b2b-muted);
  font-style: normal;
}

.b2b-trust-page__split article p + p {
  margin-block-start: 0.5rem;
}

.b2b-trust-page__contact-card {
  display: block;
  color: var(--b2b-ink);
  text-decoration: none;
}

.b2b-trust-page__contact-card span,
.b2b-trust-page__contact-card strong,
.b2b-trust-page__contact-card small {
  display: block;
}

.b2b-trust-page__contact-card span {
  color: var(--b2b-green-dark);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.b2b-trust-page__contact-card strong {
  margin-block-start: 0.375rem;
  overflow-wrap: anywhere;
  font-size: clamp(1.25rem, 4vw, 1.75rem);
  font-variant-numeric: tabular-nums;
}

.b2b-trust-page__contact-card small {
  margin-block-start: 0.375rem;
  color: var(--b2b-muted);
}

.b2b-trust-page__contact-card:hover,
.b2b-trust-page__contact-card:focus-visible {
  border-color: var(--b2b-green);
  background: #ffffff;
}

.b2b-trust-page__closing {
  display: grid;
  gap: 1.25rem;
  align-items: center;
  margin-block-start: 1.25rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-radius: 1rem;
  background: var(--b2b-green-deep);
  color: #ffffff;
}

.b2b-trust-page__closing h3,
.b2b-trust-page__closing p {
  color: #ffffff;
}

.b2b-trust-page__closing .b2b-trust-page__eyebrow {
  color: #cfe8d6;
}

.b2b-trust-page__closing p {
  margin: 0.625rem 0 0;
}

.b2b-trust-page__closing .b2b-trust-page__button--primary {
  border-color: #ffffff;
  background: #ffffff;
  color: var(--b2b-green-deep);
}

.b2b-trust-page__closing .b2b-trust-page__button--primary:hover,
.b2b-trust-page__closing .b2b-trust-page__button--primary:focus-visible {
  border-color: #e8f2e9;
  background: #e8f2e9;
  color: var(--b2b-green-deep);
}

@media (min-width: 48rem) {
  .b2b-trust-page__hero {
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: end;
  }

  .b2b-trust-page__ledger {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .b2b-trust-page__ledger li {
    border-block-end: 0;
    border-inline-end: 1px solid var(--b2b-line);
  }

  .b2b-trust-page__ledger li:last-child {
    border-inline-end: 0;
  }

  .b2b-trust-page__steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .b2b-trust-page__split,
  .b2b-trust-page__contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .b2b-trust-page__closing {
    grid-template-columns: minmax(0, 1fr) max-content;
  }
}

@media (max-width: 47.9375rem) {
  .b2b-trust-page__button {
    inline-size: 100%;
  }

  .b2b-trust-page__hero,
  .b2b-trust-page__section,
  .b2b-trust-page__closing {
    padding-inline: 1rem;
  }
}
/* === FIX END: B2B-TRUST-PAGES-20260709 === */

/* ==== bundle member: 05-b2b-price-access.css ==== */
/* === FIX START: B2B-PRICE-ACCESS-20260710 === */
.b2b-price-access {
  --b2b-access-ink: #17221a;
  --b2b-access-muted: #536258;
  --b2b-access-green: #1f5f34;
  --b2b-access-green-hover: #174a29;
  --b2b-access-line: #b9cfbd;
  --b2b-access-paper: #f4f8f4;
  box-sizing: border-box;
  position: relative;
  inline-size: 100%;
  margin-block: 1.25rem;
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border: 1px solid var(--b2b-access-line);
  border-inline-start: 5px solid var(--b2b-access-green);
  border-radius: 0.35rem;
  background: var(--b2b-access-paper);
  color: var(--b2b-access-ink);
  font-family: inherit;
  text-align: start;
}

.b2b-price-access *,
.b2b-price-access *::before,
.b2b-price-access *::after {
  box-sizing: border-box;
}

.b2b-price-access .b2b-price-access__eyebrow {
  margin: 0 0 0.35rem;
  color: var(--b2b-access-green);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.055em;
  line-height: 1.35;
  text-transform: uppercase;
}

.b2b-price-access .b2b-price-access__title {
  margin: 0;
  max-inline-size: 28ch;
  color: var(--b2b-access-ink);
  font-size: clamp(1.2rem, 1rem + 0.6vw, 1.55rem);
  font-weight: 700;
  line-height: 1.25;
}

.b2b-price-access .b2b-price-access__copy {
  margin: 0.65rem 0 0;
  max-inline-size: 70ch;
  color: var(--b2b-access-muted);
  font-size: 0.95rem;
  line-height: 1.55;
  overflow-wrap: break-word;
}

.b2b-price-access .b2b-price-access__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.b2b-price-access .b2b-price-access__facts > li {
  margin: 0;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--b2b-access-line);
  background: #ffffff;
  color: var(--b2b-access-ink);
  font-size: 0.88rem;
  line-height: 1.4;
}

.b2b-price-access .b2b-price-access__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-block-start: 1rem;
}

.b2b-price-access .b2b-price-access__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 48px;
  padding: 0.7rem 1rem;
  border: 2px solid var(--b2b-access-green);
  border-radius: 0.25rem;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.b2b-price-access .b2b-price-access__action--primary,
.b2b-price-access .b2b-price-access__action--primary:visited {
  background: var(--b2b-access-green);
  color: #ffffff;
}

.b2b-price-access .b2b-price-access__action--secondary,
.b2b-price-access .b2b-price-access__action--secondary:visited {
  background: #ffffff;
  color: var(--b2b-access-green);
}

.b2b-price-access .b2b-price-access__action:hover {
  border-color: var(--b2b-access-green-hover);
  text-decoration: none;
}

.b2b-price-access .b2b-price-access__action--primary:hover {
  background: var(--b2b-access-green-hover);
  color: #ffffff;
}

.b2b-price-access .b2b-price-access__action--secondary:hover {
  color: var(--b2b-access-green-hover);
}

.b2b-price-access .b2b-price-access__action:focus-visible {
  outline: 3px solid #111111;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #ffffff;
}

.b2b-price-access--category {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem 1.5rem;
}

.b2b-price-access--category .b2b-price-access__actions {
  margin-block-start: 0;
}

body.b2b-price-access-category-active .products-page .product .prices {
  min-block-size: 1.6rem;
}

body.b2b-price-access-category-active .products-page .product .b2b-price-access__card-label {
  display: block;
  color: var(--color-primary, #1f5f34);
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.35;
}

body.b2b-price-access-category-active .products-page .product .p-tools > .quantity[hidden] {
  display: none !important;
}

@media (max-width: 680px) {
  .b2b-price-access {
    margin-block: 1rem;
    padding: 1rem;
  }

  .b2b-price-access--category {
    grid-template-columns: minmax(0, 1fr);
  }

  .b2b-price-access--category .b2b-price-access__actions {
    margin-block-start: 0;
  }

  .b2b-price-access .b2b-price-access__facts {
    grid-template-columns: minmax(0, 1fr);
  }

  .b2b-price-access .b2b-price-access__action {
    inline-size: 100%;
  }
}

@media (forced-colors: active) {
  .b2b-price-access {
    border-color: CanvasText;
  }

  .b2b-price-access .b2b-price-access__action {
    border-color: LinkText;
  }

  .b2b-price-access .b2b-price-access__action:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}

/* === FIX START: B2B-TAX-EXCLUSIVE-LABEL-20260710 === */
.b2b-price-tax-label {
  color: #665f5b;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}

.products .product .price.price-final > .b2b-price-tax-label,
.products .product .price-final-holder + .b2b-price-tax-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  margin-block-start: 0.125rem;
}

.p-info-wrapper .price-final-holder + .b2b-price-tax-label {
  display: inline-flex;
  margin-inline-start: 0.375rem;
  vertical-align: baseline;
}

@media (forced-colors: active) {
  .b2b-price-tax-label {
    color: CanvasText;
  }
}
/* === FIX END: B2B-TAX-EXCLUSIVE-LABEL-20260710 === */

/* === FIX START: B2B-CARTON-TOTAL-20260711 === */
.b2b-carton-total {
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.125rem 0.35rem;
  min-inline-size: 0;
  max-inline-size: 100%;
  margin: 0;
  padding-block: 0.4rem;
  padding-inline: 0.625rem;
  border: 1px solid #dfdad5;
  border-inline-start: 3px solid #d7001a;
  border-radius: 0.2rem;
  background: #f7f5f2;
  color: #3f3935;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: start;
}

.b2b-carton-total > * {
  min-inline-size: 0;
}

.b2b-carton-total .b2b-carton-total__quantity {
  color: #5d5651;
  font-weight: 600;
}

.b2b-carton-total .b2b-carton-total__equals {
  color: #8a817b;
  font-weight: 600;
}

.b2b-carton-total .b2b-carton-total__price {
  color: #211d1a;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.products .product .b2b-carton-total--card {
  flex-basis: 100%;
  inline-size: 100%;
  margin-block: 0.375rem 0.5rem;
  padding-block: 0.35rem;
  padding-inline: 0.5rem;
  font-size: 0.75rem;
}

.p-info-wrapper .b2b-carton-total--detail {
  inline-size: fit-content;
  margin-block-start: 0.625rem;
  font-size: 0.8125rem;
}

@media (max-width: 480px) {
  .p-info-wrapper .b2b-carton-total--detail {
    inline-size: 100%;
  }
}

@media (forced-colors: active) {
  .b2b-carton-total {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }

  .b2b-carton-total .b2b-carton-total__quantity,
  .b2b-carton-total .b2b-carton-total__equals,
  .b2b-carton-total .b2b-carton-total__price {
    color: CanvasText;
  }
}
/* === FIX END: B2B-CARTON-TOTAL-20260711 === */

/* === FIX START: B2B-ORDER-MINIMUM-GUIDE-20260711 === */
#colorbox.b2b-order-minimum-active {
  inline-size: min(42rem, calc(100% - 2rem)) !important;
  max-inline-size: 42rem !important;
  inset-inline-start: 50% !important;
  transform: translateX(-50%);
}

#colorbox.b2b-order-minimum-active #cboxWrapper,
#colorbox.b2b-order-minimum-active #cboxTopCenter,
#colorbox.b2b-order-minimum-active #cboxContent {
  inline-size: 100% !important;
}

#colorbox.b2b-order-minimum-active #cboxLoadedContent {
  box-sizing: content-box;
  inline-size: calc(100% - 2.5rem) !important;
  padding-inline: 1.25rem;
}

#colorbox.b2b-order-minimum-active .advanced-order,
#colorbox.b2b-order-minimum-active .advanced-order * {
  box-sizing: border-box;
  min-inline-size: 0;
}

#colorbox.b2b-order-minimum-active .advanced-order {
  --b2b-order-red: #d7001a;
  --b2b-order-ink: #211d1a;
  --b2b-order-paper: #ffffff;
  --b2b-order-neutral: #f7f5f2;
  --b2b-order-muted: #665f5b;
  --b2b-order-line: #ded8d3;
  --b2b-order-yellow: #ffc400;
  display: grid;
  gap: 0.875rem;
  color: var(--b2b-order-ink);
  text-align: start;
}

#colorbox.b2b-order-minimum-active .advanced-order > .h1,
#colorbox.b2b-order-minimum-active .advanced-order > .h2 {
  margin: 0;
  text-align: center;
}

#colorbox.b2b-order-minimum-active .advanced-order > .h1 {
  font-size: clamp(1.25rem, 1.1rem + 0.45vw, 1.5rem);
  font-weight: 800;
  line-height: 1.2;
}

#colorbox.b2b-order-minimum-active .advanced-order > .h2 {
  color: var(--b2b-order-muted);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
}

#colorbox.b2b-order-minimum-active .advanced-order .extras-wrap {
  margin: 0;
}

#colorbox.b2b-order-minimum-active [data-b2b-order-minimum-hidden="true"] {
  display: none !important;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide {
  padding: clamp(0.875rem, 2.5vw, 1.125rem);
  border: 1px solid var(--b2b-order-line);
  border-inline-start: 4px solid var(--b2b-order-red);
  border-radius: 0.35rem;
  background: var(--b2b-order-neutral);
  color: var(--b2b-order-ink);
  text-align: start;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__eyebrow {
  margin: 0 0 0.25rem;
  color: var(--b2b-order-red);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.055em;
  line-height: 1.3;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__title {
  margin: 0;
  color: var(--b2b-order-ink);
  font-size: clamp(1.0625rem, 0.98rem + 0.3vw, 1.25rem);
  font-weight: 800;
  line-height: 1.3;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__copy {
  margin: 0.375rem 0 0;
  max-inline-size: 64ch;
  color: var(--b2b-order-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress-shell {
  position: relative;
  margin-block-start: 0.75rem;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress-shell::after {
  position: absolute;
  inset-block: -0.125rem;
  inset-inline-end: 0;
  inline-size: 0.25rem;
  border-radius: 999px;
  background: var(--b2b-order-yellow);
  content: '';
  pointer-events: none;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress {
  display: block;
  inline-size: 100%;
  block-size: 0.625rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  appearance: none;
  accent-color: var(--b2b-order-red);
  background: var(--b2b-order-line);
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress::-webkit-progress-bar {
  border-radius: 999px;
  background: var(--b2b-order-line);
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress::-webkit-progress-value {
  border-radius: 999px;
  background: var(--b2b-order-red);
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress::-moz-progress-bar {
  border-radius: 999px;
  background: var(--b2b-order-red);
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__labels {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-block-start: 0.375rem;
  color: var(--b2b-order-muted);
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.35;
}

#colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__minimum {
  text-align: end;
}

#colorbox.b2b-order-minimum-active .advancedOrder__buttons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
  margin: 0;
}

#colorbox.b2b-order-minimum-active .advancedOrder__buttons .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  min-block-size: 48px;
  margin: 0;
  padding: 0.75rem 1rem;
  border: 2px solid var(--b2b-order-ink);
  border-radius: 0.3rem;
  font-size: 0.9375rem;
  font-weight: 750;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

#colorbox.b2b-order-minimum-active .advancedOrder__buttons [data-testid="buttonPopupBack"] {
  border-color: var(--b2b-order-red);
  background: var(--b2b-order-red);
  color: var(--b2b-order-paper) !important;
}

#colorbox.b2b-order-minimum-active .advancedOrder__buttons [data-testid="buttonPopupCart"] {
  border-color: var(--b2b-order-ink);
  background: var(--b2b-order-paper);
  color: var(--b2b-order-ink) !important;
}

#colorbox.b2b-order-minimum-active .advancedOrder__buttons .btn:hover {
  border-color: var(--b2b-order-ink);
  background: var(--b2b-order-ink);
  color: var(--b2b-order-paper);
  text-decoration: none;
}

#colorbox.b2b-order-minimum-active .advancedOrder__buttons .btn:focus-visible {
  outline: 3px solid var(--b2b-order-yellow);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px var(--b2b-order-paper);
}

@media (max-width: 480px) {
  #colorbox.b2b-order-minimum-active .advancedOrder__buttons {
    grid-template-columns: minmax(0, 1fr);
  }

  #colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__labels {
    align-items: flex-start;
    font-size: 0.6875rem;
  }
}

@media (forced-colors: active) {
  #colorbox.b2b-order-minimum-active .b2b-order-minimum-guide,
  #colorbox.b2b-order-minimum-active .advancedOrder__buttons .btn {
    border-color: CanvasText;
    background: Canvas;
    color: CanvasText;
  }

  #colorbox.b2b-order-minimum-active .b2b-order-minimum-guide__progress {
    border: 1px solid CanvasText;
  }

  #colorbox.b2b-order-minimum-active .advancedOrder__buttons .btn:focus-visible {
    outline-color: Highlight;
    box-shadow: none;
  }
}
/* === FIX END: B2B-ORDER-MINIMUM-GUIDE-20260711 === */
/* === FIX END: B2B-PRICE-ACCESS-20260710 === */

/* ==== bundle member: 06-b2b-product-integrity.css ==== */
/* === FIX START: B2B-PRODUCT-INTEGRITY-20260710 === */
.b2b-product-facts {
  --b2b-facts-ink: #171a17;
  --b2b-facts-muted: #5b655d;
  --b2b-facts-green: #195f32;
  --b2b-facts-line: #cbd5cc;
  --b2b-facts-paper: #f6f8f4;
  box-sizing: border-box;
  margin-block: 18px;
  padding: clamp(16px, 2vw, 22px);
  color: var(--b2b-facts-ink);
  background: var(--b2b-facts-paper);
  border: 1px solid var(--b2b-facts-line);
  border-inline-start: 4px solid var(--b2b-facts-green);
  border-radius: 4px;
}

.b2b-product-facts *,
.b2b-product-facts *::before,
.b2b-product-facts *::after {
  box-sizing: border-box;
}

.b2b-product-facts__eyebrow {
  margin: 0 0 6px;
  color: var(--b2b-facts-green);
  font: 700 .75rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  letter-spacing: .08em;
}

.b2b-product-facts__title {
  margin: 0 0 14px;
  color: var(--b2b-facts-ink);
  font-size: clamp(1.125rem, 1.7vw, 1.375rem);
  line-height: 1.25;
}

.b2b-product-facts__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.b2b-product-facts__item {
  min-width: 0;
  padding: 12px 14px;
  background: #ffffff;
  border: 1px solid var(--b2b-facts-line);
}

.b2b-product-facts__item dt {
  margin: 0 0 3px;
  color: var(--b2b-facts-muted);
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.b2b-product-facts__item dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--b2b-facts-ink);
  font-size: .9375rem;
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 680px) {
  .b2b-product-facts {
    margin-block: 16px;
    padding: 16px;
  }

  .b2b-product-facts__list {
    grid-template-columns: 1fr;
  }
}

@media (forced-colors: active) {
  .b2b-product-facts,
  .b2b-product-facts__item {
    border-color: CanvasText;
  }
}
/* === FIX END: B2B-PRODUCT-INTEGRITY-20260710 === */

/* === FIX START: B2B-PRODUCT-BUYBOX-PRIORITY-20260713 === */
.type-product .product-top .p-info-wrapper > .price-line {
  order: 0;
}
/* === FIX END: B2B-PRODUCT-BUYBOX-PRIORITY-20260713 === */

/* ==== bundle member: 07-b2b-category-hub.css ==== */
/* === B2B CATEGORY HUB START 20260710 === */
.b2b-category-hub {
  margin: 1.75rem auto 2.375rem;
  padding: 0;
  color: #282421;
}

.b2b-category-hub__inner {
  width: min(calc(100% - 80px), 1600px);
  margin: 0 auto;
}

.b2b-category-hub__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin: 0 0 1rem;
}

.b2b-category-hub__title {
  margin: 0;
  color: #282421;
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.b2b-category-hub__intro {
  max-width: 38rem;
  margin: 0;
  color: #6c655e;
  font-size: 1rem;
  line-height: 1.5;
  text-align: start;
}

.b2b-category-hub__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.b2b-category-hub__item {
  min-width: 0;
  margin: 0;
  padding: 0;
}

.b2b-category-hub__card {
  display: flex;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid #d8d2c8;
  border-radius: 14px;
  background: #fff;
  color: #282421;
  box-shadow: 0 7px 24px rgba(40, 36, 33, 0.08);
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.b2b-category-hub__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #f5f2eb;
}

.b2b-category-hub__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease;
}

.b2b-category-hub__card[data-b2b-category="cartons"] .b2b-category-hub__image {
  padding: 0.5rem;
  object-fit: contain;
}

.b2b-category-hub__body {
  display: flex;
  min-height: 4.5rem;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: center;
  gap: 0.2rem;
  padding: 0.85rem 1rem 0.95rem;
  border-top: 1px solid #eee9e1;
}

.b2b-category-hub__card-title {
  display: block;
  color: #282421;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
}

.b2b-category-hub__note {
  display: block;
  color: #6c655e;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.35;
}

.b2b-category-hub__badge {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.25rem 0.55rem;
  border: 2px solid #282421;
  border-radius: 0.35rem;
  background: #ffc400;
  color: #282421;
  box-shadow: 3px 3px 0 #282421;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
}

.b2b-category-hub__card:focus-visible {
  outline: 3px solid #c90019;
  outline-offset: 3px;
  border-color: #c90019;
}

@media (hover: hover) {
  .b2b-category-hub__card:hover {
    transform: translateY(-3px);
    border-color: #c90019;
    box-shadow: 0 12px 30px rgba(40, 36, 33, 0.15);
    color: #282421;
    text-decoration: none;
  }

  .b2b-category-hub__card:hover .b2b-category-hub__image {
    transform: scale(1.025);
  }
}

@media (max-width: 767px) {
  .b2b-category-hub {
    margin: 1.125rem auto 1.75rem;
    padding: 0;
  }

  .b2b-category-hub__heading {
    display: block;
    margin-bottom: 0.75rem;
  }

  .b2b-category-hub__title {
    font-size: 1.45rem;
  }

  .b2b-category-hub__intro {
    margin-top: 0.35rem;
    font-size: 0.92rem;
  }

  .b2b-category-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .b2b-category-hub__card {
    border-radius: 10px;
  }

  .b2b-category-hub__body {
    min-height: 4.15rem;
    padding: 0.7rem 0.75rem 0.8rem;
  }

  .b2b-category-hub__card-title {
    font-size: 0.92rem;
  }

  .b2b-category-hub__note {
    font-size: 0.74rem;
  }

  .b2b-category-hub__badge {
    top: 0.5rem;
    left: 0.5rem;
    min-height: 1.45rem;
    padding: 0.2rem 0.4rem;
    box-shadow: 2px 2px 0 #282421;
    font-size: 0.62rem;
  }
}

/* === FIX START: B2B-CAROUSEL-ALIGNMENT-20260710 === */
@media (min-width: 1751px) {
  .b2b-category-hub__inner {
    width: min(100%, 1680px);
  }
}

@media (min-width: 481px) and (max-width: 992px) {
  .b2b-category-hub__inner {
    width: calc(100% - 40px);
  }
}

@media (max-width: 480px) {
  .b2b-category-hub__inner {
    width: calc(100% - 30px);
  }
}
/* === FIX END: B2B-CAROUSEL-ALIGNMENT-20260710 === */

@media (prefers-reduced-motion: reduce) {
  .b2b-category-hub__card,
  .b2b-category-hub__image {
    transition: none;
  }
}
/* === B2B CATEGORY HUB END 20260710 === */

/* ==== bundle member: 08-b2b-category-hub-crop.css ==== */
/* === B2B CATEGORY HUB CROP START 20260710 === */
.b2b-category-hub__image {
  object-position: 50% 100%;
}
/* === B2B CATEGORY HUB CROP END 20260710 === */

/* ==== bundle member: 09-b2b-cards.css ==== */
/* === FIX START: B2B-CARD-COHESION-20260713 (zachovana cast z rana) === */
/* Primární (konverzní) tlačítka: theme lime -> brand červená.
   Adamin kreslí výplň .btn přes ::before (absolute, inset 0, z-index -1). */
.products-block.products .product .btn.btn-primary,
#products .product .btn.btn-primary,
.btn.btn-primary {
  background-color: #c90018 !important;
  border-color: #c90018 !important;
  color: #ffffff !important;
}

.products-block.products .product .btn.btn-primary::before,
#products .product .btn.btn-primary::before,
.btn.btn-primary::before {
  background: #c90018 !important;
}

.products-block.products .product .btn.btn-primary:hover::before,
#products .product .btn.btn-primary:hover::before,
.btn.btn-primary:hover::before,
.btn.btn-primary:focus::before {
  background: #a90015 !important;
}

.btn.btn-primary:focus-visible,
.btn.btn-cart:focus-visible {
  outline: 3px solid #2f2b2b;
  outline-offset: 2px;
}

/* Add-to-cart přihlášených (PDP, košík) je .btn-cart (NE btn-primary). */
.products-block.products .product .btn.btn-cart,
#products .product .btn.btn-cart,
.btn.btn-cart {
  background-color: #c90018 !important;
  border-color: #c90018 !important;
  color: #ffffff !important;
}

.products-block.products .product .btn.btn-cart::before,
#products .product .btn.btn-cart::before,
.btn.btn-cart::before {
  background: #c90018 !important;
}

.products-block.products .product .btn.btn-cart:hover::before,
#products .product .btn.btn-cart:hover::before,
.btn.btn-cart:hover::before,
.btn.btn-cart:focus::before {
  background: #a90015 !important;
}

/* Sufix "- originál z Německa/Itálie" v názvech karet je redundantní šum. */
#products .product .name .product-appendix,
.products-block .product .name .product-appendix {
  display: none !important;
}

/* Štítky do brand palety (barvy; geometrii řeší port NE-BM-CARD níže) */
.flags .flag.flag-new,
.flags-default .flag.flag-new,
.flags-extra .flag.flag-new,
.flag.flag-new {
  background: #ffc400 !important;
  color: #2f2b2b !important;
}

.flags .flag.flag-action,
.flags .flag.flag-discount,
.flag.flag-action,
.flag.flag-discount {
  background: #c90018 !important;
  color: #ffffff !important;
}

.flags .flag.flag-tip,
.flag.flag-tip {
  background: #2f2b2b !important;
  color: #ffffff !important;
}
/* === FIX END: B2B-CARD-COHESION-20260713 === */

/* === FIX START: B2B-CAROUSEL-CLS-GUARD-20260713 (hodnoty pro NE-card layout) === */
/* Slick karusely se před initem vykreslí jako vysoký stack -> pre-init clamp. */
.products-block.carousel:not(.slick-initialized) {
  max-height: 515px;
  overflow: hidden;
}

@media (max-width: 991px) {
  .products-block.carousel:not(.slick-initialized) {
    max-height: 490px;
  }
}

@media (max-width: 767px) {
  .products-block.carousel:not(.slick-initialized) {
    max-height: 470px;
  }
}
/* === FIX END: B2B-CAROUSEL-CLS-GUARD-20260713 === */

/* === FIX START: B2B-NE-CARD-ADAPT-20260713 (B2B specifika k portu) === */
/* Kód produktu: B2B nakupčí objednávají podle kódu -> viditelný, ale decentní
   POD názvem (theme ho má absolute vpravo nahoře = kolize se slevovým chipem
   v dlaždici NE designu). */
#products.products-block .product .p .p-code,
.products-block.products .product .p .p-code {
  position: static !important;
  display: block;
  margin: 2px 0 0;
  padding: 0 0 0 4px !important;
  background: transparent !important;
  text-align: left;
  font-size: 11px !important;
  color: rgba(47, 43, 43, 0.5) !important;
  line-height: 1.3;
  width: auto !important;
}

/* Anonymní stav: "Cena po přihlášení" sedí v cenovém řádku NE layoutu */
#products.products-block .product .prices .b2b-price-access__card-label,
.products-block.products .product .prices .b2b-price-access__card-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  padding-top: 3px;
}

/* Přihlášený stav: B2B cenový stack (price-additional + bez DPH label)
   v NE hierarchii. Theme drží .prices na fixní výšce (obsah přetékal do
   názvu) -> auto; velikost ceny přebíjí vlastníkovo 1.65em!important ze
   Záhlaví (stejná síla, pozdější pořadí v kaskádě). */
#products.products-block .product .p-bottom,
#products.products-block .product .p-bottom > div,
.products-block.products .product .p-bottom,
.products-block.products .product .p-bottom > div {
  height: auto !important;
  min-height: 0 !important;
}

/* Theme dela z offer divu flex ROW a .prices ma flex:1 0 0 -> s dvema
   cenovymi radky B2B obsah pretekal (32px). .p-tools je stejne skryty,
   block flow slozi ceny + kartonovy radek pod sebe. */
#products.products-block .product .p-bottom > div,
.products-block.products .product .p-bottom > div {
  display: block !important;
}

#products.products-block .product .p-bottom .prices,
.products-block.products .product .p-bottom .prices {
  height: auto !important;
  display: flex;
  flex-direction: column;
}

/* kartonový řádek (b2b-carton-total--card) patří do flow POD ceny */
#products.products-block .product .p-bottom .b2b-carton-total--card,
.products-block.products .product .p-bottom .b2b-carton-total--card {
  position: static !important;
  margin: 4px 0 6px !important;
}

#products.products-block .product .prices .price.price-final,
.products-block.products .product .prices .price.price-final {
  order: -1;
  line-height: 1.15;
  text-align: left;
}

#products.products-block .product .prices .price-final strong,
.products-block.products .product .prices .price-final strong {
  font-size: 19px !important;
}

#products.products-block .product .prices .price-additional,
.products-block.products .product .prices .price-additional {
  font-size: 11px !important;
  color: #6c7578;
  line-height: 1.3;
  margin-top: 2px;
  text-align: left !important;
  float: none !important;
  width: auto !important;
}

#products.products-block .product .prices .b2b-price-tax-label,
.products-block.products .product .prices .b2b-price-tax-label {
  display: inline !important;
  font-size: 12px;
  font-weight: 600;
  color: #6c7578;
  margin-left: 5px;
}


/* B2B dlouhé dostupnosti ("Na objednávku (7-10 dní)") se nesmí srazit
   s cenou na jednom řádku -> povolit zalomení, omezit šířku. */
#products.products-block .product .availability,
.products-block.products .product .availability {
  white-space: normal !important;
  max-width: 46%;
  line-height: 1.2 !important;
}

/* === FIX END: B2B-NE-CARD-ADAPT-20260713 === */

/* === FIX START: B2B-NE-CARD-PORT-20260713 ===
   1:1 port NE-BM-CARD-20260704 z nemeckyeshop.cz (zdroj ne-adamin-derived.css
   r. 5394-6797) na b2bdepot.cz. Barvy mapovany na B2B brand (lime->cervena,
   NE red->#c90018), Luigi/Heureka sekce odstraneny (na B2B neexistuji).
   Puvodni hlavicka:
   v2 (Rohlik-style): grey tile s vertikalnim vzduchem (obrazek 4/3 v produkcni
   velikosti), quick-add ikona + rozbalovaci stepper v dlazdici (JS blok
   NE-BM-QUICKADD-20260704 v ne-adamin-derived.js), cena nad nazvem se sup
   desetinami, radek hvezdy+dostupnost. Korporatni barvy zachovany.
   Scope: #products + .products-block grid karty; .products-inline nedotceno.
   REVERZIBILNI: smaz cely blok mezi FIX START a FIX END. */

/* --- card frame: drop dashed separators, breathe via inner padding --- */
#products.products-block .product .p,
.products-block.products .product .p {
  border: none !important;
  /* vetsi bila mezera mezi kartami; !important prebiji theme 0 2px!important */
  padding: 0 6px 10px !important;
}
@media (max-width: 767px) {
  #products.products-block .product .p,
  .products-block.products .product .p {
    padding: 0 2px 2px !important;
  }
  /* vetsi mezera UPROSTRED mezi sloupci: mrizka zustava PRESNE v layoutu,
     odsazeni jen vnitrnim paddingem (venku 1px, k prostredku 4px).
     POZOR: Heureka review widget je taky .product -> parita se pocita
     JEN z beznych produktu (jinak se pod widgetem mezery prohodi) */
  #products.products-block .product:nth-child(odd of .product:not(.ne-category-review-card)) .p {
    padding: 0 4px 2px 1px !important;
  }
  #products.products-block .product:nth-child(even of .product:not(.ne-category-review-card)) .p {
    padding: 0 1px 2px 4px !important;
  }
  /* --- mobil carousely (homepage/detail/kosik related): 2 produkty + PEEK
       tretiho vpravo az k okraji, leva sipka az po posunu (Brainmarket);
       full-bleed pres cely viewport (layout padding 15px pryc na OBOU stranach),
       prvni produkt jen 6px od kraje --- */
  /* POZOR: NEvazat geometrii na .slick-initialized - tu tridu slick prida
     az PO zmereni sirek -> pocital by layout se starou uzkou geometrii.
     Stabilni tridy existuji uz pred initem: .carousel (homepage, kosik),
     .products-additional/.products-related (detail). */
  .products-block.carousel .slick-list,
  .products-block.products-additional .slick-list,
  .products-block.products-related .slick-list,
  .products-block.slick-initialized .slick-list {
    /* theme: width calc(100% - 50px) rezervuje 50px pro stare velke sipky
       a flex to centruje (25px mrtveho mista po stranach) -> plna sirka */
    width: 100% !important;
    padding: 0 44px 0 6px !important;
  }
  .products-block.carousel,
  .products-block.products-additional,
  .products-block.products-related,
  .products-block.slick-initialized {
    /* container ma width:100% + max-width:100% -> obe prebit, jinak
       negativni marginy sirku nepridaji */
    width: calc(100% + 30px) !important;
    max-width: none !important;
    margin-left: -15px !important;
    margin-right: -15px !important;
  }
  .products-block.slick-initialized .slick-prev.ne-at-start {
    opacity: 0 !important;
    pointer-events: none !important;
  }
  /* sipky = stejny vzor jako hlavni galerie na detailu (.ne-gallery-arrow):
     male poloprusvitne panely namacknute na kraj obrazovky, zaoblene jen
     dovnitr, cerveny chevron; vertikalni centr na sedou dlazdici resi JS */
  .products-block.slick-initialized .slick-prev,
  .products-block.slick-initialized .slick-next {
    width: 34px !important;
    height: 50px !important;
    background: rgba(255, 255, 255, 0.84) !important;
    border: 1px solid rgba(201, 0, 24, 0.1) !important;
    box-shadow: 0 3px 10px rgba(23, 23, 23, 0.08) !important;
    opacity: 0.96;
    z-index: 7;
    font-size: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
  .products-block.slick-initialized .slick-prev {
    left: 0 !important;
    border-radius: 0 13px 13px 0 !important;
  }
  .products-block.slick-initialized .slick-next {
    right: 0 !important;
    border-radius: 13px 0 0 13px !important;
  }
  .products-block.slick-initialized .slick-prev::before,
  .products-block.slick-initialized .slick-next::before {
    content: "" !important;
    display: block;
    width: 11px;
    height: 11px;
    border-style: solid;
    border-color: rgba(201, 0, 24, 0.85);
    border-width: 2px 2px 0 0;
    background: none;
  }
  .products-block.slick-initialized .slick-prev::before {
    transform: rotate(-135deg) translate(-2px, 2px);
  }
  .products-block.slick-initialized .slick-next::before {
    transform: rotate(45deg) translate(-2px, 2px);
  }
  /* v uzkych carousel kartach jen KRATKE priznaky (Novinka/Tip/sleva);
     dlouhe (vyhodne baleni, original z Italie/Nemecka) se lamou na 2 radky
     (DESKTOP geometrie carouselu je az ZA touto mobile media sekci) */
  .products-block.slick-initialized .product .p .flags-default .flag-custom1,
  .products-block.slick-initialized .product .p .flags-default .flag-original-z-italie,
  .products-block.slick-initialized .product .p .flags-default .flag-original-z-nemecka {
    display: none !important;
  }

  /* mobil: sirsi tile (jako produkce 172px) + VYSSI obrazkovy box 6/5 ->
     vysoke lahve (cistice) vyniknou; svisle okraje zmenseny, aby tile
     zustala stejne vysoka */
  #products.products-block .product .p a.image,
  .products-block.products .product .p a.image {
    /* !important: zakladni pravidlo (48px + 4/3) je v souboru az POZDEJI */
    padding: 40px 0 40px !important; /* 2026-07-08: +8px kvuli priznakum */
  }
  #products.products-block .product .p a.image > img,
  .products-block.products .product .p a.image > img {
    aspect-ratio: 6 / 5 !important;
  }
  /* tesnejsi vertikalni navaznost rad produktu na mobilu */
  #products.products-block .product .p-in,
  .products-block.products .product .p-in {
    padding-bottom: 4px !important;
  }
  #products.products-block .product,
  .products-block.products .product {
    padding-bottom: 4px !important;
  }
}

/* --- grey image tile: img zustava 4/3 (produkcni velikost), tile ma
       vertikalni padding, aby priznaky nezasahovaly do obrazku --- */
#products.products-block .product .p a.image,
.products-block.products .product .p a.image {
  background: #f7f7f7;
  border-radius: 12px;
  overflow: hidden;
  /* prebiji inline ne-product-img-aspect-guard (4/3 !important na .image) */
  aspect-ratio: auto !important;
  height: auto;
  display: block;
  padding: 48px 0 48px; /* 2026-07-08: +8px, at priznaky nezasahuji do fotky */
  margin: 0 0 14px;
}
#products.products-block .product .p a.image > img,
.products-block.products .product .p a.image > img {
  display: block;
  width: 100% !important;
  height: auto !important;
  /* 4/3 = produkci proporce; fotky jsou vetsinou ~4:3 (width-bound),
     vyska fotky = sirka tile x 0.75 -> mezery drzet male */
  aspect-ratio: 4 / 3;
  object-fit: contain !important;
  mix-blend-mode: darken;
  position: static;
  /* auto-zoom fotek s bilymi okraji (JS pocita transform) */
  transition: transform .25s ease;
  transform-origin: 50% 50%;
}
@media (prefers-reduced-motion: reduce) {
  #products.products-block .product .p a.image > img,
  .products-block.products .product .p a.image > img {
    transition: none;
  }
}

/* --- flags: chips top-left INSIDE the tile (colors stay corporate) --- */
#products.products-block .product .p .flags-default,
.products-block.products .product .p .flags-default {
  left: 10px;
  top: 10px;
  /* natazeno az ke dnu dlazdice: "Mnozstevni sleva" pres margin-top:auto
     sedi v LEVEM DOLNIM rohu (nahore pak zbyva mene chipu -> min zasahu
     do obrazku); kontejner nesmi blokovat klik na obrazek/quick-add */
  bottom: 10px;
  right: auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  z-index: 2;
  pointer-events: none;
}
#products.products-block .product .p .flags-default .flag,
.products-block.products .product .p .flags-default .flag {
  pointer-events: auto;
}
#products.products-block .product .p .flags-default .flag,
.products-block.products .product .p .flags-default .flag {
  margin: 0;
  float: none;
  clear: none;
  /* metriky dle Brainmarket /usetri/: 13/600, lh 13px, pad 0 8px, h 26px */
  display: inline-flex;
  align-items: center;
  border-radius: 4px !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 13px;
  padding: 0 8px;
  height: 26px;
  letter-spacing: normal;
}
/* priznaky GLOBALNE (kategorie, detail, vyhledavani, carousely): radius 4px;
   selektor body .flag.flag-discount vyhrava nad stejnym theme pravidlem (5px)
   diky pozdejsimu poradi v souboru */
body .flag,
body .flags .flag,
body .flag.flag-discount {
  border-radius: 4px !important;
}
/* Mnozstevni sleva - PODMINENE umisteni:
   - ma-li karta dalsi DLOUHY priznak (vyhodne baleni / original z Italie
     ci Nemecka), jde do LEVEHO DOLNIHO rohu dlazdice
   - jinak (zadny dalsi flag, nebo jen kratke Tip/Novinka) uplne NAHORU prvni */
#products.products-block .product .p .flags-default .flag-quantity-discount,
.products-block.products .product .p .flags-default .flag-quantity-discount {
  order: -3;
}
#products.products-block .product .p .flags-default:has(.flag-custom1) .flag-quantity-discount,
#products.products-block .product .p .flags-default:has(.flag-original-z-italie) .flag-quantity-discount,
#products.products-block .product .p .flags-default:has(.flag-original-z-nemecka) .flag-quantity-discount,
.products-block.products .product .p .flags-default:has(.flag-custom1) .flag-quantity-discount,
.products-block.products .product .p .flags-default:has(.flag-original-z-italie) .flag-quantity-discount,
.products-block.products .product .p .flags-default:has(.flag-original-z-nemecka) .flag-quantity-discount {
  order: 99;
  margin-top: auto;
}
/* carousely: uzke karty a + vpravo dole -> QD flag VZDY nahore
   (dlouhe flagy jsou tam stejne skryte, ale v DOM by spustily :has) */
.products-block.slick-initialized .product .p .flags-default .flag-quantity-discount {
  order: -3 !important;
  margin-top: 0 !important;
}
/* quick-view oko (hover) uhne nahoru jen kdyz je QD flag dole */
body #products.products-block .product:has(.flags-default .flag-quantity-discount):has(.flags-default .flag-custom1) .quick-view-btn,
body #products.products-block .product:has(.flags-default .flag-quantity-discount):has(.flags-default .flag-original-z-italie) .quick-view-btn,
body #products.products-block .product:has(.flags-default .flag-quantity-discount):has(.flags-default .flag-original-z-nemecka) .quick-view-btn,
body .products-block.products .product:has(.flags-default .flag-quantity-discount):has(.flags-default .flag-custom1) .quick-view-btn,
body .products-block.products .product:has(.flags-default .flag-quantity-discount):has(.flags-default .flag-original-z-italie) .quick-view-btn,
body .products-block.products .product:has(.flags-default .flag-quantity-discount):has(.flags-default .flag-original-z-nemecka) .quick-view-btn {
  bottom: 44px !important;
}
/* Original z Italie/Nemecka = VZDY prvni nahore */
#products.products-block .product .p .flags-default .flag-original-z-italie,
.products-block.products .product .p .flags-default .flag-original-z-italie,
#products.products-block .product .p .flags-default .flag-original-z-nemecka,
.products-block.products .product .p .flags-default .flag-original-z-nemecka {
  order: -2;
}
/* vyhodne baleni (custom1) = druhe v poradi */
#products.products-block .product .p .flags-default .flag-custom1,
.products-block.products .product .p .flags-default .flag-custom1 {
  order: -1;
}
/* mala italska vlajecka pred textem */
#products.products-block .product .p .flags-default .flag-original-z-italie::before,
.products-block.products .product .p .flags-default .flag-original-z-italie::before {
  content: "";
  width: 14px;
  height: 10px;
  border-radius: 2px;
  margin-right: 6px;
  flex: 0 0 auto;
  background: linear-gradient(90deg, #009246 0 33.4%, #f4f5f0 33.4% 66.7%, #ce2b37 66.7% 100%);
}
/* pripravena nemecka vlajecka (pokud vznikne priznak original-z-nemecka) */
#products.products-block .product .p .flags-default .flag-original-z-nemecka::before,
.products-block.products .product .p .flags-default .flag-original-z-nemecka::before {
  content: "";
  width: 14px;
  height: 10px;
  border-radius: 2px;
  margin-right: 6px;
  flex: 0 0 auto;
  background: linear-gradient(180deg, #1d1d1b 0 33.4%, #c90018 33.4% 66.7%, #f2b705 66.7% 100%);
}

/* --- sleva: jemny obdelnicek jako na produkci, vpravo nahore v dlazdici --- */
#products.products-block .product .flags.flags-extra,
.products-block.products .product .flags.flags-extra {
  right: 10px !important;
  left: auto;
  top: 10px;
  bottom: auto;
  padding: 0;
  z-index: 2;
}
#products.products-block .product .flags.flags-extra .flag,
.products-block.products .product .flags.flags-extra .flag {
  width: auto;
  height: auto;
  background: #c90018 !important;
  border: none;
  border-radius: 4px !important;
  padding: 0 8px !important;
  height: 26px;
  display: inline-flex;
  align-items: center;
  box-shadow: none;
  margin: 0;
}
#products.products-block .product .flags.flags-extra .flag > span.price-save,
.products-block.products .product .flags.flags-extra .flag > span.price-save {
  color: #fff !important;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: -.5px;
  white-space: nowrap;
}

/* --- quick view: bily kruh v LEVEM DOLNIM rohu dlazdice (hover, desktop);
       zrcadli quick-add + vpravo dole, nezasahuje do obrazku --- */
body #products.products-block .product .quick-view-btn,
body .products-block.products .product .quick-view-btn {
  top: auto !important;
  bottom: 10px !important;
  left: 10px !important;
  right: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: 40px;
  height: 40px;
  border: none !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .14);
  z-index: 3;
}
body #products.products-block .product:hover .quick-view-btn,
body .products-block.products .product:hover .quick-view-btn {
  opacity: 1 !important;
}

/* --- Rohlik order: price first, then name, then stars+availability --- */
#products.products-block .product .p-in,
.products-block.products .product .p-in {
  display: flex;
  flex-direction: column;
}
#products.products-block .product .p-in .p-in-in,
.products-block.products .product .p-in .p-in-in {
  order: 2;
  padding-top: 0;
  margin-bottom: 0 !important;
  text-align: left;
  /* static -> absolutni ratings se kotvi na .p (= oblast dlazdice) */
  position: static !important;
}
#products.products-block .product .p-in .p-bottom,
.products-block.products .product .p-in .p-bottom {
  order: 1;
}

/* --- price: Rohlik-style, bold int + sup decimals (wrapped by JS) --- */
#products.products-block .product .p-bottom > div,
.products-block.products .product .p-bottom > div {
  align-items: stretch;
}
#products.products-block .product .p-bottom .prices,
.products-block.products .product .p-bottom .prices {
  text-align: left;
  width: 100%;
  margin: 0 0 6px;
  min-height: 32px;
}
/* zlevnene produkty: cena cervene (Rohlik/Kosik pattern) */
#products.products-block .product:has(.flags-extra .flag-discount) .prices .price-final strong,
.products-block.products .product:has(.flags-extra .flag-discount) .prices .price-final strong {
  color: #c90018;
}
#products.products-block .product .p-bottom .prices .price-final strong,
.products-block.products .product .p-bottom .prices .price-final strong {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  color: #1c2529;
  letter-spacing: -.2px;
}
#products.products-block .product .prices .price-final strong sup.ne-halere,
.products-block.products .product .prices .price-final strong sup.ne-halere {
  font-size: 11px;
  font-weight: 700;
  top: -.55em;
  margin-left: 1px;
  letter-spacing: 0;
}
#products.products-block .product .prices .price-final strong .ne-currency,
.products-block.products .product .prices .price-final strong .ne-currency {
  font-size: 12px;
  font-weight: 600;
  color: #6c7578;
  margin-left: 3px;
}

/* --- name: 2 lines, left; 15px desktop / 13px mobil --- */
#products.products-block .product .p .name,
.products-block.products .product .p .name {
  text-align: left;
  margin: 0 0 6px;
  /* theme ma margin:25px AUTO 10px -> kratke jednoradkove nazvy se
     centrovaly (shrink-to-fit blok + auto strany); !important = jistota
     proti CDN theme kaskade */
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.4em;
  color: #1c2529;
  /* cely nazev vc. gramaze: az 3 radky; bez rezervy (pod nazvem uz nic neni,
     rezerva jen delala zbytecne mezery mezi radami produktu) */
  -webkit-line-clamp: 3 !important;
  min-height: 0 !important;
  height: auto;
  margin-bottom: 2px;
}
@media (max-width: 767px) {
  #products.products-block .product .p .name,
  .products-block.products .product .p .name {
    font-size: 13px !important;
  }
}

/* --- stars + availability: vpravo NA RADKU CENY --- */
#products.products-block .product .p-in,
.products-block.products .product .p-in {
  position: relative;
  /* texty pod dlazdici (cena, nazev, dostupnost) o 4px doprava - opticke
     zarovnani s levou hranou sedeho ramecku */
  padding-left: 4px !important;
}
#products.products-block .product .ratings-wrapper,
.products-block.products .product .ratings-wrapper {
  position: absolute !important;
  top: 3px;
  right: 0;
  left: auto;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  gap: 3px;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  z-index: 1;
}
#products.products-block .product .p .stars-wrapper,
#products.products-block .product .stars-placeholder,
.products-block.products .product .p .stars-wrapper,
.products-block.products .product .stars-placeholder {
  position: static !important;
  left: auto;
  top: auto;
  transform: none !important;
  margin: 0;
  height: auto;
  width: auto !important;
  flex: 0 0 auto;
}
#products.products-block .product .availability,
.products-block.products .product .availability {
  display: block;
  width: auto !important;
  flex: 0 0 auto;
  white-space: nowrap;
  margin: 0 !important;
  text-align: right !important;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 767px) {
  /* hvezdy+dostupnost: neprilepit na sousedni kartu (mobil ma .p padding jen 2px) */
  #products.products-block .product .ratings-wrapper,
  .products-block.products .product .ratings-wrapper {
    right: 6px;
  }
  #products.products-block .product .availability,
  .products-block.products .product .availability {
    /* S5 (UX audit): 10px bylo pod hranici citelnosti */
    font-size: 11px !important;
  }
  #products.products-block .product .p-bottom .prices,
  .products-block.products .product .p-bottom .prices {
    min-height: 30px;
  }
  #products.products-block .product .p .flags-default .flag,
  .products-block.products .product .p .flags-default .flag {
    /* S5 (UX audit): chipy zvetseny 11->12px pro citelnost */
    font-size: 12px;
    line-height: 12px;
    padding: 0 7px;
    height: 22px;
    max-width: none;
    /* zadne zalamovani: dlouhe chipy jsou diky order pravidlum na hornich
       radcich pod sebou, se slevovym cipem uz nekoliduji */
    white-space: nowrap;
    text-align: left;
  }
  /* kompaktni slevovy chip + uzsi okraje, aby "Mnozstevni sleva" (nejsirsi
     chip, 1. radek) vedle nej vysla bez prekryvu (tile ~166px) */
  #products.products-block .product .p .flags-default,
  .products-block.products .product .p .flags-default {
    left: 8px;
    bottom: 8px;
  }
  #products.products-block .product .flags.flags-extra,
  .products-block.products .product .flags.flags-extra {
    right: 8px !important;
  }
  #products.products-block .product .flags.flags-extra .flag,
  .products-block.products .product .flags.flags-extra .flag {
    padding: 0 6px !important;
    height: 22px;
  }
  #products.products-block .product .flags.flags-extra .flag > span.price-save,
  .products-block.products .product .flags.flags-extra .flag > span.price-save {
    /* S5 (UX audit): sleva zvetsena spolu s ostatnimi chipy */
    font-size: 12px !important;
    line-height: 12px !important;
  }
  /* nekolidovat se slevou vpravo nahore */
  #products.products-block .product .p .flags-default,
  .products-block.products .product .p .flags-default {
    max-width: none;
  }
  #products.products-block .product .p .flags-default .flag-original-z-italie::before,
  .products-block.products .product .p .flags-default .flag-original-z-italie::before,
  #products.products-block .product .p .flags-default .flag-original-z-nemecka::before,
  .products-block.products .product .p .flags-default .flag-original-z-nemecka::before {
    width: 12px;
    height: 8px;
    margin-right: 5px;
  }
}

/* --- original stepper+button row: replaced by quick-add in tile --- */
#products.products-block .product .p-tools,
.products-block.products .product .p-tools {
  display: none !important;
}

/* --- mnozstevni slevy v kategorii (Kosik vzor): rozpis pasem v dlazdici
       nad stepperem; aktivni pasmo zelene s fajfkou (korporatni quick-add
       zelena), ceny cervene; stavi JS (ne-qab-tiers) jen u produktu
       s flagem "Vice za mene" --- */
#products.products-block .product .ne-qab-tiers,
.products-block.products .product .ne-qab-tiers {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 60px;
  z-index: 5;
  display: none;
  flex-direction: column;
  gap: 3px;
}
#products.products-block .product .ne-qab-tiers.ne-show,
.products-block.products .product .ne-qab-tiers.ne-show {
  display: flex;
}
#products.products-block .product .ne-qab-tier,
.products-block.products .product .ne-qab-tier {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  background: #fff;
  border-radius: 8px;
  /* vetsi radky pasem (Lubos 2026-07-05): cim citelnejsi sleva,
     tim vetsi sance na vetsi nakup */
  padding: 7px 12px;
  font-size: 13.5px;
  line-height: 1.3;
  box-shadow: 0 1px 4px rgba(23, 23, 23, 0.12);
  cursor: pointer;
}
#products.products-block .product .ne-qab-tier-price,
.products-block.products .product .ne-qab-tier-price {
  display: inline-flex;
  align-items: center;
  color: #c90018;
  font-weight: 700;
  white-space: nowrap;
}
#products.products-block .product .ne-qab-tier-min,
.products-block.products .product .ne-qab-tier-min {
  color: #171717;
  font-weight: 400;
  white-space: nowrap;
}
#products.products-block .product .ne-qab-tier.ne-active,
.products-block.products .product .ne-qab-tier.ne-active {
  background: #eef6df;
  cursor: default;
}
/* masterpack radek (posledni): zlaty akcent = klik prida JINY produkt
   (cele vyhodne baleni), ne mnozstvi kusovky */
#products.products-block .product .ne-qab-tier.ne-qab-mp,
.products-block.products .product .ne-qab-tier.ne-qab-mp {
  background: #fff6da;
  box-shadow: 0 1px 4px rgba(23, 23, 23, 0.12),
    inset 0 0 0 1px rgba(242, 183, 5, 0.55);
}
#products.products-block .product .ne-qab-tier.ne-qab-mp .ne-qab-tier-price,
.products-block.products .product .ne-qab-tier.ne-qab-mp .ne-qab-tier-price {
  color: #171717;
}
#products.products-block .product .ne-qab-tier.ne-qab-mp .ne-qab-tier-min,
.products-block.products .product .ne-qab-tier.ne-qab-mp .ne-qab-tier-min {
  font-weight: 600;
}
/* pri dosazeni kartonoveho mnozstvi stepperem je baleni AKTIVNIM stupnem
   zebriku (commit prida baleni misto kusu) */
#products.products-block .product .ne-qab-tier.ne-qab-mp.ne-active,
.products-block.products .product .ne-qab-tier.ne-qab-mp.ne-active {
  background: #ffe9a8;
  box-shadow: 0 1px 4px rgba(23, 23, 23, 0.12),
    inset 0 0 0 1px #f2b705;
}
#products.products-block .product .ne-qab-tier.ne-qab-mp.ne-active .ne-qab-tier-price::before,
.products-block.products .product .ne-qab-tier.ne-qab-mp.ne-active .ne-qab-tier-price::before {
  background: #8a6d00;
}
#products.products-block .product .ne-qab-tier.ne-active .ne-qab-tier-price::before,
.products-block.products .product .ne-qab-tier.ne-active .ne-qab-tier-price::before {
  content: "";
  width: 13px;
  height: 13px;
  margin-right: 5px;
  flex: 0 0 auto;
  background: #4a7a08;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.2 12.6 1.9 8.3l1.4-1.4 2.9 2.9 6.5-6.5 1.4 1.4z'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.2 12.6 1.9 8.3l1.4-1.4 2.9 2.9 6.5-6.5 1.4 1.4z'/></svg>") center / contain no-repeat;
}
@media (max-width: 767px) {
  #products.products-block .product .ne-qab-tiers,
  .products-block.products .product .ne-qab-tiers {
    left: 6px;
    right: 6px;
    bottom: 52px;
    gap: 3px;
  }
  #products.products-block .product .ne-qab-tier,
  .products-block.products .product .ne-qab-tier {
    padding: 6px 10px;
    font-size: 13px;
  }
}

/* --- kosik: bunka "Sleva X %" u polozek ---
   Puvodni radek schovavame VZDY (u 0 % je k nicemu); je-li sleva > 0,
   JS (styleCartDiscounts) ji ukaze jako zeleny chip primo pod jednotkovou
   cenou. Tabulka nema thead, skryti bunky nic nerozbije. */
body #content td.p-discount.p-cell {
  display: none !important;
}
.ne-cart-qd-chip {
  display: inline-block;
  margin-top: 4px;
  padding: 2px 8px;
  background: #eef6df;
  color: #4a7a08;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  border-radius: 4px;
  white-space: nowrap;
}
/* mobil kosik: chip do LEVEHO HORNIHO ROHU karty (vlastni radek pod nazvem
   zvetsoval jen karty se slevou); tr.removeable je position:relative flex
   karta. Upsell addon navic vklada vlastni bunku (-X % + skrtnuta cena
   + stitek "Vyhodny produkt"), ktera rozbiji layout a kartu dal zvetsuje
   -> na mobilu skryt (finalni cena akci uz obsahuje; desktop nedotcen). */
@media (max-width: 767px) {
  body.in-kosik .cart-table td.p-name {
    position: static !important;
  }
  body.in-kosik .ne-cart-qd-chip {
    position: absolute !important;
    top: 8px;
    left: 8px;
    margin: 0 !important;
    z-index: 2;
    font-size: 11px;
    padding: 2px 7px;
  }
  body.in-kosik .cart-table .up-addon-cart-name,
  body.in-kosik .cart-table td.up-addon-cart-cell {
    display: none !important;
  }
}

/* --- dotykova sviznost: zadny double-tap zoom ani 350ms click delay
       na iOS, zadne modre tap-highlighty (klicove pro rychle +++ tapani) --- */
#products.products-block .product .ne-qab-tier,
.products-block.products .product .ne-qab-tier,
#products.products-block .product .ne-qab,
#products.products-block .product .ne-qab-pill,
#products.products-block .product .ne-qab-detail,
#products.products-block .product .ne-qab-strip,
#products.products-block .product .ne-qab-strip .ne-qab-dec,
#products.products-block .product .ne-qab-strip .ne-qab-inc,
#products.products-block .product .ne-qab-strip .ne-qab-count,
.products-block.products .product .ne-qab,
.products-block.products .product .ne-qab-pill,
.products-block.products .product .ne-qab-detail,
.products-block.products .product .ne-qab-strip,
.products-block.products .product .ne-qab-strip .ne-qab-dec,
.products-block.products .product .ne-qab-strip .ne-qab-inc,
.products-block.products .product .ne-qab-strip .ne-qab-count {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
#products.products-block .product .ne-qab,
#products.products-block .product .ne-qab-pill,
#products.products-block .product .ne-qab-detail,
#products.products-block .product .ne-qab-strip .ne-qab-dec,
#products.products-block .product .ne-qab-strip .ne-qab-inc,
.products-block.products .product .ne-qab,
.products-block.products .product .ne-qab-pill,
.products-block.products .product .ne-qab-detail,
.products-block.products .product .ne-qab-strip .ne-qab-dec,
.products-block.products .product .ne-qab-strip .ne-qab-inc {
  -webkit-user-select: none;
  user-select: none;
}

/* --- quick-add (Rohlik 1:1 geometry, corporate green) --- */
#products.products-block .product .ne-qab,
.products-block.products .product .ne-qab {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  background: #c90018;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  cursor: pointer;
  transition: transform .15s ease, background-color .15s ease;
}
#products.products-block .product .ne-qab:hover,
.products-block.products .product .ne-qab:hover {
  background: #a90015;
  transform: scale(1.06);
}
#products.products-block .product .ne-qab:focus-visible,
.products-block.products .product .ne-qab:focus-visible {
  outline: 2px solid #1c2529;
  outline-offset: 2px;
}
#products.products-block .product .ne-qab svg,
.products-block.products .product .ne-qab svg {
  width: 20px;
  height: 20px;
  display: block;
}
#products.products-block .product .ne-qab-strip,
.products-block.products .product .ne-qab-strip {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 5;
  display: none;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .18);
  backdrop-filter: blur(4px);
}
#products.products-block .product .ne-qab-strip.ne-open,
.products-block.products .product .ne-qab-strip.ne-open {
  display: flex;
}
#products.products-block .product .ne-qab-strip .ne-qab-dec,
#products.products-block .product .ne-qab-strip .ne-qab-inc,
.products-block.products .product .ne-qab-strip .ne-qab-dec,
.products-block.products .product .ne-qab-strip .ne-qab-inc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #e4e4e4;
  cursor: pointer;
  transition: background-color .15s ease;
}
#products.products-block .product .ne-qab-strip .ne-qab-dec:hover,
#products.products-block .product .ne-qab-strip .ne-qab-inc:hover,
.products-block.products .product .ne-qab-strip .ne-qab-dec:hover,
.products-block.products .product .ne-qab-strip .ne-qab-inc:hover {
  background: #f2f2f2;
}
#products.products-block .product .ne-qab-strip .ne-qab-count,
.products-block.products .product .ne-qab-strip .ne-qab-count {
  width: 44px;
  height: 34px;
  padding: 0;
  border: none;
  background: transparent;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  color: #1c2529;
  -moz-appearance: textfield;
  appearance: textfield;
  cursor: text;
}
#products.products-block .product .ne-qab-strip .ne-qab-count::-webkit-inner-spin-button,
#products.products-block .product .ne-qab-strip .ne-qab-count::-webkit-outer-spin-button,
.products-block.products .product .ne-qab-strip .ne-qab-count::-webkit-inner-spin-button,
.products-block.products .product .ne-qab-strip .ne-qab-count::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/* focus/invalid: zadny theme ramecek (cerveny!), jen jemne sede pozadi */
#products.products-block .product .ne-qab-strip .ne-qab-count:focus,
#products.products-block .product .ne-qab-strip .ne-qab-count:focus-visible,
#products.products-block .product .ne-qab-strip .ne-qab-count:hover,
#products.products-block .product .ne-qab-strip .ne-qab-count:invalid,
#products.products-block .product .ne-qab-strip .ne-qab-count:user-invalid,
.products-block.products .product .ne-qab-strip .ne-qab-count:focus,
.products-block.products .product .ne-qab-strip .ne-qab-count:focus-visible,
.products-block.products .product .ne-qab-strip .ne-qab-count:hover,
.products-block.products .product .ne-qab-strip .ne-qab-count:invalid,
.products-block.products .product .ne-qab-strip .ne-qab-count:user-invalid {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
#products.products-block .product .ne-qab-strip .ne-qab-count:focus,
.products-block.products .product .ne-qab-strip .ne-qab-count:focus {
  background: #f1f2f3;
  border-radius: 8px;
  caret-color: #c90018;
}
#products.products-block .product .ne-qab-strip .ne-qab-count::selection,
.products-block.products .product .ne-qab-strip .ne-qab-count::selection {
  background: rgba(201, 0, 24, .18);
}
#products.products-block .product .ne-qab-strip .ne-qab-dec svg,
#products.products-block .product .ne-qab-strip .ne-qab-inc svg,
.products-block.products .product .ne-qab-strip .ne-qab-dec svg,
.products-block.products .product .ne-qab-strip .ne-qab-inc svg {
  width: 16px;
  height: 16px;
  display: block;
}
/* --- in-cart pill: tmave zelena s poctem kusu (Rohlik pattern) --- */
#products.products-block .product .ne-qab-pill,
.products-block.products .product .ne-qab-pill {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  display: none;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 56px;
  height: 40px;
  padding: 0 12px;
  border-radius: 8px;
  background: #830010;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  cursor: pointer;
  transition: transform .15s ease, background-color .15s ease;
}
#products.products-block .product .ne-qab-pill.ne-show,
.products-block.products .product .ne-qab-pill.ne-show {
  display: flex;
}
#products.products-block .product .ne-qab-pill:hover,
.products-block.products .product .ne-qab-pill:hover {
  background: #9c0014;
  transform: scale(1.04);
}
#products.products-block .product .ne-qab-pill svg,
.products-block.products .product .ne-qab-pill svg {
  width: 18px;
  height: 18px;
  display: block;
}
#products.products-block .product .ne-qab.ne-hide,
.products-block.products .product .ne-qab.ne-hide {
  display: none;
}

/* --- vyprodane produkty: tlacitko Detail v dlazdici (misto +) --- */
#products.products-block .product .ne-qab-detail,
.products-block.products .product .ne-qab-detail {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 16px;
  border-radius: 8px;
  background: #1d1a18;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
  cursor: pointer;
  transition: background-color .15s ease, transform .15s ease;
}
#products.products-block .product .ne-qab-detail:hover,
.products-block.products .product .ne-qab-detail:hover {
  background: #3a3532;
  transform: scale(1.04);
}
@media (max-width: 767px) {
  #products.products-block .product .ne-qab-detail,
  .products-block.products .product .ne-qab-detail {
    height: 34px;
    padding: 0 12px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #products.products-block .product .ne-qab,
  .products-block.products .product .ne-qab {
    transition: none;
  }
}

/* --- S4 (UX audit): 404 / prazdna kategorie - centrovany pratelsky stav
   s "404" vodoznakem a korporatnim CTA. Markup je serverova Shoptet
   sablona (zdroj upravit nejde), styly platne od prvniho paintu. --- */
.empty-content {
  max-width: 620px;
  margin: 30px auto 80px;
  text-align: center;
}
.empty-content-404::before {
  content: "404";
  display: block;
  font-size: 96px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 4px;
  color: #f1ece7;
  margin: 6px 0 2px;
}
.empty-content h1 {
  margin: 0 0 8px;
  font-size: 28px;
  color: #3b3636;
  text-align: center !important;
}
/* theme cervene podtrzeni h1 je absolute left:0 -> na stred */
.empty-content h1::after {
  left: 50% !important;
  transform: translateX(-50%);
}
.empty-content h2 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 400;
  color: #6b625c;
}
.empty-content p {
  color: #6b625c;
}
.empty-content .btn.btn-default {
  display: inline-block;
  margin-top: 10px;
  background: #c90018 !important;
  color: #fff !important;
  border: none;
  border-radius: 8px;
  height: 44px;
  line-height: 44px !important;
  padding: 0 30px;
  font-weight: 600;
  text-decoration: none !important;
}
.empty-content .btn.btn-default:hover {
  background: #a90015 !important;
}

/* --- SUBCAT REDESIGN (Brainmarket vzor, nase barvy): podkategorie v
   kategorii. Desktop = vertikalni karty (foto nahore, centrovany tucny
   nazev dole, hover lift + cerveny akcent), mobil = kompaktni 2sloupcove
   radky s obrazkem TESNE u textu (puvodni theme: image box 45px + text
   padding-left 15px = zbytecna dira). Produktove fotky maji bile pozadi
   -> mix-blend-mode:darken je usadi na kartu jako u produktovych dlazdic.
   Theme selektory jsou .subcategories(.with-image) li a ... -> prefix
   #content ul.subcategories je specificnejsi. --- */
#content ul.subcategories.with-image {
  display: grid !important;
  width: 100% !important;
  margin: 0 0 20px;
  padding: 0;
}
#content ul.subcategories.with-image li {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
}
#content ul.subcategories.with-image li a {
  border: 1px solid #e8e4e1;
  background: #fff;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
#content ul.subcategories.with-image li a .image {
  border-radius: 0;
  margin: 0;
}
#content ul.subcategories.with-image li a .image img {
  mix-blend-mode: darken;
}
#content ul.subcategories.with-image li a .text {
  padding: 0 !important;
  font-weight: 600;
  color: #3b3636;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  #content ul.subcategories.with-image {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    align-items: stretch;
  }
  #content ul.subcategories.with-image li a {
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    height: 100%;
    min-height: 130px;
    padding: 16px 10px 12px !important;
    border-radius: 12px;
  }
  #content ul.subcategories.with-image li a .image {
    width: 100% !important;
    max-width: none !important;
    height: 64px !important;
    flex: 0 0 auto;
  }
  #content ul.subcategories.with-image li a .image img {
    max-height: 64px !important;
    max-width: 104px !important;
  }
  #content ul.subcategories.with-image li a .text {
    width: 100% !important;
    text-align: center !important;
    font-size: 13.5px;
    line-height: 1.3;
    max-height: none;
  }
  #content ul.subcategories.with-image li a:hover {
    border-color: rgba(201, 0, 24, 0.45);
    box-shadow: 0 6px 16px rgba(23, 23, 23, 0.09);
    transform: translateY(-2px);
    text-decoration: none !important;
  }
  #content ul.subcategories.with-image li a:hover .text {
    color: #c90018;
    text-decoration: none !important;
  }
}
@media (max-width: 767px) {
  #content ul.subcategories.with-image {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 2px;
  }
  #content ul.subcategories.with-image li a {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    height: 48px;
    padding: 4px 8px 4px 6px !important;
    border-radius: 10px;
  }
  #content ul.subcategories.with-image li a .image {
    flex: 0 0 44px;
    width: 44px !important;
    max-width: 44px !important;
    height: 40px !important;
  }
  #content ul.subcategories.with-image li a .image img {
    max-height: 38px !important;
    max-width: 42px !important;
  }
  #content ul.subcategories.with-image li a .text {
    width: auto !important;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12.5px;
    line-height: 1.22;
    text-align: left;
  }
}

/* --- S1 (UX audit): JS pruneCardFlags (NE-BM-QUICKADD) necha v levem
   hornim stacku karty jen jeden nejprioritnejsi priznak --- */
.ne-flag-hidden {
  display: none !important;
}

/* --- V2 (UX audit, v2 redesign): mobilni kategorie - razeni + "Otevrit
   filtr" jako dvojice rovnocennych centrovanych tlacitek (40px touch
   target) s dychajici mezerou od podkategorii. Dropdown razeni RIDI JS
   (trida .ne-open na .listSorting, viz mergeCategoryControls v
   NE-BM-QUICKADD) - theme mechanika :hover/:focus-within je na touchi
   "lepkava" (problikavani, nezavira se tapem vedle) -> overflow drzime
   hidden !important a otevirame JEN pres .ne-open. Theme pravidla maji
   prefix #category-header -> nas prefix #category-header.ne-cat-controls
   je specificnejsi. --- */
@media (max-width: 767px) {
  /* mezera nad radkem (od dlazdic podkategorii) + pod nim. POZOR:
     margin-top z stylesheetu tu NEvyhraje ani s !important a vyssi
     specificitou (nejaka vrstva ho prebiji - overeno probe), padding je
     necontested a header nema pozadi/border -> vizualne shodne */
  html body.type-category #content .category-header.ne-cat-controls {
    padding-top: 12px !important;
    padding-bottom: 6px !important;
  }
  #category-header.ne-cat-controls {
    display: flex !important;
    /* theme ma row-reverse jen do 600px -> sjednotit na celem mobilu:
       filtr (tmavy, primarni) vlevo, razeni (bily button) vpravo */
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 10px;
  }
  #category-header.ne-cat-controls .listSorting {
    flex: 1 1 0;
    min-width: 0;
    margin-top: 0 !important;
  }
  /* shell = button vzhled; border-box: 1px border + 38px padding-top ->
     obsah 0, polozky zacinaji az pod boxem (theme clipovani zustava).
     overflow hidden !important prebiji theme :hover{overflow:visible} */
  #category-header.ne-cat-controls .listSorting .listSorting__controls {
    width: 100%;
    height: 40px;
    padding-top: 38px;
    margin-top: 0;
    background: #fff;
    border: 1px solid #d4cfcb;
    border-radius: 8px;
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent;
  }
  /* ikona radit (ul::before): svisle vycentrovat ve 38px vnitrku */
  #category-header.ne-cat-controls .listSorting .listSorting__controls:before {
    top: 7px;
    left: 10px;
    margin-top: 0;
  }
  /* sbaleny stav: label CENTROVANY (stejne jako filtr), sipka fixne vpravo */
  #category-header.ne-cat-controls .listSorting .listSorting__controls li button.listSorting__control--current {
    height: 38px;
    justify-content: center;
    padding: 0 34px;
    font-size: 13px;
    font-weight: 600;
    color: #3b3636;
  }
  #category-header.ne-cat-controls .listSorting .listSorting__controls li button.listSorting__control--current:after {
    position: absolute;
    right: 12px;
    top: 50%;
    margin: -5px 0 0;
    transition: transform 0.18s ease;
  }
  /* OTEVRENO (jen JS trida .ne-open): panel navazuje na button jako jedna
     karta - spodni rohy shellu srovnat, stin pres drop-shadow (box-shadow
     na <ul> by pretekle <li> nepokryl), sipka otocena */
  #category-header.ne-cat-controls .listSorting.ne-open .listSorting__controls {
    overflow: visible !important;
    border-radius: 8px 8px 0 0;
    filter: drop-shadow(0 10px 22px rgba(23, 23, 23, 0.18));
  }
  #category-header.ne-cat-controls .listSorting.ne-open .listSorting__controls li button.listSorting__control--current:after {
    transform: rotate(180deg);
  }
  /* polozky panelu: margin -1px zarovna 1px bordery s vnejsi hranou shellu
     (li lezi ve content boxu odsazenem o border) -> zadne "prerusovane"
     hrany; separatory mezi polozkami, 42px touch target, centrovane */
  #category-header.ne-cat-controls .listSorting .listSorting__controls li {
    background: #fff;
    margin: 0 -1px;
    border-left: 1px solid #d4cfcb;
    border-right: 1px solid #d4cfcb;
  }
  #category-header.ne-cat-controls .listSorting .listSorting__controls li + li {
    border-top: 1px solid #f0ede9;
  }
  #category-header.ne-cat-controls .listSorting .listSorting__controls li:last-child {
    border-bottom: 1px solid #d4cfcb;
    border-radius: 0 0 8px 8px;
    padding-bottom: 0;
  }
  #category-header.ne-cat-controls .listSorting .listSorting__controls li button {
    height: 42px;
    justify-content: center;
    padding: 0 12px;
    font-size: 13.5px;
    color: #3b3636;
  }
  /* hover jen na polozkach panelu - current button musi zustat pruhledny
     (ikona razeni je ::before na <ul> POD nim, opakne bg by ji zakrylo) */
  #category-header.ne-cat-controls .listSorting .listSorting__controls li button:hover:not(.listSorting__control--current) {
    background: #f7f5f3;
    text-decoration: none;
  }
  /* filtr = druhy button v radku, text + ikona CENTROVANE (flex; theme ma
     inline-block + text-align z wrapperu -> pusobilo to rozhozene).
     display:block na wrapperu prebiji theme
     ".category-header>div{display:none!important}". */
  #category-header.ne-cat-controls .filters-unveil-button-wrapper {
    display: block !important;
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
  }
  #category-header.ne-cat-controls .filters-unveil-button-wrapper .unveil-button {
    width: 100%;
    height: 40px;
    line-height: 40px !important;
    padding: 0 10px;
    /* display i text-align MUSI mit !important - bez nej vyhrava neco
       mimo citelne stylesheety (stejny fenomen jako margin-top na headeru;
       wrapper navic dedi text-align:right) -> text byl vpravo */
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    -webkit-tap-highlight-color: transparent;
  }
}

/* --- DESKTOP carousely na homepage: prvni dlazdice licuje s layoutem
   (theme rezervuje v .slick-list 50px pro sipky a flexem list centruje ->
   25px mrtveho mista po stranach) + kompenzace vnitrniho gutteru karet
   (.p ma padding 0 6px, categories item 0 5px), aby SEDA DLAZDICE zacala
   presne na hrane layoutu jako hero banner. Sipky vysunuty ven z layoutu
   (na uzsich desktopech jen mirne, aby je neorizl viewport). --- */
@media (min-width: 768px) {
  /* radek hero banneru mel bootstrap margin 0 -12px BEZ kompenzujiciho
     paddingu sloupcu -> bannery pretahovaly container a header/menu
     vypadaly uzsi. Srovnat vse na container. */
  body.in-index .row.banners-row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* PRE-INIT critical CSS (NE-HOME-PRODUCT-CAROUSEL-CRITICAL-INLINE) ma
     padding 0 25px = PUVODNI zdroj "uzkeho" prvniho vykresleni, ktere se
     po slick initu roztahlo -> srovnat first-paint na finalni geometrii */
  body.in-index :is(#products-5, #products-2, #products-1).products-block:not(.slick-initialized) {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  /* sipky kategorii lezi mimo box .categories__slick (overflow:hidden je
     tam kvuli pre-init stavu) -> po slick initu odkryt */
  body.in-index .ne-cat-slick .categories__slick:has(.slick-initialized) {
    overflow: visible;
  }
  /* cil = leva hrana SEDE DLAZDICE licuje s hero bannerem (nyni = hrana
     containeru). Vnitrni odsazeni dlazdice v bloku je sirkove promenlive ->
     jemne dorovnani MERI JS (alignHomeCarousels v NE-BM-QUICKADD) a sype
     do --ne-car-shift; defaulty -15px/-5px odpovidaji sirokym viewportum, takze
     tam zadny post-load posun nenastava. */
  body.in-index .products-block.carousel {
    width: calc(100% - 2 * var(--ne-car-shift, -15px)) !important;
    max-width: none !important;
    margin-left: var(--ne-car-shift, -15px) !important;
    margin-right: var(--ne-car-shift, -15px) !important;
  }
  body.in-index .ne-cat-slick .categories__slick {
    margin: 0 var(--ne-car-shift-cat, -5px);
  }
  body.in-index .products-block.carousel .slick-list,
  body.in-index .ne-cat-slick .slick-list {
    width: 100% !important;
  }
  /* uzsi desktopy: sipky na hrane bloku (jeste v gutteru, viewport je neorizne) */
  body.in-index .products-block.carousel .slick-prev,
  body.in-index .ne-cat-slick .slick-prev {
    left: 0 !important;
  }
  body.in-index .products-block.carousel .slick-next,
  body.in-index .ne-cat-slick .slick-next {
    right: 0 !important;
  }
}
/* siroke desktopy: sipky cele MIMO layout */
@media (min-width: 1830px) {
  body.in-index .products-block.carousel .slick-prev,
  body.in-index .ne-cat-slick .slick-prev {
    left: -46px !important;
  }
  body.in-index .products-block.carousel .slick-next,
  body.in-index .ne-cat-slick .slick-next {
    right: -46px !important;
  }
}
/* === FIX END: B2B-NE-CARD-PORT-20260713 === */
