/* ===========================================================================
   Asunshine MedSpa — Color tokens
   White-dominant, one warm accent (Asunshine Rose). No espresso, gold, mahogany,
   cream/tan/sand, gradients, or extra accents. White = breathing room; Rose =
   punctuation. Locked palette per the brand deck §03.
   =========================================================================== */
:root {
  /* ---- Base palette (locked) ---- */
  --white: #FFFFFF;            /* Primary surface — default background everywhere */
  --rose: #E8A8B0;            /* Asunshine Rose — brand accent, matches site theme-color */
  --ink: #1D1D1F;            /* Near-black — headlines + body */
  --gray: #86868B;            /* Soft gray — captions, meta, footnotes */

  /* ---- Rose, tonal range (derived via oklch from --rose for states only) ----
     Use sparingly: hover/press on rose surfaces, soft rose washes per Photography
     ("soft-pink-toned backgrounds work"). Never introduce a NEW hue. */
  --rose-50:  oklch(0.975 0.008 12);   /* whisper rose wash — section backgrounds */
  --rose-100: oklch(0.95 0.018 12);    /* soft rose tint — chips, hover fills */
  --rose-200: oklch(0.90 0.035 12);    /* light rose border */
  --rose-400: #E8A8B0;                 /* = --rose, the canonical accent */
  --rose-500: oklch(0.74 0.075 12);    /* hover — slightly deeper rose */
  --rose-600: oklch(0.68 0.085 12);    /* pressed — deeper still */
  --rose-contrast: #1D1D1F;            /* text on a rose fill (ink, not white — soft accent) */

  /* ---- Neutral ramp (cool-gray family, anchored to the two locked neutrals) ---- */
  --ink-90: oklch(0.30 0 0);    /* softened headline on white */
  --gray-line: oklch(0.91 0 0); /* hairline dividers / input borders */
  --gray-100: oklch(0.96 0 0);  /* faint surface fill (forms, disabled) */
  --gray-50:  oklch(0.985 0 0); /* off-white panel, barely-there */

  /* ---- Semantic aliases (author against these) ---- */
  --surface-page:    var(--white);
  --surface-card:    var(--white);
  --surface-soft:    var(--rose-50);   /* gentle rose-washed section */
  --surface-muted:   var(--gray-50);   /* neutral alt section */

  --text-primary:    var(--ink);
  --text-secondary:  var(--gray);
  --text-on-accent:  var(--rose-contrast);

  --accent:          var(--rose);
  --accent-hover:    var(--rose-500);
  --accent-press:    var(--rose-600);
  --accent-wash:     var(--rose-100);

  --border-hairline: var(--gray-line);
  --border-accent:   var(--rose-200);

  /* Focus ring — rose, soft */
  --focus-ring: oklch(0.74 0.075 12 / 0.45);
}
