/* LE SCHEDE DELLE OFFERTE (24/10/2026): una sola per home e catalogo, nello stile
   della web app. Prima ogni pagina aveva la sua copia, e le due si allontanavano. */
.veicolo-card { background: #fff; color: #1a1f36; border-radius: 18px; overflow: hidden; height: 100%;
  display: flex; flex-direction: column; box-shadow: 0 1px 2px rgba(26,31,54,.08), 0 4px 16px rgba(26,31,54,.06);
  transition: transform .2s, box-shadow .2s; }
.veicolo-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(26,31,54,.14); }
.veicolo-img-wrap { position: relative; height: 172px; padding: 14px 14px 0; background: #fff; overflow: hidden; }
.veicolo-foto { position: relative; width: 100%; height: 100%; overflow: hidden; }
.veicolo-foto img { width: 100%; height: 100%; object-fit: contain; }
.veicolo-foto-protetta { background: #1a1f36; border-radius: 12px; display: flex; align-items: center; justify-content: center; }
.veicolo-foto-protetta img { position: absolute; inset: 0; object-fit: cover; opacity: .45; }
.veicolo-foto-protetta span { position: relative; color: #fff; font-size: .74rem; font-weight: 700; display: flex; gap: .4rem; align-items: center; }
.veicolo-img-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: #f4f5f8; border-radius: 12px; color: #c9cbd6; font-size: 3.5rem; }
.card-timbri { position: absolute; top: 10px; left: 10px; right: 50px; display: flex; flex-wrap: wrap; gap: 4px;
  z-index: 3; pointer-events: none; }
.timbro-privati, .timbro-aziende, .badge-target { color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; padding: .24rem .5rem; border-radius: 6px; }
.timbro-privati { background: #198754; }
.timbro-aziende { background: #1565c0; }
.badge-target { background: #C0001A; }
.badge-target.aziende { background: #1a5c2a; }
.badge-target.promo { background: #b35a00; }
.badge-target.unica { background: #8B0013; }
.badge-tipo-veicolo { position: absolute; bottom: 4px; left: 14px; z-index: 2; color: #fff; font-size: .56rem; font-weight: 800;
  letter-spacing: .06em; padding: .16rem .42rem; border-radius: 5px; }
.badge-tipo-veicolo.nuova { background: #1578be; }
.badge-tipo-veicolo.usata { background: #7b3fa0; }
.badge-tipo-veicolo.stock { background: #b35a00; }
.btn-compara { position: absolute; top: 10px; right: 10px; z-index: 4; width: 32px; height: 32px; display: flex;
  align-items: center; justify-content: center; background: rgba(255,255,255,.95); border: 1.5px solid #d5d8e1;
  border-radius: 8px; color: #1a1f36; font-size: .8rem; cursor: pointer; transition: all .18s; }
.btn-compara:hover, .btn-compara.attivo { background: #C0001A; border-color: #C0001A; color: #fff; }
.veicolo-body { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 12px 16px 16px; }
.veicolo-marca { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #565b6e; }
.veicolo-modello { font-size: 1.3rem; font-weight: 800; line-height: 1.15; margin-top: -4px; }
.veicolo-versione { font-size: .8rem; color: #565b6e; line-height: 1.35; }
.veicolo-prezzo { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; margin-top: 4px; }
.veicolo-canone { font-size: 1.55rem; font-weight: 800; line-height: 1.1; color: #C0001A; }
.veicolo-canone small { font-size: .72rem; font-weight: 700; color: #565b6e; }
.veicolo-iva { font-size: .75rem; color: #565b6e; }
.veicolo-condizioni { font-size: .8rem; color: #565b6e; }
.veicolo-scadenza { font-size: .72rem; color: #7a5c00; }
.veicolo-scadenza.scaduta { color: #C0001A; font-weight: 700; }
.chip-offerta, .chip-promo, a.chip-formula { align-self: flex-start; font-size: .7rem; font-weight: 700; line-height: 1.35;
  padding: .18rem .55rem; border-radius: 6px; }
.chip-offerta { color: #C0001A; border: 1px solid rgba(192,0,26,.28); background: rgba(192,0,26,.05); }
.chip-offerta.chiusa, a.chip-formula { color: #1b5e20; border: 1px solid #c8e6c9; background: #e8f5e9; }
a.chip-formula { text-decoration: none; }
a.chip-formula:hover, a.chip-formula:focus-visible { background: #d4ecd8; }
.chip-promo { color: #8a4b00; border: 1px solid #ffe0b2; background: #fff8e1; }
.veicolo-nota { font-size: .74rem; color: #565b6e; }
.veicolo-nota a { color: inherit; }
.btn-scopri { margin-top: auto; width: 100%; min-height: 44px; border: 0; border-radius: 10px; background: #1a1f36; color: #fff;
  font-size: .92rem; font-weight: 700; cursor: pointer; transition: background .2s; }
.btn-scopri:hover { background: #C0001A; }
.btn-scopri:disabled { background: #6b6f80; cursor: default; }
@media (max-width: 400px) {
  .veicolo-img-wrap { height: 140px; }
  .veicolo-canone { font-size: 1.35rem; }
}

/* LA FASCIA DELL'APP (24/10/2026): il consulente 3D presenta la web app. La nuvoletta
   sta accanto al volto, mai sopra. Il codice da inquadrare serve solo sul computer. */
.fascia-app { display: flex; align-items: center; gap: 22px; margin: 2rem 0 1.5rem; padding: 22px 26px; border-radius: 18px;
  background: #1a1f36; color: #fff; }
.fascia-app-volto { flex: none; width: 132px; height: 132px; border-radius: 50%; object-fit: cover; border: 4px solid rgba(255,255,255,.15); }
.fascia-app-nuvola { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  background: #fff; color: #1a1f36; border-radius: 16px; padding: 16px 18px; }
.fascia-app-nuvola::before { content: ""; position: absolute; left: -10px; top: 50%; margin-top: -10px; border: 10px solid transparent;
  border-left: 0; border-right-color: #fff; }
.fascia-app-nuvola strong { font-size: 1.25rem; font-weight: 800; }
.fascia-app-nuvola span { font-size: .95rem; color: #565b6e; line-height: 1.5; }
.fascia-app-nuvola small { font-size: .78rem; color: #565b6e; }
.fascia-app-btn { display: inline-flex; align-items: center; min-height: 46px; padding: 0 22px; border-radius: 12px; background: #C0001A;
  color: #fff !important; font-weight: 700; text-decoration: none; }
.fascia-app-btn:hover { background: #8B0013; }
.fascia-app-qr { flex: none; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: .78rem; color: #c9cbd6; }
.fascia-app-qr img { width: 120px; height: 120px; background: #fff; border-radius: 10px; padding: 6px; }
@media (max-width: 767px) {
  .fascia-app { flex-direction: column; text-align: left; padding: 18px; }
  .fascia-app-volto { width: 104px; height: 104px; }
  .fascia-app-nuvola::before { left: 50%; top: -10px; margin: 0 0 0 -10px; border: 10px solid transparent; border-top: 0; border-bottom-color: #fff; }
  .fascia-app-qr { display: none; }
}

/* Pronta consegna o in arrivo (24/10/2026) */
.veicolo-consegna { align-self: flex-start; font-size: .78rem; font-weight: 700; color: #146c3a; }
.veicolo-consegna::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: 1px; }
.veicolo-consegna.in-arrivo { color: #7a5c00; }

/* Le misure dei furgoni (24/10/2026) */
.veicolo-vano { font-size: .8rem; font-weight: 600; color: #1a1f36; }

/* LE SCHEDE IN RILIEVO (25/10/2026): la scheda si stacca dal fondo, prezzo e condizioni
   stanno in righe incassate, come la scheda dell'app. */
.veicolo-card { border: 1px solid #e3e5ec; box-shadow: 0 1px 1px rgba(26,31,54,.05), 0 8px 22px rgba(26,31,54,.09), 0 22px 40px -24px rgba(26,31,54,.30); }
.veicolo-card:hover { box-shadow: 0 2px 4px rgba(26,31,54,.06), 0 14px 32px rgba(26,31,54,.16), 0 28px 48px -24px rgba(26,31,54,.36); }
.veicolo-img-wrap { border-bottom: 1px solid #eef0f4; padding-bottom: 8px; }
.veicolo-prezzo, .veicolo-condizioni, .veicolo-vano { background: #f3f4f8; border-radius: 10px; padding: .45rem .7rem;
  box-shadow: inset 0 1px 3px rgba(26,31,54,.12), inset 0 0 0 1px rgba(26,31,54,.04); }
.veicolo-prezzo { padding: .55rem .75rem; }
