/* Rubrica Assetto - Autocross Italia */
:root { --blue:#102a8f; --blue-2:#1f4aa8; --orange:#f28b22; --ink:#1a1d27; --muted:#5a6270; --paper:#f7f8fb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#050505; color:var(--ink); font:16px/1.65 "Segoe UI",Roboto,Arial,sans-serif; }
a { color:var(--blue-2); text-decoration:none; }
a:hover { color:var(--orange); text-decoration:underline; }
.assetto-shell { max-width:1100px; margin:0 auto; background:#fff; min-height:100vh; box-shadow:0 0 35px #000; }
.assetto-header { background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(12,47,135,.35)),url('bannermedio-2026-v2.png') center/cover; min-height:245px; display:flex; align-items:flex-end; padding:24px 30px; color:#fff; }
.assetto-header h1 { margin:0; font-size:clamp(2rem,5vw,3.4rem); line-height:1.05; letter-spacing:-.02em; text-shadow:0 2px 12px #000; }
.assetto-header p { margin:.55rem 0 0; max-width:650px; color:#eef3ff; font-size:1.05rem; }
.assetto-nav { background:#07137d; padding:11px 28px; display:flex; flex-wrap:wrap; gap:18px; font-weight:600; }
.assetto-nav a { color:#fff; }
.assetto-main { padding:30px clamp(18px,4vw,50px) 55px; }
.eyebrow { color:var(--orange); text-transform:uppercase; letter-spacing:.12em; font-size:.78rem; font-weight:800; }
.assetto-main h2 { margin:2.2rem 0 .75rem; color:var(--blue); font-size:clamp(1.4rem,2.5vw,2rem); border-bottom:3px solid var(--orange); padding-bottom:7px; }
.assetto-main h3 { color:var(--blue); margin:1.35rem 0 .35rem; }
.lead { font-size:1.12rem; max-width:900px; }
.notice { background:#fff5e8; border-left:5px solid var(--orange); padding:15px 18px; margin:20px 0; }
.key-grid,.hub-grid,.gallery-grid { display:grid; gap:16px; }
.key-grid { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); margin:22px 0; }
.key-card { background:var(--paper); border-top:4px solid var(--blue); padding:14px 16px; }
.key-card strong { color:var(--blue); display:block; font-size:1.05rem; }
.key-card span { color:var(--muted); font-size:.92rem; }
.assetto-table { width:100%; border-collapse:collapse; margin:16px 0 22px; font-size:.94rem; }
.assetto-table th { background:var(--blue); color:#fff; text-align:left; }
.assetto-table th,.assetto-table td { padding:10px 11px; border:1px solid #dce1eb; vertical-align:top; }
.assetto-table tr:nth-child(even) td { background:#f5f7fb; }
.figure { margin:22px 0; background:#f4f6fa; border:1px solid #dbe0ea; padding:10px; }
.figure img { display:block; width:100%; height:auto; max-height:680px; object-fit:contain; background:#fff; }
.figure figcaption { color:#505866; font-size:.86rem; padding:9px 4px 1px; }
.gallery-grid { grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); margin-top:18px; }
.gallery-grid .figure { margin:0; }
.gallery-grid .figure img { aspect-ratio:4/3; object-fit:cover; }
.checklist { list-style:none; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:8px 18px; }
.checklist li { padding-left:24px; position:relative; }
.checklist li::before { content:"✓"; position:absolute; left:0; color:#198754; font-weight:800; }
.source-list { background:#f5f6fa; padding:18px 22px; border-top:4px solid var(--blue); }
.source-list li { margin:.35rem 0; }
.assetto-footer { background:#111; color:#d8d8d8; padding:22px 30px; font-size:.9rem; }
.assetto-footer a { color:#ffb35c; }
.hub-grid { grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.hub-card { display:flex; flex-direction:column; background:#f5f7fb; border:1px solid #dce1eb; border-left:5px solid var(--orange); padding:18px; }
.hub-card h3 { margin:.1rem 0 .4rem; }
.hub-card p { margin:0 0 12px; color:var(--muted); }
.hub-card .button { margin-top:auto; align-self:flex-start; background:var(--blue); color:#fff; padding:8px 13px; font-weight:700; }
.hub-card .button:hover { background:var(--orange); color:#111; }
/* Layout aliases used by the editorial archive landing pages. */
.assetto-page { max-width:1100px; min-height:100vh; margin:0 auto; background:#fff; color:var(--ink); box-shadow:0 0 35px #000; }
.assetto-hero { min-height:210px; padding:30px clamp(20px,4vw,48px); display:flex; flex-direction:column; justify-content:flex-end; color:#fff; background:linear-gradient(100deg,rgba(0,0,0,.86),rgba(7,19,125,.68)),url('bannermedio-2026-v2.png') center/cover; }
.assetto-hero h1 { margin:.2rem 0; color:#fff; font-size:clamp(2rem,5vw,3.1rem); line-height:1.1; }
.assetto-hero p { max-width:720px; margin:.4rem 0 0; color:#f2f5ff; }
.assetto-kicker { color:#8a4200; font-size:.76rem; line-height:1.4; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.assetto-hero .assetto-kicker { color:#ffd49f; }
.assetto-intro { margin:0 0 26px; padding:18px 20px; background:#f2f4f9; border-left:5px solid var(--orange); }
.assetto-intro h2 { margin:.35rem 0 .55rem; color:var(--blue); font-size:clamp(1.4rem,3vw,2rem); line-height:1.3; border-bottom:3px solid var(--orange); padding-bottom:8px; }
.assetto-intro p { margin:0; color:#303746; }
.assetto-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:18px; }
.assetto-card { min-width:0; padding:18px; background:#f7f8fb; border:1px solid #d7dce6; border-top:4px solid var(--orange); }
.assetto-card h2 { margin:.4rem 0 .55rem; color:var(--blue); font-size:1.35rem; line-height:1.3; }
.assetto-card p { margin:.4rem 0 .8rem; color:#303746; }
.assetto-card a { color:#17459b; font-weight:700; }
.assetto-card a:hover { color:#8a4200; }
.assetto-back { margin-top:28px; }
.assetto-back a { color:#17459b; font-weight:700; }
.assetto-footer { margin-top:20px; }
@media (max-width:650px) { .assetto-header { min-height:200px; padding:20px; } .assetto-nav { padding:10px 20px; gap:12px; font-size:.92rem; } .assetto-main { padding:24px 17px 40px; } .assetto-table { font-size:.84rem; display:block; overflow-x:auto; white-space:normal; } }
