/* Tokens de marca La Gran Vitrina (sistema de diseño original). */
:root{
/* Brand — taken from the logo SVGs */
--lgv-navy:#14183A;--lgv-orange:#FF5A1F;--lgv-white:#FFFFFF;
/* Navy scale */
--navy-950:#0B0E24;--navy-900:#14183A;--navy-800:#1F2450;--navy-700:#2E3462;--navy-600:#454B78;--navy-500:#666A8F;--navy-400:#8E91AD;--navy-300:#BBBDCF;--navy-200:#DDDEE7;--navy-100:#EEEEF4;--navy-50:#F7F7FA;
/* Orange scale (accent / "la repisa") */
--orange-800:#9E2F07;--orange-700:#C23C0B;--orange-600:#E84B12;--orange-500:#FF5A1F;--orange-400:#FF7C4C;--orange-300:#FFA582;--orange-200:#FFD2C0;--orange-100:#FFEBE2;--orange-50:#FFF6F1;
/* Neutrals — warm paper; 100 is the single neutral product-photo background ("fondo único") */
--paper-0:#FFFFFF;--paper-50:#FAF9F7;--paper-100:#F2F1ED;--paper-200:#E6E4DE;--paper-300:#D2CFC7;--paper-400:#ADA9A0;--paper-500:#86827A;--paper-600:#5F5C55;--paper-700:#45433E;
/* Semantic */
--green-600:#1C7F52;--green-100:#E3F3EA;--amber-600:#A86A00;--amber-100:#FBF0D9;--red-600:#C7302F;--red-100:#FBE6E5;--blue-600:#2D5BB8;--blue-100:#E5ECFA;

/* ── Semantic aliases ── */
--text-strong:var(--navy-900);--text-body:var(--navy-800);--text-muted:var(--navy-500);--text-subtle:var(--navy-400);--text-inverse:var(--paper-0);--text-accent:var(--orange-700);--text-on-accent:var(--navy-900);
--surface-page:var(--paper-0);--surface-sunken:var(--paper-50);--surface-card:var(--paper-0);--surface-photo:var(--paper-100);--surface-inverse:var(--navy-900);--surface-accent:var(--orange-500);--surface-accent-soft:var(--orange-50);--surface-navy-soft:var(--navy-50);
--border-subtle:var(--paper-200);--border-default:var(--paper-300);--border-strong:var(--navy-900);--border-shelf:var(--navy-900);--border-focus:var(--orange-500);
--action-primary:var(--orange-500);--action-primary-hover:var(--orange-600);--action-primary-press:var(--orange-700);
--action-secondary:var(--navy-900);--action-secondary-hover:var(--navy-800);--action-secondary-press:var(--navy-950);
--status-success:var(--green-600);--status-success-bg:var(--green-100);--status-warning:var(--amber-600);--status-warning-bg:var(--amber-100);--status-danger:var(--red-600);--status-danger-bg:var(--red-100);--status-info:var(--blue-600);--status-info-bg:var(--blue-100);
--overlay-scrim:rgba(11,14,36,.48);
}

:root{
--font-display:'Bricolage Grotesque','Inter',system-ui,sans-serif;
--font-sans:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
--font-mono:ui-monospace,'SF Mono',Menlo,monospace;
--weight-regular:400;/* @kind other */--weight-medium:500;/* @kind other */--weight-semibold:600;/* @kind other */--weight-bold:700;/* @kind other */--weight-black:800;/* @kind other */
/* Display (Bricolage Grotesque 800, tight) */
--fs-display-xl:64px;--lh-display-xl:1.0;/* @kind other */--fs-display-l:48px;--lh-display-l:1.04;/* @kind other */--fs-display-m:36px;--lh-display-m:1.08;/* @kind other */
--fs-h1:30px;--lh-h1:1.12;/* @kind other */--fs-h2:24px;--lh-h2:1.18;/* @kind other */--fs-h3:20px;--lh-h3:1.25;/* @kind other */
--tracking-display:-0.025em;/* @kind other */--tracking-heading:-0.015em;/* @kind other */
/* UI / body (Inter) */
--fs-body-l:18px;--lh-body-l:1.55;/* @kind other */--fs-body:16px;--lh-body:1.5;/* @kind other */--fs-body-s:14px;--lh-body-s:1.45;/* @kind other */--fs-caption:12px;--lh-caption:1.4;/* @kind other */
/* Eyebrow — wide-tracked caps, like "LA GRAN" in the wordmark */
--fs-eyebrow:12px;--tracking-eyebrow:0.18em;/* @kind other */
/* Price */
--fs-price-l:28px;--fs-price:18px;--fs-price-s:15px;
}

:root{
--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;
--container-max:1240px;--gutter:24px;--header-h:72px;
--control-h-s:36px;--control-h-m:44px;--control-h-l:52px;
}

:root{
/* Radii — "esquinas apenas redondeadas" (logo corner = 6/128 of symbol) */
--radius-xs:3px;--radius-s:4px;--radius-m:6px;--radius-l:10px;--radius-pill:999px;
/* Borders — the shelf: bottom edge thicker than the rest */
--border-w:1px;--shelf-w:3px;
/* Shadows — soft, low, only for floating layers and the product contact shadow */
--shadow-1:0 1px 2px rgba(20,24,58,.06);
--shadow-2:0 4px 16px -4px rgba(20,24,58,.12);
--shadow-3:0 16px 40px -12px rgba(20,24,58,.24);
--shadow-product:0 18px 24px -18px rgba(20,24,58,.35);
--focus-ring:0 0 0 3px rgba(255,90,31,.35);
/* Motion — quiet, no bounce */
--ease-out:cubic-bezier(.2,.7,.2,1);/* @kind other */--ease-in-out:cubic-bezier(.45,0,.2,1);/* @kind other */
--dur-fast:120ms;/* @kind other */--dur-base:180ms;/* @kind other */--dur-slow:280ms;/* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-strong);letter-spacing:var(--tracking-heading);margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
a{color:var(--navy-900);text-decoration:underline;text-decoration-color:var(--orange-500);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--orange-700)}
:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.lgv-eyebrow{font-family:var(--font-sans);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-muted)}
.lgv-num{font-variant-numeric:tabular-nums}
