/* ==========================================================================
   Blesslagna design tokens
   Palette sampled from images/logo-yellow.png (the master brand mark):
     gold   #f8c900  66% of the mark  -> signature accent
     red    #fe2e2e   6%             -> decorative / large only
     purple #5c346c -> pink #fb5a6e  12% -> the flourish gradient
   Contrast on white is noted per token. Gold is only 1.57:1 on white, so it
   is never used for text or for a white-text button; it takes dark ink instead.
   ========================================================================== */

:root {
    /* Primary action: the logo's gradient magenta. 6.23:1 on white, so it is
       safe both as a button background with white text and as text on white. */
    --primary-color: #b02576;
    --primary-rgb: 176, 37, 118;
    --primary-dark: #8a1d5b;
    --primary-light: #e9a3c6;

    /* Signature gold - decorative fills, logo, underline accents. Always pair
       with --gold-ink for text. */
    --brand-gold: #f8c900;
    --brand-gold-rgb: 248, 201, 0;
    --gold-ink: #4a3800;          /* text/icons placed on gold */
    --gold-dark: #856a00;         /* 5.17:1 on white, for gold text on light */
    --gold-light: #ffd633;

    /* Deep purple / pink from the logo flourish */
    --brand-purple: #5c346c;      /* 9.71:1 on white */
    --brand-magenta: #b02576;
    --brand-pink: #fb5a6e;        /* 3.14:1 on white - large text/decor only */
    --brand-red: #fe2e2e;         /* 3.72:1 on white - decorative only */

    --danger-color: #c1121f;      /* accessible red for errors/validation */
    --success-color: #1b7f4d;
    --warning-color: #b26a00;

    --heading-color: var(--brand-purple);
    --accent-color: var(--brand-gold);

    --text-color: #2f2a33;
    --text-light: #6b6472;
    --text-muted: #8b8496;
    --text-inverse: #ffffff;

    --bg-color: #ffffff;
    --bg-color-rgb: 255, 255, 255;
    --bg-gray: #faf7fb;
    --bg-gold-tint: #fffbea;
    --bg-dark: #5c346c;
    --border-color: #e7e0ec;
    --border-color-strong: #d5c9de;

    /* Footer surface: the logo flourish gradient */
    --footer-bg-start: #5c346c;
    --footer-bg-end: #8a2f6d;
    --footer-text: #f3e6ef;
    --footer-text-muted: #d6bcd2;
    --footer-link-hover: #ffd633;

    --border-radius: 4px;
    --border-radius-sm: 2px;
    --border-radius-lg: 8px;
    --shadow-sm: 0 1px 2px rgba(92, 52, 108, 0.06);
    --shadow-md: 0 2px 4px rgba(92, 52, 108, 0.1);
    --shadow-lg: 0 8px 24px rgba(92, 52, 108, 0.12);
    --focus-ring: 0 0 0 3px rgba(var(--brand-gold-rgb), 0.35);
    --transition-fast: 0.15s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.5s ease-in-out;

    /* Breakpoints */
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --breakpoint-xxl: 1400px;

    /* Typography */
    --font-family-sans: 'Roboto', sans-serif;
    --font-family-display: 'Lobster', cursive;
    --font-family-body: 'Roboto', sans-serif;
    --font-family-heading: 'Lobster', cursive;
    --font-weight-normal: 400;
    --font-weight-bold: 700;
    --font-weight-semibold: 600;
    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-md: 1rem;
    --font-size-lg: 1.25rem;
    --font-size-xl: 1.5rem;
    --font-size-xxl: 2rem;
    --line-height-normal: 1.5;
    --line-height-heading: 1.2;

    /* Spacing */
    --spacing-0: 0;
    --spacing-1: 0.25rem;
    --spacing-2: 0.5rem;
    --spacing-3: 1rem;
    --spacing-4: 1.5rem;
    --spacing-5: 3rem;
    --spacing-6: 4rem;

    /* Z-index */
    --z-header: 1000;
    --z-modal: 1050;
    --z-tooltip: 1080;
}