/* ============================================================
   Kältetechnikshop — optimierte Produktdetailseite (1a/1b)
   Tokens aus dem Claude-Design-System "kaeltetechnikshop-master"
   Alle Klassen mit kpdp-Präfix, greift nicht ins Theme ein.
   ============================================================ */

.kpdp {
  --kpdp-primary: #69C8F3;
  --kpdp-primary-dark: #3AACDE;
  --kpdp-primary-darker: #1A8AB8;
  --kpdp-accent: #E3F5FD;
  --kpdp-accent-dark: #C4E8F8;
  --kpdp-grey-50: #F8F9FA;
  --kpdp-grey-100: #F0F2F4;
  --kpdp-grey-200: #E0E4E8;
  --kpdp-grey-300: #C8CDD4;
  --kpdp-grey-400: #9AA2AC;
  --kpdp-grey-500: #6B7480;
  --kpdp-grey-600: #454444;
  --kpdp-grey-700: #2E2E2E;
  --kpdp-success: #28A745;
  --kpdp-success-bg: #E8F7EE;
  --kpdp-warning: #FFC107;
  --kpdp-warning-fg: #B8860B;
  --kpdp-warning-bg: #FFF6E5;
  --kpdp-error: #FF0000;
  --kpdp-radius: 5px;
  --kpdp-radius-sm: 3px;
  --kpdp-font: 'Rubik', system-ui, sans-serif;

  font-family: var(--kpdp-font);
  color: var(--kpdp-grey-600);
  font-size: 14px;
  line-height: 1.5;
}
.kpdp *, .kpdp *::before, .kpdp *::after { box-sizing: border-box; }
.kpdp a { color: var(--kpdp-primary-dark); text-decoration: none; }
.kpdp a:hover { color: var(--kpdp-primary-darker); }
.kpdp .bi { line-height: 1; }

.kpdp-h2 {
  font: 700 22px/1.25 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  margin: 0 0 4px 0;
}
.kpdp-section__subtitle {
  font-size: 13px;
  color: var(--kpdp-grey-500);
  margin-bottom: 16px;
}
.kpdp-section {
  padding: 32px;
  border-top: 1px solid var(--kpdp-grey-200);
}
.kpdp-section--subtle { background: var(--kpdp-grey-50); }
.kpdp-block { margin-bottom: 28px; }

.kpdp-breadcrumb {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 32px 0 32px;
  font-size: 12px;
  color: var(--kpdp-grey-500);
  flex-wrap: wrap;
}
.kpdp-replaces {
  font: 500 12px/1.2 var(--kpdp-font);
  color: var(--kpdp-success);
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

/* ============ Buttons ============ */
.kpdp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: var(--kpdp-radius);
  font: 600 15px/1 var(--kpdp-font);
  padding: 14px 16px;
  cursor: pointer;
  border: none;
  text-align: center;
  transition: background 0.15s, border-color 0.15s;
}
/* Gefüllte Knöpfe mit weißer Schrift im dunklen Markenblau (wie „In den Warenkorb“ der Listen):
   Weiß auf #69C8F3 hatte nur ~1,9 : 1 Kontrast und wirkte deaktiviert (Rückmeldung Ararat 15.10.). */
.kpdp-btn--primary { background: var(--kpdp-ink-strong); color: #fff; }
.kpdp-btn--primary:hover { background: #0E4F6B; color: #fff; }
.kpdp-btn--primary:disabled { background: var(--kpdp-grey-300); cursor: not-allowed; }
.kpdp-btn--outline {
  background: transparent;
  border: 1px solid var(--kpdp-primary);
  color: var(--kpdp-primary-darker);
  font-weight: 500;
  font-size: 14px;
  padding: 12px 16px;
}
.kpdp-btn--outline:hover { background: var(--kpdp-accent); color: var(--kpdp-primary-darker); }
.kpdp-btn--ghost {
  background: transparent;
  border: 1px solid var(--kpdp-primary);
  color: var(--kpdp-primary);
  font-weight: 500;
  font-size: 14px;
}
.kpdp-btn--ghost:hover { background: rgba(105, 200, 243, 0.12); color: var(--kpdp-primary); }
.kpdp-btn--sm { padding: 10px 16px; font-size: 13px; font-weight: 500; }

/* ============ Kaufbereich 1a ============ */
.kpdp-buyarea {
  display: grid;
  grid-template-columns: minmax(0, 460px) minmax(0, 1fr) 380px;
  gap: 32px;
  padding: 16px 32px 32px 32px;
  align-items: start;
}

/* ============ Galerie ============ */
.kpdp-gallery { display: flex; flex-direction: column; gap: 12px; }
.kpdp-gallery__main {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  padding: 24px;
  position: relative;
}
.kpdp-gallery--compact .kpdp-gallery__main { height: 360px; padding: 20px; }
.kpdp-gallery__main img { max-width: 100%; max-height: 100%; object-fit: contain; }
.kpdp-gallery__placeholder { font-size: 64px; color: var(--kpdp-grey-300); }
.kpdp-gallery__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--kpdp-accent);
  color: var(--kpdp-primary-darker);
  font: 500 11px/1.2 var(--kpdp-font);
  letter-spacing: 0.04em;
  padding: 5px 10px;
  border-radius: var(--kpdp-radius-sm);
}
.kpdp-gallery__thumbs { display: flex; gap: 10px; }
.kpdp-gallery__thumb {
  width: 76px;
  height: 76px;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: #fff;
  cursor: pointer;
}
.kpdp-gallery__thumb.is-active { border: 2px solid var(--kpdp-primary); }
.kpdp-gallery__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* ============ Titel ============ */
.kpdp-title { display: flex; flex-direction: column; gap: 6px; }
.kpdp-title__kicker {
  font: 500 12px/1.2 var(--kpdp-font);
  letter-spacing: 0.04em;
  color: var(--kpdp-grey-500);
  text-transform: uppercase;
}
.kpdp-title__h1 {
  font: 700 26px/1.25 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  margin: 0;
}
.kpdp-title__meta {
  display: flex;
  gap: 16px;
  align-items: center;
  font-size: 12px;
  color: var(--kpdp-grey-500);
  flex-wrap: wrap;
}
.kpdp-title__meta b { color: var(--kpdp-grey-600); }
.kpdp-title__rating {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
}
.kpdp-stars { color: var(--kpdp-warning); font-size: 13px; white-space: nowrap; }

/* ============ Key Facts (1a) ============ */
.kpdp-buyarea__info { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.kpdp-keyfacts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.kpdp-keyfact {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--kpdp-grey-50);
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 10px 12px;
  min-width: 0;
}
.kpdp-keyfact .bi { color: var(--kpdp-primary-dark); font-size: 18px; flex: none; }
.kpdp-keyfact__label { font-size: 11px; line-height: 1.3; color: var(--kpdp-grey-500); }
.kpdp-keyfact__value { font: 600 14px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }

.kpdp-usps { display: flex; flex-direction: column; gap: 8px; }
.kpdp-usp { display: flex; gap: 8px; }
.kpdp-usp .bi { color: var(--kpdp-success); margin-top: 2px; flex: none; }

.kpdp-advice {
  background: var(--kpdp-accent);
  border-radius: var(--kpdp-radius);
  padding: 14px 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 13px;
}
.kpdp-advice > .bi { font-size: 22px; color: var(--kpdp-primary-darker); flex: none; }
.kpdp-advice b { color: var(--kpdp-grey-700); }
.kpdp-advice__links { display: inline-flex; gap: 16px; margin-top: 6px; flex-wrap: wrap; }
.kpdp-advice__links a { color: var(--kpdp-primary-darker); font-weight: 500; }

/* ============ Buy-Box ============ */
.kpdp-buybox {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  overflow: hidden;
  height: fit-content;
  background: #fff;
}
.kpdp-buybox--sticky { position: sticky; top: 16px; }
.kpdp-buybox__inner {
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kpdp-buybox__footer {
  background: var(--kpdp-grey-50);
  border-top: 1px solid var(--kpdp-grey-200);
  padding: 14px 20px;
}
.kpdp-buybox__trust { border-top: 1px solid var(--kpdp-grey-100); padding-top: 12px; }

.kpdp-price__main { display: flex; align-items: baseline; gap: 10px; }
.kpdp-price__big { font: 700 30px/1.1 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-price__label { font-size: 13px; color: var(--kpdp-grey-500); }
.kpdp-price__second { font-size: 13px; color: var(--kpdp-grey-500); }

/* Staffel direkt unter dem Preis; jede Stufe ein Knopf (setzt die Menge), die Stufe zur Menge markiert. */
.kpdp-tiers {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  overflow: hidden;
}
.kpdp-tiers__row {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 72px;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 7px 12px;
  border: 0;
  border-top: 1px solid var(--kpdp-grey-100);
  background: #fff;
  font: 400 13px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  text-align: left;
  cursor: pointer;
}
button.kpdp-tiers__row:hover { background: var(--kpdp-grey-50); }
button.kpdp-tiers__row:focus-visible { outline: 2px solid var(--kpdp-primary-dark); outline-offset: -2px; }
.kpdp-tiers__row.is-active,
.kpdp-tiers__row.is-active:hover { background: var(--kpdp-accent); box-shadow: inset 3px 0 0 var(--kpdp-primary-dark); }
.kpdp-tiers__row.is-active .kpdp-tiers__qty { font-weight: 600; }
.kpdp-tiers__row--head {
  padding-top: 6px;
  padding-bottom: 6px;
  background: var(--kpdp-grey-50);
  font: 500 11px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-top: none;
  cursor: default;
}
.kpdp-tiers__row > :last-child { text-align: right; }
.kpdp-tiers__price { font-weight: 600; }
.kpdp-tiers__price small { display: block; font: 400 11px/1.3 var(--kpdp-font); color: var(--kpdp-grey-500); }

.kpdp-stock { display: flex; align-items: center; gap: 8px; font: 500 14px/1.4 var(--kpdp-font); }
.kpdp-stock__dot { width: 10px; height: 10px; border-radius: 9999px; flex: none; }
.kpdp-stock--ok .kpdp-stock__dot { background: var(--kpdp-success); }
.kpdp-stock--ok .kpdp-stock__text { color: var(--kpdp-success); }
.kpdp-stock--low .kpdp-stock__dot { background: var(--kpdp-warning); }
.kpdp-stock--low .kpdp-stock__text { color: var(--kpdp-warning-fg); }
.kpdp-stock--wait .kpdp-stock__dot { background: var(--kpdp-grey-400); }
.kpdp-stock--wait .kpdp-stock__text { color: var(--kpdp-grey-500); }

.kpdp-delivery { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.kpdp-delivery .bi { color: var(--kpdp-primary-dark); }

.kpdp-buyform { display: flex; gap: 10px; align-items: stretch; }
.kpdp-buyform__submit { flex: 1; }
.kpdp-qty {
  display: flex;
  border: 1px solid var(--kpdp-primary);
  background: var(--kpdp-accent);
  width: 110px;
  flex: none;
}
.kpdp-qty__btn {
  width: 30px;
  border: none;
  background: transparent;
  color: var(--kpdp-primary-darker);
  font-size: 16px;
  cursor: pointer;
}
.kpdp-qty__input {
  flex: 1;
  width: 100%;
  min-width: 0;
  border: none;
  background: transparent;
  text-align: center;
  font: 600 15px/1 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  -moz-appearance: textfield;
  appearance: textfield;
  outline: none;
}
.kpdp-qty__input::-webkit-outer-spin-button,
.kpdp-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.kpdp-paychips { display: flex; gap: 6px; flex-wrap: wrap; }
.kpdp-paychip {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius-sm);
  padding: 4px 8px;
  font: 500 11px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
}

.kpdp-trust { display: flex; flex-direction: column; gap: 8px; font-size: 12px; }
.kpdp-trust__row { display: flex; gap: 8px; align-items: center; }
.kpdp-trust__row .bi { color: var(--kpdp-success); }
.kpdp-trust__row--payments .bi { color: var(--kpdp-primary-dark); }

/* ============ Bundle (1a) ============ */
.kpdp-bundle { display: flex; align-items: stretch; gap: 16px; }
.kpdp-bundle__items {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.kpdp-bundle__card {
  background: #fff;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.kpdp-bundle__card.is-off { opacity: 0.45; }
.kpdp-bundle__cardhead { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kpdp-bundle__cardhead img { width: 48px; height: 48px; object-fit: contain; }
.kpdp-bundle__cardhead > .bi { font-size: 26px; color: var(--kpdp-primary-dark); }
.kpdp-bundle__toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--kpdp-grey-500);
  cursor: pointer;
  margin: 0;
}
.kpdp-bundle__toggle input { accent-color: var(--kpdp-primary); width: 16px; height: 16px; }
.kpdp-bundle__name { font: 500 14px/1.35 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-bundle__why { font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-bundle__price { margin-top: auto; font: 700 15px/1.2 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-bundle__summary {
  width: 260px;
  flex: none;
  background: #fff;
  border: 1px solid var(--kpdp-primary);
  border-radius: var(--kpdp-radius);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
.kpdp-bundle__summarylabel { font-size: 13px; color: var(--kpdp-grey-500); }
.kpdp-bundle__total { font: 700 24px/1.1 var(--kpdp-font); color: var(--kpdp-grey-700); }

/* ============ Kältemittel-Tabelle (1a) ============ */
.kpdp-reftable {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  overflow: hidden;
  max-width: 900px;
}
.kpdp-reftable__row {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 0.7fr;
  font-size: 14px;
  border-top: 1px solid var(--kpdp-grey-200);
}
.kpdp-reftable__row > div { padding: 10px 16px; }
.kpdp-reftable__row--head {
  background: var(--kpdp-accent);
  font: 500 12px/1.2 var(--kpdp-font);
  color: var(--kpdp-primary-darker);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-top: none;
}
.kpdp-reftable__name { font-weight: 500; }
.kpdp-badge {
  border-radius: var(--kpdp-radius-sm);
  font: 500 10px/1.2 var(--kpdp-font);
  padding: 2px 6px;
  margin-left: 6px;
  white-space: nowrap;
}
.kpdp-badge--success { background: var(--kpdp-success-bg); color: var(--kpdp-success); }
.kpdp-badge--warning { background: var(--kpdp-warning-bg); color: var(--kpdp-warning-fg); }

/* ============ Technische Daten ============ */
.kpdp-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.kpdp-specs__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  font-size: 13px;
  border-top: 1px solid var(--kpdp-grey-100);
}
.kpdp-specs__row > div { padding: 8px 0; }
.kpdp-specs__key { color: var(--kpdp-grey-500); }
.kpdp-specs__val { color: var(--kpdp-grey-700); font-weight: 500; }
.kpdp-downloads { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.kpdp-download {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 10px 16px;
  font: 500 13px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-600);
}
.kpdp-download:hover { border-color: var(--kpdp-primary); color: var(--kpdp-grey-600); }
.kpdp-download .bi { font-size: 16px; color: var(--kpdp-primary-dark); }
.kpdp-download__pdf { color: var(--kpdp-error) !important; }

/* ============ Beschreibung + Techniker-Tipp ============ */
.kpdp-description--withtip {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
}
.kpdp-richtext { font-size: 14px; line-height: 1.65; }
.kpdp-richtext p { margin: 0 0 12px 0; }
.kpdp-techtip {
  background: var(--kpdp-grey-50);
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 20px;
  height: fit-content;
}
.kpdp-techtip__head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.kpdp-techtip__head .bi { font-size: 24px; color: var(--kpdp-primary-darker); }
.kpdp-techtip__title { font: 600 14px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-techtip__author { font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-techtip__text { font-size: 13px; line-height: 1.6; }

/* ============ Zubehör ============ */
.kpdp-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 16px;
}
.kpdp-accgrid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}
.kpdp-acccard {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #fff;
}
.kpdp-acccard:hover { border-color: var(--kpdp-primary); }
.kpdp-accrows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.kpdp-accrow {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
}
.kpdp-accrow:hover { border-color: var(--kpdp-primary); }
.kpdp-accrow .kpdp-acc__body { flex: 1; min-width: 0; }
.kpdp-accrow .kpdp-acc__buy { flex-direction: column; align-items: flex-end; }
.kpdp-acc__media {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.kpdp-acccard .kpdp-acc__media { height: 56px; }
.kpdp-accrow .kpdp-acc__media { width: 48px; height: 48px; }
.kpdp-acc__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.kpdp-acc__media .bi { font-size: 24px; color: var(--kpdp-primary-dark); }
.kpdp-acc__name {
  font: 500 12px/1.35 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  display: block;
}
.kpdp-accrow .kpdp-acc__name { font-size: 13px; }
.kpdp-acc__note {
  font-size: 10px;
  color: var(--kpdp-grey-500);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.kpdp-accrow .kpdp-acc__note { font-size: 11px; }
.kpdp-acc__buy {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.kpdp-acc__price { font: 700 13px/1.2 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-acc__form { margin: 0; }
.kpdp-acc__cart {
  width: 28px;
  height: 28px;
  border: none;
  border-radius: var(--kpdp-radius);
  background: var(--kpdp-ink-strong);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 13px;
}
.kpdp-acc__cart:hover { background: var(--kpdp-primary-dark); }

/* ============ Nachbarmodelle (1a) ============ */
.kpdp-altcards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  max-width: 1000px;
}
.kpdp-altcard {
  background: #fff;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: relative;
}
.kpdp-altcard--current { border: 2px solid var(--kpdp-primary); }
.kpdp-altcard__flag {
  position: absolute;
  top: -10px;
  left: 14px;
  background: var(--kpdp-ink-strong);
  color: #fff;
  font: 500 10px/1.2 var(--kpdp-font);
  letter-spacing: 0.04em;
  padding: 3px 8px;
  border-radius: var(--kpdp-radius-sm);
}
.kpdp-altcard__name { font: 600 15px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-altcard__facts { font-size: 13px; }
.kpdp-altcard__link, .kpdp-altcard__price { font: 500 13px/1.2 var(--kpdp-font); margin-top: 6px; }
.kpdp-altcard__price { color: var(--kpdp-grey-700); }
.kpdp-compare { margin-top: 20px; }
.kpdp-compare > summary {
  list-style: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font: 500 14px/1.3 var(--kpdp-font);
  color: var(--kpdp-primary-darker);
}
.kpdp-compare > summary::-webkit-details-marker { display: none; }
.kpdp-compare__scroll { overflow-x: auto; margin-top: 12px; }
.kpdp-compare__table {
  border-collapse: collapse;
  background: #fff;
  border: 1px solid var(--kpdp-grey-200);
  font-size: 13px;
  min-width: 640px;
}
.kpdp-compare__table th, .kpdp-compare__table td {
  padding: 9px 14px;
  border-top: 1px solid var(--kpdp-grey-100);
  text-align: left;
  vertical-align: top;
  max-width: 260px;
}
.kpdp-compare__table thead th {
  background: var(--kpdp-accent);
  color: var(--kpdp-primary-darker);
  font: 500 12px/1.3 var(--kpdp-font);
  border-top: none;
}
.kpdp-compare__table td:first-child { color: var(--kpdp-grey-500); }
.kpdp-compare__current { background: var(--kpdp-grey-50); font-weight: 500; }
.kpdp-compare__pricerow td { font-weight: 600; }

.kpdp-calchint {
  margin-top: 16px;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.kpdp-calchint .bi { color: var(--kpdp-primary-darker); }
.kpdp-calchint a { font-weight: 500; }

/* ============ FAQ ============ */
.kpdp-faq { max-width: 900px; display: flex; flex-direction: column; }
.kpdp-faq__item { border-top: 1px solid var(--kpdp-grey-200); }
.kpdp-faq__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 4px;
  font: 500 14px/1.4 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  cursor: pointer;
  list-style: none;
}
.kpdp-faq__item summary::-webkit-details-marker { display: none; }
.kpdp-faq__chev { color: var(--kpdp-primary-dark); transition: transform 0.15s; flex: none; }
.kpdp-faq__item[open] .kpdp-faq__chev { transform: rotate(180deg); }
.kpdp-faq__answer {
  padding: 0 4px 16px 4px;
  font-size: 14px;
  line-height: 1.6;
  max-width: 760px;
}

/* ============ Bewertungen ============ */
.kpdp-reviews { display: flex; gap: 48px; align-items: flex-start; }
.kpdp-reviews__summary { width: 240px; flex: none; display: flex; flex-direction: column; gap: 8px; }
.kpdp-reviews__avg { display: flex; align-items: center; gap: 10px; }
.kpdp-reviews__num { font: 700 36px/1 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-reviews__count { font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-reviews__list {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.kpdp-review {
  background: #fff;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kpdp-review__head { display: flex; align-items: center; justify-content: space-between; }
.kpdp-review__head .kpdp-stars { font-size: 12px; }
.kpdp-review__date { font-size: 11px; color: var(--kpdp-grey-400); }
.kpdp-review__title { font: 500 13px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-review__text { font-size: 13px; line-height: 1.55; }

/* ============ Lead-Band (1a) ============ */
.kpdp-leadband {
  padding: 40px 32px;
  border-top: 1px solid var(--kpdp-grey-200);
  background: var(--kpdp-grey-700);
  display: flex;
  align-items: center;
  gap: 40px;
}
.kpdp-leadband__copy { flex: 1; }
.kpdp-leadband__title { font: 700 22px/1.25 var(--kpdp-font); color: #fff; margin-bottom: 6px; }
.kpdp-leadband__text { font-size: 14px; color: var(--kpdp-grey-300); }
.kpdp-leadband__actions { display: flex; gap: 12px; flex: none; flex-wrap: wrap; }

/* ============ Lead-Karten (1b) ============ */
.kpdp-leadcards {
  padding: 36px 32px;
  border-top: 1px solid var(--kpdp-grey-200);
  background: var(--kpdp-accent);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.kpdp-leadcard {
  background: #fff;
  border: 1px solid var(--kpdp-accent-dark);
  border-radius: var(--kpdp-radius);
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kpdp-leadcard > .bi { font-size: 24px; color: var(--kpdp-primary-darker); }
.kpdp-leadcard__title { font: 600 15px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-leadcard__text { font-size: 13px; }
.kpdp-leadcard > a { font: 500 13px/1.2 var(--kpdp-font); color: var(--kpdp-primary-darker); margin-top: auto; }

/* ============ Variante 1b: Layout ============ */
.kpdp-kgrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 32px;
  padding: 16px 32px 32px 32px;
  align-items: start;
}
.kpdp-kgrid__main { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.kpdp-kgrid__main .kpdp-section { padding: 0; border-top: none; }
.kpdp-kgrid__main .kpdp-section--subtle { background: transparent; }
.kpdp-kgrid__side { display: flex; flex-direction: column; gap: 16px; }
.kpdp-khead { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 28px; }
.kpdp-khead__info { display: flex; flex-direction: column; gap: 12px; }
.kpdp-kfactbox {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 16px;
  font-size: 13px;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 14px 16px;
}
.kpdp-kfactbox__key { color: var(--kpdp-grey-500); }

.kpdp-contactcard {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 16px;
  display: flex;
  gap: 12px;
  align-items: center;
  background: var(--kpdp-grey-50);
  font-size: 12px;
}
.kpdp-contactcard b { color: var(--kpdp-grey-700); }
.kpdp-contactcard a { font-weight: 500; color: var(--kpdp-primary-darker); }
.kpdp-contactcard__icon {
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  background: var(--kpdp-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.kpdp-contactcard__icon .bi { font-size: 22px; color: var(--kpdp-primary-darker); }

/* ============ Kompatibilitäts-Check (1b) ============ */
.kpdp-compat {
  border: 1px solid var(--kpdp-primary);
  border-radius: var(--kpdp-radius);
  overflow: hidden;
}
.kpdp-compat__head {
  background: var(--kpdp-accent);
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 10px;
  font: 600 15px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-700);
}
.kpdp-compat__head .bi { font-size: 20px; color: var(--kpdp-primary-darker); }
.kpdp-compat__body {
  padding: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.kpdp-compat__col { display: flex; flex-direction: column; gap: 10px; }
.kpdp-compat__step {
  font: 500 12px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.kpdp-compat__refbtns { display: flex; gap: 8px; flex-wrap: wrap; }
.kpdp-refbtn {
  border: 1px solid var(--kpdp-grey-200);
  background: #fff;
  color: var(--kpdp-grey-600);
  border-radius: var(--kpdp-radius);
  font: 500 13px/1 var(--kpdp-font);
  padding: 10px 18px;
  cursor: pointer;
}
.kpdp-refbtn.is-active {
  border-color: var(--kpdp-primary);
  background: var(--kpdp-ink-strong);
  color: #fff;
}
.kpdp-compat__verdict {
  background: var(--kpdp-grey-50);
  border-radius: var(--kpdp-radius);
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.6;
}
.kpdp-compat__verdict b { color: var(--kpdp-grey-700); }
.kpdp-compat__replacetext { font-size: 13px; line-height: 1.6; }
.kpdp-compat__checkrow { display: flex; gap: 10px; }
.kpdp-compat__input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--kpdp-primary);
  background: var(--kpdp-accent);
  height: 40px;
  padding: 0 12px;
  font: 400 13px/1.5 var(--kpdp-font);
  color: var(--kpdp-grey-600);
  outline: none;
}
.kpdp-compat__result {
  font-size: 13px;
  border-radius: var(--kpdp-radius);
  padding: 10px 12px;
}
.kpdp-compat__result.is-ok { background: var(--kpdp-success-bg); color: var(--kpdp-success); }
.kpdp-compat__result.is-unknown { background: var(--kpdp-warning-bg); color: var(--kpdp-warning-fg); }
.kpdp-compat__whatsapp { font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-compat__whatsapp a { font-weight: 500; }

/* ============ Einsatzgrenzen (1b) ============ */
.kpdp-limits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  max-width: 900px;
}
.kpdp-limit {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.kpdp-limit__label { font: 500 12px/1.2 var(--kpdp-font); color: var(--kpdp-grey-500); }
.kpdp-limit__value { font: 700 18px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-limit__note { font-size: 12px; color: var(--kpdp-grey-500); }

/* ============ Auswahlhilfe-Tabelle (1b) ============ */
.kpdp-sizetable {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  overflow: hidden;
}
.kpdp-sizetable__row {
  display: grid;
  grid-template-columns: 2fr 1.4fr 1fr 0.8fr;
  font-size: 13px;
  border-top: 1px solid var(--kpdp-grey-200);
}
.kpdp-sizetable__row > div { padding: 10px 14px; }
.kpdp-sizetable__row--head {
  background: var(--kpdp-accent);
  font: 500 11px/1.2 var(--kpdp-font);
  color: var(--kpdp-primary-darker);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-top: none;
}
.kpdp-sizetable__row--current { background: var(--kpdp-accent); }
.kpdp-sizetable__row--current .kpdp-sizetable__model { font-weight: 600; }
.kpdp-sizetable__price { font-weight: 500; }
.kpdp-sizetable__note { font-size: 11px; color: var(--kpdp-grey-400); margin-top: 6px; }

/* ============ Kurzbeschreibung ============ */
.kpdp-shortdesc {
  font-size: 14px;
  line-height: 1.6;
  color: var(--kpdp-grey-500);
  margin: 4px 0 0 0;
  max-width: 640px;
}

/* ============ Formulare (Bewertung / Frage) ============ */
.kpdp-writereview summary, .kpdp-askform summary {
  list-style: none;
  display: inline-flex;
  margin-top: 8px;
}
.kpdp-writereview summary::-webkit-details-marker,
.kpdp-askform summary::-webkit-details-marker { display: none; }
.kpdp-form {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 560px;
  background: #fff;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 16px;
}
.kpdp-form label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  font: 500 12px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  margin: 0;
}
.kpdp-form input, .kpdp-form textarea, .kpdp-form select {
  border: 1px solid var(--kpdp-primary);
  background: var(--kpdp-accent);
  padding: 9px 12px;
  font: 400 14px/1.4 var(--kpdp-font);
  color: var(--kpdp-grey-600);
  outline: none;
}
.kpdp-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.kpdp-form__privacy { font-size: 11px; color: var(--kpdp-grey-400); }
.kpdp-form__result { font-size: 13px; border-radius: var(--kpdp-radius); padding: 10px 12px; }
.kpdp-form__result.is-ok { background: var(--kpdp-success-bg); color: var(--kpdp-success); }
.kpdp-form__result.is-error { background: var(--kpdp-warning-bg); color: var(--kpdp-warning-fg); }
.kpdp-reviews__empty { font-size: 13px; color: var(--kpdp-grey-500); }
.kpdp-review__who { font: 500 12px/1.3 var(--kpdp-font); color: var(--kpdp-grey-500); margin-top: auto; }
.kpdp-qa__meta { font-size: 11px; color: var(--kpdp-success); margin-top: 6px; }

/* ============ Video (Click-to-Load) ============ */
.kpdp-video {
  position: relative;
  max-width: 720px;
  aspect-ratio: 16 / 9;
  background: var(--kpdp-grey-700);
  border-radius: var(--kpdp-radius);
  overflow: hidden;
}
.kpdp-video__consent {
  position: absolute;
  inset: 0;
  width: 100%;
  border: none;
  background: transparent;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
  font: 500 13px/1.5 var(--kpdp-font);
  padding: 24px;
}
.kpdp-video__consent .bi { font-size: 48px; color: var(--kpdp-primary); }
.kpdp-video__consent span { max-width: 420px; opacity: 0.85; }
.kpdp-video__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }

/* ============ Lieferumfang ============ */
.kpdp-lieferumfang {
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  background: var(--kpdp-grey-50);
  padding: 14px 16px;
}
.kpdp-lieferumfang__title {
  display: flex;
  align-items: center;
  gap: 8px;
  font: 600 13px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  margin-bottom: 8px;
}
.kpdp-lieferumfang__title .bi { color: var(--kpdp-primary-darker); font-size: 16px; }
.kpdp-lieferumfang__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 4px 16px;
}
.kpdp-lieferumfang__list li {
  display: flex;
  gap: 6px;
  font-size: 13px;
  color: var(--kpdp-grey-600);
}
.kpdp-lieferumfang__list .bi { color: var(--kpdp-success); flex: none; margin-top: 1px; }

/* ============ Mengen-Schnellwahl (verbrauch) ============ */
.kpdp-qtyquick { display: flex; gap: 6px; flex-wrap: wrap; }
.kpdp-qtyquick__chip {
  border: 1px solid var(--kpdp-grey-200);
  background: #fff;
  color: var(--kpdp-grey-600);
  border-radius: 9999px;
  font: 600 12px/1 var(--kpdp-font);
  padding: 7px 14px;
  cursor: pointer;
  transition: all 0.12s;
}
.kpdp-qtyquick__chip:hover { border-color: var(--kpdp-primary); }
.kpdp-qtyquick__chip.is-active {
  border-color: var(--kpdp-primary);
  background: var(--kpdp-ink-strong);
  color: #fff;
}

/* ============ Eignungs-Badges (Werkzeug-Archetyp) ============ */
.kpdp-suitability {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.kpdp-suitability__label {
  font: 500 12px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
}
.kpdp-suitability__badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--kpdp-accent-dark);
  background: var(--kpdp-accent);
  color: var(--kpdp-primary-darker);
  border-radius: 9999px;
  font: 600 11px/1.2 var(--kpdp-font);
  padding: 4px 10px;
}
.kpdp-suitability__badge--flame {
  border-color: #f5c993;
  background: var(--kpdp-warning-bg);
  color: var(--kpdp-warning-fg);
}
.kpdp-suitability__note {
  font: 400 11px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-400);
}

/* ============ Nachfolger-Banner ============ */
.kpdp-successor {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 12px 32px 0 32px;
  padding: 14px 20px;
  background: var(--kpdp-accent);
  border: 1px solid var(--kpdp-accent-dark);
  border-left: 4px solid var(--kpdp-primary-dark);
  border-radius: var(--kpdp-radius);
  flex-wrap: wrap;
}
.kpdp-successor__icon { font-size: 26px; color: var(--kpdp-primary-darker); flex: none; }
.kpdp-successor__body { flex: 1; min-width: 220px; }
.kpdp-successor__title { font: 600 15px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-successor__text { font-size: 13px; color: var(--kpdp-grey-600); }
.kpdp-successor__card {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid var(--kpdp-grey-200);
  border-radius: var(--kpdp-radius);
  padding: 8px 14px;
  max-width: 380px;
}
.kpdp-successor__card:hover { border-color: var(--kpdp-primary); }
.kpdp-successor__card img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.kpdp-successor__name {
  font: 500 13px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.kpdp-successor__price { font: 700 14px/1.2 var(--kpdp-font); color: var(--kpdp-grey-700); flex: none; }
.kpdp-successor__cta { flex: none; }
@media (max-width: 991px) {
  .kpdp-successor { margin: 12px 16px 0 16px; }
}

/* ============ Sektionsnavigation ============ */
.kpdp-sectionnav {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  gap: 4px;
  overflow-x: auto;
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 1px solid var(--kpdp-grey-200);
  padding: 8px 32px;
  scrollbar-width: none;
}
.kpdp-sectionnav::-webkit-scrollbar { display: none; }
.kpdp-sectionnav a {
  flex: none;
  font: 500 13px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  padding: 8px 14px;
  border-radius: 9999px;
  white-space: nowrap;
}
.kpdp-sectionnav a:hover {
  background: var(--kpdp-accent);
  color: var(--kpdp-primary-darker);
}
html { scroll-behavior: smooth; }
.kpdp section[id], .kpdp div[id] { scroll-margin-top: 56px; }

/* ============ Varianten-Konfigurator ============ */
.kpdp-configurator { border-top: 1px solid var(--kpdp-grey-100); padding-top: 12px; }
.kpdp-configurator .product-detail-configurator-group-title {
  font: 500 12px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Lange Werte (z. B. ganze Produktnamen beim Füllschlauch) umbrechen statt abschneiden: das Unterscheidende
   steht oft am Ende („… 900mm" / „… 1800mm"), und am Handy ragten die Knöpfe sonst aus der Kaufbox. */
.kpdp-configurator .product-detail-configurator-option { max-width: 100%; }
.kpdp-configurator .product-detail-configurator-option-label {
  max-width: 100%;
  height: auto;
  min-height: 34px;
  padding: 5px 14px;
  line-height: 1.35;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
/* Viele Werte (kaelte-pdp.js, initVarianten): gekürzte Liste, Rest hinter „Alle n anzeigen".
   [hidden] braucht !important, weil Bootstraps d-inline-flex sonst gewinnt. */
.kpdp-configurator .product-detail-configurator-option[hidden],
.kpdp-varianten__andere[hidden] { display: none !important; }
.kpdp-varianten--lang .product-detail-configurator-option { flex: 1 1 100%; }
.kpdp-varianten--lang .product-detail-configurator-option-label { width: 100%; }
.kpdp-varianten__hinweis {
  margin: 14px 0 8px;
  font: 500 12px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-500);
}
.kpdp-varianten__knopf {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  padding: 8px 0;
  border: 0;
  background: none;
  font: 500 13px/1.3 var(--kpdp-font);
  color: var(--kpdp-primary-darker);
  cursor: pointer;
}
.kpdp-varianten__knopf:hover { text-decoration: underline; }
.kpdp-varianten__knopf .bi { font-size: 11px; transition: transform .15s; }
.kpdp-varianten__knopf[aria-expanded="true"] .bi { transform: rotate(180deg); }

/* ============ Mobile Sticky-Kaufleiste ============ */
.kpdp-stickycart {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1030;
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-top: 1px solid var(--kpdp-grey-200);
  box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.10);
  padding: 10px 16px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
}
.kpdp-stickycart[hidden] { display: none; }
.kpdp-stickycart__info { flex: 1; min-width: 0; }
.kpdp-stickycart__name {
  font: 500 12px/1.3 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.kpdp-stickycart__price { font: 700 17px/1.2 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-stickycart__artno { display: none; font-weight: 400; color: var(--kpdp-grey-500); }
.kpdp-stickycart__price span { font: 400 11px/1 var(--kpdp-font); color: var(--kpdp-grey-500); }
.kpdp-stickycart__btn { flex: none; padding: 12px 18px; font-size: 14px; }
/* PC: dieselbe Leiste, mittig auf Inhaltsbreite (Lukas, 27.10.2026: wer bei Leistung, Daten oder FAQ ist,
   soll nicht zum Kaufen nach oben scrollen). Rechts Platz für das Trusted-Shops-Siegel. */
@media (min-width: 992px) {
  .kpdp-stickycart { gap: 24px; padding: 12px max(170px, calc((100% - 1120px) / 2)) 12px max(32px, calc((100% - 1120px) / 2)); }
  .kpdp-stickycart__name { font: 600 14px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
  .kpdp-stickycart__artno { display: inline; }
  .kpdp-stickycart__price { font-size: 20px; }
  .kpdp-stickycart__btn { padding: 12px 28px; font-size: 15px; }
}

/* ============ Responsive ============ */
@media (max-width: 1199px) {
  .kpdp-buyarea { grid-template-columns: minmax(0, 1fr) 360px; }
  .kpdp-buyarea__gallery { grid-column: 1; }
  .kpdp-buyarea__info { grid-column: 1; }
  .kpdp-buyarea__box { grid-column: 2; grid-row: 1 / span 2; }
  .kpdp-accgrid { grid-template-columns: repeat(3, 1fr); }
  .kpdp-kgrid { grid-template-columns: minmax(0, 1fr) 360px; }
  .kpdp-khead { grid-template-columns: 1fr; }
  .kpdp-reviews { flex-direction: column; gap: 24px; }
  .kpdp-reviews__summary { width: auto; }
}
@media (max-width: 991px) {
  .kpdp-section, .kpdp-buyarea, .kpdp-kgrid { padding-left: 16px; padding-right: 16px; }
  .kpdp-breadcrumb { padding-left: 16px; padding-right: 16px; }
  .kpdp-buyarea { grid-template-columns: 1fr; }
  .kpdp-buyarea__box { grid-column: 1; grid-row: auto; }
  .kpdp-kgrid { grid-template-columns: 1fr; }
  .kpdp-buybox--sticky { position: static; }
  .kpdp-bundle { flex-direction: column; }
  .kpdp-bundle__items { grid-template-columns: 1fr; }
  .kpdp-bundle__summary { width: 100%; }
  .kpdp-specs { grid-template-columns: 1fr; }
  .kpdp-description--withtip { grid-template-columns: 1fr; gap: 20px; }
  .kpdp-accgrid, .kpdp-accrows { grid-template-columns: 1fr 1fr; }
  .kpdp-compat__body { grid-template-columns: 1fr; }
  .kpdp-limits, .kpdp-leadcards { grid-template-columns: 1fr; }
  .kpdp-leadband { flex-direction: column; align-items: flex-start; gap: 20px; }
  .kpdp-reviews__list { grid-template-columns: 1fr; }
  .kpdp-keyfacts { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .kpdp-accgrid, .kpdp-accrows { grid-template-columns: 1fr; }
  .kpdp-reftable__row { grid-template-columns: 1.4fr 1fr 1fr; }
  .kpdp-reftable__row > div:nth-child(4) { display: none; }
  .kpdp-sizetable__row { grid-template-columns: 1.6fr 1fr 0.8fr; }
  .kpdp-sizetable__row > div:nth-child(2) { display: none; }
  .kpdp-buyform { flex-wrap: wrap; }
  .kpdp-buyform__submit { flex-basis: 100%; }
}

/* ============================================================
   Spec-Visualisierung (1.50): Key-Specs mit festen Icons,
   Kältemittel-Chips, Anwendungsband, gruppierte Spec-Tabelle,
   Leistungsrechner + Einsatzgrenzen.
   Konzept: docs/shop/PRODUKTDETAILSEITEN-KONZEPT.md
   ============================================================ */
.kpdp { --kpdp-ink-strong: #156F94; }
.kpdp [hidden] { display: none !important; }
.kpdp-eyebrow {
  font: 600 11px/1.3 var(--kpdp-font);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--kpdp-grey-500);
  margin-bottom: 6px;
}
.kpdp-eyebrow b { color: var(--kpdp-grey-700); }

/* Key-Specs */
.kpdp-keyfact { align-items: flex-start; }
.kpdp-keyfact__icon { color: var(--kpdp-ink-strong); flex: none; display: inline-flex; margin-top: 1px; }
.kpdp-sicon { display: block; }
.kpdp-keyfact__text { min-width: 0; }
.kpdp-keyfact__value { overflow-wrap: anywhere; }
.kpdp-keyfacts--compact { margin-top: 2px; }

/* Kältemittel-Chips */
.kpdp-refchips__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kpdp-refchip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--kpdp-grey-100);
  color: var(--kpdp-grey-700);
  border: 1px solid transparent;
  font-size: 13px;
  line-height: 1.4;
}
.kpdp-refchip b { font-weight: 600; }
.kpdp-refchip__class { font: 600 11px/1 var(--kpdp-font); padding: 3px 5px; border-radius: 3px; background: #fff; }
.kpdp-refchip__gwp { font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-refchip--main { background: var(--kpdp-accent); border-color: var(--kpdp-ink-strong); }
.kpdp-refchip--a2l { background: #FFF1C2; color: #4D3900; }
.kpdp-refchip--a2l .kpdp-refchip__gwp { color: #5C4A12; }
.kpdp-refchip--a3, .kpdp-refchip--b1, .kpdp-refchip--b2l { background: #FFE0CC; color: #7A2E00; }
.kpdp-refchip--a3 .kpdp-refchip__gwp, .kpdp-refchip--b1 .kpdp-refchip__gwp, .kpdp-refchip--b2l .kpdp-refchip__gwp { color: #7A2E00; }
.kpdp-refchip--main.kpdp-refchip--a2l { border-color: #B7791F; }
.kpdp-refchip--main.kpdp-refchip--a3 { border-color: #C2410C; }
.kpdp-refchips__note { margin: 6px 0 0; font-size: 12px; color: #6B4E00; }

/* Anwendungsband */
.kpdp-band__bar { display: flex; height: 24px; gap: 2px; border-radius: var(--kpdp-radius); overflow: hidden; }
.kpdp-band__seg {
  display: flex;
  align-items: center;
  justify-content: center;
  font: 600 11px/1 var(--kpdp-font);
  background: var(--kpdp-grey-100);
  color: var(--kpdp-grey-500);
}
.kpdp-band__seg.is-on { background: var(--kpdp-ink-strong); color: #fff; }
.kpdp-band__axis {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: var(--kpdp-grey-500);
  margin-top: 3px;
  font-variant-numeric: tabular-nums;
}
.kpdp-band__note { font-size: 11px; color: var(--kpdp-grey-500); margin-top: 2px; }

/* Spec-Tabelle: einspaltig, gruppiert */
.kpdp-spectable { display: flex; flex-direction: column; gap: 14px; max-width: 820px; }
.kpdp-specgroup__title {
  cursor: pointer;
  padding: 6px 0;
  font: 600 12px/1.3 var(--kpdp-font);
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--kpdp-ink-strong);
}
.kpdp-specgroup__rows { margin: 0; border-top: 1px solid var(--kpdp-grey-200); }
.kpdp-specrow {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 12px;
  padding: 8px 10px;
  font-size: 14px;
}
.kpdp-specrow:nth-child(even) { background: var(--kpdp-grey-50); }
.kpdp-specrow dt { font-weight: 400; color: var(--kpdp-grey-500); }
.kpdp-specrow dd { margin: 0; color: var(--kpdp-grey-700); font-weight: 500; overflow-wrap: anywhere; }
.kpdp-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  border: 1.5px solid var(--kpdp-grey-500);
  border-radius: 50%;
  font: 600 10px/1 var(--kpdp-font);
  color: var(--kpdp-grey-600);
  cursor: help;
  vertical-align: 1px;
}
.kpdp-tip:hover::after, .kpdp-tip:focus::after {
  content: attr(data-tip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 6px);
  width: max-content;
  max-width: 260px;
  padding: 8px 10px;
  border-radius: var(--kpdp-radius);
  background: var(--kpdp-grey-700);
  color: #fff;
  font: 400 12px/1.4 var(--kpdp-font);
  white-space: normal;
  z-index: 5;
}
.kpdp-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.kpdp-download__type {
  display: block;
  font-size: 11px;
  color: var(--kpdp-grey-500);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Leistungsrechner + Einsatzgrenzen */
.kpdp-perf__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; }
.kpdp-perf__meta { font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-perf__demo {
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: var(--kpdp-radius);
  background: #FFF1C2;
  color: #4D3900;
  font-size: 13px;
  font-weight: 500;
}
.kpdp-perf__body { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 16px; }
.kpdp-perf__controls { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.kpdp-perf__chart { flex: 1 1 380px; min-width: 0; max-width: 560px; margin: 0; }
.kpdp-perf__refs { display: flex; flex-wrap: wrap; gap: 6px; }
.kpdp-perf__ref {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--kpdp-grey-300);
  border-radius: 999px;
  background: #fff;
  color: var(--kpdp-grey-700);
  font: 600 13px/1 var(--kpdp-font);
  cursor: pointer;
}
.kpdp-perf__ref.is-active { background: var(--kpdp-ink-strong); border-color: var(--kpdp-ink-strong); color: #fff; }
.kpdp-perf__slider { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 8px; font-size: 13px; color: var(--kpdp-grey-600); }
.kpdp-perf__slider output { font-weight: 600; color: var(--kpdp-grey-700); font-variant-numeric: tabular-nums; }
.kpdp-perf__slider input { grid-column: 1 / -1; width: 100%; min-height: 28px; accent-color: var(--kpdp-ink-strong); }
.kpdp-perf__results { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.kpdp-perf__res { padding: 8px 10px; border: 1px solid var(--kpdp-grey-200); border-radius: var(--kpdp-radius); background: var(--kpdp-grey-50); }
.kpdp-perf__res span { display: block; font-size: 11px; color: var(--kpdp-grey-500); }
.kpdp-perf__res b { font: 700 18px/1.25 var(--kpdp-font); color: var(--kpdp-grey-700); font-variant-numeric: tabular-nums; }
.kpdp-perf__res--main { background: var(--kpdp-accent); border-color: var(--kpdp-accent-dark); }
.kpdp-perf__outside { padding: 10px 12px; border-radius: var(--kpdp-radius); background: #FFE0CC; color: #7A2E00; font-size: 13px; }
.kpdp-perf__hint, .kpdp-perf__caption { margin: 0; font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-perf__svg { display: block; width: 100%; height: auto; }
.kpdp-perf__grid line { stroke: var(--kpdp-grey-200); stroke-width: 1; }
.kpdp-perf__env { fill: var(--kpdp-accent-dark); fill-opacity: .75; stroke: var(--kpdp-ink-strong); stroke-width: 2; }
.kpdp-perf__rating { fill: #fff; stroke: var(--kpdp-grey-600); stroke-width: 2; }
.kpdp-perf__ratinglabel, .kpdp-perf__ticks text { font: 11px var(--kpdp-font); fill: var(--kpdp-grey-500); }
.kpdp-perf__axislabel { font: 12px var(--kpdp-font); fill: var(--kpdp-grey-700); }
.kpdp-perf__point { fill: var(--kpdp-ink-strong); stroke: #fff; stroke-width: 2.5; }
.kpdp-perf__point.is-outside { fill: #C2410C; }
.kpdp-perf__tablewrap { margin-top: 16px; overflow-x: auto; }
.kpdp-perf__table { width: 100%; min-width: 420px; border-collapse: collapse; font-size: 13px; }
.kpdp-perf__table caption { caption-side: top; text-align: left; font-weight: 600; color: var(--kpdp-grey-700); padding-bottom: 6px; }
.kpdp-perf__table th { text-align: left; font-weight: 500; color: var(--kpdp-grey-500); padding: 6px 10px; border-bottom: 1px solid var(--kpdp-grey-200); }
.kpdp-perf__table td { padding: 6px 10px; font-variant-numeric: tabular-nums; }
.kpdp-perf__table tr:nth-child(even) td { background: var(--kpdp-grey-50); }
.kpdp-perf__table tr.is-rating td { font-weight: 600; color: var(--kpdp-grey-700); }

@media (max-width: 991px) {
  .kpdp-keyfacts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .kpdp-perf__res b { font-size: 15px; }
  .kpdp-specrow { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

/* ============================================================
   Team-Rückmeldungen 14.–19.10.2026 (Oumayma, Ararat, Lukas)
   ============================================================ */

/* Artikelnummer als Marker: auf einen Blick auffindbar, bewusst weder Schwarz noch Blau. */
.kpdp-artno {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 3px 10px;
  border: 1px solid #F5D48A;
  border-radius: var(--kpdp-radius-sm);
  background: var(--kpdp-warning-bg);
  color: #7A5300;
  font-size: 13px;
}
.kpdp-title__meta .kpdp-artno b { color: #5C3E00; font-weight: 700; letter-spacing: .01em; }

/* Staffel: Ersparnis als grünes Etikett statt dünnem grünem Text. */
.kpdp-tiers__badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 9999px;
  background: var(--kpdp-success-bg);
  color: #1E7B34;
  font: 700 12px/1.3 var(--kpdp-font);
  white-space: nowrap;
}

/* Liefer-Versprechen und Staffel stehen jetzt unter dem Warenkorb-Knopf: etwas Luft dazwischen. */
.kpdp-buybox__inner > .kpdp-buyform + .hh-intl-promise-slot,
.kpdp-buybox__inner > .kpdp-buyform + .kpdp-delivery { margin-top: 4px; }

/* Beschreibung und Technische Daten nebeneinander (breit), schmal untereinander mit den Daten zuerst. */
.kpdp-infogrid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  grid-template-areas: "desc specs";
  column-gap: 8px;
  border-top: 1px solid var(--kpdp-grey-200);
}
.kpdp-infogrid > .kpdp-section { border-top: none; }
.kpdp-infogrid > #kpdp-description { grid-area: desc; }
/* Bewusst nicht sticky: Der feste Shop-Kopf (Theme) ist je nach Breite unterschiedlich hoch und
   verdeckte den oberen Teil der Datenspalte (Staging-Test 19.10.). */
.kpdp-infogrid > #kpdp-specs { grid-area: specs; align-self: start; }
.kpdp-infogrid > #kpdp-specs:only-child,
.kpdp-infogrid > #kpdp-description:only-child { grid-area: auto; grid-column: 1 / -1; }
.kpdp-infogrid .kpdp-spectable { max-width: none; }
.kpdp-infogrid .kpdp-description--withtip { grid-template-columns: 1fr; gap: 20px; }
@media (max-width: 1199px) {
  .kpdp-infogrid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "specs" "desc"; }
  .kpdp-infogrid > #kpdp-specs + #kpdp-description { border-top: 1px solid var(--kpdp-grey-200); }
}

/* Reiter für FAQ, Fragen & Antworten, Bewertungen (kaelte-pdp.js setzt .is-tabbed). */
.kpdp-tabs.is-tabbed { border-top: 1px solid var(--kpdp-grey-200); }
.kpdp-tabs__list {
  display: flex;
  gap: 4px;
  padding: 0 32px;
  border-bottom: 1px solid var(--kpdp-grey-200);
  overflow-x: auto;
  scrollbar-width: none;
}
.kpdp-tabs__list::-webkit-scrollbar { display: none; }
.kpdp-tabs__tab {
  flex: none;
  appearance: none;
  background: none;
  border: 0;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  padding: 16px 14px 13px;
  font: 500 15px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  cursor: pointer;
  white-space: nowrap;
}
.kpdp-tabs__tab:hover { color: var(--kpdp-grey-700); }
.kpdp-tabs__tab[aria-selected="true"] { color: var(--kpdp-grey-700); border-bottom-color: var(--kpdp-ink-strong); }
.kpdp-tabs__tab:focus-visible { outline: 2px solid var(--kpdp-ink-strong); outline-offset: -2px; }
.kpdp-tabs__count { margin-left: 6px; font-size: 12px; color: var(--kpdp-grey-400); }
.kpdp-tabs.is-tabbed > .kpdp-section { border-top: none; }
.kpdp-tabs.is-tabbed > .kpdp-section[hidden] { display: none; }
@media (max-width: 991px) {
  .kpdp-tabs__list { padding: 0 16px; }
}
/* Handy: alle Reiter gleich breit in einer Reihe, lange Namen zweizeilig. Als Wischzeile hing
   „Bewertungen" angeschnitten am Rand, ohne Hinweis, dass man wischen kann (Lukas, 27.10.2026). */
@media (max-width: 575.98px) {
  .kpdp-tabs__list { gap: 0; overflow-x: visible; }
  .kpdp-tabs__tab { flex: 1 1 0; min-width: 0; padding: 12px 4px 10px; font-size: 14px; white-space: normal; text-align: center; text-wrap: balance; hyphens: auto; }
}

/* Mobil: Der Lieferland-Chip der HhIntlSuite (fest unten links) lag über der Kaufleiste. Solange die
   Leiste sichtbar ist, entfällt er; das Lieferland bleibt über „Lieferland ändern“ in der Lieferbox
   erreichbar (Rückmeldung Ararat 15.10.). */
/* seit 27.10.2026 auch am PC, dort gibt es die Leiste jetzt ebenfalls */
body:has(.kpdp-stickycart:not([hidden])) .hh-intl-chip { display: none !important; }

/* ============================================================
   Feinschliff 26.10.2026 (Lukas: „Best in Class", Raster immer symmetrisch,
   keine unglücklichen Umbrüche – Memory kachel-raster-symmetrisch)
   ============================================================ */

/* Galerie läuft am PC mit, statt neben der langen Info-Spalte ein weißes Loch zu lassen. Beim
   Runterscrollen bleibt nur die Abschnittsnavigation (49 px) oben stehen, die Kopfleiste nicht. */
@media (min-width: 1200px) and (min-height: 700px) {
  .kpdp-buyarea__gallery { position: sticky; top: 65px; }
}

/* Bestand und Lieferversprechen nicht doppelt: sobald die Lieferaussage geladen ist, ersetzt sie die
   Bestandszeile („sofort versandfertig" neben „Versand voraussichtlich morgen" widersprach sich). */
.kpdp-buybox__inner:has(.hh-intl-promise-slot > *) > .kpdp-stock { display: none; }

/* Zahlungsarten als ruhige, ausgeglichene Textzeile statt Chips (5 Chips liefen 4 + 1);
   Abstand statt Trennpunkt, damit keine Zeile mit „·" beginnt */
.kpdp-paychips { display: block; font-size: 12px; line-height: 1.6; color: var(--kpdp-grey-500); text-align: center; text-wrap: balance; }
.kpdp-paychip { display: inline; border: 0; padding: 0 6px; font: inherit; color: inherit; white-space: nowrap; }

/* Datenkarten kompakt (Lukas, 27.10.2026: drei einzelne Karten untereinander brauchten zu viel Platz):
   eine ruhige Leiste mit Trennlinien. 1–3 Werte in einer Reihe, 4 als 2 × 2, 6 als 3 × 2, 5 oder 7
   als Liste. Auf dem Handy bei ungerader Anzahl ebenfalls Liste (Bezeichnung links, Wert rechts). */
.kpdp-keyfacts { gap: 1px; background: var(--kpdp-grey-200); border: 1px solid var(--kpdp-grey-200); border-radius: var(--kpdp-radius); overflow: hidden; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kpdp-keyfacts > .kpdp-keyfact { border: 0; border-radius: 0; background: var(--kpdp-grey-50); padding: 9px 12px; gap: 8px; min-height: 0; }
.kpdp-keyfacts .kpdp-keyfact__label { font-size: 11px; line-height: 1.25; }
.kpdp-keyfacts .kpdp-keyfact__value { font-size: 14px; line-height: 1.3; }
.kpdp-keyfacts:has(> :last-child:nth-child(1)) { grid-template-columns: minmax(0, 1fr); }
.kpdp-keyfacts:has(> :last-child:nth-child(3)), .kpdp-keyfacts:has(> :last-child:nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kpdp-keyfacts:has(> :last-child:nth-child(5)), .kpdp-keyfacts:has(> :last-child:nth-child(7)) { grid-template-columns: minmax(0, 1fr); }
/* Zelle: kleines Symbol vor der Bezeichnung, der Wert darunter über die ganze Zellbreite
   (vorher nahm das Symbol links Platz weg und der Wert brach um: „0,76 kW · / R134a") */
.kpdp-keyfacts > .kpdp-keyfact { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 6px; row-gap: 2px; align-items: center; }
.kpdp-keyfacts .kpdp-keyfact__text { display: contents; }
.kpdp-keyfacts .kpdp-keyfact__icon { grid-column: 1; grid-row: 1; margin: 0; }
.kpdp-keyfacts .kpdp-keyfact__icon svg, .kpdp-keyfacts .kpdp-keyfact__icon .bi { width: 14px; height: 14px; font-size: 14px; }
.kpdp-keyfacts .kpdp-keyfact__label { grid-column: 2; grid-row: 1; }
.kpdp-keyfacts .kpdp-keyfact__value { grid-column: 1 / -1; grid-row: 2; }
/* Liste: eine Zeile je Wert – Symbol, Bezeichnung, Wert rechts */
.kpdp-keyfacts:has(> :last-child:nth-child(1)) .kpdp-keyfact__text,
.kpdp-keyfacts:has(> :last-child:nth-child(5)) .kpdp-keyfact__text,
.kpdp-keyfacts:has(> :last-child:nth-child(7)) .kpdp-keyfact__text { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; width: 100%; }
.kpdp-keyfacts:has(> :last-child:nth-child(1)) .kpdp-keyfact,
.kpdp-keyfacts:has(> :last-child:nth-child(5)) .kpdp-keyfact,
.kpdp-keyfacts:has(> :last-child:nth-child(7)) .kpdp-keyfact { grid-template-columns: auto minmax(0, 1fr) auto; }
.kpdp-keyfacts:has(> :last-child:nth-child(1)) .kpdp-keyfact__value,
.kpdp-keyfacts:has(> :last-child:nth-child(5)) .kpdp-keyfact__value,
.kpdp-keyfacts:has(> :last-child:nth-child(7)) .kpdp-keyfact__value { grid-column: 3; grid-row: 1; text-align: right; }
@media (max-width: 575px) {
  .kpdp-keyfacts:has(> :last-child:nth-child(odd)) { grid-template-columns: minmax(0, 1fr); }
  .kpdp-keyfacts:has(> :last-child:nth-child(odd)) .kpdp-keyfact { padding: 8px 12px; }
  .kpdp-keyfacts:has(> :last-child:nth-child(odd)) .kpdp-keyfact { grid-template-columns: auto minmax(0, 1fr) auto; }
  .kpdp-keyfacts:has(> :last-child:nth-child(odd)) .kpdp-keyfact__value { grid-column: 3; grid-row: 1; text-align: right; }
}

/* Nachbarmodelle über die volle Breite (vorher zwei Karten auf 1000 px, rechts leer) */
.kpdp-altcards { max-width: none; }

/* Fließtext: ausgeglichene Zeilen, kein einzelnes Wort in der letzten Zeile */
.kpdp-shortdesc, .kpdp-usp span, .kpdp-advice, .kpdp-section__subtitle, .kpdp-faq, .kpdp-leadband__text { text-wrap: pretty; }
.kpdp-title__h1 { text-wrap: balance; }


/* ============================================================
   Best in Class, Runde 1 (27.10.2026)
   ============================================================ */

/* Art.-Nr. mit einem Klick kopieren – Kunden bestellen und fragen danach */
.kpdp-copy { border: 0; background: none; padding: 0 0 0 6px; color: #7A5300; cursor: pointer; font-size: 13px; line-height: 1; }
.kpdp-copy:hover, .kpdp-copy:focus-visible { color: #3D2A00; }
.kpdp-copy.is-done::after { content: attr(data-kpdp-copied); margin-left: 4px; font: 600 11px/1 var(--kpdp-font); }

/* Beschreibung: Überschriften aus den Produktdaten auf Seitenmaß (kamen als riesige H1/H2) */
.kpdp-richtext h1, .kpdp-richtext h2 { font: 600 18px/1.35 var(--kpdp-font); margin: 22px 0 8px; color: var(--kpdp-grey-700); }
.kpdp-richtext h3, .kpdp-richtext h4 { font: 600 15px/1.4 var(--kpdp-font); margin: 18px 0 6px; color: var(--kpdp-grey-700); }
.kpdp-richtext > :first-child { margin-top: 0; }
.kpdp-richtext p, .kpdp-richtext li { text-wrap: pretty; }

/* Leistungsrechner: Tabelle direkt unter den Reglern, Diagramm rechts über beide – kein Loch mehr
   unter den drei Werten. Ohne JS (Regler verborgen) steht die Tabelle oben links. */
@media (min-width: 992px) {
  .kpdp-perf { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); grid-template-areas: "kopf kopf" "demo demo" "regler bild" "tabelle bild"; column-gap: 40px; align-items: start; }
  .kpdp-perf__head { grid-area: kopf; }
  .kpdp-perf__demo { grid-area: demo; }
  .kpdp-perf__body { display: contents; }
  .kpdp-perf__controls { grid-area: regler; margin-top: 16px; }
  .kpdp-perf__chart { grid-area: bild; max-width: none; margin-top: 16px; }
  .kpdp-perf__tablewrap { grid-area: tabelle; }
}

/* FAQ, Fragen, Bewertungen mit Support-Karte daneben */
.kpdp-faqarea { display: grid; grid-template-columns: minmax(0, 1fr) 340px; column-gap: 32px; align-items: start; border-top: 1px solid var(--kpdp-grey-200); }
.kpdp-faqarea > .kpdp-tabs.is-tabbed { border-top: 0; }
.kpdp-supportcard { margin: 32px 32px 32px 0; padding: 22px; border-radius: var(--kpdp-radius); background: var(--kpdp-primary-soft, #EAF6FD); display: flex; flex-direction: column; gap: 10px; }
.kpdp-supportcard > i { font-size: 26px; color: var(--kpdp-ink-strong); }
.kpdp-supportcard > b { font: 600 17px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-supportcard > p { margin: 0 0 6px; font-size: 14px; line-height: 1.5; color: var(--kpdp-grey-600); text-wrap: pretty; }
.kpdp-supportcard .kpdp-btn { justify-content: center; }
.kpdp-faqarea:not(:has(.kpdp-supportcard)) { grid-template-columns: minmax(0, 1fr); }

@media (max-width: 991px) {
  .kpdp-faqarea { grid-template-columns: minmax(0, 1fr); }
  .kpdp-supportcard { margin: 0 16px 24px; }

  /* Handy/Tablet: Titel → Bild → Preis, Lieferung, Warenkorb → Details. Vorher kam der Preis erst nach
     zwei Bildschirmhöhen (Titel bei 817 px, Warenkorb bei 1.877 px); Ziel laut Konzept: Preis und
     Lieferdatum vor dem ersten Scrollen. */
  .kpdp-buyarea { display: flex; flex-direction: column; gap: 14px; align-items: stretch; } /* volle Breite für alle Blöcke */
  .kpdp-buyarea__info, .kpdp-buyarea__info > .kpdp-title { display: contents; }
  .kpdp-title > * { order: 1; }
  .kpdp-buyarea__gallery { order: 2; }
  .kpdp-buyarea__box { order: 3; }
  .kpdp-title > .kpdp-shortdesc, .kpdp-title > .kpdp-suitability { order: 4; }
  .kpdp-buyarea__info > :not(.kpdp-title) { order: 5; }
  .kpdp-title__kicker { margin-bottom: -8px; }
}
@media (max-width: 575px) {
  .kpdp-gallery__main { height: 260px; padding: 12px; }
}

/* Handy: Breadcrumb nur als eine Zeile „‹ übergeordnete Kategorie" (vier Zeilen kosteten ~190 px vor dem Titel) */
@media (max-width: 767px) {
  .kpdp-breadcrumb .breadcrumb { flex-wrap: nowrap; margin: 0; }
  .kpdp-breadcrumb .breadcrumb > li { display: none; }
  .kpdp-breadcrumb .breadcrumb > li.breadcrumb-item:last-child { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kpdp-breadcrumb .breadcrumb > li.breadcrumb-item:last-child .breadcrumb-link::before { content: "‹"; margin-right: 6px; font-weight: 600; }
}

/* Angebotsanfrage (nur Gewerbekunden) – schlanke Zeile am Ende der Kaufbox und Fenster */
.kpdp-quote-open {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 12px 0 0;
  border: 0;
  border-top: 1px solid var(--kpdp-grey-100);
  background: none;
  font: 400 13px/1.45 var(--kpdp-font);
  color: var(--kpdp-grey-600);
  text-align: left;
  cursor: pointer;
}
.kpdp-quote-open .bi { flex: none; font-size: 15px; line-height: 1.3; color: var(--kpdp-primary-darker); }
.kpdp-quote-open b { font-weight: 600; color: var(--kpdp-primary-darker); }
.kpdp-quote-open:hover b { text-decoration: underline; }
.kpdp-quote-open small { font-size: 12px; color: var(--kpdp-grey-500); white-space: nowrap; }
/* Fuß der Kaufbox: Zahlungsarten und Vertrauenszeilen, beide mittig */
.kpdp-buybox__footer { display: flex; flex-direction: column; gap: 12px; }
.kpdp-buybox__footer .kpdp-payments + .kpdp-trust,
.kpdp-buybox__footer .kpdp-paychips + .kpdp-trust { border-top: 1px solid var(--kpdp-grey-200); padding-top: 12px; }
.kpdp-buybox__footer .kpdp-trust { align-items: center; text-align: center; gap: 6px; text-wrap: balance; }
.kpdp-buybox__footer .kpdp-trust__row { display: block; }
.kpdp-buybox__footer .kpdp-trust__row .bi { margin-right: 6px; }
/* Liefer-Versprechen (HhIntlSuite) in der Kaufbox kompakter: „Lieferland ändern" und die Erklärung in eine Zeile */
.kpdp-buybox .hh-intl-promise { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 16px; margin-top: 0; padding: 10px 12px; font-size: 13px; }
.kpdp-buybox .hh-intl-promise > * { flex: 1 1 100%; }
.kpdp-buybox .hh-intl-promise > .hh-intl-promise-change,
.kpdp-buybox .hh-intl-promise > .hh-intl-promise-info { flex: 0 1 auto; order: 1; margin-top: 6px; }
.kpdp-buybox .hh-intl-promise > .hh-intl-promise-info[open] { flex-basis: 100%; }
.kpdp-buybox .hh-intl-promise-note { margin-top: 6px; }
.kpdp-stickycart__price strong { font-weight: inherit; }
.kpdp-quote { width: min(580px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 8px; box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }
.kpdp-quote::backdrop { background: rgba(20, 25, 30, .55); }
.kpdp-quote__form { margin: 0; max-width: none; border: 0; padding: 22px 24px 24px; gap: 12px; }
.kpdp-quote__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.kpdp-quote__head h2 { font: 600 20px/1.3 var(--kpdp-font); color: var(--kpdp-grey-700); margin: 0; }
.kpdp-quote__close { border: 0; background: none; padding: 6px; font-size: 18px; color: var(--kpdp-grey-500); cursor: pointer; }
.kpdp-quote__b2b { display: flex; gap: 8px; margin: 0; padding: 10px 12px; border-radius: var(--kpdp-radius); background: var(--kpdp-warning-bg); color: #5C3E00; font-size: 13px; line-height: 1.45; text-wrap: pretty; }
.kpdp-quote__produkt { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 16px; padding: 10px 12px; border-radius: var(--kpdp-radius); background: var(--kpdp-grey-50); }
.kpdp-quote__produkt > b { font: 600 14px/1.35 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-quote__produkt > span { grid-column: 1; font-size: 12px; color: var(--kpdp-grey-500); }
.kpdp-quote__menge { grid-column: 2; grid-row: 1 / span 2; }
.kpdp-quote__menge input { width: 90px; }
.kpdp-form .kpdp-quote__check { flex-direction: row; align-items: flex-start; gap: 8px; font-size: 13px; color: var(--kpdp-grey-600); }
.kpdp-form .kpdp-quote__check input { margin-top: 2px; padding: 0; width: 16px; height: 16px; flex: none; }
.kpdp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.kpdp-quote__actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.kpdp-quote__privat { font-size: 13px; }
.kpdp-quote__form.is-sent > :not(.kpdp-quote__head):not([data-kpdp-form-result]) { display: none; }
@media (max-width: 575px) {
  .kpdp-quote { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; border-radius: 0; }
  .kpdp-quote__form { padding: 18px 16px 24px; }
  .kpdp-quote .kpdp-form__row { grid-template-columns: minmax(0, 1fr); }
}

/* Express-Kauf: Shopwares Kaufformular als Träger der Plugin-Knöpfe – Menge und Warenkorb-Knopf des Trägers
   ausgeblendet, die Knöpfe von Amazon Pay und PayPal untereinander in voller Breite */
.kpdp-express form > .row:has(.btn-buy), .kpdp-express form > .buy-widget-container, .kpdp-express .buy-widget-quantity,
.kpdp-express .product-detail-quantity-group, .kpdp-express .btn-buy { display: none !important; }
.kpdp-express form { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.kpdp-express .row { margin: 0 !important; --bs-gutter-x: 0; }
.kpdp-express .row:empty { display: none; }
.kpdp-express [class*="col-"] { flex: 1 1 100%; width: 100%; max-width: 100%; padding: 0; }
.kpdp-express:not(:has([id*="amazon-pay"], [data-swag-paypal-express-button], [class*="paypal"])) { display: none; }

/* Zahlungsarten mit Logos */
.kpdp-payments { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.kpdp-payments__logos { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.kpdp-payments__logos img { height: 24px; width: auto; padding: 3px 6px; background: #fff; border: 1px solid var(--kpdp-grey-200); border-radius: 4px; }
.kpdp-payments__text { font-size: 12px; color: var(--kpdp-grey-500); text-align: center; text-wrap: balance; }

/* Persönlicher Ansprechpartner (Plugin-Karte an Stelle der Support-Karte): Breiten des Plugins (col-md-8 col-lg-6)
   auf die Spalte anpassen, Inhalte untereinander */
.kpdp-supportcard--person { padding: 0; background: none; gap: 12px; }
.kpdp-supportcard--person .cogi-contact-person-pdp-widget__card { width: 100%; max-width: none; flex: 0 0 auto; margin: 0 !important; border-radius: var(--kpdp-radius) !important; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 18px !important; }
.kpdp-supportcard--person .cogi-contact-person-pdp-widget__list { align-items: center; text-align: center; }
.kpdp-supportcard--person .custom-contact-person-div { margin: 8px 0 0; }
.kpdp-supportcard--person .custom-contact-person-div > [class*="col-"] { flex: 0 0 100%; max-width: 100%; width: 100%; padding: 0; }
.kpdp-supportcard--person .custom-contact-person-div p { margin: 0 0 4px; }
.kpdp-supportcard--person .cogi-contact-person-pdp-widget__media { flex: none; }
.kpdp-supportcard--person .cogi-contact-person-img-container { flex: none; width: 110px !important; height: 110px !important; border-radius: 50% !important; background-size: cover !important; background-position: center !important; }

/* Knöpfe als Links: „.kpdp a" (Linkfarbe) schlug die weiße Schrift von .kpdp-btn--primary – Telefon-Knopf,
   „Anlage berechnen lassen", „Zum Login" standen hellblau auf Dunkelblau (Ararat, 27.10.2026) */
.kpdp a.kpdp-btn--primary, .kpdp a.kpdp-btn--primary:hover, .kpdp a.kpdp-btn--primary:focus { color: #fff; }
.kpdp a.kpdp-btn--outline, .kpdp a.kpdp-btn--outline:hover { color: var(--kpdp-primary-darker); }
.kpdp a.kpdp-btn--ghost, .kpdp a.kpdp-btn--ghost:hover { color: var(--kpdp-primary); }

/* Zubehör-Karten: größere Bilder und Preise (Ararat, 27.10.2026); Raster symmetrisch über ks-raster.js */
.kpdp-acccard { gap: 10px; }
.kpdp-acccard .kpdp-acc__media { height: 120px; }
.kpdp-acccard .kpdp-acc__media .bi { font-size: 40px; }
.kpdp-acccard .kpdp-acc__name { font-size: 13px; }
.kpdp-acc__price { font-size: 17px; }
.kpdp-accrow .kpdp-acc__price { font-size: 15px; }
.kpdp-acc__cart { width: 34px; height: 34px; font-size: 15px; }

/* ============ Seitentypen je Warengruppe (docs/shop/PDP-SEITENTYPEN.md) ============ */
/* T3 Rohr: Maßtabelle unter dem Kaufbereich, in der Kaufbox nur das gewählte Maß */
.kpdp-masse__wrap { border: 1px solid var(--kpdp-grey-200); border-radius: var(--kpdp-radius); overflow: hidden; }
.kpdp-masse__table { width: 100%; border-collapse: collapse; font: 400 14px/1.35 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-masse__table th {
  padding: 9px 14px;
  background: var(--kpdp-grey-50);
  font: 500 11px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-500);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
}
.kpdp-masse__table td { padding: 9px 14px; border-top: 1px solid var(--kpdp-grey-100); vertical-align: middle; }
.kpdp-masse__table tbody tr:hover { background: var(--kpdp-grey-50); }
.kpdp-masse__table tr.is-active,
.kpdp-masse__table tr.is-active:hover { background: var(--kpdp-accent); box-shadow: inset 3px 0 0 var(--kpdp-primary-dark); }
.kpdp-masse__table tr.is-active td:first-child { font-weight: 600; }
.kpdp-masse__table tr.is-off { color: var(--kpdp-grey-400); }
.kpdp-masse__num { text-align: right !important; white-space: nowrap; }
.kpdp-masse__preis { font-weight: 600; }
.kpdp-masse__preis small { display: block; font: 400 11px/1.3 var(--kpdp-font); color: var(--kpdp-grey-500); }
.kpdp-masse__aktion { text-align: right; white-space: nowrap; width: 1%; }
.kpdp-masse__link {
  display: inline-block;
  padding: 6px 14px;
  border: 1px solid var(--kpdp-primary);
  border-radius: var(--kpdp-radius);
  font: 500 13px/1.2 var(--kpdp-font);
  color: var(--kpdp-primary-darker);
}
.kpdp-masse__link:hover { background: var(--kpdp-accent); color: var(--kpdp-primary-darker); text-decoration: none; }
.kpdp-masse__gewaehlt { font: 600 13px/1.2 var(--kpdp-font); color: var(--kpdp-primary-darker); }
.kpdp-masse__aus { font-size: 12px; }
/* Handy: jede Ausführung als Zeile mit Maßen links, Preis und Knopf rechts */
@media (max-width: 575px) {
  .kpdp-masse__table thead { display: none; }
  .kpdp-masse__table tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 10px 12px; border-top: 1px solid var(--kpdp-grey-100); }
  .kpdp-masse__table tbody tr:first-child { border-top: 0; }
  .kpdp-masse__table td { padding: 0; border: 0; grid-column: 1; }
  .kpdp-masse__table td[data-label]::before { content: attr(data-label) ": "; color: var(--kpdp-grey-500); font-size: 12px; }
  .kpdp-masse__table td.kpdp-masse__preis { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
  .kpdp-masse__table td.kpdp-masse__aktion { grid-column: 2; align-self: center; margin-top: 6px; }
}
.kpdp-masswahl { display: flex; flex-direction: column; gap: 8px; }
.kpdp-masswahl__label { font: 500 12px/1.2 var(--kpdp-font); color: var(--kpdp-grey-500); letter-spacing: 0.04em; text-transform: uppercase; }
.kpdp-masswahl__werte { display: flex; flex-wrap: wrap; gap: 6px; }
.kpdp-masswahl__werte span { display: inline-flex; flex-direction: column; padding: 6px 12px; border: 1px solid var(--kpdp-primary); border-radius: var(--kpdp-radius); background: var(--kpdp-accent); font: 600 14px/1.25 var(--kpdp-font); color: var(--kpdp-grey-700); }
.kpdp-masswahl__werte small { font: 400 11px/1.2 var(--kpdp-font); color: var(--kpdp-grey-500); }
.kpdp-masswahl__link { align-self: flex-start; font: 500 13px/1.3 var(--kpdp-font); color: var(--kpdp-primary-darker); }
.kpdp-mengenrechner { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13px; color: var(--kpdp-grey-600); }
.kpdp-mengenrechner label { margin: 0; font-weight: 500; }
.kpdp-mengenrechner__feld { display: inline-flex; align-items: center; gap: 6px; }
.kpdp-mengenrechner__feld input { width: 84px; padding: 6px 8px; border: 1px solid var(--kpdp-grey-300); border-radius: var(--kpdp-radius-sm); font: 500 14px/1.2 var(--kpdp-font); }
.kpdp-mengenrechner__ergebnis { font-weight: 600; color: var(--kpdp-primary-darker); }

/* T2 Armatur / T5 Chemie: Hinweise unter den Kerndaten */
.kpdp-typhint { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: var(--kpdp-radius); background: var(--kpdp-grey-50); border: 1px solid var(--kpdp-grey-200); font-size: 13px; line-height: 1.45; color: var(--kpdp-grey-600); }
.kpdp-typhint > .bi { font-size: 20px; color: var(--kpdp-primary-darker); flex: none; line-height: 1.2; }
.kpdp-typhint p { margin: 0 0 4px; text-wrap: pretty; }
.kpdp-typhint b { color: var(--kpdp-grey-700); }
.kpdp-typhint--warn { background: var(--kpdp-warning-bg); border-color: #F3DDA8; }
.kpdp-typhint--warn > .bi { color: var(--kpdp-warning-fg); }
.kpdp-typhint__links { display: inline-flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 4px; }
.kpdp-typhint__links a { color: var(--kpdp-primary-darker); font-weight: 500; }

/* T6 Klima: Montage durch Fachbetrieb */
.kpdp-montage__inner { display: flex; align-items: center; gap: 20px; padding: 20px 24px; border-radius: var(--kpdp-radius); background: var(--kpdp-accent); }
.kpdp-montage__inner > .bi { font-size: 34px; color: var(--kpdp-primary-darker); flex: none; }
.kpdp-montage__copy { flex: 1; min-width: 0; }
.kpdp-montage__copy p { margin: 4px 0 0; font-size: 14px; color: var(--kpdp-grey-600); text-wrap: pretty; }
.kpdp-montage__btn { flex: none; }
@media (max-width: 767px) {
  .kpdp-montage__inner { flex-direction: column; align-items: flex-start; }
  .kpdp-montage__btn { width: 100%; }
}
/* Maßtabelle: Schnellwahl nach der ersten Spalte (initMasseFilter) */
.kpdp-masse__table tr[hidden] { display: none !important; }
.kpdp-masse__filter { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.kpdp-masse__filter[hidden] { display: none; }
.kpdp-masse__filterlabel { font: 500 12px/1.2 var(--kpdp-font); color: var(--kpdp-grey-500); letter-spacing: 0.04em; text-transform: uppercase; }
.kpdp-masse__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.kpdp-masse__chip {
  padding: 7px 12px;
  border: 1px solid var(--kpdp-grey-300);
  border-radius: var(--kpdp-radius);
  background: #fff;
  font: 500 13px/1.2 var(--kpdp-font);
  color: var(--kpdp-grey-700);
  cursor: pointer;
}
.kpdp-masse__chip:hover { border-color: var(--kpdp-primary); }
.kpdp-masse__chip.is-active { border-color: var(--kpdp-primary); background: var(--kpdp-primary); color: #fff; }
/* Sprung zu Datenblatt und Dokumenten (typ/hinweise) */
.kpdp-doclink { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font: 500 14px/1.3 var(--kpdp-font); color: var(--kpdp-primary-darker); }
.kpdp-doclink .bi { font-size: 18px; color: #C62828; }
.kpdp-doclink:hover { text-decoration: underline; color: var(--kpdp-primary-darker); }
.kpdp-masse__mehr { display: inline-flex; margin-top: 10px; padding: 8px 0; border: 0; background: none; font: 500 14px/1.3 var(--kpdp-font); color: var(--kpdp-primary-darker); cursor: pointer; }
.kpdp-masse__mehr:hover { text-decoration: underline; }
.kpdp-masse__mehr[hidden] { display: none; }
/* „Abbildung ähnlich“ unter dem Produktbild, Prüfhinweis beim Nachfolger, Dateityp/-größe der Dokumente */
.kpdp-gallery__main { position: relative; }
.kpdp-gallery__note { position: absolute; left: 10px; bottom: 8px; padding: 2px 8px; border-radius: 9999px; background: rgba(255, 255, 255, .85); font: 400 11px/1.4 var(--kpdp-font); color: var(--kpdp-grey-500); }
.kpdp-successor__hint { margin-top: 6px; font-size: 12px; color: var(--kpdp-grey-600); text-wrap: pretty; }
.kpdp-download__meta { display: block; font: 400 11px/1.3 var(--kpdp-font); color: var(--kpdp-grey-500); }
/* Grundpreis direkt unter dem Hauptpreis, mit dessen Steuerangabe (PAngV) */
.kpdp-price__grund { margin-top: 2px; font-size: 13px; color: var(--kpdp-grey-600); }
