/* Elliz Publishing - Design System Tokens */
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@500;600;700&family=Playfair+Display:ital,wght@0,400..700;1,400..700&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root, [data-theme="navy-gold"] {
    /* Default Brand Palette - Navy Blue, Gold & Ivory */
    --c-primary-ink: #0B1B2B;          /* Rich Regal Navy */
    --c-primary-navy: #112338;         /* Deep Maritime Navy */
    --c-primary-accent: #B89047;       /* Warm Literary Gold */
    --c-primary-accent-hover: #9E7730; /* Burnished Gold */
    --c-warm-coral: #C59341;          /* Warm Amber Gold */
    --c-warm-amber: #D4AF37;          /* Radiant Gold */
    --c-cream-bg: #FAF8F3;            /* Pure Warm Book Paper Ivory */
    --c-surface: #FFFFFF;
    --c-surface-muted: #F2EFE8;       /* Soft Ivory */
    --c-border: #E2DCCD;              /* Muted Parchment Border */
    --c-border-focus: #B89047;

    /* Text Colors */
    --c-text-main: #101E2E;           /* Deep Navy Slate Ink */
    --c-text-muted: #5B6C7E;          /* Soft Slate Navy */
    --c-text-light: #8C9BAE;
    --c-text-inverse: #FFFFFF;

    /* Semantic Theme Components */
    --c-theme-header-bg: #0B1B2B;
    --c-theme-footer-bg: #0B1B2B;
    --c-theme-process-bg: #0F2236;
    --c-banner-bg: #F3F0E6;
    --c-banner-border: #DED8C9;
    --c-brand-dot: #D4AF37;
    --c-hero-bg: #F5F2EB;
    --c-trust-bg: #F5F2EB;
    --c-accent-light: #F7EEDB;
}

[data-theme="caribbean-emerald"] {
    --c-primary-ink: #173E35;
    --c-primary-navy: #12332C;
    --c-primary-accent: #245848;
    --c-primary-accent-hover: #173E35;
    --c-warm-coral: #245848;
    --c-warm-amber: #CFAA69;
    --c-cream-bg: #F8F7F2;
    --c-surface: #FFFFFF;
    --c-surface-muted: #F0F1EA;
    --c-border: #DFE3DA;
    --c-border-focus: #245848;
    --c-text-main: #263B34;
    --c-text-muted: #68736B;
    --c-text-light: #9CA8A0;
    --c-text-inverse: #FFFFFF;
    --c-theme-header-bg: #173E35;
    --c-theme-footer-bg: #173E35;
    --c-theme-process-bg: #173E35;
    --c-banner-bg: #EAF0E3;
    --c-banner-border: #D8E0CE;
    --c-brand-dot: #B48951;
    --c-hero-bg: #F5F4EE;
    --c-trust-bg: #F5F4EE;
    --c-accent-light: #EBF1EA;
}

[data-theme="caribbean-teal"] {
    --c-primary-ink: #0F2537;
    --c-primary-navy: #183B56;
    --c-primary-accent: #0C6E75;
    --c-primary-accent-hover: #085257;
    --c-warm-coral: #D95D39;
    --c-warm-amber: #E89843;
    --c-cream-bg: #FAF9F6;
    --c-surface: #FFFFFF;
    --c-surface-muted: #F1F5F9;
    --c-border: #E2E8F0;
    --c-border-focus: #0C6E75;
    --c-text-main: #1E293B;
    --c-text-muted: #64748B;
    --c-text-light: #94A3B8;
    --c-text-inverse: #FFFFFF;
    --c-theme-header-bg: #0F2537;
    --c-theme-footer-bg: #0F2537;
    --c-theme-process-bg: #123049;
    --c-banner-bg: #E7F2F2;
    --c-banner-border: #CBE1E0;
    --c-brand-dot: #E89843;
    --c-hero-bg: #F0F6F7;
    --c-trust-bg: #F0F6F7;
    --c-accent-light: #E4F0F1;
}

:root {

    /* Feedback & Status */
    --c-success: #10B981;
    --c-warning: #F59E0B;
    --c-error: #EF4444;
    --c-info: #3B82F6;

    /* Typography */
    --font-heading: 'Lora', Georgia, serif;
    --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Spacing Scale */
    --sp-1: 0.25rem;
    --sp-2: 0.5rem;
    --sp-3: 0.75rem;
    --sp-4: 1rem;
    --sp-5: 1.25rem;
    --sp-6: 1.5rem;
    --sp-8: 2rem;
    --sp-10: 2.5rem;
    --sp-12: 3rem;
    --sp-16: 4rem;
    --sp-20: 5rem;

    /* Borders & Radii */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 14px;
    --radius-xl: 20px;
    --radius-full: 9999px;

    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(16, 24, 40, 0.08), 0 2px 4px -2px rgba(16, 24, 40, 0.05);
    --shadow-lg: 0 12px 24px -4px rgba(16, 24, 40, 0.12), 0 4px 8px -4px rgba(16, 24, 40, 0.06);
    --shadow-book: -8px 8px 24px rgba(17, 25, 39, 0.22), -2px 2px 6px rgba(17, 25, 39, 0.12);

    /* Layout Containers */
    --container-max: 1400px;
    --container-wide: 1400px;
    --transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-base: 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    --transition-smooth: 0.48s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Base Reset */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
}

body {
    font-family: var(--font-sans);
    color: var(--c-text-main);
    background-color: var(--c-cream-bg);
    line-height: 1.65;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

h1, h2, h3, h4, .serif-heading {
    font-family: var(--font-heading);
    font-weight: 600;
    color: var(--c-primary-ink);
    line-height: 1.25;
}

p {
    margin-bottom: 1rem;
}

a {
    color: var(--c-primary-accent);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--c-primary-accent-hover);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}
