/*
 * Rozhika Pro Optimizer — design tokens.
 *
 * WHY THIS FILE EXISTS
 * --------------------
 * These :root custom properties were declared at the top of ux-enhancer.css,
 * a 145 KB stylesheet whose remaining 98% is scoped to archive body classes
 * (body.tax-product_cat, .woocommerce-shop, ...).
 *
 * Measured on a product page 2026-09-23 with CSS.cssRules against the live DOM:
 * of 472 style rules in ux-enhancer.css, exactly TWO matched anything, and the
 * only matching selector was this :root block. The other 470 rules were dead
 * weight - downloaded, parsed, and added to the CSSOM, where every subsequent
 * style recalculation still had to consider them. On this site INP is
 * presentation-delay bound (0 ms scripting, ~310 ms presentation), so CSSOM
 * size is a direct INP cost, not just bytes.
 *
 * The obvious fix - stop enqueueing ux-enhancer.css on product pages - would
 * have broken the site: 14 of these properties (--rozhika-primary,
 * --rozhika-shadow-medium, --rozhika-bg-primary, ...) are consumed by var()
 * references in OTHER stylesheets. Dropping the file would have left those
 * var() calls unresolved and silently changed colours and shadows site-wide.
 *
 * So the tokens live here and load wherever the plugin's assets load, while the
 * archive-scoped bulk now loads only on archives. ux-enhancer.css itself is
 * deliberately left byte-for-byte unchanged - it still carries its own copy of
 * these blocks, which is harmless (identical values, later declaration wins).
 */

:root {
    --rozhika-primary: #7c4dff;
    --rozhika-primary-light: #a47dff;
    --rozhika-primary-dark: #5c2de0;
    --rozhika-primary-glow: rgba(124, 77, 255, 0.35);
    --rozhika-secondary: #e91e63;
    --rozhika-secondary-light: #ff4081;
    --rozhika-gradient-primary: linear-gradient(135deg, #7c4dff 0%, #a47dff 50%, #c084fc 100%);
    --rozhika-gradient-hot: linear-gradient(135deg, #ff6b6b 0%, #ee5a6f 50%, #e91e63 100%);
    --rozhika-gradient-glass: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 100%);
    --rozhika-shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.08);
    --rozhika-shadow-medium: 0 8px 40px rgba(0, 0, 0, 0.12);
    --rozhika-shadow-strong: 0 20px 60px rgba(0, 0, 0, 0.18);
    --rozhika-shadow-glow: 0 10px 40px var(--rozhika-primary-glow);
    --rozhika-radius-sm: 12px;
    --rozhika-radius-md: 16px;
    --rozhika-radius-lg: 24px;
    --rozhika-radius-xl: 32px;
    --rozhika-transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    --rozhika-transition-medium: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    --rozhika-transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    --rozhika-font-display: var(--font-family, IRANYekan, sans-serif);
    --rozhika-text-primary: #1a1a2e;
    --rozhika-text-secondary: #4a4a68;
    --rozhika-text-muted: #8b8ba7;
    --rozhika-bg-primary: #ffffff;
    --rozhika-bg-secondary: #f8f9ff;
    --rozhika-bg-accent: #f0f0ff;
    --rozhika-border-light: rgba(124, 77, 255, 0.1);
    --rozhika-border-medium: rgba(124, 77, 255, 0.2);
}

:root {
    --fluid-badge-font: 12px;
    --fluid-badge-padding-y: clamp(3px, 0.7vw, 6px);
    --fluid-badge-padding-x: clamp(6px, 1.4vw, 14px);
    --fluid-badge-gap: clamp(3px, 0.8vw, 6px);
    --fluid-badge-shadow: clamp(4px, 1vw, 8px);
    --fluid-sale-font: clamp(12px, 2vw, 13px);
    --fluid-sale-percent: clamp(12px, 2.2vw, 16px);
    --fluid-tier-svg: clamp(18px, 4vw, 28px);
    --fluid-container-top: clamp(-30px, -4vw, -20px);
    --fluid-container-offset: clamp(2px, 0.5vw, 4px);
}
