/* Motors & Time — foglio di stile unico */

/* Archivo, ospitato sul sito (licenza SIL OFL, vedi /fonts/OFL.txt) */
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/archivo-latin-ext-400-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fonts/archivo-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/archivo-latin-ext-500-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 500; font-display: swap; src: url(/fonts/archivo-latin-500-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/archivo-latin-ext-600-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 600; font-display: swap; src: url(/fonts/archivo-latin-600-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/archivo-latin-ext-700-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 700; font-display: swap; src: url(/fonts/archivo-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/archivo-latin-ext-800-normal.woff2) format("woff2"); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Archivo"; font-style: normal; font-weight: 800; font-display: swap; src: url(/fonts/archivo-latin-800-normal.woff2) format("woff2"); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

:root {
  --bianco: #fff;
  --fondo: #f4f5f7;
  --fondo-2: #eaecef;
  --linea: #e3e6ea;
  --linea-forte: #cdd2d8;
  --testo: #111315;
  --testo-2: #4a5159;
  --testo-3: #646b73;
  --scuro: #111315;
  --scuro-su: #2b3036;
  --rosso: #c8202f;
  --verde-it: #1f8a4c;
  --wa: #15803d;
  --wa-su: #116b33;
  --giallo: #fff4cc;
  --r: 12px;
  --r-s: 8px;
  --ombra: 0 1px 2px rgba(17, 19, 21, .05), 0 6px 20px rgba(17, 19, 21, .06);
  --ombra-forte: 0 24px 60px rgba(17, 19, 21, .14);
  --larghezza: 1240px;
  --testata: 72px;
  --font: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--testata) + 16px); }
body { margin: 0; font-family: var(--font); font-size: 16px; line-height: 1.55; color: var(--testo); background: var(--bianco); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 { line-height: 1.15; margin: 0; letter-spacing: -.015em; }
p { margin: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--testo); outline-offset: 2px; }

.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.salta { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--scuro); color: #fff; padding: 10px 14px; border-radius: var(--r-s); }
.salta:focus { top: 12px; }
.contenitore { width: 100%; max-width: var(--larghezza); margin: 0 auto; padding: 0 24px; }
.ic { width: 20px; height: 20px; flex: none; }

.occhiello { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--testo-3); margin-bottom: 10px; }

/* ---------- Pulsanti ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 18px; border-radius: 10px; border: 1px solid transparent;
  font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap;
  transition: background-color .15s, border-color .15s, color .15s, transform .15s;
}
.btn:active { transform: translateY(1px); }
.btn .ic { width: 18px; height: 18px; }
.btn--scuro { background: var(--scuro); color: #fff; }
.btn--scuro:hover { background: var(--scuro-su); }
.btn--bordo { background: var(--bianco); border-color: var(--linea-forte); color: var(--testo); }
.btn--bordo:hover { border-color: var(--testo); }
.btn--bianco { background: var(--bianco); color: var(--testo); box-shadow: var(--ombra); }
.btn--wa { background: var(--wa); color: #fff; }
.btn--wa:hover { background: var(--wa-su); }
.btn--grande { min-height: 52px; padding: 0 24px; font-size: 16px; }
.btn--pieno { width: 100%; }
.btn[disabled] { opacity: .55; cursor: progress; }

.link-freccia { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; text-decoration: none; background: none; border: 0; padding: 0; }
.link-freccia .ic { width: 18px; height: 18px; transition: transform .15s; }
.link-freccia:hover .ic { transform: translateX(3px); }

.avviso-esempi { background: var(--giallo); color: #5c4a00; font-size: 13px; text-align: center; padding: 8px 16px; }

/* ---------- Testata ---------- */
.testata { position: sticky; top: 0; z-index: 40; background: var(--bianco); border-bottom: 1px solid var(--linea); }
.testata__servizio { background: var(--fondo); font-size: 13px; color: var(--testo-2); }
.testata__servizio-riga { display: flex; justify-content: flex-end; gap: 24px; padding-top: 7px; padding-bottom: 7px; }
.testata__servizio-riga > * { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.testata__servizio-riga > :first-child { margin-right: auto; }
.testata__servizio .ic { width: 15px; height: 15px; }
.testata__servizio a:hover { color: var(--testo); }
.testata__riga { display: flex; align-items: center; gap: 32px; height: var(--testata); }

.marchio { display: inline-flex; flex-direction: column; gap: 5px; text-decoration: none; color: var(--testo); }
.marchio__testo { font-weight: 800; font-size: 21px; letter-spacing: .06em; text-transform: uppercase; line-height: 1; white-space: nowrap; }
.marchio__e { font-weight: 400; color: var(--testo-3); }
.marchio__tricolore { display: flex; width: 36px; height: 3px; }
.marchio__tricolore i { flex: 1; }
.marchio__tricolore i:nth-child(1) { background: var(--verde-it); }
.marchio__tricolore i:nth-child(2) { background: var(--linea-forte); }
.marchio__tricolore i:nth-child(3) { background: var(--rosso); }
.marchio--chiaro { color: #fff; }
.marchio--chiaro .marchio__e { color: #9aa1a9; }
.marchio--chiaro .marchio__tricolore i:nth-child(2) { background: #fff; }

.menu { display: flex; gap: 4px; }
.menu > a { position: relative; padding: 10px 14px; font-weight: 500; text-decoration: none; color: var(--testo-2); border-radius: var(--r-s); }
.menu > a:hover { color: var(--testo); background: var(--fondo); }
.menu > a[aria-current] { color: var(--testo); font-weight: 600; }
.menu > a[aria-current]::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -15px; height: 2px; background: var(--testo); }
.menu__mobile-extra { display: none; }

.testata__azioni { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.preferiti-link { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 14px; border-radius: 10px; text-decoration: none; font-weight: 500; color: var(--testo-2); }
.preferiti-link:hover { background: var(--fondo); color: var(--testo); }
.contatore { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--rosso); color: #fff; font-size: 12px; font-weight: 700; }
.menu-apri { display: none; width: 46px; height: 46px; border: 1px solid var(--linea); border-radius: 10px; background: var(--bianco); align-items: center; justify-content: center; }

.stato-orari { display: inline-flex; align-items: center; gap: 6px; }
.stato-orari::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--testo-3); }
.stato-orari .ic { display: none; }
.stato-orari.aperto::before { background: #22a55a; box-shadow: 0 0 0 3px rgba(34, 165, 90, .18); }
.stato-orari.chiuso::before { background: var(--rosso); }
.stato-orari--grande { font-weight: 600; font-size: 15px; margin-bottom: 14px; }

/* ---------- Hero e ricerca ---------- */
.hero { background: linear-gradient(180deg, var(--fondo) 0%, var(--fondo) 72%, var(--bianco) 72%); padding: 56px 0 8px; }
.hero__testo { text-align: center; max-width: 820px; margin-bottom: 36px; }
.hero h1 { font-size: clamp(30px, 4.2vw, 46px); font-weight: 700; }
.hero__sotto { margin-top: 14px; font-size: 18px; color: var(--testo-2); }

.cerca { background: var(--bianco); border-radius: 16px; box-shadow: var(--ombra-forte); border: 1px solid var(--linea); }
.cerca__schede { display: flex; border-bottom: 1px solid var(--linea); padding: 0 12px; }
.cerca__schede button { display: inline-flex; align-items: center; gap: 8px; padding: 18px 16px 16px; background: none; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; font-weight: 600; color: var(--testo-3); }
.cerca__schede button .ic { width: 18px; height: 18px; }
.cerca__schede button[aria-selected="true"] { color: var(--testo); border-bottom-color: var(--testo); }
.cerca__pannello { padding: 24px; }
.cerca__griglia { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px 18px; }
.cerca__fondo { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--linea); }
.cerca__spunte { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.cerca__altri { display: none; align-items: center; gap: 6px; margin-top: 14px; padding: 0; background: none; border: 0; font-weight: 600; font-size: 15px; }
.cerca__altri .ic { width: 18px; height: 18px; transition: transform .2s; }
.cerca--tutti .cerca__altri .ic { transform: rotate(180deg); }
.cerca__nota { display: flex; align-items: center; gap: 8px; color: var(--testo-2); font-size: 15px; }
.cerca__nota .ic { color: var(--verde-it); }

.fiducia { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 36px; font-size: 15px; color: var(--testo-2); }
.fiducia li { display: inline-flex; align-items: center; gap: 8px; }
.fiducia .ic { width: 19px; height: 19px; color: var(--testo); }
.fiducia a { text-decoration: none; }
.fiducia a:hover { color: var(--testo); }
.fiducia .stelle .ic { width: 15px; height: 15px; color: #f2a516; }
.fiducia strong { color: var(--testo); }

.hero--foto { position: relative; background: var(--bianco); padding-top: 0; }
.hero__media { position: absolute; inset: 0 0 auto; height: 580px; overflow: hidden; background: #2a2d31; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12, 13, 15, .05) 0%, rgba(12, 13, 15, .2) 40%, rgba(12, 13, 15, .78) 100%); }
.hero--foto .hero__testo { position: relative; padding-top: 268px; color: #fff; text-shadow: 0 1px 18px rgba(0, 0, 0, .25); }
.hero--foto .occhiello { color: rgba(255, 255, 255, .82); }
.hero--foto .hero__sotto { color: rgba(255, 255, 255, .9); }
.hero--foto .cerca { position: relative; }

/* ---------- Campi ---------- */
.campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.campo__etichetta { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--testo-3); }
.campo__etichetta small { font-size: 12px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.campo input, .campo select, .campo textarea {
  width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid var(--linea-forte); border-radius: 10px;
  background: var(--bianco); font-size: 16px; transition: border-color .15s, box-shadow .15s;
}
.campo textarea { resize: vertical; min-height: 96px; }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color: #aeb5bd; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--testo); box-shadow: 0 0 0 3px rgba(17, 19, 21, .08); }
.campo input::placeholder, .campo textarea::placeholder { color: #868d95; }
.campo select:disabled { background: var(--fondo); color: var(--testo-3); cursor: not-allowed; }
.campo__select { position: relative; display: block; }
.campo__select select { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer; }
.campo__select .ic { position: absolute; right: 13px; top: 50%; width: 18px; height: 18px; transform: translateY(-50%); pointer-events: none; color: var(--testo-3); }
.campo--errore input, .campo--errore select { border-color: var(--rosso); }
.campo .errore-testo { color: var(--rosso); font-size: 13px; }

.spunta { display: inline-flex; align-items: flex-start; gap: 10px; cursor: pointer; font-size: 15px; line-height: 1.4; }
.spunta input { appearance: none; -webkit-appearance: none; flex: none; width: 20px; height: 20px; margin: 0; border: 1.5px solid var(--linea-forte); border-radius: 5px; background: var(--bianco) center / 14px no-repeat; transition: background-color .15s, border-color .15s; }
.spunta input:checked { background-color: var(--scuro); border-color: var(--scuro); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.spunta--privacy { display: flex; font-size: 14px; color: var(--testo-2); margin: 18px 0; }

/* ---------- Sezioni ---------- */
.sezione { padding: 72px 0; }
.sezione--grigia { background: var(--fondo); }
.sezione--stretta { padding: 56px 0 24px; }
.sezione__testa { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.sezione__testa--centro { justify-content: center; text-align: center; }
.sezione h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 700; }

/* ---------- Card auto ---------- */
.griglia-auto { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.card { position: relative; display: flex; flex-direction: column; background: var(--bianco); border: 1px solid var(--linea); border-radius: var(--r); overflow: hidden; transition: box-shadow .2s, transform .2s, border-color .2s; }
.card:hover { box-shadow: var(--ombra-forte); transform: translateY(-3px); border-color: transparent; }
.card__media { position: relative; display: block; aspect-ratio: 4 / 3; background: var(--fondo); overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.card:hover .card__media img { transform: scale(1.04); }
.card__etichette { position: absolute; left: 12px; top: 12px; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 70px); }
.etichetta { display: inline-block; padding: 4px 9px; border-radius: 6px; background: var(--bianco); color: var(--testo); font-size: 12px; font-weight: 600; box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.etichetta--arrivo { background: var(--scuro); color: #fff; }
.etichetta--ribasso { background: var(--rosso); color: #fff; }
.etichetta--esempio { background: var(--giallo); color: #5c4a00; }
.etichetta--venduta { background: var(--rosso); color: #fff; }
.card__nfoto { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 6px; background: rgba(17, 19, 21, .72); color: #fff; font-size: 12px; font-weight: 600; }
.card__nfoto .ic { width: 14px; height: 14px; }
.cuore { position: absolute; top: 10px; right: 10px; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--bianco); color: var(--testo); box-shadow: 0 2px 8px rgba(0, 0, 0, .14); transition: transform .15s, color .15s; }
.cuore:hover { transform: scale(1.08); }
.cuore[aria-pressed="true"], .strumento[aria-pressed="true"] { color: var(--rosso); --riempi: var(--rosso); }
.card__corpo { display: flex; flex-direction: column; flex: 1; padding: 18px 18px 16px; }
.card__marca { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--testo-3); }
.card__titolo { font-size: 21px; font-weight: 700; margin-top: 2px; }
.card__titolo a { text-decoration: none; }
.card__titolo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.card__versione { margin-top: 2px; font-size: 14px; color: var(--testo-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card__dati { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; font-size: 14px; color: var(--testo-2); }
.card__dati li { display: flex; align-items: center; gap: 7px; min-width: 0; white-space: nowrap; }
.card__dati .ic { width: 17px; height: 17px; color: var(--testo-3); }
.card__piede { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 16px; }
.card__dati + .card__piede { margin-top: 16px; border-top: 1px solid var(--linea); }
.prezzo { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; line-height: 1.15; }
.prezzo s { font-size: 15px; color: var(--testo-3); }
.prezzo strong { font-size: 24px; font-weight: 800; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.prezzo small { flex-basis: 100%; font-size: 12px; color: var(--testo-3); margin-top: 3px; }
.card__vai { position: relative; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--fondo); transition: background-color .15s, color .15s; }
.card:hover .card__vai { background: var(--scuro); color: #fff; }
.card--arrivo .card__media img { filter: saturate(.85); }
img.segnaposto { object-fit: cover; }

.veloci { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 36px; }
.veloci__titolo { font-weight: 600; margin-right: 6px; }
.pillola { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 1px solid var(--linea-forte); border-radius: 999px; text-decoration: none; font-size: 15px; font-weight: 500; transition: border-color .15s, background-color .15s; }
.pillola span { color: var(--testo-3); font-size: 13px; }
.pillola:hover { border-color: var(--testo); background: var(--fondo); }

/* ---------- Vendi (banda) e passi ---------- */
.vendi-banda { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
.vendi-banda__testo p:not(.occhiello) { margin-top: 16px; font-size: 17px; color: var(--testo-2); max-width: 520px; }
.vendi-banda__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.passi { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.passi li { display: flex; gap: 16px; padding: 20px; background: var(--bianco); border-radius: var(--r); border: 1px solid var(--linea); }
.passi__n { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--scuro); color: #fff; font-weight: 700; font-size: 15px; }
.passi h3 { font-size: 17px; font-weight: 700; }
.passi p { margin-top: 3px; color: var(--testo-2); font-size: 15px; }
.passi--compatti li { padding: 0; border: 0; background: none; }

/* ---------- Servizi ---------- */
.servizi { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 18px; }
.servizi li { padding: 26px 22px; border: 1px solid var(--linea); border-radius: var(--r); }
.servizi .ic { width: 30px; height: 30px; }
.servizi h3 { margin-top: 18px; font-size: 17px; font-weight: 700; }
.servizi p { margin-top: 6px; font-size: 15px; color: var(--testo-2); }

/* ---------- Chi siamo e domande frequenti ---------- */
.chi-faq { display: grid; grid-template-columns: 1fr 1.25fr; gap: 64px; align-items: start; }
.chi-siamo p:not(.occhiello) { margin-top: 16px; font-size: 17px; color: var(--testo-2); }
.chi-siamo h2 { margin-bottom: 4px; }
.chi-siamo .link-freccia { margin-top: 22px; }
.faq h2 { font-size: 24px; margin-bottom: 14px; }
.faq__lista { border-top: 1px solid var(--linea); }
.faq__voce { border-bottom: 1px solid var(--linea); }
.faq__voce summary { position: relative; padding: 18px 40px 18px 0; font-weight: 600; font-size: 17px; cursor: pointer; list-style: none; }
.faq__voce summary::-webkit-details-marker { display: none; }
.faq__voce summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px; border-right: 1.8px solid var(--testo); border-bottom: 1.8px solid var(--testo); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.faq__voce[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq__voce p { padding: 0 0 18px; color: var(--testo-2); max-width: 640px; }
.sezione--stretta-alto { padding: 8px 0 72px; }
.vendi-faq .faq { max-width: calc(100% - 380px); }
@media (max-width: 1000px) { .vendi-faq .faq { max-width: none; } }

/* ---------- Dove siamo ---------- */
.dove { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: stretch; }
.dove h2 { margin-bottom: 22px; }
.voto-google { display: inline-flex; align-items: center; gap: 14px; padding: 14px 18px; background: var(--bianco); border: 1px solid var(--linea); border-radius: var(--r); text-decoration: none; margin-bottom: 24px; }
.voto-google__numero { font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.voto-google > span:nth-child(2) { display: flex; flex-direction: column; }
.voto-google__testo { font-size: 14px; color: var(--testo-2); }
.stelle { display: inline-flex; gap: 1px; color: #f2a516; }
.stelle .ic { width: 16px; height: 16px; }
.dove__indirizzo { display: flex; gap: 12px; font-style: normal; margin-bottom: 22px; }
.dove__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.orari { width: 100%; max-width: 420px; border-collapse: collapse; font-size: 15px; font-variant-numeric: tabular-nums; }
.orari th, .orari td { padding: 7px 0; border-bottom: 1px solid var(--linea); text-align: left; font-weight: 400; }
.orari td { text-align: right; color: var(--testo-2); }
.orari tr.oggi th, .orari tr.oggi td { font-weight: 700; color: var(--testo); }
.mappa { position: relative; min-height: 380px; border-radius: var(--r); overflow: hidden; background: var(--fondo-2); }
.mappa--bassa { min-height: 260px; margin-top: 24px; }
.mappa iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mappa__copertina { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center; }
.mappa__copertina { background-color: var(--fondo-2); background-image: repeating-linear-gradient(0deg, transparent 0 39px, rgba(17,19,21,.05) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, rgba(17,19,21,.05) 39px 40px); }
.mappa__copertina > .ic { width: 34px; height: 34px; }
.mappa__copertina p { font-weight: 600; }
.mappa__copertina small { color: var(--testo-3); font-size: 12px; max-width: 280px; }

/* ---------- Pagine interne ---------- */
.testa-pagina { background: var(--fondo); padding: 26px 0 34px; margin-bottom: 32px; }
.testa-pagina h1 { font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; margin-top: 14px; }
.testa-pagina__sotto { margin-top: 10px; max-width: 720px; font-size: 17px; color: var(--testo-2); }
.briciole { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 14px; color: var(--testo-3); }
.briciole a { text-decoration: none; }
.briciole a:hover { color: var(--testo); text-decoration: underline; }
.briciole .ic { width: 13px; height: 13px; }
.briciole span { color: var(--testo-2); }

/* ---------- Elenco con filtri ---------- */
.elenco { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 32px; align-items: start; padding-bottom: 72px; }
.filtri { padding: 22px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--bianco); overscroll-behavior: contain; }
.filtri__testa { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.filtri__testa h2 { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; }
.filtri__chiudi { display: none; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--fondo); place-items: center; }
.filtri__form { display: grid; gap: 16px; }
.filtri__spunte { border: 0; margin: 0; padding: 4px 0 0; display: grid; gap: 12px; }
.filtri__spunte legend { margin-bottom: 12px; padding: 0; }
.link-azzera { justify-self: start; background: none; border: 0; padding: 0; color: var(--testo-2); text-decoration: underline; font-size: 14px; }
.filtri__mostra { display: none; }

.barra-elenco { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.barra-elenco__conta { font-size: 17px; margin-right: auto; }
.barra-elenco__conta strong { font-weight: 800; }
.barra-elenco__filtri { display: none; }
.ordina .campo__select select { min-height: 46px; padding: 0 40px 0 14px; border: 1px solid var(--linea-forte); border-radius: 10px; background: var(--bianco); font-weight: 500; }
.filtri-attivi { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.filtro-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px 6px 12px; border-radius: 999px; background: var(--fondo); border: 1px solid var(--linea); font-size: 14px; font-weight: 500; }
.filtro-chip .ic { width: 15px; height: 15px; }
.filtro-chip:hover { border-color: var(--testo); }
.griglia-auto--elenco { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.card.nascosta { display: none; }
.vuoto { padding: 48px 24px; text-align: center; border: 1px dashed var(--linea-forte); border-radius: var(--r); }
.vuoto__titolo { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
.vuoto p:not(.vuoto__titolo) { color: var(--testo-2); max-width: 520px; margin: 0 auto 20px; }

.richiesta { display: grid; grid-template-columns: 1fr 1.4fr; gap: 40px; margin-top: 48px; padding: 32px; background: var(--fondo); border-radius: var(--r); }
.richiesta h2 { font-size: 24px; }
.richiesta p { margin-top: 10px; color: var(--testo-2); }

/* ---------- Moduli ---------- */
.modulo__griglia { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.modulo__largo { grid-column: 1 / -1; }
.modulo__scelte { border: 0; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 10px; }
.modulo__scelte legend { margin-bottom: 10px; padding: 0; }
.scelta input { position: absolute; opacity: 0; pointer-events: none; }
.scelta span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--linea-forte); border-radius: 10px; font-weight: 500; cursor: pointer; transition: border-color .15s, background-color .15s; }
.scelta span .ic { width: 18px; height: 18px; }
.scelta input:checked + span { border-color: var(--testo); background: var(--testo); color: #fff; }
.scelta input:focus-visible + span { outline: 2px solid var(--testo); outline-offset: 2px; }
.modulo [data-se] { margin-bottom: 16px; }

.esito { margin-top: 18px; }
.esito__ok { display: flex; gap: 14px; padding: 18px; border-radius: var(--r); background: #e9f6ee; color: #14532d; }
.esito__icona { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--verde-it); color: #fff; flex: none; }
.esito__errore { padding: 18px; border-radius: var(--r); background: #fdecee; color: #7f1d1d; }
.esito__errore .btn { margin-top: 12px; }
.esito__titolo { font-weight: 700; margin-bottom: 4px; }

/* ---------- Scheda auto ---------- */
.scheda { padding-top: 22px; padding-bottom: 40px; }
.scheda__griglia { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 40px; align-items: start; margin-top: 18px; }
.galleria__palco { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r); overflow: hidden; background: var(--fondo); touch-action: pan-y; user-select: none; }
.galleria__binario { display: flex; height: 100%; transition: transform .45s cubic-bezier(.22, 1, .36, 1); }
.galleria__binario.trascina { transition: none; }
.galleria__foto { flex: 0 0 100%; margin: 0; height: 100%; }
.galleria__foto img { width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.galleria__freccia { position: absolute; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); box-shadow: 0 2px 10px rgba(0, 0, 0, .15); opacity: 0; transition: opacity .2s; }
.galleria__palco:hover .galleria__freccia, .galleria__freccia:focus-visible { opacity: 1; }
.galleria__freccia--sx { left: 14px; }
.galleria__freccia--dx { right: 14px; }
.galleria__conta { position: absolute; right: 14px; bottom: 14px; padding: 5px 10px; border-radius: 6px; background: rgba(17, 19, 21, .72); color: #fff; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; }
.galleria__espandi { position: absolute; right: 14px; top: 14px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); box-shadow: 0 2px 10px rgba(0, 0, 0, .15); }
.galleria__miniature { display: flex; gap: 10px; margin-top: 12px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.galleria__miniature button { flex: 0 0 96px; aspect-ratio: 4 / 3; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: var(--fondo); opacity: .65; transition: opacity .15s, border-color .15s; }
.galleria__miniature button:hover { opacity: 1; }
.galleria__miniature button[aria-current="true"] { border-color: var(--testo); opacity: 1; }
.galleria__miniature img { width: 100%; height: 100%; object-fit: cover; }

.blocco { padding: 32px 0; border-bottom: 1px solid var(--linea); }
.blocco:last-child { border-bottom: 0; }
.blocco h2 { display: flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 700; margin-bottom: 20px; }
.blocco__conta { padding: 2px 9px; border-radius: 999px; background: var(--fondo); font-size: 14px; font-weight: 600; color: var(--testo-2); }
.dati-griglia { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; border: 1px solid var(--linea); border-radius: var(--r); overflow: hidden; }
/* bordi interni senza doppioni anche quando l'ultima riga è incompleta */
.dati-griglia > div { display: grid; grid-template-columns: 24px 1fr; column-gap: 12px; padding: 16px 18px; border-top: 1px solid var(--linea); border-left: 1px solid var(--linea); margin: -1px 0 0 -1px; }
.dati-griglia .ic { grid-row: span 2; width: 22px; height: 22px; color: var(--testo-3); margin-top: 2px; }
.dati-griglia dt { font-size: 13px; color: var(--testo-3); }
.dati-griglia dd { margin: 0; font-weight: 600; }
.punti, .equipaggiamento { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; }
.punti li, .equipaggiamento li { display: flex; gap: 10px; align-items: flex-start; }
.punti .ic, .equipaggiamento .ic { width: 18px; height: 18px; margin-top: 3px; color: var(--verde-it); }
.equipaggiamento { grid-template-columns: repeat(3, 1fr); font-size: 15px; color: var(--testo-2); }
.equipaggiamento--chiuso li:nth-child(n+13) { display: none; }
.equipaggiamento + .link-freccia { margin-top: 18px; }
.descrizione { font-size: 17px; color: var(--testo-2); max-width: 720px; }
.tecnica { width: 100%; max-width: 560px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tecnica th, .tecnica td { padding: 11px 0; border-bottom: 1px solid var(--linea); text-align: left; font-weight: 400; }
.tecnica th { color: var(--testo-2); }
.tecnica td { text-align: right; font-weight: 600; }

.scheda__destra { position: sticky; top: calc(var(--testata) + 50px); display: grid; gap: 14px; }
.riepilogo { padding: 26px; border: 1px solid var(--linea); border-radius: 16px; background: var(--bianco); box-shadow: var(--ombra); }
.riepilogo__titolo { font-size: 30px; font-weight: 800; margin-top: 4px; }
.riepilogo__titolo span { display: block; margin-top: 6px; font-size: 16px; font-weight: 500; color: var(--testo-2); letter-spacing: 0; line-height: 1.4; }
.riepilogo__chip { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.riepilogo__chip li { padding: 5px 10px; border-radius: 6px; background: var(--fondo); font-size: 14px; font-weight: 500; }
.riepilogo__prezzo { display: flex; flex-direction: column; margin: 22px 0 18px; padding-top: 20px; border-top: 1px solid var(--linea); }
.riepilogo__prezzo s { color: var(--testo-3); }
.riepilogo__prezzo strong { font-size: 38px; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.riepilogo__prezzo span { margin-top: 4px; font-size: 14px; color: var(--testo-3); }
.riepilogo__plus { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 8px; font-size: 15px; }
.riepilogo__plus li { display: flex; align-items: center; gap: 10px; }
.riepilogo__plus .ic { width: 18px; height: 18px; color: var(--verde-it); }
.riepilogo__azioni { display: grid; gap: 10px; }
.avviso-stato { margin: -4px 0 16px; padding: 12px 14px; border-radius: 10px; background: var(--fondo); font-size: 14px; color: var(--testo-2); }
.avviso-stato--venduta { background: #fdecee; color: #7f1d1d; }
.riepilogo__strumenti { display: flex; gap: 8px; margin-top: 14px; }
.strumento { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; border: 0; border-radius: 10px; background: var(--fondo); font-weight: 500; font-size: 15px; }
.strumento:hover { background: var(--fondo-2); }
.strumento .ic { width: 18px; height: 18px; }
.riepilogo-sede { display: grid; gap: 8px; padding: 16px 20px; border-radius: var(--r); background: var(--fondo); font-size: 14px; color: var(--testo-2); }
.riepilogo-sede p { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.riepilogo-sede .ic { width: 16px; height: 16px; }

.lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(10, 11, 12, .96); color: #fff; }
.lightbox[open] { display: grid; place-items: center; }
.lightbox::backdrop { background: rgba(10, 11, 12, .96); }
.lightbox img { max-width: min(92vw, 1400px); max-height: 84vh; object-fit: contain; border-radius: 6px; }
.lightbox button { position: absolute; display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .12); color: #fff; }
.lightbox button:hover { background: rgba(255, 255, 255, .22); }
.lightbox__chiudi { top: 18px; right: 18px; }
.lightbox__freccia--sx { left: 18px; top: 50%; transform: translateY(-50%); }
.lightbox__freccia--dx { right: 18px; top: 50%; transform: translateY(-50%); }
.lightbox__conta { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); font-size: 14px; color: #c9cdd2; font-variant-numeric: tabular-nums; }

/* ---------- Vendi: procedura ---------- */
.vendi { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; padding-bottom: 72px; }
.procedura { padding: 32px; border: 1px solid var(--linea); border-radius: 16px; box-shadow: var(--ombra); }
.procedura__avanzamento { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; counter-reset: passo; }
.procedura__avanzamento li { display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 3px solid var(--fondo-2); font-size: 14px; font-weight: 600; color: var(--testo-3); }
.procedura__avanzamento li span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--fondo-2); font-size: 12px; }
.procedura__avanzamento li.fatto { border-top-color: var(--testo); color: var(--testo-2); }
.procedura__avanzamento li.fatto span { background: var(--testo); color: #fff; }
.procedura__avanzamento li[aria-current] { border-top-color: var(--testo); color: var(--testo); }
.procedura__avanzamento li[aria-current] span { background: var(--testo); color: #fff; }
.procedura__passo { border: 0; margin: 0; padding: 0; min-width: 0; animation: entra .35s ease; }
.procedura__passo legend:focus { outline: none; }
.procedura__passo legend { font-size: 24px; font-weight: 700; letter-spacing: -.015em; margin-bottom: 22px; padding: 0; }
.procedura__aiuto { color: var(--testo-2); margin: -10px 0 18px; }
.procedura__comandi { display: flex; justify-content: space-between; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--linea); }
.procedura__comandi [data-avanti], .procedura__comandi [data-invia] { margin-left: auto; }
@keyframes entra { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.scelte-card { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 22px; }
.scelta-card input { position: absolute; opacity: 0; pointer-events: none; }
.scelta-card span { display: flex; flex-direction: column; gap: 2px; height: 100%; padding: 14px; border: 1px solid var(--linea-forte); border-radius: 10px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.scelta-card small { color: var(--testo-3); font-size: 13px; }
.scelta-card input:checked + span { border-color: var(--testo); box-shadow: inset 0 0 0 1px var(--testo); background: var(--fondo); }
.scelta-card input:focus-visible + span { outline: 2px solid var(--testo); outline-offset: 2px; }
.scelte-card.errore .scelta-card span { border-color: var(--rosso); }

.carica { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 36px 20px; border: 2px dashed var(--linea-forte); border-radius: var(--r); text-align: center; cursor: pointer; transition: border-color .15s, background-color .15s; }
.carica:hover, .carica.sopra { border-color: var(--testo); background: var(--fondo); }
.carica input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.carica .ic { width: 34px; height: 34px; margin-bottom: 6px; }
.carica span { color: var(--testo-3); font-size: 14px; }
.carica__anteprime { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.carica__anteprime li { position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--fondo); }
.carica__anteprime img { width: 100%; height: 100%; object-fit: cover; }
.carica__anteprime button { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(17, 19, 21, .75); color: #fff; }
.carica__anteprime button .ic { width: 16px; height: 16px; }

.riassunto { margin: 22px 0 0; padding: 18px; border-radius: var(--r); background: var(--fondo); font-size: 15px; }
.riassunto:empty { display: none; }
.riassunto dl { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 10px 0 0; }
.riassunto dt { color: var(--testo-3); }
.riassunto dd { margin: 0; font-weight: 600; }

.vendi__lato { display: grid; gap: 16px; position: sticky; top: calc(var(--testata) + 50px); }
.pannello { padding: 26px; border: 1px solid var(--linea); border-radius: var(--r); background: var(--bianco); }
.pannello > h2 { font-size: 20px; font-weight: 700; margin-bottom: 18px; }
.pannello--wa { background: var(--fondo); border-color: transparent; }
.pannello--wa p { color: var(--testo-2); margin: -8px 0 16px; }

/* ---------- Contatti ---------- */
.contatti-card { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.contatti-card li { display: flex; flex-direction: column; gap: 6px; padding: 26px; border: 1px solid var(--linea); border-radius: var(--r); }
.contatti-card .ic { width: 28px; height: 28px; margin-bottom: 8px; }
.contatti-card h2 { font-size: 17px; }
.contatti-card p { color: var(--testo-2); margin-bottom: 8px; }
.contatti-card p a { text-decoration: none; font-weight: 600; color: var(--testo); }
.contatti-card .link-freccia { margin-top: auto; font-size: 15px; }
.contatti-griglia { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; padding-bottom: 72px; align-items: start; }
.nota { margin-top: 14px; font-size: 14px; color: var(--testo-3); }
.pannello .orari { max-width: none; }

.testo-lungo { max-width: 760px; padding-bottom: 72px; }
.testo-lungo h2 { font-size: 20px; margin: 30px 0 8px; }
.testo-lungo h2:first-child { margin-top: 0; }
.testo-lungo p, .testo-lungo li { color: var(--testo-2); }
.testo-lungo ul { padding-left: 20px; margin: 8px 0 0; }
.pagina-404 { padding: 96px 24px; text-align: center; }
.pagina-404 h1 { font-size: clamp(30px, 4vw, 44px); }
.pagina-404 > p:not(.occhiello) { margin: 14px auto 0; max-width: 520px; color: var(--testo-2); font-size: 17px; }
.pagina-404 .dove__azioni { justify-content: center; }

/* ---------- Guide e pagine di categoria ---------- */
.guida { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; align-items: start; padding-bottom: 72px; }
.guida__data { margin-top: 12px; font-size: 14px; color: var(--testo-3); }
.guida__testo { max-width: none; padding-bottom: 0; }
.guida__testo h2 { font-size: 22px; margin: 36px 0 10px; }
.guida__testo p + p { margin-top: 12px; }
.guida__testo ul, .guida__testo ol { padding-left: 22px; margin: 10px 0 0; display: grid; gap: 8px; }
.guida__testo strong { color: var(--testo); }
.in-breve { padding: 22px 24px; border-radius: var(--r); background: var(--fondo); }
.in-breve h2 { margin: 0 0 8px !important; font-size: 18px !important; }
.guida__cta { margin-top: 32px; }
.guida__fonti { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--linea); font-size: 14px; }
.guida__fonti h2 { font-size: 16px !important; margin: 0 0 8px !important; }
.guida__fonti ul { padding-left: 18px; }
.guida__fonti p { margin-top: 12px; color: var(--testo-3); }
.guida__lato { display: grid; gap: 16px; position: sticky; top: calc(var(--testata) + 50px); }
.guida__lato p { color: var(--testo-2); margin: -8px 0 16px; }
.guida__azioni { display: grid; gap: 10px; }
.guida__altre { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.guida__altre a { font-weight: 600; }
.elenco-guide { list-style: none; margin: 0; padding: 0 0 72px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.elenco-guide a { display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 26px; border: 1px solid var(--linea); border-radius: var(--r); text-decoration: none; transition: box-shadow .2s, border-color .2s; }
.elenco-guide a:hover { box-shadow: var(--ombra-forte); border-color: transparent; }
.elenco-guide .ic { width: 28px; height: 28px; }
.elenco-guide h2 { font-size: 20px; }
.elenco-guide p { color: var(--testo-2); flex: 1; }
.categoria { padding-bottom: 72px; }
.veloci--categoria { margin-top: 40px; }
.categoria__cta { margin-top: 28px; color: var(--testo-2); }
.veloci--scheda { margin-top: 8px; }
.chi-siamo__guide { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--linea); }
.chi-siamo__guide ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.chi-siamo__guide a { font-weight: 600; }
.vendi-faq__guida { margin-top: 20px; color: var(--testo-2); }

/* ---------- Piede ---------- */
.piede { background: var(--scuro); color: #c9cdd2; padding: 56px 0 0; font-size: 15px; }
.piede__griglia { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 44px; }
.piede h2 { color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.piede ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.piede a { text-decoration: none; }
.piede a:hover { color: #fff; text-decoration: underline; }
.piede__col--marchio p { margin-top: 18px; max-width: 340px; }
.piede__voto .stelle { vertical-align: -2px; margin-right: 6px; }
.orari--piede th, .orari--piede td { border-color: rgba(255, 255, 255, .1); color: #c9cdd2; padding: 5px 0; font-size: 14px; }
.orari--piede tr.oggi th, .orari--piede tr.oggi td { color: #fff; }
.piede__fondo { position: relative; display: flex; justify-content: space-between; gap: 16px; padding-top: 20px; padding-bottom: 24px; font-size: 13px; color: #8d949c; }
.piede__fondo::before { content: ""; position: absolute; top: 0; left: 24px; right: 24px; border-top: 1px solid rgba(255, 255, 255, .1); }

/* ---------- Barra azioni mobile ---------- */
.barra-mobile { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1140px) {
  .servizi { grid-template-columns: repeat(3, 1fr); }
  .scheda__griglia { grid-template-columns: minmax(0, 1fr) 350px; gap: 28px; }
  .equipaggiamento { grid-template-columns: 1fr 1fr; }
  .testata__riga { gap: 20px; }
  .preferiti-link__testo { display: none; }
}

@media (max-width: 1000px) {
  :root { --testata: 64px; }
  .testata__servizio { display: none; }
  .menu-apri { display: inline-flex; }
  .testata__chiama { display: none; }
  .menu { position: fixed; inset: var(--menu-alto, var(--testata)) 0 0; z-index: 39; flex-direction: column; gap: 0; padding: 12px 24px 24px; background: var(--bianco); overflow: auto; transform: translateX(100%); visibility: hidden; transition: transform .3s cubic-bezier(.22, 1, .36, 1), visibility .3s; }
  .menu.aperto { transform: none; visibility: visible; }
  .menu > a { padding: 18px 0; border-bottom: 1px solid var(--linea); border-radius: 0; font-size: 19px; font-weight: 600; color: var(--testo); }
  .menu > a:hover { background: none; }
  .menu > a[aria-current]::after { display: none; }
  .menu__mobile-extra { display: grid; gap: 10px; margin-top: 24px; }
  .cerca__griglia { grid-template-columns: repeat(2, 1fr); }
  .griglia-auto { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vendi-banda, .dove, .richiesta, .chi-faq { grid-template-columns: 1fr; gap: 32px; }
  .mappa { min-height: 300px; }
  .elenco { grid-template-columns: minmax(0, 1fr); }
  .barra-elenco { flex-wrap: wrap; }
  .barra-elenco__conta { flex: 1 0 100%; }
  .barra-elenco__filtri, .ordina { flex: 1 1 0; min-width: 0; }
  .ordina .campo__select select { width: 100%; }
  .barra-elenco__filtri { display: inline-flex; }
  .filtri { position: fixed; inset: 0; z-index: 60; max-height: none; border: 0; border-radius: 0; padding: 0; display: flex; flex-direction: column; transform: translateY(100%); visibility: hidden; transition: transform .3s cubic-bezier(.22, 1, .36, 1), visibility .3s; }
  .filtri.aperto { transform: none; visibility: visible; }
  .filtri__testa { padding: 14px 20px; margin: 0; border-bottom: 1px solid var(--linea); }
  .filtri__chiudi { display: grid; }
  .filtri__form { flex: 1; overflow: auto; padding: 20px; }
  .filtri__mostra { display: block; padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--linea); }
  .scheda__griglia { grid-template-columns: minmax(0, 1fr); }
  .scheda__destra { position: static; grid-row: 2; }
  .riepilogo__azioni { grid-template-columns: 1fr 1fr; }
  .riepilogo__azioni > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .scheda__sinistra { display: contents; }
  .galleria { grid-row: 1; }
  .scheda__sinistra > .blocco { grid-row: auto; }
  .vendi, .guida { grid-template-columns: minmax(0, 1fr); }
  .guida__lato { position: static; }
  .elenco-guide { grid-template-columns: 1fr; }
  .vendi__lato { position: static; }
  .contatti-griglia { grid-template-columns: 1fr; }
  .piede__griglia { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
  .piede__fondo::before { left: 16px; right: 16px; }
  body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
  .contenitore { padding: 0 16px; }
  .marchio__testo { font-size: 18px; }
  .hero { padding-top: 36px; background: linear-gradient(180deg, var(--fondo) 0%, var(--fondo) 80%, var(--bianco) 80%); }
  .hero__testo { margin-bottom: 26px; }
  .hero__media { height: 500px; }
  .hero--foto .hero__testo { padding-top: 182px; }
  .hero__sotto { font-size: 16px; }
  .cerca__pannello { padding: 18px; }
  .cerca__schede { padding: 0 4px; }
  .cerca__schede button { flex: 1; justify-content: center; padding: 15px 4px 13px; font-size: 15px; white-space: nowrap; }
  .cerca__altri { display: inline-flex; }
  .cerca:not(.cerca--tutti) .cerca__griglia:not(.cerca__griglia--vendi) > :nth-child(n+5) { display: none; }
  .fiducia { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; font-size: 14px; }
  .fiducia li:first-child { grid-column: 1 / -1; justify-content: center; }
  .fiducia li:not(:first-child) { justify-content: center; }
  .fiducia li:last-child { grid-column: 1 / -1; }
  .cerca__griglia { gap: 12px; }
  .cerca__fondo { flex-direction: column; align-items: stretch; }
  .cerca__fondo .btn { width: 100%; }
  .sezione { padding: 52px 0; }
  .sezione__testa { flex-direction: column; align-items: flex-start; }
  .griglia-auto, .griglia-auto--elenco { grid-template-columns: 1fr; }
  .servizi { grid-template-columns: 1fr 1fr; gap: 12px; }
  .servizi li { padding: 20px 16px; }
  .vendi-banda__azioni .btn { width: 100%; }
  .modulo__griglia { grid-template-columns: 1fr; }
  .dati-griglia { grid-template-columns: 1fr 1fr; }
  .dati-griglia > div { padding: 14px; }
  .punti, .equipaggiamento { grid-template-columns: 1fr; }
  .galleria__palco { border-radius: 0; margin: 0 -16px; }
  .galleria__freccia { display: none; }
  .galleria__miniature { display: none; }
  .riepilogo { padding: 20px; box-shadow: none; }
  .riepilogo__azioni { grid-template-columns: 1fr; }
  .riepilogo__titolo { font-size: 26px; }
  .procedura { padding: 20px; border: 0; box-shadow: none; margin: 0 -16px; }
  .procedura__avanzamento { margin-bottom: 24px; }
  .procedura__avanzamento li { font-size: 0; gap: 0; }
  .procedura__avanzamento li span { font-size: 12px; }
  .procedura__passo legend { font-size: 21px; }
  .richiesta { padding: 22px; }
  .contatti-card { grid-template-columns: 1fr; }
  .piede__griglia { grid-template-columns: 1fr; gap: 30px; }
  .piede__fondo { flex-direction: column; }
  .barra-mobile { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; display: grid; grid-template-columns: repeat(4, 1fr); padding-bottom: env(safe-area-inset-bottom); background: var(--bianco); border-top: 1px solid var(--linea); box-shadow: 0 -4px 20px rgba(0, 0, 0, .06); }
  .barra-mobile:not(.barra-mobile--scheda) > a { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 10px 4px 9px; text-decoration: none; font-size: 12px; font-weight: 600; color: var(--testo-2); }
  .barra-mobile__wa { color: var(--wa) !important; }
  .barra-mobile--scheda { display: flex; align-items: center; gap: 8px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); }
  .barra-mobile__prezzo { display: flex; flex-direction: column; margin-right: auto; min-width: 0; line-height: 1.2; }
  .barra-mobile__prezzo strong { font-size: 20px; font-weight: 800; }
  .barra-mobile__prezzo span { font-size: 13px; color: var(--testo-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .barra-mobile--scheda .btn { min-height: 46px; }
  .barra-mobile--scheda .btn--bordo { width: 46px; padding: 0; }
}

@media (max-width: 420px) {
  .cerca__schede button .ic { display: none; }
  .servizi { grid-template-columns: 1fr; }
  .preferiti-link { padding: 0 10px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---------- Avvisi, auto salvate, viste di recente ---------- */
.avviso-toast { position: fixed; left: 50%; bottom: 24px; z-index: 80; max-width: min(92vw, 520px); padding: 14px 18px; border-radius: 12px; background: var(--scuro); color: #fff; font-size: 15px; box-shadow: var(--ombra-forte); transform: translateX(-50%); animation: entra .25s ease; }
.salvate-box { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 20px; padding: 18px 20px; border-radius: var(--r); background: var(--fondo); }
.salvate-box p { max-width: 520px; color: var(--testo-2); font-size: 15px; }
.salvate-box strong { color: var(--testo); }
.salvate-box__azioni { display: flex; flex-wrap: wrap; gap: 10px; }
.viste { margin-bottom: 28px; }
.viste ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; gap: 12px; overflow-x: auto; padding-bottom: 4px; }
.viste li { flex: 0 0 auto; }
.viste a { display: flex; align-items: center; gap: 12px; padding: 8px 14px 8px 8px; border: 1px solid var(--linea); border-radius: 12px; text-decoration: none; }
.viste a:hover { border-color: var(--testo); }
.viste img { width: 72px; height: 54px; object-fit: cover; border-radius: 8px; background: var(--fondo); }
.viste span { display: flex; flex-direction: column; font-size: 14px; color: var(--testo-2); line-height: 1.3; }
.viste strong { color: var(--testo); font-size: 15px; }
.modulo__prova { margin-bottom: 16px; }
.solo-stampa { display: none; }
@media (max-width: 760px) {
  .avviso-toast { bottom: calc(80px + env(safe-area-inset-bottom)); }
  .salvate-box__azioni, .salvate-box__azioni .btn { width: 100%; }
}

/* ---------- Stampa della scheda auto ---------- */
@media print {
  .testata, .piede, .barra-mobile, .avviso-esempi, .briciole, .galleria__miniature, .galleria__freccia, .galleria__espandi,
  .galleria__conta, .riepilogo__azioni, .riepilogo__strumenti, .riepilogo-sede, #richiesta, .veloci, .sezione--stretta,
  .equipaggiamento + .link-freccia, .cuore, .avviso-toast, .lightbox { display: none !important; }
  body { padding: 0; font-size: 11pt; }
  .scheda__griglia { display: block; }
  .scheda__destra { position: static; }
  .riepilogo { box-shadow: none; border: 0; padding: 0; margin: 16px 0; }
  .galleria__palco { aspect-ratio: auto; max-height: 320px; }
  .galleria__binario { transform: none !important; }
  .galleria__foto:not(:first-child) { display: none; }
  .equipaggiamento--chiuso li { display: flex !important; }
  .blocco { padding: 14px 0; break-inside: avoid; }
  .solo-stampa { display: block; margin-top: 16px; padding-top: 12px; border-top: 1px solid #999; font-size: 10pt; }
}

/* ---------- Prova su strada, confronto, video, WhatsApp fisso ---------- */
.modulo__prova { margin-bottom: 18px; }
.prova-scelte { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
.prova-scelte:empty { display: none; }
.prova-scelta { min-height: 40px; padding: 0 14px; border: 1px solid var(--linea-forte); border-radius: 10px; background: var(--bianco); font-weight: 500; text-transform: capitalize; }
.prova-scelta[aria-checked="true"] { background: var(--scuro); border-color: var(--scuro); color: #fff; }
.prova-scelte--ore .prova-scelta { min-width: 72px; font-variant-numeric: tabular-nums; }
.cuore--confronta { top: 58px; }
.cuore--confronta .ic { width: 18px; height: 18px; }
.cuore--confronta[aria-pressed="true"] { background: var(--scuro); color: #fff; }
.strumento[aria-pressed="true"] { background: var(--scuro); color: #fff; }
.riepilogo__strumenti { flex-wrap: wrap; }
.confronta-barra { position: fixed; left: 24px; bottom: 24px; z-index: 45; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 999px; background: var(--scuro); color: #fff; font-weight: 600; text-decoration: none; box-shadow: var(--ombra-forte); }
.confronta-barra strong { display: inline-grid; place-items: center; min-width: 24px; height: 24px; border-radius: 12px; background: #fff; color: var(--testo); font-size: 13px; }
.wa-fisso { position: fixed; right: 24px; bottom: 24px; z-index: 45; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--wa); color: #fff; box-shadow: var(--ombra-forte); transition: transform .15s; }
.wa-fisso:hover { transform: scale(1.06); }
.wa-fisso .ic { width: 28px; height: 28px; }
.video { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; aspect-ratio: 16 / 9; border-radius: var(--r); background: var(--scuro); color: #c9cdd2; text-align: center; padding: 20px; }
.video--attivo { padding: 0; }
.video iframe { width: 100%; height: 100%; border: 0; border-radius: var(--r); }
.video__avvia { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; border: 0; border-radius: 999px; background: #fff; color: var(--testo); font-weight: 700; font-size: 16px; }
.video small { font-size: 13px; }
.confronto { padding-bottom: 72px; }
.confronto__scorri { overflow-x: auto; }
.confronto__tabella { width: 100%; min-width: 640px; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.confronto__tabella th, .confronto__tabella td { padding: 12px 14px; border-bottom: 1px solid var(--linea); text-align: left; vertical-align: top; }
.confronto__tabella tbody th { width: 180px; color: var(--testo-2); font-weight: 500; }
.confronto__tabella td { font-weight: 600; }
.confronto__tabella thead th { vertical-align: bottom; }
.confronto__tabella thead a { display: flex; flex-direction: column; gap: 4px; text-decoration: none; }
.confronto__tabella thead img { width: 100%; max-width: 260px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; background: var(--fondo); }
.confronto__tabella thead span { color: var(--testo-2); font-weight: 400; font-size: 14px; }
.confronto__tabella .link-azzera { margin-top: 6px; }
@media (max-width: 760px) {
  .wa-fisso { display: none; }
  .confronta-barra { left: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); }
  .pagina-scheda .confronta-barra { bottom: calc(80px + env(safe-area-inset-bottom)); }
}
@media print { .wa-fisso, .confronta-barra { display: none !important; } }
