/* =========================================================
   ✨ ROOT UNIVERSAL — Rincón Jugueticos (Edición Navideña)
   Estética: Infantil, Cute, Vibrante y Navideña
========================================================= */

:root {

  /* =======================
        PALETA PRINCIPAL
     ======================= */

  --color-red: #D9414E;        /* Rojo navideño suave, amigable */
  --color-red-dark: #B7323F;   /* Rojo más profundo para hover */
  --color-green: #2FA779;      /* Verde navideño infantil */
  --color-green-dark: #1E8058; /* Verde profundo para contraste */
  --color-gold: #F4D68A;       /* Dorado pastel (no metálico) */
  --color-gold-bright: #FFD98E;/* Destellos dorados suaves */

  --color-blue: #4CB8FF;       /* Azul juguete */
  --color-yellow: #FFDD59;     /* Amarillo infantil */
  --color-orange: #FFA346;     /* Naranja juguete */

  --color-primary: var(--color-red);
  --color-secondary: var(--color-green);
  --color-accent: var(--color-gold);

  /* =======================
            TEXTOS
     ======================= */

  --text-dark: #2B2B2B;
  --text-light: #FFFFFF;
  --text-muted: #787878;
  --text-gold: var(--color-gold);

  /* Para títulos infantiles como el banner */
  --text-hero-title: #FFF2A8; /* Amarillo pastel del hero */
  --text-hero-sub: #FFFFFF;

  /* =======================
            FONDOS
     ======================= */

  --bg-white: #FFFFFF;
  --bg-light: #FFF8F2;       /* Fondo crema cálido */
  --bg-soft-green: #EAF8F3;  /* Verde pastel */
  --bg-soft-red: #FFECEF;    /* Rojo pastel delicado */
  --bg-soft-gold: #FFF6DA;   /* Dorado pastel suave */

  /* Degradado tipo hero */
  --bg-hero-gradient: linear-gradient(
    120deg,
    #D9414E 0%,
    #2FA779 50%,
    #F3C86B 100%
  );

  /* =======================
            BORDES
     ======================= */

  --border-soft: rgba(0,0,0,0.08);
  --border-gold: rgba(255,217,120,0.45);

  /* =======================
            BOTONES
     ======================= */

  --btn-primary-bg: var(--color-red);
  --btn-primary-text: #FFFFFF;
  --btn-primary-hover: var(--color-red-dark);

  --btn-secondary-bg: var(--color-green);
  --btn-secondary-text: #FFFFFF;
  --btn-secondary-hover: var(--color-green-dark);

  --btn-gold-bg: var(--color-gold);
  --btn-gold-text: #553C14;
  --btn-gold-hover: var(--color-gold-bright);

  /* =======================
            SOMBRAS
     ======================= */

  --shadow-soft: 0 4px 12px rgba(0,0,0,0.12);
  --shadow-card: 0 6px 18px rgba(0,0,0,0.10);
  --shadow-floating: 0 10px 30px rgba(0,0,0,0.15);

  /* =======================
            DECORACIÓN
     ======================= */

  --star-gold: #FFD98E;
  --line-gold: rgba(255,217,120,0.65);
  --sparkle-light: rgba(255,255,255,0.85);

  /* =======================
         PRODUCTOS PAGE
     ======================= */

  --prod-title: var(--text-dark);
  --prod-price: #D9414E;
  --prod-rating: var(--color-gold);
  --prod-badge: var(--color-green);

  /* =======================
         CARRITO / MENÚ
     ======================= */

  --bg-cart: #FFF5E6; /* suave y cálido */
  --shadow-cart: 0 0 25px rgba(0,0,0,0.15);

  --bg-menu: #FFFFFF;
  --shadow-menu: 0 4px 18px rgba(0,0,0,0.12);


  /* =======================================
        🔽 TODO LO DEMÁS (TAMAÑOS, PADDING)
     ======================================= */

  /* ESPACIADO */
  --spacing-xs: 6px;
  --spacing-sm: 12px;
  --spacing-md: 20px;
  --spacing-lg: 32px;
  --spacing-xl: 48px;
  --spacing-2xl: 72px;
  --spacing-3xl: 96px;
  --spacing-base: 16px;

  /* PADDING */
  --padding-xs: 10px;
  --padding-sm: 16px;
  --padding-md: 24px;
  --padding-lg: 36px;
  --padding-xl: 56px;
  --padding-base: 16px;

  /* TAMAÑOS GENERALES */
  --size-xs: 20px;
  --size-sm: 24px;
  --size-md: 32px;
  --size-lg: 48px;
  --size-xl: 66px;
  --size-2xl: 84px;

  /* TARJETA PRODUCTO */
  --producto-min: 220px;

  /* TIPOGRAFÍA */
  --font-family: 'Manrope', sans-serif;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-base: 16px;
  --font-size-md: 18px;
  --font-size-lg: 22px;
  --font-size-xl: 26px;
  --font-size-2xl: 34px;
  --font-size-3xl: 42px;
  --font-size-4xl: 54px;
  --font-size-5xl: 64px;
  --font-size-6xl: 74px;
  --font-size-hero: 76px;

  /* PESOS */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  /* ALTURA DE LÍNEA */
  --line-height-tight: 1.05;
  --line-height-normal: 1.4;
  --line-height-relaxed: 1.65;

  /* RADIUS */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-xl: 36px;
  --radius-full: 999px;

  /* TRANSICIONES */
  --transition-fast: 0.15s ease;
  --transition-normal: 0.3s ease;
  --transition-slow: 0.5s ease;
  --transition-smooth: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);

  /* Z-INDEX */
  --z-dropdown: 1000;
  --z-sticky: 1001;
  --z-modal: 1002;
  --z-tooltip: 9999;

  /* BREAKPOINTS */
  --breakpoint-mobile: 640px;
  --breakpoint-tablet: 768px;
  --breakpoint-desktop: 960px;
  --breakpoint-large: 1200px;

  /* CONTAINERS */
  --container-sm: 600px;
  --container-md: 1200px;
  --container-lg: 1200px;
  --container-xl: 1440px;
}

/* =========================================================
   📱 RESPONSIVE (INTACTO)
========================================================= */

@media (max-width: 768px) {
  :root {
    --font-size-hero: 48px;
    --font-size-5xl: 42px;
    --font-size-4xl: 36px;
    --font-size-3xl: 28px;
    --font-size-2xl: 24px;
    --font-size-xl: 20px;
    --padding-xl: 32px;
    --padding-lg: 24px;
    --spacing-3xl: 48px;
    --spacing-2xl: 36px;
    --spacing-xl: 24px;
    --producto-min: 240px;
  }
}

@media (max-width: 640px) {
  :root {
    --font-size-hero: 36px;
    --font-size-5xl: 32px;
    --font-size-4xl: 28px;
    --font-size-3xl: 24px;
    --font-size-2xl: 20px;
    --font-size-xl: 18px;
    --padding-xl: 24px;
    --padding-lg: 20px;
    --padding-md: 16px;
    --spacing-3xl: 32px;
    --spacing-2xl: 24px;
    --spacing-xl: 20px;
    --spacing-lg: 16px;
    --producto-min: 200px;
  }
}
