/* Pressholic product page components (growth G5). Uses only the site's existing tokens (:root in every page).
   Loaded by region-generated product pages only, as one cacheable hashed file (ADR-001). */
.pp-lede{font-size:var(--fs-intro);line-height:var(--lh-support)}
.prose .pp-block{margin-top:var(--s-6);padding:var(--s-5);border:1px solid var(--line);border-radius:var(--r-2);background:var(--surface-elev)}
.pp-block>*+*{margin-top:var(--s-3)}
.pp-block-t{font-family:var(--font-display);font-size:1.25rem;line-height:var(--lh-heading);font-weight:700;text-align:left}
.pp-block p{text-align:left;hyphens:auto}
.pp-calc{display:grid;gap:var(--s-3)}
.pp-calc .btn{justify-self:start}
.pp-price table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.pp-price caption{text-align:left;font-size:var(--fs-support);color:var(--text-muted);padding-bottom:var(--s-2);caption-side:top}
.pp-price th,.pp-price td{padding:.6rem .5rem;border-bottom:1px solid var(--line);text-align:left}
.pp-price thead th{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:var(--track-meta);text-transform:uppercase;color:var(--text-muted);font-weight:500}
.pp-price td:last-child,.pp-price th:last-child{text-align:right}
.pp-price-note{font-size:var(--fs-support);color:var(--text-muted)}
.pp-links{display:grid;gap:.5rem;list-style:none;padding:0;margin:0}
.prose .pp-links li,.prose .pp-block p{text-align:left;hyphens:manual}
.pp-links a{display:inline-flex;gap:.4rem;align-items:baseline;color:var(--text-link);font-weight:500;text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--press) 45%,transparent);text-underline-offset:.2em}
.pp-links a:hover{color:var(--text-link-hover)}
.pp-two{display:grid;gap:var(--s-5)}
@media (min-width:720px){.pp-two{grid-template-columns:1fr 1fr}}
/* Preview-only markers (never present in production output; the renderer and its tests enforce it) */
.pp-preview-bar{position:sticky;top:0;z-index:var(--z-toast);background:var(--warning-soft);color:var(--warning-fg);border-bottom:2px solid var(--warning);padding:.5rem var(--gutter);font:600 var(--fs-caption)/1.4 var(--font-body);text-align:center}
.pp-badge{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;border-radius:var(--r-pill);font:500 .6875rem/1.6 var(--font-mono);letter-spacing:.04em;vertical-align:middle;white-space:nowrap}
.pp-badge--VERIFIED,.pp-badge--REGISTER{background:var(--success-soft);color:var(--success-fg)}
.pp-badge--CURRENT_CLAIM{background:var(--info-soft);color:var(--info-fg)}
.pp-badge--EDITORIAL{background:var(--surface-sunken);color:var(--text-muted)}
.pp-badge--DATA_REQUIRED,.pp-badge--PHOTO_REQUIRED{background:var(--error-soft);color:var(--error-fg)}
.pp-missing{color:var(--error-fg);font-weight:600}
.pp-photos{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));list-style:none;padding:0;margin:0}
.pp-photos li{aspect-ratio:4/3;display:grid;place-items:center;text-align:center;padding:var(--s-3);border:2px dashed var(--error);border-radius:var(--r-2);background:var(--error-soft);color:var(--error-fg);font-size:var(--fs-caption)}
@media (prefers-reduced-motion:reduce){.pp-links a{transition:none}}
