/* ============================================================
   Yellow Robots — /privacy page layer
   Builds on site.css (tokens · reset · .yr-dark · .yr-eyebrow).
   Design: iteration-3 bundle, GDPR layer §B / Concept Board frame 13.
   Selectors scoped under .pv so text colours beat the theme's
   `.yr-dark p` (0,1,1) rule — otherwise body copy loses its colour.
   Type sized for comfortable reading (bumped 2026-07-14 per owner).
   ============================================================ */

.pv{ padding-top:clamp(28px,6vw,56px); padding-bottom:clamp(56px,9vw,104px); }
.pv .pv__inner > * + *{ margin-top:var(--yr-sp-8); }

/* ---- header ---- */
.pv .pv-head > * + *{ margin-top:var(--yr-sp-3); }
.pv .pv-title{ font-family:var(--yr-font-heading); font-weight:var(--yr-weight-semibold); font-size:clamp(30px,5vw,42px);
  line-height:1.1; letter-spacing:var(--yr-tracking-tight); color:var(--yr-sun); max-width:28ch; }
.pv .pv-version{ display:inline-block; font-family:var(--yr-font-body); font-size:11px; font-weight:800;
  letter-spacing:.3px; color:rgba(247,244,233,.6); background:rgba(255,255,255,.05);
  border:1px solid rgba(252,199,43,.2); border-radius:var(--yr-radius-pill); padding:7px 14px; }
.pv .pv-version b{ color:var(--yr-gold); }

/* ---- the short version (gold summary card) ---- */
.pv .pv-summary{ background:linear-gradient(180deg, rgba(252,199,43,.13), rgba(252,199,43,.03));
  border:1px solid rgba(252,199,43,.28); border-radius:var(--yr-radius-lg); padding:clamp(22px,4vw,34px); }
.pv .pv-summary__title{ font-family:var(--yr-font-heading); font-weight:700; font-size:var(--yr-text-lg);
  color:var(--yr-glow-white); margin:0 0 var(--yr-sp-3); }
.pv .pv-summary__intro{ font-weight:600; font-size:17px; line-height:1.65; color:rgba(247,244,233,.88);
  margin:0 0 var(--yr-sp-5); }
.pv .pv-summary__rows{ margin:0; display:grid; gap:var(--yr-sp-5); }
.pv .pv-row{ display:grid; grid-template-columns:9.5rem 1fr; gap:var(--yr-sp-4); align-items:baseline; }
.pv .pv-row dt{ font-weight:800; font-size:15px; color:var(--yr-gold); }
.pv .pv-row dd{ margin:0; font-weight:600; font-size:13.5px; line-height:1.62; color:rgba(247,244,233,.9); }

/* ---- bridge line ---- */
.pv .pv-bridge{ font-weight:600; font-size:15.5px; line-height:1.6; color:rgba(247,244,233,.58); }

/* ---- details / accordions (native <details>: open + read without JS) ---- */
.pv .pv-acc{ border-bottom:1px solid rgba(252,199,43,.12); }
.pv .pv-acc:first-child{ border-top:1px solid rgba(252,199,43,.12); }
.pv .pv-acc__q{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between;
  gap:var(--yr-sp-4); font-family:var(--yr-font-heading); font-weight:700; font-size:15px;
  color:var(--yr-glow-white); padding:var(--yr-sp-5) 0; }
.pv .pv-acc__q::-webkit-details-marker{ display:none; }
.pv .pv-acc__q::after{ content:"+"; font-family:var(--yr-font-heading); font-weight:400; font-size:28px;
  line-height:1; color:var(--yr-gold); flex:none; }
.pv .pv-acc[open] > .pv-acc__q::after{ content:"\2212"; } /* minus sign */
.pv .pv-acc__q:hover{ color:var(--yr-sun); }
.pv .pv-acc__a{ padding:0 0 var(--yr-sp-6); }
.pv .pv-acc__a > * + *{ margin-top:var(--yr-sp-4); }
.pv .pv-acc__a p{ font-weight:600; font-size:16.5px; line-height:1.7; color:rgba(247,244,233,.86); }
.pv .pv-acc__a a{ color:var(--yr-gold); text-decoration:underline; text-underline-offset:2px; }
.pv .pv-acc__a b{ color:rgba(247,244,233,.95); font-weight:800; }
.pv .pv-what{ margin:0; padding:0; list-style:none; display:grid; gap:var(--yr-sp-4); }
.pv .pv-what li{ position:relative; padding-left:1.2em; font-weight:600; font-size:16.5px; line-height:1.7;
  color:rgba(247,244,233,.86); }
.pv .pv-what li::before{ content:"\2013"; position:absolute; left:0; color:var(--yr-gold); } /* en dash */

/* ---- Rosie chime-in (the 7-day promise) ---- */
.pv .pv-chime{ background:linear-gradient(180deg, rgba(252,199,43,.12), rgba(252,199,43,.03));
  border:1px solid rgba(252,199,43,.26); border-radius:var(--yr-radius-lg); padding:clamp(20px,3.5vw,28px); }
.pv .pv-chime__tag{ display:block; font-family:var(--yr-font-body); font-weight:900; font-size:12px;
  text-transform:uppercase; letter-spacing:var(--yr-tracking-caps); color:var(--yr-gold); }
.pv .pv-chime__aside{ font-weight:600; font-style:italic; font-size:16.5px; line-height:1.65;
  color:var(--yr-sun); margin:var(--yr-sp-3) 0 0; }

/* ---- cream twins (it-5 slice C) ----
   Applied by CLASS (assets/theme.js swaps the DS surface on <html>). Accent
   rationale lives in site.css's cream section: --yr-extrude-2 is the
   AA-passing gold-family accent on cream; rgba(32,28,22,α) is the ink idiom. */
.yr-cream .pv .pv-title{ color:var(--yr-ink); }
.yr-cream .pv .pv-version{ color:#5A5247; background:rgba(32,28,22,.05); border-color:rgba(96,58,7,.3); }
.yr-cream .pv .pv-version b{ color:var(--yr-extrude-2); }
.yr-cream .pv .pv-summary__title{ color:var(--yr-ink); }
.yr-cream .pv .pv-summary__intro{ color:rgba(32,28,22,.85); }
.yr-cream .pv .pv-row dt{ color:var(--yr-extrude-2); }
.yr-cream .pv .pv-row dd{ color:rgba(32,28,22,.88); }
.yr-cream .pv .pv-bridge{ color:#5A5247; }
.yr-cream .pv .pv-acc__q{ color:var(--yr-ink); }
.yr-cream .pv .pv-acc__q::after{ color:var(--yr-extrude); }
/* R-11: ink text, --yr-ember carried on the +/- icon's own colour (its rule) — not a flat colour-only cue. */
.yr-cream .pv .pv-acc__q:hover{ color:var(--yr-ink); }
.yr-cream .pv .pv-acc__q:hover::after{ color:var(--yr-ember); }
.yr-cream .pv .pv-acc__a p{ color:rgba(32,28,22,.85); }
.yr-cream .pv .pv-acc__a a{ color:var(--yr-extrude-2); }
.yr-cream .pv .pv-acc__a b{ color:rgba(32,28,22,.95); }
.yr-cream .pv .pv-what li{ color:rgba(32,28,22,.85); }
.yr-cream .pv .pv-what li::before{ color:var(--yr-extrude); }
.yr-cream .pv .pv-chime__tag{ color:var(--yr-extrude-2); }
.yr-cream .pv .pv-chime__aside{ color:#5A5247; }

/* ---- no-choice system-light fallback (the no-JS path) ----
   Mirrors the cream twins above for the JS-off light-preference visitor;
   scoped :root:not([data-theme]) — an explicit dark choice disarms it.
   Keep in lockstep with the twins. ---- */
@media (prefers-color-scheme: light){
  :root:not([data-theme]) .pv .pv-title{ color:var(--yr-ink); }
  :root:not([data-theme]) .pv .pv-version{ color:#5A5247; background:rgba(32,28,22,.05); border-color:rgba(96,58,7,.3); }
  :root:not([data-theme]) .pv .pv-version b{ color:var(--yr-extrude-2); }
  :root:not([data-theme]) .pv .pv-summary__title{ color:var(--yr-ink); }
  :root:not([data-theme]) .pv .pv-summary__intro{ color:rgba(32,28,22,.85); }
  :root:not([data-theme]) .pv .pv-row dt{ color:var(--yr-extrude-2); }
  :root:not([data-theme]) .pv .pv-row dd{ color:rgba(32,28,22,.88); }
  :root:not([data-theme]) .pv .pv-bridge{ color:#5A5247; }
  :root:not([data-theme]) .pv .pv-acc__q{ color:var(--yr-ink); }
  :root:not([data-theme]) .pv .pv-acc__q::after{ color:var(--yr-extrude); }
  /* R-11: ink text, --yr-ember carried on the +/- icon's own colour (its rule) — not a flat colour-only cue. */
  :root:not([data-theme]) .pv .pv-acc__q:hover{ color:var(--yr-ink); }
  :root:not([data-theme]) .pv .pv-acc__q:hover::after{ color:var(--yr-ember); }
  :root:not([data-theme]) .pv .pv-acc__a p{ color:rgba(32,28,22,.85); }
  :root:not([data-theme]) .pv .pv-acc__a a{ color:var(--yr-extrude-2); }
  :root:not([data-theme]) .pv .pv-acc__a b{ color:rgba(32,28,22,.95); }
  :root:not([data-theme]) .pv .pv-what li{ color:rgba(32,28,22,.85); }
  :root:not([data-theme]) .pv .pv-what li::before{ color:var(--yr-extrude); }
  :root:not([data-theme]) .pv .pv-chime__tag{ color:var(--yr-extrude-2); }
  :root:not([data-theme]) .pv .pv-chime__aside{ color:#5A5247; }
}

/* ---- responsive ---- */
@media(max-width:600px){
  .pv .pv-row{ grid-template-columns:1fr; gap:3px; }
}
