/* Argentum Sans (licencia libre OFL 1.1, ver /assets/vendor/fonts/argentum-sans/OFL.txt), servida desde el
   propio dominio: nada de CDN (decisión 2 de Alonso, 2026-10-25). Solo el subconjunto latino, que cubre el español. */
@font-face{font-family:'Argentum Sans'; font-style:normal; font-weight:400; font-display:swap;
  src:url(/assets/vendor/fonts/argentum-sans/argentum-sans-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Argentum Sans'; font-style:normal; font-weight:500; font-display:swap;
  src:url(/assets/vendor/fonts/argentum-sans/argentum-sans-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Argentum Sans'; font-style:normal; font-weight:600; font-display:swap;
  src:url(/assets/vendor/fonts/argentum-sans/argentum-sans-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Argentum Sans'; font-style:normal; font-weight:700; font-display:swap;
  src:url(/assets/vendor/fonts/argentum-sans/argentum-sans-latin-700-normal.woff2) format('woff2')}

:root{
  
  /* 1. Paleta cruda · Luni (manual de marca 2026: «Cuatro tonos. Nada más.») */
  --black:#000000; --white:#FFFFFF;
  --charcoal:#2C2C2C;                 /* marca · texto, wordmark, alto contraste */
  --cream:#F5EFE8;                    /* marca · fondo principal */
  --peach:#F4D6BD;                    /* marca · acento cálido, highlights suaves */
  --ocre:#B97A3A;                     /* marca · detalle, estrellitas */
  --slate:#1F1F1F;                    /* charcoal profundo: hover de superficies oscuras */
  --graphite:#52504F;                 /* neutro cálido · texto secundario */
  --steel:#85827F;                    /* neutro cálido · borde fuerte */
  --silver:#636260;                   /* neutro cálido · texto atenuado */
  --pearl:#DBD6D0; --pearl-light:#E7E1DB; --pearl-tint:#EDE7E0;  /* cream hondos: bordes y superficies */
  --gold:#B97A3A;                     /* nombre del kit · = ocre */
  --coral:#F4D6BD;                    /* nombre del kit · = peach */
  --teal:#6DB5B6; --sage:#79977F;     /* del kit, sin equivalente en la marca: no usar */

  
  --surface-page:#F5EFE8;
  --surface-raised:#FFFFFF;          
  --surface-sunken:#EDE7E0;          
  --surface-inverse:#2C2C2C;         
  
  
  --surface-inverse-hover:#1F1F1F;   
  --surface-muted:#E7E1DB;           
  --surface-disabled:#DBD6D0;        

  --border-subtle:#E7E1DB;           
  --border-default:#DBD6D0;          
  --border-strong:#85827F;           
  
  --border-emphasis:#646361;         
  --border-accent:#B97A3A;           

  --text-primary:#2C2C2C;            
  --text-secondary:#52504F;          
  --text-muted:#636260;              
  --text-inverse:#F5EFE8;
  --focus-ring:#2C2C2C;
  --overlay-scrim:rgba(44,44,44,.45);  

  
  /* Estados cálidos, con contraste AA (4,5:1) sobre su propio fondo y sobre page, raised, sunken y muted
     (investigación de diseño, 4.1 D; aprobado por Alonso el 2026-10-25). Lo revisa test/contraste.test.js.
     Antes, éxito, aviso e información no llegaban a 4,5 sobre las superficies de Luni. */
  --fb-error:#A3261B;   --fb-error-bg:#FBE4E0;
  --fb-success:#2D6A3E; --fb-success-bg:#E2EFE4;
  --fb-warning:#7A4A00; --fb-warning-bg:#FCEFCB;
  --fb-info:#24527A;    --fb-info-bg:#E1EBF3;
  /* La familia «cliente»: lo que espera al cliente (por ejemplo, una pieza por aprobar). La usan los estados de las piezas. */
  --est-cliente:#8E3B1F; --est-cliente-bg:#FBE3D3;

  
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px;
  --sp-5:24px; --sp-6:32px; --sp-7:48px; --sp-8:64px;

  
  --sp-d1:6.4px;   
  --sp-d2:8px;     
  --sp-d3:9.6px;   
  --sp-d4:11.2px;  
  --sp-d5:13.6px;  
  --sp-indent:27.2px; 

  
  --radius-sm:6px;   
  --radius-md:8px;   
  --radius-lg:12px;  
  --radius-full:999px;

  
  --font-sans:'Argentum Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,system-ui,sans-serif;
  --fs-1:0.6875rem; 
  --fs-2:0.75rem;   
  --fs-3:0.8125rem; 
  --fs-4:0.875rem;  
  --fs-5:1rem;      
  --fs-6:1.25rem;   
  --fs-7:1.5rem;    
  --fs-8:2rem;      
  
  --fs-d1:0.7rem;   
  --fs-d2:0.86rem;  
  --fs-d3:0.88rem;  
  --fs-d4:0.95rem;  
  --lh-tight:1.2; --lh-snug:1.35; --lh-normal:1.55; --lh-relaxed:1.65;
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;

  
  --elev-0:none;
  --elev-1:0 1px 2px rgba(0,0,0,.06);   
  --elev-2:0 4px 12px rgba(0,0,0,.10);  
  --elev-3:0 16px 40px rgba(0,0,0,.18); 

  
  --control-h-sm:32px; --control-h:40px; --control-h-touch:44px;

  
  --dur-1:120ms; --dur-2:200ms; --dur-3:320ms;
  --ease:cubic-bezier(.2,0,0,1);

  
  --z-sticky:100; --z-header:200; --z-dropdown:300;
  --z-overlay:400; --z-modal:500; --z-toast:600;
  
  --z-dialog:550;
  
  --z-tbl-col:1; --z-tbl-head:2; --z-tbl-corner:3;
  
  --tbl-col-fija:15rem;

  
  --maxw-content:1440px; --maxw-header:1440px; --maxw-prose:760px;
}

@media (pointer:coarse){
  button,[role="button"],a.btn,.ui-btn,.ui-tab,input[type="checkbox"],input[type="radio"]{
    min-height:var(--control-h-touch);
  }
}
