/* Public page themes — body carries body.ppt-<name>; themes restyle the page
   surface, hero band, accent, and cards. 'ember' is the brand default. */
body[class*="ppt-"] { --ppt-accent: #F25C1F; --ppt-accent-deep: #C84711; }
body[class*="ppt-"] .pp-sale { border-color: var(--ppt-accent); box-shadow: 0 18px 44px -20px color-mix(in srgb, var(--ppt-accent) 45%, transparent); }
body[class*="ppt-"] .pp-sale-tag { background: var(--ppt-accent); }
body[class*="ppt-"] .pp-btn { background: var(--ppt-accent); box-shadow: 0 10px 24px -10px color-mix(in srgb, var(--ppt-accent) 60%, transparent); }
body[class*="ppt-"] .pp-btn:hover { background: var(--ppt-accent-deep); }
body[class*="ppt-"] .pp-eye, body[class*="ppt-"] .pp-guncard-body b { color: var(--ppt-accent-deep); }
body[class*="ppt-"] .pp-hero-eye { color: color-mix(in srgb, var(--ppt-accent) 60%, #fff); }
body[class*="ppt-"] .pp-hero-band { background: var(--ppt-band, linear-gradient(120deg, #1F2528, #2D363D)); }
body[class*="ppt-"] .pp-hero-band::after { border-color: color-mix(in srgb, var(--ppt-accent) 35%, transparent);
  box-shadow: 0 0 0 60px color-mix(in srgb, var(--ppt-accent) 12%, transparent), 0 0 0 130px color-mix(in srgb, var(--ppt-accent) 6%, transparent); }
body[class*="ppt-"] .pp-card, body[class*="ppt-"] .pp-head-card, body[class*="ppt-"] .pp-sale,
body[class*="ppt-"] .pp-guncard { border-radius: var(--ppt-radius, 16px); }

/* 1 ember — brand default (paper + orange) */
body.ppt-ember { }

/* 2 slate — cool graphite, steel blue accent */
body.ppt-slate { --ppt-accent: #4A7A96; --ppt-accent-deep: #38607a; --ppt-band: linear-gradient(120deg, #232a30, #33404a); background: #eef0f2; }

/* 3 field — hunter sage */
body.ppt-field { --ppt-accent: #5A8F3A; --ppt-accent-deep: #3A6225; --ppt-band: linear-gradient(120deg, #24301c, #3a4a2e); background: #f0f2ea; }

/* 4 blueprint — drafting-table blue grid */
body.ppt-blueprint { --ppt-accent: #2f6fb3; --ppt-accent-deep: #24568c; --ppt-band: linear-gradient(120deg, #12233a, #1c3a5e); --ppt-radius: 6px;
  background: #f2f5f9 repeating-linear-gradient(0deg, transparent, transparent 23px, rgba(47,111,179,.07) 24px),
              repeating-linear-gradient(90deg, transparent, transparent 23px, rgba(47,111,179,.07) 24px); }
body.ppt-blueprint .pp-card, body.ppt-blueprint .pp-head-card, body.ppt-blueprint .pp-sale, body.ppt-blueprint .pp-guncard { border-style: dashed; }

/* 5 paper — gallery white, hairline rules */
body.ppt-paper { --ppt-accent: #2D363D; --ppt-accent-deep: #1F2528; --ppt-band: linear-gradient(120deg, #fdfdfc, #f2f0ea); --ppt-radius: 4px; background: #fff; }
body.ppt-paper .pp-hero-band { border-bottom: 1.5px solid #e4e0d5; }
body.ppt-paper .pp-hero-id h1, body.ppt-paper .pp-hero-id p, body.ppt-paper .pp-hero-stats b { color: #1F2528 !important; }
body.ppt-paper .pp-hero-stats span { color: #6E7178 !important; }
body.ppt-paper .pp-share { border-color: #d8d4c8; color: #1F2528; background: #fff; }

/* 6 midnight — near-black, warm amber */
body.ppt-midnight { --ppt-accent: #E5A53C; --ppt-accent-deep: #c9871c; --ppt-band: linear-gradient(120deg, #0d1013, #171d22); background: #14181c; }
body.ppt-midnight .pp-wrap h1, body.ppt-midnight .pp-h2, body.ppt-midnight .pp-card h2 { color: #F4F1EA; }
body.ppt-midnight .pp-card, body.ppt-midnight .pp-head-card, body.ppt-midnight .pp-sale, body.ppt-midnight .pp-guncard,
body.ppt-midnight .pp-advisor { background: #1c2228; border-color: #2c343c; }
body.ppt-midnight .pp-kv dd, body.ppt-midnight .pp-sale-notes, body.ppt-midnight .pp-fact, body.ppt-midnight .pp-mods,
body.ppt-midnight .pp-guncard-body span, body.ppt-midnight .pp-visits, body.ppt-midnight .pp-svc ul { color: #d8d4ca; }
body.ppt-midnight .pp-chip { background: #232a31; border-color: #333c45; color: #cfcabe; }
body.ppt-midnight .pp-guncard-media { background: linear-gradient(150deg, #232a31, #1c2228); }
body.ppt-midnight .pp-advisor { background: #241f12; border-color: #4a3d1c; }
body.ppt-midnight .pp-price { color: #F4F1EA; }

/* 7 canvas — warm tan lookbook */
body.ppt-canvas { --ppt-accent: #A8956F; --ppt-accent-deep: #86754f; --ppt-band: linear-gradient(120deg, #4a4030, #6a5c42); --ppt-radius: 22px; background: #f3eee3; }

/* 8 signal — high-contrast safety orange */
body.ppt-signal { --ppt-accent: #F25C1F; --ppt-accent-deep: #C84711; --ppt-band: linear-gradient(115deg, #C84711, #F25C1F 70%, #E5A53C); --ppt-radius: 12px; }
body.ppt-signal .pp-hero-band::after { border-color: rgba(255,255,255,.4); box-shadow: 0 0 0 60px rgba(255,255,255,.12), 0 0 0 130px rgba(255,255,255,.06); }
body.ppt-signal .pp-hero-eye { color: #ffe3d2; }

/* 9 moss — deep forest, cream cards */
body.ppt-moss { --ppt-accent: #3A6225; --ppt-accent-deep: #2c4a1c; --ppt-band: linear-gradient(120deg, #16210f, #24361a); background: #e9ece2; --ppt-radius: 10px; }

/* 10 gunmetal — monochrome steel, red accent */
body.ppt-gunmetal { --ppt-accent: #B23A1A; --ppt-accent-deep: #8e2e15; --ppt-band: linear-gradient(120deg, #1a1d20, #2b3036); --ppt-radius: 8px; background: #e8eaec; }
body.ppt-gunmetal .pp-card, body.ppt-gunmetal .pp-head-card, body.ppt-gunmetal .pp-sale, body.ppt-gunmetal .pp-guncard { border-color: #c6ccd2; }

/* 11 sandstone — desert warm, terracotta */
body.ppt-sandstone { --ppt-accent: #c96f3b; --ppt-accent-deep: #a5552a; --ppt-band: linear-gradient(120deg, #59402e, #7a5a40); background: #f5ecdf; --ppt-radius: 18px; }

/* 12 matchday — competition charcoal + scoring gold, squared */
body.ppt-matchday { --ppt-accent: #d4a017; --ppt-accent-deep: #a87d0e; --ppt-band: linear-gradient(120deg, #101418 40%, #1d2530), linear-gradient(120deg, #101418, #1d2530); --ppt-radius: 2px; background: #f2f2ef; }
body.ppt-matchday .pp-hero-band { background-image: repeating-linear-gradient(45deg, transparent, transparent 34px, rgba(212,160,23,.08) 35px, rgba(212,160,23,.08) 36px), var(--ppt-band); }
