/* ==========================================================================
   CardNet.ec - Sistema de Diseño Editorial y Corporativo (base.css)
   ========================================================================== */

/* 1. Variables de Diseño (Tokens de Marca Premium y Sobrios) */
:root {
    /* Paleta de Colores Corporativa y Orgánica (Alineada al Logo Real) */
    --primary: #63AE2C;            /* Verde Hoja CardNet (Uso como acento selectivo) */
    --primary-hover: #508E22;
    --primary-light: rgba(99, 174, 44, 0.05);
    
    /* Tonos Neutros Sobrios y Elegantes */
    --dark: #1E221C;               /* Negro Carbón / Grafito */
    --dark-alt: #2D3329;           /* Grafito Profundo */
    --light: #FCFDFB;              /* Blanco Cálido / Hueso */
    --surface-light: #F2F5F0;      /* Gris Claro Cálido */
    --border: #DCE2D8;             /* Línea Fina Discreta de 1px */
    --accent-gold: #BAAF1A;        /* Dorado Apagado / Champagne */
    
    /* Tipografía Corporativa y Formal */
    --font-heading: 'IBM Plex Serif', Georgia, serif;
    --font-body: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
    
    /* Textos de Alta Legibilidad */
    --text-main: #1E221C;
    --text-muted: #5C6558;         /* Grafito Suave */
    --text-light: #FCFDFB;
    
    /* Escala de Espaciado Amplio y Editorial */
    --space-xs: clamp(0.5rem, 1vw, 0.75rem);
    --space-sm: clamp(0.85rem, 1.8vw, 1.15rem);
    --space-md: clamp(1.5rem, 3.5vw, 2.25rem);
    --space-lg: clamp(2.5rem, 5vw, 4rem);
    --space-xl: clamp(4rem, 8vw, 6rem);
    
    /* Bordes Redondeados Discretos (No circulares ni infantiles) */
    --radius-sm: 2px;
    --radius-md: 4px;
    --radius-lg: 8px;
    
    /* Sombras Naturales y Tenues */
    --shadow-sm: 0 1px 2px rgba(30, 34, 28, 0.02);
    --shadow-md: 0 4px 10px rgba(30, 34, 28, 0.03);
    --shadow-lg: 0 10px 20px rgba(30, 34, 28, 0.04);
    
    /* Transiciones Clásicas y Suaves */
    --transition-smooth: all 0.35s cubic-bezier(0.215, 0.61, 0.355, 1);
    --transition-fast: all 0.15s ease-out;
}

/* 2. Reset CSS */
*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    background-color: var(--light);
    color: var(--text-main);
    font-family: var(--font-body);
    line-height: 1.6;
    overflow-x: hidden;
}

ul, ol {
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition-fast);
    font-family: var(--font-body);
}

img, svg {
    display: block;
    max-width: 100%;
    height: auto;
}

button, input, select, textarea {
    font-family: var(--font-body);
    font-size: inherit;
    color: inherit;
    background: none;
    border: none;
}

button {
    cursor: pointer;
}

/* 3. Tipografía Formal IBM Plex */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    font-weight: 600;
    line-height: 1.15;
    color: var(--dark);
}

h1 {
    font-size: clamp(38px, 5vw, 68px);
}

h2 {
    font-size: clamp(30px, 4vw, 48px);
}

h3 {
    font-size: clamp(22px, 3vw, 32px);
}

h4 {
    font-size: clamp(18px, 2vw, 24px);
}

p {
    color: var(--text-muted);
    font-size: clamp(16px, 1.1vw, 18px);
}

p strong {
    color: var(--dark);
}

.text-highlight {
    color: var(--primary);
    border-bottom: 2px solid var(--primary-light);
}
