:root {
  /* ─── Palette ─── */
  --color-dark:          #0F0F0D;
  --color-dark-alt:      #141210;
  --color-dark-card:     #1E1B16;
  --color-dark-border:   rgba(255, 255, 255, 0.07);
  --color-primario:      #8B1A1A;
  --color-primario-lt:   #A31F1F;
  --color-oro:           #C9A96E;
  --color-oro-lt:        #DFC08A;
  --color-fondo:         #FAF7F2;
  --color-fondo-alt:     #F0EBE3;
  --color-exito:         #25D366;
  --color-exito-dark:    #128C7E;

  /* ─── Text ─── */
  --color-texto:         #1A1612;
  --color-texto-suave:   #5C5246;
  --color-texto-cream:   #EDE8DF;
  --color-texto-muted:   #8A7E72;
  --color-borde:         #E0D8CE;

  /* ─── Typography ─── */
  --font-serif: 'Playfair Display', 'Georgia', 'Times New Roman', serif;
  --font-sans:  'Lato', 'Helvetica Neue', Arial, sans-serif;

  /* ─── Type Scale ─── */
  --fs-10: 0.625rem;
  --fs-11: 0.6875rem;
  --fs-12: 0.75rem;
  --fs-13: 0.8125rem;
  --fs-14: 0.875rem;
  --fs-16: 1rem;
  --fs-18: 1.125rem;
  --fs-20: 1.25rem;
  --fs-22: 1.375rem;
  --fs-24: 1.5rem;
  --fs-28: 1.75rem;
  --fs-32: 2rem;
  --fs-36: 2.25rem;
  --fs-40: 2.5rem;
  --fs-48: 3rem;
  --fs-56: 3.5rem;
  --fs-64: 4rem;
  --fs-80: 5rem;

  /* Backward compat aliases */
  --font-size-xs:   var(--fs-11);
  --font-size-sm:   var(--fs-13);
  --font-size-base: var(--fs-16);
  --font-size-lg:   var(--fs-18);
  --font-size-xl:   var(--fs-24);
  --font-size-2xl:  var(--fs-32);
  --font-size-3xl:  var(--fs-48);

  /* ─── Weights ─── */
  --fw-light:  300;
  --fw-normal: 400;
  --fw-bold:   700;
  --font-weight-light:  300;
  --font-weight-normal: 400;
  --font-weight-bold:   700;

  /* ─── Spacing ─── */
  --sp-4:   0.25rem;
  --sp-8:   0.5rem;
  --sp-12:  0.75rem;
  --sp-16:  1rem;
  --sp-20:  1.25rem;
  --sp-24:  1.5rem;
  --sp-32:  2rem;
  --sp-40:  2.5rem;
  --sp-48:  3rem;
  --sp-64:  4rem;
  --sp-80:  5rem;
  --sp-96:  6rem;
  --sp-128: 8rem;

  /* Backward compat aliases */
  --spacing-xs:   var(--sp-8);
  --spacing-sm:   var(--sp-16);
  --spacing-base: var(--sp-24);
  --spacing-md:   var(--sp-32);
  --spacing-lg:   var(--sp-64);
  --spacing-xl:   var(--sp-96);

  /* ─── Layout ─── */
  --max-width:        1280px;
  --max-width-narrow: 860px;
  --border-radius:    0;

  /* ─── Shadows ─── */
  --shadow-sm:   0 2px 12px rgba(0, 0, 0, 0.06);
  --shadow-md:   0 8px 32px rgba(0, 0, 0, 0.10);
  --shadow-lg:   0 20px 56px rgba(0, 0, 0, 0.16);
  --shadow-dark: 0 24px 64px rgba(0, 0, 0, 0.45);
  --box-shadow:    var(--shadow-md);
  --box-shadow-lg: var(--shadow-lg);

  /* ─── Transitions ─── */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out:    cubic-bezier(0.45, 0, 0.55, 1);
  --transition-base: all 0.35s var(--ease-out-quart);
  --transition-fast: all 0.18s ease;

  /* ─── Breakpoints ─── */
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
}
