@font-face {
  font-family: 'Playfair Display';
  src: url('../assets/fonts/PlayfairDisplay-MediumItalic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'IBM Plex Mono';
  src: url('../assets/fonts/IBMPlexMono-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

:root {
  /* Colores */
  --primary: #C06C4C;        /* Terracota/Rust principal */
  --primary-light: #EADCC9;  /* Arena/Beige claro */
  --primary-dark: #A05232;   /* Terracota oscuro */
  --bg: #FAF6F0;             /* Crema cálido/Marfil de fondo */
  --text: #2F2520;           /* Marrón Espresso oscuro para texto principal */
  --text-light: #6E6058;     /* Marrón medio para textos secundarios */
  --accent: #2A4B4B;         /* Verde Bosque/Teal para botones de acción (CTA) */
  --accent-hover: #1E3737;   /* Hover para CTA */
  --white: #FFFFFF;
  --black: #1A1A1A;
  --gray-light: #F5F5F5;
  --gray: #E0E0E0;
  --gray-dark: #9E9E9E;
  --error: #E57373;
  --success: #81C784;

  /* Tipografía */
  --font-primary: 'Playfair Display', serif;
  --font-secondary: 'IBM Plex Mono', monospace;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;
  --font-size-4xl: 2.5rem;
  --font-size-5xl: 3rem;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;

  /* 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;

  /* Bordes */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 9999px;
  --border-width: 1px;

  /* Sombras */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);

  /* Transiciones */
  --transition-fast: 150ms ease;
  --transition-normal: 250ms ease;
  --transition-slow: 350ms ease;

  /* Breakpoints */
  --breakpoint-sm: 480px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;

  /* Z-index */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;

  /* Container */
  --container-max: 1200px;
  --container-padding: var(--space-lg);
}
