/* Product pages only; the shared Signal theme owns fonts and palette tokens. */
.p-product {
  --p-line: #39443b;
  --p-panel: #1c241e;
  margin: 0;
  background: var(--signal-bg, #111614);
  color: var(--signal-fg, #edf2e9);
  font: 400 16px/1.65 Manrope, Arial, sans-serif;
  color-scheme: dark;
  scrollbar-color: #83907b #111614;
}
.p-product *, .p-product *::before, .p-product *::after { box-sizing: border-box; letter-spacing: 0; }
.p-product ::selection { background: var(--signal-accent, #abff43); color: #111614; }
.p-product a { color: inherit; text-underline-offset: 4px; }
.p-product a:hover { color: var(--signal-accent, #abff43); }
.p-product :focus-visible { outline: 2px solid var(--signal-accent, #abff43); outline-offset: 5px; }
.p-product img { max-width: 100%; height: auto; display: block; }
.p-product h1, .p-product h2, .p-product h3, .p-product p { margin-top: 0; }
.p-product h2 { font: 700 48px/1.05 Barlow, sans-serif; text-wrap: balance; margin-bottom: 22px; }
.p-product h3 { font: 700 22px/1.3 Manrope, sans-serif; margin-bottom: 14px; }
.p-product p, .p-product li { overflow-wrap: anywhere; }
.p-product p { max-width: 72ch; }
.p-product .p-topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 4%; border-bottom: 1px solid var(--p-line); }
.p-product .p-logo { font: 700 28px/1 Barlow, sans-serif; text-decoration: none; }
.p-product .p-topbar nav { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; font-size: 13px; }
.p-product .p-topbar nav a { text-decoration: none; min-height: 36px; display: inline-flex; align-items: center; }
.p-product .p-cinematic { position: relative; background: var(--signal-bg, #111614); }
.p-product .p-scene { position: relative; min-height: 580px; height: 77svh; max-height: 860px; overflow: hidden; isolation: isolate; }
.p-product .p-title { position: absolute; top: 8%; left: 4%; z-index: 2; width: 45%; }
.p-product .p-title h1 { margin: 0; font: 700 104px/.87 Barlow, sans-serif; }
.p-product .p-title h1 span { display: block; font-size: 208px; color: var(--signal-accent, #abff43); }
.p-product .p-title p { font-size: 18px; margin-top: 26px; max-width: 26ch; }
.p-product .p-object { position: absolute; top: 0; right: 0; width: 57%; height: 79%; transform: translateY(var(--p-shift, 0px)); }
.p-product .p-object img, .p-product .p-object canvas { width: 100%; height: 100%; object-fit: contain; }
.p-product .p-object canvas { position: absolute; inset: 0; opacity: 0; }
.p-product .p-object.p-ready canvas { opacity: 1; }
.p-product .p-object.p-ready .p-poster { opacity: 0; }
.p-product [data-product="x8"] .p-object { top: 5%; right: 4%; width: 46%; height: 68%; clip-path: inset(var(--p-inset, 0%) 0 0 0); }
.p-product .p-scene-actions { position: absolute; bottom: 30px; left: 4%; right: 4%; z-index: 3; }
.p-product .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.p-product .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border: 1px solid var(--signal-accent, #abff43); border-radius: 3px; background: var(--signal-accent, #abff43); color: #111614; font: 700 14px/1.4 Manrope, sans-serif; text-align: center; text-decoration: none; transition: background .18s, color .18s; }
.p-product .button:hover { background: #c4ff80; color: #111614; }
.p-product .button.secondary, .p-product .button.ghost { color: var(--signal-fg, #edf2e9); border-color: var(--p-line); background: #111614; }
.p-product .button.secondary:hover, .p-product .button.ghost:hover { border-color: var(--signal-accent, #abff43); color: var(--signal-accent, #abff43); }
.p-product .nav { position: sticky; top: 0; z-index: 10; background: #111614; border-block: 1px solid var(--p-line); }
.p-product .nav-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 24px; width: 92%; max-width: 1440px; margin: auto; padding: 12px 0; }
.p-product .nav-brand { display: flex; gap: 10px; align-items: center; text-decoration: none; font-size: 13px; }
.p-product .logo-mark { width: 34px; height: 34px; object-fit: contain; }
.p-product .nav-links { display: flex; flex: 1; gap: 20px; overflow-x: auto; min-width: 0; padding: 5px; scrollbar-width: thin; }
.p-product .nav-links a { flex-shrink: 0; padding: 5px 0; font-size: 13px; text-decoration: none; }
.p-product .language-switch { display: inline-flex; gap: 14px; flex-shrink: 0; font-size: 12px; }
.p-product .language-switch a { display: inline-flex; align-items: center; min-height: 36px; text-decoration: none; }
.p-product .language-switch [aria-current="page"] { color: var(--signal-accent, #abff43); text-decoration: underline; }
.p-product .hero { padding: 72px 4%; border-bottom: 1px solid var(--p-line); }
.p-product .hero-inner { max-width: 1360px; margin: auto; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 64px; align-items: start; }
.p-product .hero-inner > div > h2 { font-size: 58px; margin-bottom: 12px; }
.p-product .brand-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--signal-muted, #b9c1b2); font-size: 13px; margin-bottom: 18px; }
.p-product .kicker, .p-product .tag { color: var(--signal-muted, #b9c1b2); font-size: 13px; margin: 18px 0; }
.p-product .headline-strip { font: 700 28px/1.2 Barlow, sans-serif; color: var(--signal-accent, #abff43); margin-bottom: 24px; }
.p-product .hero-copy { font-size: 17px; }
.p-product .hero-note { color: var(--signal-muted, #b9c1b2); border-block: 1px solid var(--p-line); padding: 18px 0; font-size: 14px; }
.p-product .diagnostic-rail, .p-product .stage-caption { display: flex; flex-wrap: wrap; gap: 12px 22px; margin: 22px 0; font-size: 12px; color: var(--signal-muted, #b9c1b2); }
.p-product .diagnostic-rail b, .p-product .stage-caption b { margin-right: 8px; color: var(--signal-accent, #abff43); }
.p-product .visit-meter { margin-top: 26px; font-size: 12px; color: var(--signal-muted, #b9c1b2); }
.p-product .visit-meter strong, .p-product .visit-meter span { display: block; }
.p-product .mobile-product { display: none; }
.p-product .product-stage { min-width: 0; }
.p-product .note-card { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; font-size: 14px; }
.p-product .note-card strong { color: var(--signal-accent, #abff43); }
.p-product .photo-frame { margin: 0; }
.p-product .photo-frame img { width: 100%; max-height: 640px; object-fit: contain; }
.p-product .hero-photo img { max-height: 420px; }
.p-product .readout { font-size: 12px; color: var(--signal-muted, #b9c1b2); padding-top: 12px; }
.p-product main > section { padding: 76px 4%; border-bottom: 1px solid var(--p-line); scroll-margin-top: 135px; }
.p-product main > section > * { max-width: 1360px; margin-left: auto; margin-right: auto; }
.p-product .section-head { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 48px; align-items: start; margin-bottom: 36px; }
.p-product .lead { font-size: 17px; color: var(--signal-muted, #b9c1b2); }
.p-product .grid-3, .p-product .grid-2 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.p-product .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p-product .card, .p-product .decision { min-width: 0; padding: 24px 0; border-top: 1px solid var(--p-line); }
.p-product .card > b { display: block; color: var(--signal-accent, #abff43); margin-bottom: 18px; font-size: 15px; }
.p-product .card p, .p-product .card li, .p-product .decision li, .p-product .warning p { color: var(--signal-muted, #b9c1b2); font-size: 15px; }
.p-product ul { padding-left: 20px; }
.p-product li + li { margin-top: 9px; }
.p-product .good h3 { color: var(--signal-accent, #abff43); }
.p-product .stop h3, .p-product .warning h3 { color: #ffc1b4; }
.p-product .warning { padding: 26px 0; border-block: 1px solid #745348; }
.p-product .photo-band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: center; }
.p-product .check { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--p-line); }
.p-product .check > span { color: var(--signal-accent, #abff43); font-variant-numeric: tabular-nums; }
.p-product .check p { margin: 8px 0 0; font-size: 14px; color: var(--signal-muted, #b9c1b2); }
.p-product .media-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.p-product .media-pair img { width: 100%; height: 560px; object-fit: contain; }
.p-product #faq .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p-product #direktkauf .card, .p-product #direct-purchase .card { display: flex; flex-direction: column; }
.p-product #direktkauf .card > p:last-child, .p-product #direct-purchase .card > p:last-child { margin-top: auto; padding-top: 24px; }
.p-product #direktkauf strong, .p-product #direct-purchase strong { color: var(--signal-fg, #edf2e9); font-size: 21px; }
.p-product .legal { font-size: 13px; color: var(--signal-muted, #b9c1b2); margin-top: 24px; }
.p-product .cta-band { display: flex; flex-wrap: wrap; gap: 28px; align-items: center; justify-content: space-between; }
.p-product .cta-band > div { flex: 1 1 420px; }
.p-product .cta-band p { color: var(--signal-muted, #b9c1b2); }
.p-product .withdrawal-fab { position: sticky; bottom: 0; z-index: 30; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 12px 20px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--p-line); background: var(--signal-bg); color: var(--signal-fg); font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.p-product footer { padding: 44px 4%; display: flex; flex-wrap: wrap; align-items: center; gap: 24px 40px; font-size: 13px; color: var(--signal-muted, #b9c1b2); }
.p-product .footer-brand, .p-product .footer-links { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.p-product .footer-links { margin-left: auto; }
.p-product .footer-links a { padding-block: 8px; }
@media (min-width: 1600px) {
  .p-product .p-title h1 { font-size: 136px; }
  .p-product .p-title h1 span { font-size: 264px; }
}
@media (max-width: 1100px) {
  .p-product .p-title h1 { font-size: 80px; }
  .p-product .p-title h1 span { font-size: 172px; }
  .p-product .nav-inner > .language-switch { display: none; }
  .p-product .hero-inner, .p-product .photo-band { gap: 32px; }
  .p-product .section-head { gap: 28px; }
}
@media (max-width: 700px) {
  .p-product .p-topbar { padding: 14px 20px; }
  .p-product .p-topbar nav { gap: 16px; }
  .p-product .p-logo { font-size: 24px; }
  .p-product .p-scene { display: grid; grid-template-rows: auto minmax(280px, 1fr) auto; gap: 14px; padding: 24px 20px 20px; height: calc(100svh - 112px); min-height: 650px; max-height: none; }
  .p-product .p-title { position: static; width: 100%; }
  .p-product .p-title h1 { font-size: 52px; }
  .p-product .p-title h1 span { font-size: 96px; }
  .p-product .p-title p { font-size: 13px; margin: 12px 0 0; max-width: none; }
  .p-product .p-object { position: relative; top: auto; right: auto; width: 100%; height: 100%; min-height: 0; transform: none; }
  .p-product [data-product="x8"] .p-object { position: relative; top: auto; right: auto; width: 100%; height: 100%; clip-path: none; overflow: hidden; }
  .p-product [data-product="x8"] .p-object img { object-fit: cover; object-position: 50% 40%; transform: scale(1.25); transform-origin: 50% 38%; }
  .p-product .p-scene-actions { position: static; }
  .p-product .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .p-product .button { padding: 11px 12px; font-size: 12px; min-height: 46px; }
  .p-product .nav-inner { width: 100%; padding: 8px 15px; }
  .p-product .nav-brand { display: none; }
  .p-product .nav-links { gap: 20px; }
  .p-product .nav-links a { font-size: 12px; }
  .p-product .hero { padding: 44px 20px; }
  .p-product .hero-inner { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .p-product .hero-inner > div > h2 { font-size: 42px; }
  .p-product .hero-copy { font-size: 16px; }
  .p-product .hero-photo img { max-height: 360px; }
  .p-product main > section { padding: 48px 20px; scroll-margin-top: 78px; }
  .p-product h2 { font-size: 36px; }
  .p-product h3 { font-size: 20px; }
  .p-product .section-head, .p-product .grid-2, .p-product .grid-3, .p-product #faq .grid-3, .p-product .photo-band { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .p-product .section-head { margin-bottom: 20px; }
  .p-product .section-head h2 { margin-bottom: 0; }
  .p-product .lead { font-size: 16px; }
  .p-product .card, .p-product .decision { padding: 22px 0; }
  .p-product .media-pair { gap: 16px; }
  .p-product .media-pair img { height: auto; aspect-ratio: 3 / 4; object-fit: contain; }
  .p-product footer { padding: 32px 20px; }
  .p-product .footer-links { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .p-product .p-object { transform: none; clip-path: none; }
  .p-product .button { transition: none; }
}
@media print {
  .p-product { background: white; color: black; }
  .p-product .p-cinematic, .p-product .nav, .p-product .p-topbar { display: none; }
  .p-product main > section, .p-product .hero { padding: 20px 0; }
  .p-product .card p, .p-product .card li, .p-product .lead, .p-product .legal { color: #333; }
}
