/* GALVIC — COLOR
   Brand palette, verbatim from the identity manual (Feb/2026) with the neutral
   hierarchy corrected per the master-document audit: #191919 is Preto Galvic
   (primary), #424242 is Grafite (secondary surface/text).

   Proportion rule 70 / 20 / 10 — neutrals dominate, product and skin occupy the
   middle, Rosa Galvic never exceeds ~10% of an area. Large fields of pink are
   the generic signature of cheap fitness apparel; as an accent over black and
   grey the same pink reads as precision. Gold is campaign-only. */

:root{
  /* ---- Brand, exact ---- */
  --galvic-preto:#191919;
  --galvic-rosa:#d12f88;
  --galvic-grafite:#424242;
  --galvic-cinza-claro:#e2e2e2;
  --galvic-gold:#f9d760;
  --galvic-branco:#ffffff;

  /* ---- Neutral ramp (derived from the three brand neutrals; steps 200/700/900
         are the brand values themselves) ---- */
  --gray-0:#ffffff;
  --gray-50:#f7f7f7;
  --gray-100:#efefef;
  --gray-200:#e2e2e2;
  --gray-300:#c9c9c9;
  --gray-400:#a3a3a3;
  --gray-500:#767676;
  --gray-600:#5c5c5c;
  --gray-700:#424242;
  --gray-800:#2b2b2b;
  --gray-900:#191919;

  /* ---- Rosa states (derived; hue held, lightness stepped) ---- */
  --rosa-tint:#fbeaf3;
  --rosa-soft:#f0a8cd;
  --rosa-base:#d12f88;
  --rosa-hover:#b62675;
  --rosa-press:#9c1f64;

  /* ---- Gold states ---- */
  --gold-tint:#fdf4d4;
  --gold-base:#f9d760;
  --gold-deep:#c9a72e;

  /* ---- Feedback (authored: the manual defines no semantic colours; kept
         desaturated so they never compete with Rosa) ---- */
  --feedback-success:#1f8a5b;
  --feedback-success-tint:#e6f3ec;
  --feedback-error:#c2321f;
  --feedback-error-tint:#fbeae7;
  --feedback-warning:var(--gold-deep);
  --feedback-warning-tint:var(--gold-tint);

  /* ---- Semantic: surface ---- */
  --surface-page:#ffffff;
  --surface-muted:var(--gray-50);
  --surface-card:#ffffff;
  --surface-sunken:var(--gray-100);
  --surface-divider:var(--gray-200);
  --surface-inverse:var(--galvic-preto);
  --surface-inverse-soft:var(--gray-800);
  --surface-accent:var(--galvic-rosa);
  --surface-accent-tint:var(--rosa-tint);
  --surface-campaign:var(--galvic-gold);
  --surface-scrim:rgba(25,25,25,.62);

  /* ---- Semantic: text ---- */
  --text-strong:var(--galvic-preto);
  --text-body:var(--galvic-grafite);
  --text-muted:var(--gray-500);
  --text-inverse:#ffffff;
  --text-inverse-muted:var(--gray-300);
  --text-accent:var(--galvic-rosa);
  --text-price:var(--galvic-preto);
  --text-price-accent:var(--galvic-rosa);
  --text-link:var(--galvic-preto);
  --text-link-hover:var(--galvic-rosa);

  /* ---- Semantic: border ---- */
  --border-subtle:var(--gray-200);
  --border-default:var(--gray-300);
  --border-strong:var(--galvic-preto);
  --border-accent:var(--galvic-rosa);
  --border-focus:var(--galvic-rosa);

  /* ---- Semantic: control ---- */
  --control-primary-bg:var(--galvic-preto);
  --control-primary-bg-hover:var(--gray-800);
  --control-primary-bg-press:#000000;
  --control-primary-fg:#ffffff;
  --control-accent-bg:var(--rosa-base);
  --control-accent-bg-hover:var(--rosa-hover);
  --control-accent-bg-press:var(--rosa-press);
  --control-accent-fg:#ffffff;
  --control-disabled-bg:var(--gray-200);
  --control-disabled-fg:var(--gray-400);
}
