:root { --bg:#f5f7fa; --card:#fff; --text:#1c2733; --muted:#66727f; --accent:#0b6bcb; --border:#e1e6ec; }
* { box-sizing: border-box; }
body { margin:0; font:16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; background:var(--bg); color:var(--text); }
.wrap { max-width:1040px; margin:0 auto; padding:0 16px; }
.site-header { background:var(--card); border-bottom:1px solid var(--border); padding:12px 0; }
.site-header .wrap { display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.logo { font-weight:800; font-size:1.4rem; color:var(--accent); text-decoration:none; }
.tagline, .muted { color:var(--muted); font-size:.9rem; }
.site-nav { margin-left:auto; display:flex; gap:16px; font-size:.95rem; }
.site-footer { margin-top:40px; padding:24px 0; color:var(--muted); font-size:.85rem; border-top:1px solid var(--border); }
a { color:var(--accent); }
h1 { margin:24px 0 8px; } h2 { margin:0 0 12px; font-size:1.25rem; } h3 { margin:20px 0 4px; font-size:1.05rem; }
.card { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:16px; margin:16px 0; }
.hero { padding:24px 0 8px; }
.search { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; align-items:end; }
label { display:flex; flex-direction:column; gap:4px; font-size:.9rem; font-weight:600; }
label small { font-weight:400; color:var(--muted); font-size:.78rem; }
.search { align-items:start; } .search button { align-self:end; }
select, input { padding:10px; border:1px solid var(--border); border-radius:6px; font:inherit; background:#fff; }
button, .btn { display:inline-block; padding:10px 18px; border:0; border-radius:6px; background:var(--accent); color:#fff; font:inherit; font-weight:600; cursor:pointer; text-decoration:none; text-align:center; }
button:disabled { background:#aab4be; cursor:not-allowed; }
.grid { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px; }
.grid .card { margin:0; } .grid a { text-decoration:none; color:inherit; display:block; }
.layout { display:grid; grid-template-columns:1fr 300px; gap:24px; }
@media (max-width:820px) { .layout { grid-template-columns:1fr; } }
.crumbs { margin-top:16px; font-size:.85rem; color:var(--muted); }
.specs { display:grid; grid-template-columns:max-content 1fr; gap:6px 24px; margin:0; }
.specs dt { color:var(--muted); } .specs dd { margin:0; font-weight:600; }
.params { display:flex; gap:12px; align-items:end; flex-wrap:wrap; }
.stats { display:flex; gap:12px; flex-wrap:wrap; }
.stats > div { flex:1 1 150px; background:var(--bg); border-radius:8px; padding:12px; display:flex; flex-direction:column; }
.num { font-size:1.5rem; font-weight:800; } .lbl { color:var(--muted); font-size:.85rem; }
.partners { list-style:none; padding:0; margin:0; }
.partners li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); }
.ad { margin:16px 0; min-height:90px; display:flex; align-items:center; justify-content:center; background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 10px,#f5f7fa 10px,#f5f7fa 20px); color:var(--muted); font-size:.8rem; border-radius:8px; }
.ad-sidebar { min-height:250px; position:sticky; top:16px; }
.footer-links a { color:var(--muted); }
.cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:100; background:#fff; border-top:1px solid var(--border); box-shadow:0 -2px 12px rgba(0,0,0,.12); padding:14px 16px; display:flex; gap:16px; align-items:center; justify-content:center; flex-wrap:wrap; }
.cookie-banner[hidden] { display:none; }
.cookie-banner p { margin:0; max-width:720px; font-size:.9rem; }
.cookie-actions { display:flex; gap:8px; }
.cookie-actions button[data-consenso="no"] { background:#fff; color:var(--accent); border:1px solid var(--accent); }
.prose { max-width:760px; } .prose h2 { margin-top:28px; } .prose ul { padding-left:20px; }
.notice { background:#fff7e0; border:1px solid #f0d78c; border-radius:8px; padding:12px 16px; margin:16px 0; font-size:.9rem; }
.prezzi { border-collapse:collapse; width:100%; max-width:520px; margin-bottom:12px; }
.prezzi th, .prezzi td { padding:8px 10px; border-bottom:1px solid var(--border); text-align:right; }
.prezzi th:first-child, .prezzi tbody th { text-align:left; }
.prezzi td { font-weight:700; font-variant-numeric:tabular-nums; }
.prezzi tr.sel th, .prezzi tr.sel td { background:#eaf3fd; }
.badge { display:inline-block; padding:3px 10px; border-radius:99px; background:#e6f4ea; color:#1e6b34; font-size:.85rem; font-weight:600; }
.ai-badge { background:#eef1fb; border:1px solid #cdd6f4; border-radius:8px; padding:8px 12px; font-size:.85rem; color:#3b4a8a; }
.riassunto { font-size:1.05rem; }
.pro-contro { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:640px) { .pro-contro { grid-template-columns:1fr; } }
.pro-contro ul { list-style:none; padding:0; margin:0; }
.pro-contro li { position:relative; padding:4px 0 4px 22px; }
.pro li::before { content:"+"; position:absolute; left:4px; color:#1e8e3e; font-weight:800; }
.contro li::before { content:"\2212"; position:absolute; left:4px; color:#c5221f; font-weight:800; }
.scheda ol { padding-left:22px; } .scheda li { margin:4px 0; }
.scheda details { margin-top:12px; } .scheda summary { cursor:pointer; color:var(--accent); }
.confronto-slot { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:760px) { .confronto-slot { grid-template-columns:1fr; } }
.picker { display:flex; flex-direction:column; gap:10px; }
.picker[hidden] { display:none; }
.prezzi.confr { max-width:none; }
.prezzi.confr td, .prezzi.confr th { text-align:left; }
.prezzi.confr td.meglio { background:#e6f4ea; color:#1e6b34; }
.prezzi.confr tr.tot th, .prezzi.confr tr.tot td { border-top:2px solid var(--border); }
.verdetto { font-size:1.1rem; }
.problemi { list-style:none; padding:0; margin:0 0 8px; }
.problema { padding:10px 12px; margin:8px 0; border-left:4px solid #e0a800; background:var(--bg); border-radius:0 6px 6px 0; }
.problema.grav-alta { border-left-color:#c5221f; } .problema.grav-lieve { border-left-color:#9aa5b1; }
.problema .grav { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; margin-left:6px; color:var(--muted); }

/* Catalogo marche/modelli e guide */
.tabella-scroll { overflow-x:auto; }
table.versioni { width:100%; border-collapse:collapse; font-size:.92rem; }
table.versioni th, table.versioni td { padding:6px 8px; border-bottom:1px solid var(--border); text-align:left; vertical-align:top; }
table.versioni th { color:var(--muted); font-weight:600; white-space:nowrap; }
.prose h1 { margin-top:16px; } .prose ol { padding-left:22px; }
