/* =====================================================================
   Caleb · CUDLC — design tokens (v1.3.0 editorial redesign)

   These tokens define the entire visual language for both the public
   marketing site and the admin panel. They form a single coherent
   system — same palette, same type, same proportions.
   ===================================================================== */

:root {
    /* ---- Brand palette ---- */
    --navy:        #003087;        /* dominant institutional blue */
    --navy-deep:   #001E54;        /* footer, chrome, deep accents */
    --navy-soft:   #0052CC;        /* hover/active states */
    --navy-tint:   rgba(0, 48, 135, 0.08);

    --cream:       #F5EFE0;        /* major surface (programmes section) */
    --cream-warm:  #EFE6CF;        /* deeper cream for accents */
    --paper:       #FAF6EB;        /* page background — warm off-white */
    --paper-pure:  #FFFFFF;        /* card / panel surface */

    --gold:        #C8960C;        /* heritage gold — accent only */
    --gold-light:  #E6B23C;        /* lighter gold for dark contexts */
    --gold-deep:   #9C7409;        /* gold hover state, darker */
    --gold-soft:   rgba(200, 150, 12, 0.14);

    /* CTA / action colours.
       v1.6.6: replaced off-brand oxblood-red (#7A1F2A) with brand navy.
       Variable names preserved so existing CSS references work unchanged.
       The button reads as navy with a subtle gold lift on hover. */
    --oxblood:     #003087;        /* primary CTA: deep Caleb navy */
    --oxblood-deep:#001E54;        /* CTA hover: even deeper navy */

    /* ---- Ink (text) ---- */
    --ink:         #1F1B16;        /* body text */
    --ink-soft:    #4A463F;        /* secondary text */
    --ink-faint:   #87827A;        /* placeholder / muted */
    --text-on-dark:#F5EFE0;        /* text on navy */

    /* Aliases that the admin layout reads */
    --text:           #1F1B16;
    --text-strong:    #001E54;
    --text-muted:     #4A463F;
    --text-subtle:    #87827A;
    --text-inverse:   #F5EFE0;

    /* ---- Rules / borders ---- */
    --rule:        #C9BFA5;
    --rule-soft:   #E2D9C2;
    --rule-faint:  #EFE9D8;

    --border:         #E2D9C2;
    --border-strong:  #C9BFA5;
    --border-cool:    #E2D9C2;

    /* ---- Surface aliases (admin tokens) ---- */
    --surface:        #FFFFFF;
    --surface-alt:    #FAF6EB;
    --surface-cream:  #F5EFE0;
    --surface-warm:   #EFE6CF;
    --surface-deep:   #001E54;
    --surface-muted:  #F5EFE0;
    --surface-raised: #FFFFFF;
    --surface-blush:  #F5EFE0;
    --surface-mist:   #FAF6EB;

    /* ---- Status palette ---- */
    --ok:          #2D6A4F;        /* deep forest, not bright green */
    --ok-soft:     #D8E8DF;
    --warn:        #B8860B;
    --warn-soft:   #F4E8C9;
    --bad:         #8B1F1F;
    --bad-soft:    #F0D6D6;
    --info:        #1B4D8C;
    --info-soft:   #DCE5F0;

    --success:        #2D6A4F;
    --success-soft:   #D8E8DF;
    --warning:        #B8860B;
    --warning-soft:   #F4E8C9;
    --danger:         #8B1F1F;
    --danger-soft:    #F0D6D6;

    /* ---- Brand alias — public site uses --primary etc. ---- */
    --primary:        #003087;
    --primary-dark:   #001E54;
    --primary-light:  #0052CC;
    --primary-soft:   rgba(0, 48, 135, 0.08);
    --primary-tint:   #DCE5F0;
    --primary-contrast:#FAF6EB;
    --primary-hover:  #001E54;

    --accent:         #C8960C;
    --accent-strong:  #7A5C08;
    --accent-light:   #E6B23C;
    --accent-soft:    rgba(200, 150, 12, 0.14);
    --accent-tint:    #F4EBC8;

    /* Re-expose under the old "ink" names so existing public theme rules still work */
    --ink-strong:     #001E54;

    /* ---- Typography ---- */
    --font-serif:     'Cormorant Garamond', 'Times New Roman', Georgia, serif;
    --font-sans:      'Source Sans 3', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    --font-mono:      'JetBrains Mono', 'SF Mono', Consolas, monospace;
    --font-display:   'Cormorant Garamond', 'Times New Roman', Georgia, serif;

    /* Type scale (admin tokens) */
    --text-xs:          0.75rem;    /* 12 */
    --text-sm:          0.875rem;   /* 14 */
    --text-base:        1rem;       /* 16 */
    --text-lg:          1.125rem;   /* 18 */
    --text-xl:          1.25rem;    /* 20 */
    --text-2xl:         1.5rem;     /* 24 */
    --text-3xl:         1.875rem;   /* 30 */
    --text-4xl:         2.25rem;    /* 36 */

    --leading-tight:    1.2;
    --leading-normal:   1.55;
    --leading-relaxed:  1.75;

    /* ---- Spacing ---- */
    --space-1:          0.25rem;
    --space-2:          0.5rem;
    --space-3:          0.75rem;
    --space-4:          1rem;
    --space-5:          1.25rem;
    --space-6:          1.5rem;
    --space-8:          2rem;
    --space-10:         2.5rem;
    --space-12:         3rem;
    --space-16:         4rem;

    /* ---- Radii (sharper, more institutional than before) ---- */
    --radius-xs:        2px;
    --radius-sm:        2px;
    --radius:           4px;
    --radius-lg:        8px;
    --radius-xl:        14px;
    --radius-full:      9999px;

    /* ---- Shadows (subtle — editorial restraint) ---- */
    --shadow-xs:        0 1px 2px rgba(0, 30, 84, 0.04);
    --shadow-sm:        0 2px 4px rgba(0, 30, 84, 0.06);
    --shadow:           0 4px 12px rgba(0, 30, 84, 0.08);
    --shadow-md:        0 8px 20px rgba(0, 30, 84, 0.10);
    --shadow-lg:        0 12px 32px rgba(0, 48, 135, 0.12);
    --shadow-xl:        0 24px 48px rgba(0, 30, 84, 0.18);
    --shadow-glow:      0 0 0 3px rgba(200, 150, 12, 0.20);

    --shadow-card:      0 2px 4px rgba(0, 30, 84, 0.06);
    --shadow-lift:      0 4px 12px rgba(0, 30, 84, 0.10);
    --shadow-deep:      0 12px 32px rgba(0, 48, 135, 0.16);
    --shadow-warm:      0 4px 14px rgba(200, 150, 12, 0.18);

    /* ---- Easings & durations ---- */
    --ease-out:         cubic-bezier(0.16, 1, 0.3, 1);
    --ease-spring:      cubic-bezier(0.34, 1.56, 0.64, 1);
    --ease-smooth:      cubic-bezier(0.4, 0, 0.2, 1);
    --duration-fast:    0.15s;
    --duration:         0.25s;
    --duration-slow:    0.4s;

    /* ---- Layout ---- */
    --sidebar-width:        240px;
    --sidebar-collapsed:    72px;
    --topbar-height:        64px;
    --container-max:        1280px;

    /* ---- Gradients ---- */
    --gradient-brand:   linear-gradient(135deg, #003087 0%, #0052CC 100%);
    --gradient-deep:    linear-gradient(135deg, #001E54 0%, #003087 100%);
    --gradient-gold:    linear-gradient(135deg, #C8960C 0%, #E6B23C 100%);
    --gradient-cream:   linear-gradient(180deg, #F5EFE0 0%, #FAF6EB 100%);
    --gradient-warm:    linear-gradient(180deg, #EFE6CF 0%, #F5EFE0 100%);
    --gradient-blush:   linear-gradient(180deg, #F5EFE0 0%, #FAF6EB 100%);
    --gradient-mist:    linear-gradient(180deg, #FAF6EB 0%, #F5EFE0 100%);

    /* Hero overlay alpha — tunable per slide */
    --hero-overlay-alpha: 0.78;
}
