/**
 * Design Tokens - Biblioteca de Conteúdo V2
 *
 * Sistema de design tokens para o teste A/B.
 * Baseado no Design System orienteme.
 *
 * @author Alessi Soncini (alessi@orienteme.com.br)
 * @version 2.0
 * @date 2025-12-15
 */

:root {
    /* ========================================
       CORES - Paleta orienteme
       ======================================== */

    /* Cores Primárias */
    --om-primary: #418C83;
    --om-primary-light: #1bc5bd;
    --om-primary-dark: #2f6b64;
    --om-primary-hover: #367a72;

    /* Cores Secundárias */
    --om-secondary: #62c1ad;
    --om-secondary-light: #8fd4c5;
    --om-secondary-dark: #4a9e8d;

    /* Backgrounds */
    --om-bg-primary: #f3f7fa;
    --om-bg-secondary: #ffffff;
    --om-bg-dark: #181818;
    --om-bg-card: #ffffff;
    --om-bg-overlay: rgba(0, 0, 0, 0.6);
    --om-bg-overlay-light: rgba(255, 255, 255, 0.1);

    /* Surfaces (para cards, dropdowns, menus) */
    --om-surface: #ffffff;
    --om-surface-alt: #f8fafc;

    /* Textos */
    --om-text-primary: #181c32;
    --om-text-secondary: #757874;
    --om-text-muted: #8e908f;
    --om-text-inverse: #ffffff;
    --om-text-link: #418C83;
    --om-text: #181c32; /* Alias para --om-text-primary */

    /* Estados */
    --om-success: #28a745;
    --om-warning: #ffc107;
    --om-error: #dc3545;
    --om-info: #17a2b8;
    --om-accent: #8b5cf6; /* Roxo para destaques especiais */

    /* Bordas */
    --om-border-light: rgba(0, 0, 0, 0.08);
    --om-border-medium: #ddd;
    --om-border-dark: #8a938c;
    --om-border: #e5e7eb; /* Borda padrão */

    /* ========================================
       SPACING - Escala de espaçamento
       ======================================== */

    --om-space-0: 0;
    --om-space-xs: 4px;
    --om-space-sm: 8px;
    --om-space-md: 16px;
    --om-space-lg: 24px;
    --om-space-xl: 32px;
    --om-space-2xl: 48px;
    --om-space-3xl: 64px;
    --om-space-4xl: 96px;

    /* ========================================
       TYPOGRAPHY - Escala tipográfica
       ======================================== */

    /* Font Families */
    --om-font-primary: 'Poppins', sans-serif;
    --om-font-secondary: 'Raleway', sans-serif;

    /* Font Sizes */
    --om-text-xs: 12px;
    --om-text-sm: 14px;
    --om-text-base: 16px;
    --om-text-lg: 18px;
    --om-text-xl: 20px;
    --om-text-2xl: 24px;
    --om-text-3xl: 32px;
    --om-text-4xl: 40px;
    --om-text-5xl: 48px;

    /* Font Weights */
    --om-font-normal: 400;
    --om-font-medium: 500;
    --om-font-semibold: 600;
    --om-font-bold: 700;

    /* Line Heights */
    --om-leading-tight: 1.2;
    --om-leading-normal: 1.4;
    --om-leading-relaxed: 1.6;
    --om-leading-loose: 1.8;

    /* Letter Spacing */
    --om-tracking-tight: -0.02em;
    --om-tracking-normal: 0;
    --om-tracking-wide: 0.05em;
    --om-tracking-wider: 0.1em;

    /* ========================================
       BORDER RADIUS
       ======================================== */

    --om-radius-none: 0;
    --om-radius-sm: 6px;
    --om-radius-md: 10px;
    --om-radius-lg: 16px;
    --om-radius-xl: 24px;
    --om-radius-full: 9999px;

    /* ========================================
       SHADOWS
       ======================================== */

    --om-shadow-none: none;
    --om-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.12);
    --om-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
    --om-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.15);
    --om-shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
    --om-shadow-card: 0 2px 13px rgba(175, 165, 165, 0.25);
    --om-shadow-button: 0 4px 8px rgba(0, 0, 0, 0.15);

    /* ========================================
       TRANSITIONS
       ======================================== */

    --om-transition-fast: 150ms ease;
    --om-transition-base: 300ms ease;
    --om-transition-normal: 300ms ease; /* Alias para --om-transition-base */
    --om-transition-slow: 500ms ease;

    /* ========================================
       ANIMATIONS - Easing & Timing
       ======================================== */

    /* Easing Functions */
    --om-ease-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --om-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --om-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --om-ease-elastic: cubic-bezier(0.68, -0.6, 0.32, 1.6);

    /* Animation Durations */
    --om-ease-duration: 600ms;
    --om-ease-duration-fast: 300ms;
    --om-ease-duration-slow: 800ms;

    /* Stagger Delays */
    --om-stagger-delay: 50ms;
    --om-stagger-delay-fast: 30ms;
    --om-stagger-delay-slow: 80ms;

    /* Transform Scales */
    --om-scale-hover: 1.02;
    --om-scale-active: 0.98;
    --om-scale-pop: 1.1;

    /* Opacity States */
    --om-opacity-disabled: 0.5;
    --om-opacity-hover: 0.85;
    --om-opacity-muted: 0.6;

    /* ========================================
       Z-INDEX
       ======================================== */

    --om-z-base: 1;
    --om-z-dropdown: 10;
    --om-z-sticky: 50;
    --om-z-fixed: 100;
    --om-z-modal-backdrop: 200;
    --om-z-modal: 300;
    --om-z-tooltip: 400;

    /* ========================================
       BREAKPOINTS (para referência em JS)
       ======================================== */

    --om-bp-sm: 576px;
    --om-bp-md: 768px;
    --om-bp-lg: 992px;
    --om-bp-xl: 1200px;
    --om-bp-2xl: 1400px;

    /* ========================================
       SIZES - Tamanhos específicos
       ======================================== */

    /* Container */
    --om-container-sm: 540px;
    --om-container-md: 720px;
    --om-container-lg: 960px;
    --om-container-xl: 1140px;
    --om-container-2xl: 1320px;

    /* Header V2 - altura compacta */
    --om-header-height: 56px;
    --om-header-height-mobile: 52px;

    /* Cards */
    --om-card-min-width: 280px;
    --om-card-max-width: 350px;

    /* Avatar */
    --om-avatar-sm: 24px;
    --om-avatar-md: 36px;
    --om-avatar-lg: 48px;
    --om-avatar-xl: 120px;

    /* Buttons */
    --om-button-height: 55px;
    --om-button-height-sm: 40px;

    /* Audio Player */
    --om-player-height: 110px;
    --om-player-height-mobile: 80px;
}

/* ========================================
   MEDIA QUERY CUSTOM PROPERTIES
   (usando @media para sobrescrever tokens)
   ======================================== */

@media (max-width: 768px) {
    :root {
        /* Ajustes mobile */
        --om-text-4xl: 32px;
        --om-text-3xl: 24px;
        --om-text-2xl: 20px;
        --om-space-3xl: 48px;
        --om-space-2xl: 32px;
    }
}
