/* ===== Electrolux (electrolux.it) — Design Tokens ===== */
:root{
  /* Colori */
  --ex-primary:        #0a2354;
  --ex-text:           #03183f;
  --ex-primary-200:    #3d5275;
  --ex-primary-300:    #c3cdd4;
  --ex-secondary:      #594141;
  --ex-surface:        #ffffff;
  --ex-surface-alt:    #f6f6f6;
  --ex-muted:          #6a6a6a;
  --ex-info:           #2e58ba;
  --ex-info-200:       #7390d1;
  --ex-caution:        #f4c703;
  --ex-success:        #107a35;
  --ex-danger:         #c92c25;

  /* Tipografia */
  --ex-font: "Electrolux Sans","Electrolux Sans Fallback",Arial,sans-serif;
  --ex-fw-light: 200;
  --ex-fw-regular: 400;
  --ex-fw-semibold: 600;
  --ex-lh: 1.5;

  /* Raggi */
  --ex-radius-s: 8px;   /* bottoni, form, card */
  --ex-radius-m: 16px;  /* contenitori grandi */
  --ex-radius-xs: 4px;  /* banner, tag */
  --ex-radius-pill: 40px;

  /* Ombra */
  --ex-shadow-m: 0 0 20px 0 rgba(0,0,0,.10);
}

/* Base */
html{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body{
  font-family: var(--ex-font);
  font-weight: var(--ex-fw-regular);
  font-size: 16px;
  line-height: var(--ex-lh);
  color: var(--ex-text);
  background: var(--ex-surface);
}

/* Scala tipografica */
h1,.ex-display-l{ font:600 64px/70px var(--ex-font); color:var(--ex-text); margin:0 0 .3em; }
.ex-display-m{ font:600 48px/53px var(--ex-font); }
.ex-display-s{ font:600 40px/44px var(--ex-font); }
h2,.ex-display-xs{ font:600 32px/35px var(--ex-font); }
h3,.ex-heading-l{ font:600 24px/29px var(--ex-font); }
h4,.ex-heading-m{ font:600 20px/24px var(--ex-font); }
h5,.ex-heading-s{ font:600 18px/22px var(--ex-font); }
h6,.ex-heading-xs{ font:600 16px/19px var(--ex-font); }
.ex-body-l{ font:400 18px/27px var(--ex-font); }
p,.ex-body-m{ font:400 16px/24px var(--ex-font); }
small,.ex-body-s{ font:400 14px/21px var(--ex-font); }
.ex-label{ font:600 14px/17px var(--ex-font); }

/* Link */
a{ color:var(--ex-text); text-decoration:none; }
a:hover{ text-decoration:underline; }
a.ex-link-accent{ color:var(--ex-info); font-weight:600; }

/* Bottoni */
.btn, .ex-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; padding:0 24px; border-radius:var(--ex-radius-s);
  font:600 16px/1 var(--ex-font); text-transform:none; letter-spacing:normal;
  cursor:pointer; border:1px solid transparent; transition:background .15s,color .15s;
}
.ex-btn--primary{ background:var(--ex-primary); color:#fff; border-color:var(--ex-primary); }
.ex-btn--primary:hover{ background:rgba(10,35,84,.85); text-decoration:none; }
.ex-btn--ghost{ background:transparent; color:var(--ex-text); border:1px solid var(--ex-text); }
.ex-btn--ghost:hover{ background:var(--ex-surface-alt); text-decoration:none; }
.ex-btn--sm{ height:40px; font-size:14px; padding:0 16px; }

/* Card / superfici */
.ex-card{ background:var(--ex-surface); border-radius:var(--ex-radius-s); box-shadow:var(--ex-shadow-m); }
.ex-section-alt{ background:var(--ex-surface-alt); }

/* Form */
input,select,textarea{
  font:400 16px/24px var(--ex-font); color:var(--ex-text);
  border:1px solid var(--ex-primary-300); border-radius:var(--ex-radius-xs);
  padding:12px 14px; background:#fff;
}
input::placeholder{ color:rgba(3,24,63,.6); }
input:focus,select:focus,textarea:focus{ outline:1px solid var(--ex-text); border-color:var(--ex-text); }

/* Icone SVG */
svg.ex-icon,[class*="icon"] svg{ width:24px; height:24px; fill:currentColor; color:var(--ex-text); }
