:root{
/* ── Brand primitives (sampled from the supplied logo files) ───────────── */
--rosa-500:#b586a9;   /* mark + "Ginecologista" · the brand's signature mauve */
--ameixa-500:#5e515e; /* wordmark "Dr. Moacyr Sanches Mascaro" */
--ameixa-900:#3a2c3a; /* single-colour logo lock-up for mauve backgrounds */

/* ── Rosa (mauve) ramp ─────────────────────────────────────────────────── */
--rosa-50:#fbf6f9;
--rosa-100:#f4e8ef;
--rosa-200:#e8d2e0;
--rosa-300:#d6b3c9;
--rosa-400:#c59cb6;
--rosa-600:#9e6e92;
--rosa-700:#815878;
--rosa-800:#63425c;
--rosa-900:#462e42;

/* ── Ameixa (plum) ramp ────────────────────────────────────────────────── */
--ameixa-100:#e9e5e9;
--ameixa-300:#a89ea8;
--ameixa-400:#7e707e;
--ameixa-600:#544854;
--ameixa-700:#4a3f4a;
--ameixa-800:#413541;

/* ── Warm neutrals (all carry a trace of plum, never a cold grey) ─────── */
--neutral-0:#ffffff;
--neutral-50:#fcfafb;
--neutral-100:#f6f2f4;
--neutral-200:#eae3e8;
--neutral-300:#d8cfd6;
--neutral-400:#b4a9b2;
--neutral-500:#8c7f8b;
--neutral-600:#6e626d;
--neutral-700:#544a54;
--neutral-800:#3e363e;
--neutral-900:#2a232a;

/* ── Muted semantics (desaturated to sit beside the mauve) ─────────────── */
--verde-500:#4e7c63; --verde-100:#e6efe9;
--ambar-500:#b8863f; --ambar-100:#f6ecdd;
--carmim-500:#a6474f; --carmim-100:#f6e6e7;
--azul-500:#5e6e8c;  --azul-100:#e8ebf1;

/* ── Semantic aliases · use THESE in components ───────────────────────── */
--brand:var(--rosa-500);
--brand-strong:var(--rosa-700);
--brand-soft:var(--rosa-100);
--brand-ink:var(--ameixa-900);

--text-title:var(--ameixa-900);
--text-body:var(--ameixa-700);
--text-muted:var(--neutral-500);
--text-subtle:var(--neutral-400);
--text-accent:var(--rosa-600);
--text-on-brand:#ffffff;
--text-on-dark:var(--rosa-200);
--text-inverse:var(--neutral-0);

--surface-page:var(--neutral-50);
--surface-card:var(--neutral-0);
--surface-sunken:var(--neutral-100);
--surface-soft:var(--rosa-50);
--surface-brand:var(--rosa-500);
--surface-brand-soft:var(--rosa-100);
--surface-dark:var(--ameixa-900);
--surface-overlay:rgba(58,44,58,.55);

--border-hairline:var(--neutral-200);
--border-default:var(--neutral-300);
--border-strong:var(--neutral-400);
--border-brand:var(--rosa-300);
--border-on-dark:rgba(232,210,224,.24);

--focus-ring:var(--rosa-400);
--link:var(--rosa-700);
--link-hover:var(--rosa-900);

--state-success:var(--verde-500); --state-success-soft:var(--verde-100);
--state-warning:var(--ambar-500); --state-warning-soft:var(--ambar-100);
--state-danger:var(--carmim-500); --state-danger-soft:var(--carmim-100);
--state-info:var(--azul-500);     --state-info-soft:var(--azul-100);

/* Decorative wash used behind hero sections */
--wash-rosa:linear-gradient(180deg,var(--rosa-50) 0%,var(--neutral-0) 100%);
--wash-plum:linear-gradient(160deg,var(--ameixa-900) 0%,var(--rosa-900) 100%);
}

[data-theme="dark"]{
--text-title:var(--rosa-100);
--text-body:var(--rosa-200);
--text-muted:var(--ameixa-300);
--text-subtle:var(--ameixa-400);
--text-accent:var(--rosa-300);
--surface-page:var(--ameixa-900);
--surface-card:var(--ameixa-800);
--surface-sunken:#332633;
--surface-soft:var(--ameixa-800);
--border-hairline:rgba(232,210,224,.14);
--border-default:rgba(232,210,224,.24);
--border-strong:rgba(232,210,224,.38);
--link:var(--rosa-300);
--link-hover:var(--rosa-200);
}
