/* =============================================================================
   ZenSleepZone — Design Tokens (00-tokens.css)
   Load order: 1st — enqueued on ALL pages
   Single source of truth: all CSS variables + keyframes live here only.
   ============================================================================= */

/* ─── MASTER PALETTE ──────────────────────────────────────────────────────── */
:root {
    /* Brand */
    --zsz-primary:       #4f46e5;   /* Indigo — primary actions, links */
    --zsz-primary-dk:    #4338ca;   /* Darker for hover/active */
    --zsz-secondary:     #7c3aed;   /* Violet — accents, gradients */
    --zsz-accent:        #f59e0b;   /* Amber — CTAs, stars, highlights */
    --zsz-accent-dk:     #d97706;
    --zsz-teal:          #0891b2;   /* Science / data */
    --zsz-emerald:       #10b981;   /* Success / solutions */
    --zsz-rose:          #f43f5e;   /* Alert / warning */

    /* Gradients (all derived from primary/secondary) */
    --zsz-grad:          linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    --zsz-grad-full:     linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #9333ea 100%);
    --zsz-grad-rich:     linear-gradient(135deg, #4f46e5, #7c3aed, #9333ea, #ec4899);

    /* Legacy alias — keeps footer/old templates working without edits */
    --zsz-grad-legacy:   linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);

    /* Text */
    --zsz-t1:   #1e293b;
    --zsz-t2:   #475569;
    --zsz-t3:   #64748b;
    --zsz-t4:   #94a3b8;

    /* Backgrounds */
    --zsz-bg:       #f8fafc;
    --zsz-white:    #ffffff;
    --zsz-border:   #e2e8f0;
    --zsz-card:     #ffffff;

    /* Shadows */
    --zsz-sh-sm: 0 1px 4px rgba(0,0,0,.06);
    --zsz-sh:    0 4px 14px rgba(0,0,0,.09);
    --zsz-sh-md: 0 10px 25px -5px rgba(0,0,0,.10), 0 4px 6px -2px rgba(0,0,0,.05);
    --zsz-sh-lg: 0 20px 45px rgba(0,0,0,.13);
    --zsz-sh-xl: 0 25px 50px -12px rgba(0,0,0,.22);

    /* Radii */
    --zsz-r-sm:  8px;
    --zsz-r:     14px;
    --zsz-r-lg:  20px;
    --zsz-r-xl:  28px;

    /* Timing */
    --zsz-ease:      .28s cubic-bezier(.4,0,.2,1);
    --zsz-ease-fast: .16s ease;

    /* Layout */
    --zsz-max-w:       1280px;
    --zsz-max-w-wide:  1400px;
    --zsz-sidebar-w:   295px;
}

/* ─── PILLAR CATEGORY COLOURS ─────────────────────────────────────────────── */
/* Applied on: <article class="content" data-category="[slug]">               */
/* and:        <body class="category-[slug]">                                  */

article.content[data-category="science"],
body.category-science      { --pillar-color:#0891b2; --pillar-dark:#0369a1; --pillar-light:#e0f2fe; --pillar-dot:#0891b2; --pillar-grad:linear-gradient(135deg,#0891b2,#06b6d4); }
article.content[data-category="disorders"],
body.category-disorders    { --pillar-color:#7c3aed; --pillar-dark:#5b21b6; --pillar-light:#ede9fe; --pillar-dot:#7c3aed; --pillar-grad:linear-gradient(135deg,#7c3aed,#8b5cf6); }
article.content[data-category="solutions"],
body.category-solutions    { --pillar-color:#059669; --pillar-dark:#15803d; --pillar-light:#dcfce7; --pillar-dot:#16a34a; --pillar-grad:linear-gradient(135deg,#059669,#10b981); }
article.content[data-category="optimization"],
body.category-optimization { --pillar-color:#d97706; --pillar-dark:#92400e; --pillar-light:#fef3c7; --pillar-dot:#d97706; --pillar-grad:linear-gradient(135deg,#d97706,#f59e0b); }
article.content[data-category="environment"],
body.category-environment  { --pillar-color:#16a34a; --pillar-dark:#166534; --pillar-light:#f0fdf4; --pillar-dot:#22c55e; --pillar-grad:linear-gradient(135deg,#16a34a,#22c55e); }
article.content[data-category="mental-health"],
body.category-mental-health{ --pillar-color:#db2777; --pillar-dark:#9d174d; --pillar-light:#fce7f3; --pillar-dot:#db2777; --pillar-grad:linear-gradient(135deg,#db2777,#f472b6); }
article.content[data-category="life-stages"],
body.category-life-stages  { --pillar-color:#c026d3; --pillar-dark:#86198f; --pillar-light:#fdf4ff; --pillar-dot:#c026d3; --pillar-grad:linear-gradient(135deg,#c026d3,#e879f9); }
article.content[data-category="spirituality"],
body.category-spirituality { --pillar-color:#4f46e5; --pillar-dark:#3730a3; --pillar-light:#eef2ff; --pillar-dot:#4f46e5; --pillar-grad:linear-gradient(135deg,#4f46e5,#818cf8); }
article.content[data-category="tools"],
body.category-tools        { --pillar-color:#ea580c; --pillar-dark:#9a3412; --pillar-light:#fff7ed; --pillar-dot:#ea580c; --pillar-grad:linear-gradient(135deg,#ea580c,#f97316); }
article.content[data-category="answers"],
body.category-answers      { --pillar-color:#4f46e5; --pillar-dark:#475569; --pillar-light:#f1f5f9; --pillar-dot:#4f46e5; --pillar-grad:linear-gradient(135deg,#4f46e5,#7c3aed); }

/* ─── KEYFRAMES ───────────────────────────────────────────────────────────── */
/* All animation names are prefixed zsz- to avoid WP plugin collisions.       */

@keyframes zsz-breathe    { 0%,100%{transform:scale(1)}    50%{transform:scale(1.03)}  }
@keyframes zsz-pulse-ring { 0%{opacity:.6;transform:scale(1)} 100%{opacity:0;transform:scale(1.08)} }
@keyframes zsz-float      { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes zsz-fadeup     { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@keyframes zsz-blink      { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes zsz-twinkle    { 0%,100%{opacity:.2;transform:scale(1)} 50%{opacity:.9;transform:scale(1.3)} }
@keyframes zsz-wave-draw  { 0%{stroke-dashoffset:300;opacity:.4} 50%{opacity:1} 100%{stroke-dashoffset:0;opacity:.4} }

/* ─── ACCESSIBILITY ───────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration:       .01ms !important;
        animation-iteration-count: 1    !important;
        transition-duration:      .01ms !important;
    }
}
