/* ============================================================
   Orivelle Store OS — design tokens
   All values are CSS custom properties; runtime overrides come
   from the inline #orivelle-design-tokens block.
   ============================================================ */

.orivelle-store {
    --ov-primary: #1e2a4a;
    --ov-secondary: #b08d57;
    --ov-accent: #b08d57;
    --ov-gold: #b08d57;
    --ov-gold-soft: #d9c39a;
    --ov-bg: #ffffff;
    --ov-surface: #f7f6f3;
    --ov-text: #141a2b;
    --ov-muted: #68718a;
    --ov-border: #e8e5de;
    --ov-success: #2f7d5a;
    --ov-warning: #b97a0e;
    --ov-error: #b42318;
    --ov-sale: #b42318;
    --ov-btn: #1e2a4a;
    --ov-btn-hover: #141d36;
    --ov-header-bg: #ffffff;
    --ov-footer-bg: #141a2b;

    /* Derived surfaces — never overridden directly */
    --ov-grad-gold: linear-gradient(120deg, #a5814a 0%, #d9c39a 45%, #a5814a 100%);
    --ov-grad-hero: linear-gradient(180deg, rgba(10,14,26,0) 40%, rgba(10,14,26,.72) 100%);
    --ov-grad-btn: linear-gradient(180deg, var(--ov-btn) 0%, var(--ov-btn-hover) 100%);

    --ov-font-heading: 'Playfair Display', Georgia, serif;
    --ov-font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
    --ov-font-size: 16px;
    --ov-line-height: 1.65;
    --ov-letter-spacing: 0.01em;
    --ov-kicker: 600 .72rem/1 var(--ov-font-body);

    --ov-radius: 10px;
    --ov-radius-sm: calc(var(--ov-radius) * 0.6);
    --ov-radius-lg: calc(var(--ov-radius) * 1.6);
    --ov-container: 1280px;
    --ov-header-h: 76px;
    --ov-gap: 26px;

    /* Luxury shadow scale — soft, layered, warm-tinted */
    --ov-shadow-xs: 0 1px 2px rgba(20, 26, 43, .05);
    --ov-shadow-sm: 0 2px 6px rgba(20, 26, 43, .06), 0 1px 2px rgba(20, 26, 43, .04);
    --ov-shadow: 0 8px 24px rgba(20, 26, 43, .08), 0 2px 6px rgba(20, 26, 43, .04);
    --ov-shadow-lg: 0 18px 44px rgba(20, 26, 43, .13), 0 4px 12px rgba(20, 26, 43, .06);
    --ov-shadow-xl: 0 30px 70px rgba(20, 26, 43, .18), 0 8px 20px rgba(20, 26, 43, .08);
    --ov-shadow-gold: 0 8px 30px rgba(176, 141, 87, .28);

    /* Motion — spring-ish ease for micro interactions */
    --ov-tr-fast: .16s ease;
    --ov-tr: .32s cubic-bezier(.22, .68, .32, 1);
    --ov-tr-slow: .55s cubic-bezier(.22, .68, .32, 1);

    color-scheme: light;
}
.orivelle-store[data-scheme="dark"] { color-scheme: dark; }
