/* Produkt-Detailseiten: einzelnes Angebot (/angebote/<id>) und einzelne Vorbestellung
   (/vorbestellen/<id>). Laedt nach pn-deals.css (und pn-preorder.css); nur neue Klassen
   mit Praefix "pd", begrenzt auf body.pn-produkt. */
body.pn-produkt .pd-crumbs,
body.pn-produkt .pd,
body.pn-produkt .pd-section,
body.pn-produkt .pd-back {
  box-sizing: border-box;
  width: 100%; max-width: var(--pn-max);
  margin-inline: auto; padding-inline: var(--pn-gutter);
}
body.pn-produkt .pd-crumbs ol {
  display: flex; flex-wrap: wrap; gap: 0.25rem 0.5rem;
  margin: 1rem 0 0; padding: 0; list-style: none;
  font-size: 0.875rem; color: var(--muted);
}
body.pn-produkt .pd-crumbs li + li::before { content: "›"; margin-right: 0.5rem; }
body.pn-produkt .pd-crumbs a { color: var(--bsn); }
body.pn-produkt .pd {
  display: grid; grid-template-columns: minmax(0, 26rem) minmax(0, 1fr);
  gap: 1.5rem 2rem; align-items: start;
  margin-top: 1rem; margin-bottom: 2rem;
}
body.pn-produkt .pd__media { border: 1px solid var(--border); }
body.pn-produkt .pd__main { display: flex; flex-direction: column; gap: 0.6rem; }
body.pn-produkt .pd__eyebrow {
  margin: 0; font-size: 0.8125rem; font-weight: 700; color: var(--muted);
  text-transform: uppercase; letter-spacing: 0.04em;
}
body.pn-produkt .pd__title {
  margin: 0;
  font: 700 clamp(1.6rem, 3.6vw, 2.4rem)/1.12 var(--pn-serif); color: var(--pn-ink);
  overflow-wrap: anywhere;
}
body.pn-produkt .pd__summary { margin: 0; max-width: 40rem; font-size: 1.0625rem; color: var(--pn-text); }
body.pn-produkt .pd__main .deal-card__now { font-size: 2rem; }
body.pn-produkt .pd__spiel { display: flex; flex-wrap: wrap; gap: 0.35rem 0.5rem; margin: 0; }
body.pn-produkt .pd__spiel span {
  padding: 0.2rem 0.6rem; border: 1px solid var(--border); border-radius: 999px;
  font-size: 0.875rem; font-weight: 700; color: var(--pn-ink);
}
body.pn-produkt .pd-note a { color: var(--bsn); }
body.pn-produkt .pd__release {
  display: flex; flex-direction: column; gap: 0.15rem;
  margin: 0; padding: 0.75rem 1rem;
  background: var(--card); border: 1px solid var(--border); border-radius: 8px;
}
body.pn-produkt .pd__release strong { font-size: 1.125rem; color: var(--pn-ink); }
body.pn-produkt .pd__release small { font-size: 0.8125rem; color: var(--muted); }
body.pn-produkt .pd-section { margin-bottom: 2rem; }
body.pn-produkt .pd-compare { width: 100%; border-collapse: collapse; font-size: 0.9375rem; }
body.pn-produkt .pd-compare th,
body.pn-produkt .pd-compare td {
  padding: 0.25rem 0.4rem; border-top: 1px solid var(--border);
  text-align: left; vertical-align: middle;
}
body.pn-produkt .pd-compare thead th { border-top: 0; font-size: 0.8125rem; color: var(--muted); }
body.pn-produkt .pd-compare td:nth-child(2) { font-weight: 800; white-space: nowrap; }
body.pn-produkt .pd-compare tr.is-best td:nth-child(2) { color: var(--deal-ok); }
body.pn-produkt .pd-compare a {
  display: inline-flex; align-items: center; min-height: 64px;
  color: var(--bsn); font-weight: 700;
}
body.pn-produkt .pd-facts { display: grid; grid-template-columns: max-content 1fr; gap: 0.4rem 1.25rem; margin: 0; }
body.pn-produkt .pd-facts dt { color: var(--muted); }
body.pn-produkt .pd-facts dd { margin: 0; color: var(--pn-ink); overflow-wrap: anywhere; }
body.pn-produkt .pd-note { margin: 0.75rem 0 0; max-width: 48rem; font-size: 0.8125rem; color: var(--muted); }
body.pn-produkt .pd-back a { display: inline-flex; align-items: center; min-height: 64px; color: var(--bsn); font-weight: 700; }
body.pn-produkt .pd-gone { margin-block: 2rem; }
@media (max-width: 760px) {
  body.pn-produkt .pd { grid-template-columns: minmax(0, 1fr); }
  body.pn-produkt .pd-compare thead { display: none; }
}
