/* I token di generali.it, misurati il 03/11/2026: li usa anche l'immagine di fondo del programma. */
@font-face { font-family: Roboto; font-weight: 400; font-style: normal; font-display: swap; src: url('/a/font/roboto-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: Roboto; font-weight: 500; font-style: normal; font-display: swap; src: url('/a/font/roboto-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: Roboto; font-weight: 700; font-style: normal; font-display: swap; src: url('/a/font/roboto-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: Roboto; font-weight: 700; font-style: italic; font-display: swap; src: url('/a/font/roboto-latin-700-italic.woff2') format('woff2'); }

:root {
  --rosso: #C21B17;
  --ala: #AA1B17;
  --profondo: #8C1B17;
  --inchiostro: #20252B;
  --inchiostro-su: #5A5D62;
  --testo: #3D4047;
  --grigio: #E7E7E7;
  --grigio-chiaro: #F2F2F2;
  --rosa: #FBE9E8;
  --linea-su-rosso: #D58D8B;
  --ambra: #FFC409;
  --notte: #20252B;
  --notte-lontano: #2F343B;
  --notte-vicino: #14171B;
  --nero-ai: #1A1A1A;
  --molla: cubic-bezier(0.16, 1.12, 0.3, 1);
  --mano: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: Roboto, Arial, sans-serif;
  font-weight: 400;
  color: var(--testo);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
button { font: inherit; color: inherit; }
img, svg { display: block; }

/* Il bottone di generali.it: inchiostro, maiuscolo, raggio 4. */
.bottone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border: 0;
  border-radius: 4px;
  background: var(--inchiostro);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 180ms ease, transform 180ms var(--mano);
}
@media (hover: hover) { .bottone:hover { background: var(--inchiostro-su); } }
.bottone:active { transform: scale(0.98); }
:focus-visible { outline: 3px solid var(--ambra); outline-offset: 3px; }

/* La scelta a radio del preventivatore di generali.it. */
.scelta {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  width: 100%;
  border: 1px solid var(--inchiostro-su);
  border-radius: 4px;
  background: #fff;
  color: var(--inchiostro);
  text-align: left;
  cursor: pointer;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 200ms var(--mano);
}
.scelta .radio {
  position: relative;
  flex: none;
  border: 2px solid var(--inchiostro);
  border-radius: 50%;
  background: #fff;
}
.scelta .radio::after {
  content: '';
  position: absolute;
  inset: 18%;
  border-radius: 50%;
  background: var(--inchiostro);
  transform: scale(0);
  transition: transform 220ms var(--molla);
}
.scelta[aria-checked='true'] { border-color: var(--rosso); box-shadow: 0 0 0 1px var(--rosso); }
.scelta[aria-checked='true'] .radio::after { transform: scale(1); }
@media (hover: hover) { .scelta:not([disabled]):hover { border-color: var(--rosso); } }
.scelta[disabled] { cursor: default; }
