:root{
/* ---- Brand palette (base) ---- */
--strawberry:#E23A2E;
--strawberry-dark:#B92A20;
--berry-deep:#7A1F2B;
--cream:#FFF8F3;
--warm-white:#FFFDFB;
--tart-gold:#D19A57;
--leaf-green:#6DA544;
--cocoa:#3E2723;

/* ---- Derived neutrals / tints (warm-shifted, never grey) ---- */
--cocoa-80:#5C443E;
--cocoa-60:#7C6560;
--cocoa-40:#A79893;
--cocoa-12:#E7DCD6;
--cocoa-06:#F2EAE4;
--strawberry-tint:#FBE3E0;
--gold-tint:#F7EBDA;
--green-tint:#E9F2E1;
--berry-deep-2:#5E1721;

/* ---- Semantic: text ---- */
--text-body:var(--cocoa);
--text-muted:var(--cocoa-60);
--text-subtle:var(--cocoa-40);
--text-heading:var(--cocoa);
--text-accent:var(--strawberry);
--text-accent-small:var(--strawberry-dark); /* AA-safe red for text under 21px (eyebrows, labels, links) */
--text-on-dark:#FFF6F1;
--text-on-dark-muted:#E8CFC9;
--text-on-strawberry:#FFFFFF;
--text-accent-on-dark:var(--strawberry-tint); /* AA-safe brand accent for text & icons on dark grounds */
--text-price:var(--cocoa);
--text-sale:var(--strawberry-dark);

/* ---- Semantic: surfaces ---- */
--surface-page:var(--warm-white);
--surface-section:var(--cream);
--surface-card:#FFFFFF;
--surface-dark:var(--berry-deep);
--surface-dark-2:var(--berry-deep-2);
--surface-accent:var(--strawberry);
--surface-muted:var(--cocoa-06);
--surface-overlay:rgba(62,39,35,.55);
--surface-scrim:linear-gradient(180deg,rgba(62,39,35,0) 0%,rgba(62,39,35,.15) 45%,rgba(62,39,35,.72) 100%);

/* ---- Semantic: lines ---- */
--line:var(--cocoa-12);
--line-strong:var(--cocoa-40);
--line-on-dark:rgba(255,246,241,.22);

/* ---- Semantic: interactive ---- */
--btn-primary-bg:var(--strawberry);
--btn-primary-bg-hover:var(--strawberry-dark);
--btn-primary-fg:#FFFFFF;
--btn-secondary-fg:var(--text-accent-small); /* text — must clear AA at 14–18px */
--btn-secondary-border:var(--strawberry);
--btn-secondary-bg-hover:var(--strawberry-tint);
--focus-ring:var(--berry-deep);
--focus-ring-on-dark:var(--tart-gold);
--link:var(--strawberry-dark);
--link-hover:var(--berry-deep);

/* ---- Semantic: status ---- */
--status-instock:var(--leaf-green);
--status-instock-bg:var(--green-tint);
--status-oos:var(--cocoa-40);
--status-oos-bg:var(--cocoa-06);
--status-lead:var(--tart-gold);
--status-lead-bg:var(--gold-tint);
--status-error:var(--strawberry-dark);
--status-error-bg:var(--strawberry-tint);
}
