/* Explain: Theme design tokens, including colors for payment states. */
:root {
    /* Brand palette — natural, warm spa identity */
    --primary-color: #3f5a4d;
    --primary-hover: #31473d;
    --secondary-color: #8a9a7b;
    --accent-color: #a3b18a;

    /* Surfaces */
    --background-color: #faf7f1;
    --surface-color: #ffffff;
    --surface-alt: #f1eae0;

    /* Text */
    --text-color: #2b2823;
    --text-muted: #7b7369;
    --border-color: #e6ded2;

    /* Blocked time (calendar) — pale red so it reads as "not bookable" */
    --blocked-color: #f2c4c4;
    --blocked-ink: #8f3434;
    --blocked-dot: #d98d8d;

    /* Reset (prep) time after an appointment — warm yellow */
    --prep-color: #f1d488;
    --prep-ink: #7a5c12;
    --prep-dot: #e0b84e;

    /* Payment state — gold exclamation while a payment is due, light check once paid */
    --pay-due: #f6cf5f;
    --pay-due-ink: #8a6410;
    --pay-paid: #ffffff;

    /* Type */
    --font-heading: 'Cormorant Garamond', Georgia, serif;
    --font-body: 'Karla', system-ui, sans-serif;

    /* Shape + depth */
    --radius: 1rem;
    --shadow-soft: 0 18px 40px -20px rgba(49, 71, 61, 0.35);
}