/* =============================================
   WOLF GROUP — Design Tokens & Base
   Migrado de: ascensoreswolfgroup/styles.css
   Incluye: :root, box-sizing, html, body, reduced-motion
   Excluido: reset agresivo (margin/padding), .container,
             header, footer, nav, botones, secciones
   ============================================= */


/* -----------------------------------------------
   1. DESIGN TOKENS
   ----------------------------------------------- */

:root {

    /* Fondos */
    --color-bg:               #0a0a0a;
    --color-bg-alt:           #111111;
    --color-surface:          #161616;
    --color-surface-elevated: #1a1a1a;

    /* Bordes */
    --color-border:       #2a2a2a;
    --color-border-light: #333333;

    /* Acento — azul corporativo */
    --color-accent:       #005aa9;
    --color-accent-dark:  #004a87;
    --color-accent-light: #4d8ed9;

    /* Texto */
    --color-text:       #ffffff;
    --color-text-muted: #b8b8b8;
    --color-text-dim:   #949494;

    /* Tipografía */
    --font-display: 'Bebas Neue', sans-serif;
    --font-body:    'DM Sans', sans-serif;

    /* Espaciado */
    --space-xs:  0.25rem;
    --space-sm:  0.5rem;
    --space-md:  1rem;
    --space-lg:  1.5rem;
    --space-xl:  2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
    --space-4xl: 6rem;

    /* Layout */
    --container:     1200px;
    --header-height: 80px;

    /* Sombras */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);

    /* Transiciones */
    --transition-fast:   0.15s ease;
    --transition-base:   0.3s ease;
    --transition-slow:   0.5s ease;

    /* Alias: corrigen variables nunca definidas en el original */
    --transition-normal: var(--transition-base);

    /* Bordes redondeados */
    --radius-sm: 4px;
    --radius-md: 6px;
    --radius-lg: 8px; /* no estaba definida en el original — causa: border-radius: 0 en .cobertura__item */
}


/* -----------------------------------------------
   2. BOX-SIZING UNIVERSAL
   Solo box-sizing — sin reset de margin/padding
   (el reset agresivo rompe el espaciado de Elementor)
   ----------------------------------------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}


/* -----------------------------------------------
   3. HTML
   ----------------------------------------------- */

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}


/* -----------------------------------------------
   4. BODY
   ----------------------------------------------- */

body {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-text);
    background-color: var(--color-bg);
    overflow-x: hidden;
}


/* -----------------------------------------------
   5. NOISE TEXTURE
   ----------------------------------------------- */

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9999;
    opacity: 0.03;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
}


/* -----------------------------------------------
   5. ACCESIBILIDAD — MOVIMIENTO REDUCIDO
   ----------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
