/* ============================================================
   MIL MULTIVERSOS — Base CSS
   Variables, reset, tipografía
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap');

/* --- Tokens de diseño ---------------------------------------- */
:root {
  /* Colores principales */
  --cream:       #faf7f2;
  --cream2:      #f2ede4;
  --cream3:      #e8dfd0;
  --moss:        #3d5a3e;
  --moss2:       #2c4230;
  --moss-light:  #ecf2ec;
  --terra:       #b07040;
  --terra-light: #f5ede3;
  --dark:        #1a1a18;
  --dark2:       #2e2e2a;
  --mid:         #6b6860;
  --light:       #a8a49c;
  --white:       #ffffff;

  /* Estado */
  --success:     #2d7a4f;
  --success-bg:  #eaf5ef;
  --warning:     #b07040;
  --warning-bg:  #fdf3e7;
  --danger:      #c0392b;
  --danger-bg:   #fdecea;
  --info:        #2980b9;
  --info-bg:     #eaf4fb;

  /* Tipografía */
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Radios */
  --r:  14px;
  --r2: 20px;
  --r3: 28px;

  /* Sombras */
  --shadow-sm: 0 2px 8px rgba(61,90,62,.04), 0 4px 16px rgba(61,90,62,.06);
  --shadow-md: 0 4px 12px rgba(61,90,62,.06), 0 12px 32px rgba(61,90,62,.10);
  --shadow-lg: 0 8px 24px rgba(61,90,62,.08), 0 24px 64px rgba(61,90,62,.14);

  /* Transiciones */
  --ease: cubic-bezier(.25,.46,.45,.94);
  --t: 200ms;
  --t2: 350ms;

  /* Layout */
  --max-w: 1200px;
  --nav-h: 60px;
}

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

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

body {
  font-family: var(--sans);
  background: var(--cream);
  color: var(--dark);
  line-height: 1.6;
  overflow-x: hidden;
  min-height: 100vh;
}

img, video {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, textarea, select {
  font-family: inherit;
  font-size: inherit;
}

ul, ol {
  list-style: none;
}

/* --- Tipografía ----------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 300;
  line-height: 1.15;
  color: var(--dark);
}

h1 { font-size: clamp(40px, 6vw, 72px); }
h2 { font-size: clamp(28px, 4vw, 46px); }
h3 { font-size: clamp(22px, 3vw, 32px); }
h4 { font-size: clamp(18px, 2.5vw, 24px); }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

p {
  color: var(--mid);
  line-height: 1.7;
}

/* --- Utilidades ----------------------------------------------- */
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
}

.section {
  padding: 64px 32px;
}

.section-sm {
  padding: 40px 32px;
}

/* Texto */
.text-center { text-align: center; }
.text-right  { text-align: right; }
.serif       { font-family: var(--serif); }
.italic      { font-style: italic; }
.label       {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--terra);
  font-weight: 500;
}

/* Flex helpers */
.flex       { display: flex; }
.flex-col   { display: flex; flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.gap-4  { gap: 4px; }
.gap-8  { gap: 8px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.gap-24 { gap: 24px; }

/* Display */
.hidden { display: none !important; }

/* Animaciones */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.animate-fade  { animation: fadeIn .4s var(--ease) both; }
.animate-up    { animation: fadeInUp .5s var(--ease) both; }

/* --- Scrollbar personalizado ---------------------------------- */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--cream2); }
::-webkit-scrollbar-thumb { background: var(--cream3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--light); }

/* --- Selección de texto -------------------------------------- */
::selection {
  background: var(--moss-light);
  color: var(--moss2);
}
