body { font-family: system-ui, -apple-system, sans-serif; -webkit-text-size-adjust: 100%; }
    .card { background: white; border-radius: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,.06); border: 1px solid #e2e8f0; padding: 1.25rem; }
    @media (min-width: 640px) { .card { padding: 1.5rem; } }
    .car-thumb { width: 72px; height: 52px; object-fit: cover; border-radius: 0.5rem; background: linear-gradient(135deg,#dbeafe,#fef9c3); flex-shrink: 0; }
    @media (min-width: 640px) { .car-thumb { width: 96px; height: 64px; } }
    .car-hero { width: 100%; max-height: 220px; object-fit: cover; border-radius: 1rem; background: linear-gradient(135deg,#dbeafe,#fef9c3); }
    @media (min-width: 640px) { .car-hero { max-height: 320px; } }
    .placeholder-img { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:0.25rem; background:linear-gradient(145deg,#1e3a8a 0%,#1e40af 45%,#eab308 100%); color:#fff; font-size:0.65rem; font-weight:600; text-align:center; overflow:hidden; }
    .placeholder-img svg { opacity:0.9; width:36px; height:20px; }
    @media (min-width: 640px) { .placeholder-img { font-size:0.75rem; gap:0.35rem; } .placeholder-img svg { width:48px; height:28px; } }
    .btn-primary { background:#1e3a8a; }
    .btn-primary:hover { background:#1e40af; }
    .btn-accent { background:#eab308; color:#1e3a8a; }
    .btn-accent:hover { background:#ca8a04; color:#fff; }
    /* Card alternativa: layout mobile-friendly */
    .alt-card { border: 1px solid #dbeafe; border-radius: 1rem; padding: 0.875rem; background: white; }
    .alt-card:active { background: #f8fafc; }
    .alt-row { display: flex; gap: 0.75rem; align-items: flex-start; }
    .alt-body { flex: 1; min-width: 0; }
    .alt-price { text-align: right; flex-shrink: 0; }
    .alt-meta { font-size: 0.75rem; color: #64748b; line-height: 1.35; margin-top: 0.35rem; }
    .alt-meta-desktop { display: none; }
    @media (min-width: 640px) {
      .alt-card { padding: 1rem; }
      .alt-row { gap: 1rem; }
      .alt-meta-desktop { display: block; }
      .alt-meta-mobile { display: none; }
    }
    /* Header logo più piccolo su mobile */
    .logo-header { height: 12rem; }
    @media (min-width: 640px) { .logo-header { height: 16rem; } }
    /* Filtri su una riga scrollabile su mobile */
    .filters-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
    .filters-row select { font-size: 0.875rem; min-width: 0; flex: 1 1 auto; }
    @media (min-width: 640px) { .filters-row select { flex: 0 1 auto; } }

/* ===== PRO theme ===== */
    body.theme-pro {
      background:
        radial-gradient(1200px 600px at 10% -10%, rgba(37,99,235,.12), transparent 50%),
        radial-gradient(900px 500px at 100% 0%, rgba(234,179,8,.14), transparent 45%),
        radial-gradient(800px 400px at 50% 100%, rgba(37,99,235,.06), transparent 40%),
        #f8fafc;
      min-height: 100vh;
    }
    body.theme-pro .card {
      background: rgba(255,255,255,.88);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255,255,255,.7);
      box-shadow:
        0 4px 6px -1px rgba(30,58,138,.06),
        0 12px 28px -8px rgba(30,58,138,.12);
      border-radius: 1.35rem;
    }
    body.theme-pro header { padding: 1.25rem 0 0.5rem; }
    body.theme-pro .logo-header {
      height: 6.5rem;
      filter: drop-shadow(0 8px 16px rgba(30,58,138,.15));
    }
    @media (min-width: 640px) {
      body.theme-pro .logo-header { height: 10rem; }
    }
    body.theme-pro .btn-primary {
      background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 55%, #1d4ed8 100%);
      box-shadow: 0 8px 20px -6px rgba(37,99,235,.55);
      border: none;
      transition: transform .15s ease, box-shadow .15s ease;
    }
    body.theme-pro .btn-primary:hover {
      transform: translateY(-1px);
      box-shadow: 0 12px 24px -6px rgba(37,99,235,.6);
    }
    body.theme-pro .btn-secondary {
      background: linear-gradient(135deg, #eab308, #facc15);
      color: #1e3a8a;
      font-weight: 700;
      box-shadow: 0 8px 20px -6px rgba(234,179,8,.45);
      border: none;
    }
    body.theme-pro input, body.theme-pro select {
      border-color: #e2e8f0;
      background: #fff;
      transition: border-color .15s, box-shadow .15s;
    }
    body.theme-pro input:focus, body.theme-pro select:focus {
      border-color: #2563eb;
      box-shadow: 0 0 0 3px rgba(37,99,235,.15);
      outline: none;
    }
    body.theme-pro .alt-card {
      transition: transform .15s ease, box-shadow .15s ease;
      border: 1px solid rgba(226,232,240,.9);
    }
    body.theme-pro .alt-card:hover {
      transform: translateY(-2px);
      box-shadow: 0 12px 28px -10px rgba(30,58,138,.18);
      border-color: #93c5fd;
    }
    body.theme-pro .pill-migliore {
      background: linear-gradient(135deg, #eab308, #fde047);
      color: #1e3a8a;
      font-weight: 700;
    }
    body.theme-pro #sezioneDettaglio .bg-blue-50 {
      background: linear-gradient(135deg, rgba(219,234,254,.95), rgba(254,249,195,.5));
      border: 1px solid rgba(147,197,253,.5);
    }

/* v37 — visual polish: clear hierarchy, calm fields and visible-but-subtle caveats */
:root { color-scheme: light; }
body { line-height: 1.5; }
header p { max-width: 38rem; margin-left: auto; margin-right: auto; }
.card { padding: 1.25rem; border-color: #e5eaf2; box-shadow: 0 5px 18px rgba(15, 23, 42, .045); }
@media (min-width: 640px) { .card { padding: 1.75rem; } }
label { line-height: 1.35; }
input, select, textarea { min-height: 2.75rem; border-radius: .75rem !important; }
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible { outline: 3px solid rgba(37, 99, 235, .22); outline-offset: 1px; }
select { color: #1e293b; }
select:has(option[value=""]:checked) { color: #64748b; }
.btn-primary { border-radius: .85rem; transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.btn-primary:active { transform: translateY(1px); }
.disclaimer-note {
  color: #59677b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 3px solid #cbd5e1;
  border-radius: .65rem;
  padding: .5rem .7rem;
  font-size: .76rem;
  line-height: 1.45;
}
.disclaimer-note a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 2px; }
#hintBollo { display: block; }
#footerDisclaimer { text-align: left; }
#sezioneForm h2, #sezionePreferenze h2, #sezioneAnnuncio h2, #sezioneAlternative h2 { letter-spacing: -.02em; }
#risultatoY { scroll-margin-top: 1rem; }
#listaAlternative { gap: .85rem; }
@media (max-width: 639px) {
  .logo-header { height: 8rem !important; }
  .card { border-radius: 1rem; }
  #sezioneForm .btn-primary { width: 100%; }
}


/* V43 — immagini logo casa produttrice, con fallback locale se l'icona remota non è disponibile */
.car-logo-thumb, .car-logo-hero {
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden;
  flex-shrink:0; text-align:center; color:#17356b; background:#fff;
  border:1px solid #dbe5f2; border-radius:.75rem;
}
.car-logo-thumb { width:72px; height:60px; padding:.35rem; }
@media (min-width:640px) { .car-logo-thumb { width:96px; height:70px; padding:.45rem; } }
.car-logo-hero { width:100%; min-height:220px; height:100%; padding:1.5rem; border:0; border-radius:0; background:linear-gradient(145deg,#f8fafc 0%,#eaf1fb 62%,#fff8d8 100%); }
.brand-logo-image { display:block; width:100%; height:100%; max-width:74px; max-height:52px; object-fit:contain; }
.car-logo-hero .brand-logo-image { max-width:min(72%,320px); max-height:150px; width:auto; height:auto; }
.brand-logo-fallback { align-items:center; justify-content:center; width:30px; height:30px; border:2px solid #1d4ed8; border-radius:50%; color:#1d4ed8; font-size:1rem; font-weight:800; }
.brand-logo-fallback[hidden] { display:none; }
.car-logo-hero .brand-logo-fallback { width:58px; height:58px; font-size:1.8rem; }
