/* ============================================================
   PMAS component styles — tokens + small components ONLY.
   Layout is done with Gutenberg/Kadence blocks, not here.
   ============================================================ */
:root{
  --pmas-cream:#F2E4BF; --pmas-cream-2:#F9F2E1; --pmas-paper:#FFFDF6;
  --pmas-magenta:#D81E7A; --pmas-magenta-ink:#A9115C;
  --pmas-blue:#1B4C9E; --pmas-gold:#F4C21B; --pmas-teal:#1B9AA2;
  --pmas-ink:#2B2115;
  --pmas-display:"Cooper Black","Cooper Std",Georgia,'Times New Roman',serif;
  --pmas-script:"Snell Roundhand","Brush Script MT",cursive;
  --pmas-box:Helvetica,Arial,sans-serif;
  --pmas-shadow:6px 6px 0 rgba(43,33,21,.9);
  --pmas-radius:14px;
}

/* --- global tone (colors/typography only) --- */
body{ background:var(--pmas-cream-2); }
h1,h2,h3,h4{ font-family:var(--pmas-display); color:var(--pmas-ink); }

/* --- utility text roles --- */
.pmas-kicker{ font-family:var(--pmas-script); font-size:1.5em; color:var(--pmas-magenta-ink); }
.pmas-script{ font-family:var(--pmas-script); }
.pmas-eyebrow{ font-family:var(--pmas-box); font-size:.72rem; letter-spacing:.09em;
  text-transform:uppercase; color:var(--pmas-blue); }

/* --- badge / chip --- */
.pmas-badge{ display:inline-block; font-family:var(--pmas-box); font-size:.62rem;
  letter-spacing:.08em; text-transform:uppercase; color:#fff; background:var(--pmas-magenta);
  padding:.3rem .6rem; border-radius:4px; }
.pmas-badge.is-blue{ background:var(--pmas-blue); }
.pmas-badge.is-teal{ background:var(--pmas-teal); }
.pmas-badge.is-gold{ background:var(--pmas-gold); color:var(--pmas-ink); }

/* --- card: the universal PMAS surface --- */
.pmas-card{ background:var(--pmas-cream); border:3px solid var(--pmas-ink);
  border-radius:var(--pmas-radius); box-shadow:var(--pmas-shadow);
  padding:1.2rem 1.4rem; }
.pmas-card.is-paper{ background:var(--pmas-paper); }

/* --- relief-printed model name --- */
.pmas-plate{ display:inline-block; font-family:var(--pmas-display); font-size:1.5rem;
  color:var(--pmas-magenta); background:var(--pmas-paper); border:2px solid var(--pmas-ink);
  border-radius:8px; padding:.15rem .8rem; box-shadow:3px 3px 0 rgba(43,33,21,.85);
  transform:rotate(-1.2deg); }

/* --- big catalogue number --- */
.pmas-no{ display:inline-grid; place-items:center; width:2.6rem; height:2.6rem;
  font-family:var(--pmas-display); font-size:1.4rem; color:#fff;
  background:var(--pmas-magenta); border:3px solid var(--pmas-ink); border-radius:50%;
  box-shadow:3px 3px 0 rgba(43,33,21,.85); }

/* --- specs table --- */
.pmas-specs dl{ display:grid; grid-template-columns:max-content 1fr; gap:.35rem 1.2rem; margin:0; }
.pmas-specs dt{ font-family:var(--pmas-box); font-size:.72rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--pmas-blue); align-self:center; }
.pmas-specs dd{ margin:0; font-weight:600; color:var(--pmas-ink); }

/* --- review card --- */
.pmas-review blockquote,blockquote.pmas-quote{ border:none; margin:0; padding:0;
  font-family:var(--pmas-display); font-size:1.15rem; line-height:1.45; color:var(--pmas-ink); }
.pmas-review .pmas-attrib{ font-family:var(--pmas-box); font-size:.8rem; color:var(--pmas-ink);
  opacity:.75; margin-top:.6rem; }

/* --- audio / now-playing card --- */
.pmas-audio{ border-left:10px solid var(--pmas-magenta); }
.pmas-audio.is-reply{ border-left-color:var(--pmas-blue); }
.pmas-audio .pmas-track-title{ font-family:var(--pmas-display); font-size:1.15rem;
  margin:.1rem 0 0; color:var(--pmas-ink); }
.pmas-audio .pmas-mix{ font-family:var(--pmas-box); font-size:.72rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--pmas-blue); margin:.15rem 0 .55rem; }
.pmas-audio audio{ width:100%; height:40px; }
.pmas-audio .pmas-disclaimer{ font-family:var(--pmas-box); font-size:.68rem; font-style:italic;
  color:var(--pmas-ink); opacity:.65; margin:.5rem 0 0; }

/* --- legal box --- */
.pmas-legal{ background:var(--pmas-paper); border:1px solid var(--pmas-ink);
  border-radius:6px; padding:.9rem 1.1rem; font-family:var(--pmas-box);
  font-size:.72rem; line-height:1.55; color:var(--pmas-ink); text-align:justify; }
.pmas-legal b,.pmas-legal strong{ letter-spacing:.04em; }

/* --- stamp ("Godkänd") --- */
.pmas-stamp{ display:inline-block; font-family:var(--pmas-box); font-weight:700;
  font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color:var(--pmas-teal);
  border:3px double var(--pmas-teal); border-radius:6px; padding:.25rem .7rem;
  transform:rotate(-6deg); opacity:.85; }

/* --- footer claim --- */
.pmas-footer-claim{ font-family:var(--pmas-display); color:var(--pmas-ink); }
.pmas-footer-claim .pmas-tm{ font-size:.55em; vertical-align:super; }

/* --- site footer: ink band, gold rule, barcode (matches the v1 mockup) --- */
.site-footer, .site-footer .site-footer-row-container-inner{
  background:var(--pmas-ink) !important; color:#f3e6c6; }
.site-footer{ border-top:6px solid var(--pmas-gold); margin-top:1.4rem; }
.site-footer a{ color:#f3e6c6; }
.pmas-foot-grid{ display:flex; flex-wrap:wrap; gap:1.4rem; justify-content:space-between;
  align-items:center; padding:1.2rem 0 .6rem; color:#f3e6c6; text-align:left; }
.pmas-foot-tag{ font-family:var(--pmas-display); font-size:1.2rem; color:#fff; }
.pmas-foot-tag span{ color:var(--pmas-gold); }
.pmas-foot-small{ font-family:var(--pmas-box); font-size:.78rem; opacity:.85;
  max-width:40ch; margin:.25rem 0 0; }
.pmas-barcode{ height:44px; width:170px;
  background:repeating-linear-gradient(90deg,#f3e6c6 0 2px, transparent 2px 4px,
    #f3e6c6 4px 5px, transparent 5px 9px, #f3e6c6 9px 12px, transparent 12px 14px); }
.pmas-foot-legal{ text-align:center; font-family:var(--pmas-box); font-size:.72rem;
  padding:.7rem 0 .1rem; color:#b9a988; letter-spacing:.03em;
  border-top:1px solid rgba(243,230,198,.18); margin-top:.8rem; }
.pmas-foot-legal b{ color:var(--pmas-magenta); }

/* --- appended data sections on single product/review/track --- */
.pmas-auto{ margin-top:2.2rem; display:grid; gap:1.1rem; }
.pmas-auto .pmas-sec-label{ font-family:var(--pmas-script); font-size:1.4rem;
  color:var(--pmas-magenta-ink); margin:0.4rem 0 0; }
