/* Sealed-Produktseite (worker/product-page.js). Baut auf offer-page.css (pv-*) auf; neu nur: Kopf-Chips mit Release-Datum (pp-chips) und Block "Inhalt" (pp-contents mit pp-facts/pp-fact/pp-promo) und "Mehr aus dem Set" (pp-more). Einheitliche Seite: offer-page.css. Nur --ob-*-Tokens. */
.pp-chips { display: flex; flex-wrap: wrap; gap: var(--ob-s-2); }
.pp-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
.pp-links { display: flex; flex-wrap: wrap; gap: var(--ob-s-2); }
.pp-links a { text-decoration: none; }
.pp h2.v2-lbl { margin: 0; font-weight: 400; }
/* Reihenfolge (Handy + Desktop) steht in offer-page.css (order je Klasse). */

html.cp-v2 .pv-th { border-radius: var(--ob-r-xs); }
html.cp-v2 .pp .pp-intro p { margin: 0; color: var(--ob-mute); font-size: var(--ob-fs-md); line-height: var(--ob-lh-body); }
html.cp-v2 .pp .pp-rel { color: var(--ob-ink); }
html.cp-v2 .pp .pp-list li { padding: var(--ob-s-2) 0; border-top: 1px solid var(--ob-line); font-size: var(--ob-fs-md); line-height: var(--ob-lh-body); color: var(--ob-ink); overflow-wrap: anywhere; }
html.cp-v2 .pp .pp-list li:first-child { border-top: 0; }
html.cp-v2 .pp .pp-src { margin: 0; font-family: var(--cp-font-mono); font-size: var(--ob-fs-xs); color: var(--ob-dim); }
html.cp-v2 .pp .pp-src a, html.cp-v2 .pp .pp-usd a { color: var(--ob-mute); }
html.cp-v2 .pp .pp-offers { display: grid; gap: var(--ob-s-2); }
html.cp-v2 .pp .pp-none p { margin: 0; color: var(--ob-mute); font-size: var(--ob-fs-md); line-height: var(--ob-lh-body); }
html.cp-v2 .pp .pp-usd { gap: var(--ob-s-1); }
html.cp-v2 .pp .pp-usd .v2-big { font-size: var(--ob-fs-lg); }
html.cp-v2 .pp .pp-links .v2-chip { color: var(--ob-ink); }

/* ---- Block Inhalt (.pp-contents): Einleitung, Kachel-Raster, Promo-Karte, Liste, Quelle ---- */
html.cp-v2 .pp-contents { gap: var(--ob-s-3); }
html.cp-v2 .pp-contents .pp-lead { margin: 0; font-size: var(--ob-fs-sm); line-height: var(--ob-lh-body); color: var(--ob-mute); }
html.cp-v2 .pp-contents .pp-lead b { color: var(--ob-ink); font-weight: 800; }
.pp-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--ob-s-2); margin: 0; padding: 0; list-style: none; }
.pp-fact, .pp-promo { display: grid; align-content: start; gap: 2px; min-width: 0; }
.pp-promo:has(> img) { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--ob-s-3); align-items: center; }
.pp-promo > img { grid-row: 1 / span 4; width: 44px; height: auto; display: block; }
.pp-promo > :not(img) { grid-column: 2; }
.pp-promo:not(:has(> img)) > :not(img) { grid-column: auto; }
a.pp-fact { text-decoration: none; }
html.cp-v2 .pp-fact, html.cp-v2 .pp-promo { padding: var(--ob-s-2) var(--ob-s-3); border: 1px solid var(--ob-line); border-radius: var(--ob-r-sm); background: var(--ob-field); color: var(--ob-ink); }
html.cp-v2 .pp-promo > img { border-radius: var(--ob-r-xs); background: var(--ob-hover); }
/* Label (Mono, Grossbuchstaben), Wert (800), Unterzeile (--ob-mute); Klassen .pp-fl/.pp-fv/.pp-fs, Rueckfall dt/dd bzw. span/b/small */
html.cp-v2 .pp-fl, html.cp-v2 .pp-fact > span:first-child, html.cp-v2 .pp-promo > span:first-of-type { font-family: var(--cp-font-mono); font-size: var(--ob-fs-2xs); font-weight: 650; letter-spacing: var(--ob-track-caps); text-transform: uppercase; color: var(--ob-mute); }
html.cp-v2 .pp-fv, html.cp-v2 .pp-fact > b, html.cp-v2 .pp-promo > b { font-size: var(--ob-fs-md); font-weight: 800; color: var(--ob-ink); overflow-wrap: anywhere; }
html.cp-v2 .pp-fs, html.cp-v2 .pp-fact > small, html.cp-v2 .pp-promo > small { font-size: var(--ob-fs-xs); color: var(--ob-mute); }
html.cp-v2 .pp-fa, html.cp-v2 .pp-promo a { font-size: var(--ob-fs-xs); color: var(--ob-violet-text); text-decoration: none; }
html.cp-v2 a.pp-fact:focus-visible { outline: 2px solid var(--ob-aqua); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { html.cp-v2 a.pp-fact:hover { border-color: rgb(var(--ob-violet-rgb) / 0.55); } }
html.cp-v2 .pp-contents .pp-list li { padding: var(--ob-s-1) 0; font-size: var(--ob-fs-sm); text-wrap: pretty; } /* kein einzelnes Restwort in der letzten Zeile */
/* "Mehr aus dem Set": gleiche Kacheln wie .pv-sim (Wisch-Karussell .pv-swipe > .pv-sc) */
html.cp-v2 .pp-more, html.cp-v2 .pv-more { display: grid; gap: var(--ob-s-2); min-width: 0; }
/* Produktseite ohne Angebote (kein .pv-list): Kopfbild groesser als auf der einheitlichen Seite (Handy 96 px, Desktop 112 px) */
html.cp-v2 .pp:not(:has(.pv-list)) .pv-head { grid-template-columns: 96px minmax(0, 1fr); }
html.cp-v2 .pp:not(:has(.pv-list)) .pv-th { width: 96px; height: 96px; }
@media (min-width: 900px) {
  html.cp-v2 .pp:not(:has(.pv-list)) .pv-head { grid-template-columns: 112px minmax(0, 1fr); }
  html.cp-v2 .pp:not(:has(.pv-list)) .pv-th { width: 112px; height: 112px; }
}

/* Umbau Produktseite (P-C, nur .pv2): Zawartosc in der Seitenspalte: Liste mit Trennlinien, Label links, Wert rechts (kein Umbruch des Werts) */
html.cp-v2 .pv2 .pv-side .pp-contents { gap: var(--ob-s-2); }
html.cp-v2 .pv2 .pv-side .pp-contents .pp-lead { margin-bottom: var(--ob-s-1); }
html.cp-v2 .pv2 .pv-side .pp-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
html.cp-v2 .pv2 .pv-side .pp-fact, html.cp-v2 .pv2 .pv-side .pp-promo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; column-gap: var(--ob-s-3); row-gap: var(--ob-s-1); padding: var(--ob-s-2) 0; border: 0; border-top: 1px solid var(--ob-line); border-radius: 0; background: none; }
html.cp-v2 .pv2 .pv-side .pp-facts > :first-child { border-top: 0; padding-top: 0; }
html.cp-v2 .pv2 .pv-side :is(.pp-fl, .pp-fact > span:first-child) { flex: 1 1 auto; min-width: 0; }
html.cp-v2 .pv2 .pv-side :is(.pp-fv, .pp-fact > b) { flex: 0 0 auto; margin-left: auto; text-align: right; white-space: nowrap; }
html.cp-v2 .pv2 .pv-side :is(.pp-fs, .pp-fa, .pp-fact > small) { flex: 1 1 100%; text-align: right; }
html.cp-v2 .pv2 .pv-side .pp-promo:has(> img) { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--ob-s-3); align-items: center; }
html.cp-v2 .pv2 .pv-side .pp-src { color: var(--ob-dim); } /* kleiner als --ob-fs-xs gibt es kein Token */

/* Art-Seite ohne Katalogprodukt (worker/kind-page.js, .pp-kind): eine Spalte, Platzhalter-Icon im Kopfbild */
.pp-kind-cols { display: flex; flex-direction: column; gap: var(--ob-s-3); margin-top: var(--ob-s-3); min-width: 0; }
html.cp-v2 .pp-kind .pv-th .ob-icon { width: var(--ob-icon); height: var(--ob-icon); color: var(--ob-dim); }
