/* =========================================================
   SVRA • Vetrina Veicoli Usati
   Layout ispirato a Ghetti (categorie + breadcrumb + dettaglio)
   Card moderne, palette blu IVECO.
   ========================================================= */
:root{
  --blue-950:#001a3a; --blue-900:#002b5c; --blue-800:#003a70;
  --blue-700:#004c97; --blue-600:#005fbf; --blue-100:#e7f0ff;
  --accent:#00a3e0;
  --ink:#0b1220; --ink-soft:#5a6b82; --ink-faint:#8a99ad;
  --surface:#ffffff; --bg:#f4f7fc; --bg-alt:#eef3fb;
  --border:#dbe6f6; --border-soft:#eaf1fb;
  --radius:18px; --radius-lg:24px;
  --shadow-sm:0 4px 14px rgba(0,35,78,.07);
  --shadow:0 14px 40px rgba(0,35,78,.12);
  --shadow-lg:0 28px 70px rgba(0,35,78,.22);
  --font-display:"Sora",system-ui,sans-serif;
  --font-body:"Inter Tight",system-ui,sans-serif;
}
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{ background:var(--bg); color:var(--ink); font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
a{ text-decoration:none; color:inherit; }
img{ display:block; max-width:100%; }
[hidden]{ display:none !important; }

/* ============ TOPBAR ============ */
.vt-topbar{ position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--border); box-shadow:0 2px 14px rgba(0,35,78,.05); }
.vt-topbar-inner{ max-width:1280px; margin:0 auto; padding:14px clamp(16px,4vw,40px); display:flex; align-items:center; gap:clamp(14px,3vw,32px); }
.vt-brand{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.vt-logo-iveco{ height:30px; width:auto; }
.vt-brand-text{ font-family:var(--font-display); font-weight:800; letter-spacing:.01em; font-size:1.12rem; color:var(--blue-950); border-left:2px solid var(--border); padding-left:12px; }
.vt-topbar-search{ flex:1; display:flex; align-items:center; gap:10px; background:var(--bg-alt); border:1px solid var(--border); border-radius:999px; padding:0 18px; transition:border-color .18s, box-shadow .18s, background .18s; min-width:0; }
.vt-topbar-search:focus-within{ background:#fff; border-color:var(--blue-600); box-shadow:0 0 0 4px rgba(0,95,191,.1); }
.vt-topbar-search i{ color:var(--blue-600); font-size:1.02rem; flex:0 0 auto; }
.vt-topbar-search input{ flex:1; border:0; outline:0; background:transparent; padding:12px 0; font-family:var(--font-body); font-size:.98rem; color:var(--ink); min-width:0; }
.vt-topbar-search input::placeholder{ color:var(--ink-faint); }
.vt-topbar-contact{ flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; background:var(--blue-700); color:#fff; padding:11px 20px; border-radius:999px; font-weight:600; font-size:.92rem; transition:background .2s, transform .2s, box-shadow .2s; box-shadow:0 8px 20px rgba(0,76,151,.22); }
.vt-topbar-contact:hover{ background:var(--blue-800); color:#fff; transform:translateY(-1px); box-shadow:0 12px 26px rgba(0,76,151,.32); }

/* ============ BREADCRUMB ============ */
.vt-breadcrumb{ max-width:1280px; margin:0 auto; padding:18px clamp(16px,4vw,40px) 0; display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:.92rem; color:var(--ink-faint); }
.vt-breadcrumb a{ color:var(--ink-soft); font-weight:500; transition:color .15s; }
.vt-breadcrumb a:hover{ color:var(--blue-700); }
.vt-breadcrumb .sep{ color:var(--border); }
.vt-breadcrumb .current{ color:var(--ink); font-weight:600; }

/* ============ APP LAYOUT ============ */
.vt-app{ max-width:1280px; margin:0 auto; padding:18px clamp(16px,4vw,40px) 60px; display:flex; gap:clamp(18px,2.5vw,34px); align-items:flex-start; }
.vt-sidebar{ flex:0 0 260px; position:sticky; top:90px; }
.vt-sidebar-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:20px; }
.vt-sidebar-group{ display:flex; flex-direction:column; gap:8px; }
.vt-sidebar-label{ font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-800); border-bottom:2px solid var(--blue-100); padding-bottom:7px; }
.vt-content{ flex:1; min-width:0; }

/* ============ SELECT ============ */
.vt-select{ appearance:none; border:1px solid var(--border); background:#fff; border-radius:12px; padding:11px 38px 11px 14px; font-family:var(--font-body); font-size:.94rem; color:var(--ink); cursor:pointer; transition:border-color .18s, box-shadow .18s; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a6b82' d='M6 8 0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; }
.vt-select:focus{ outline:0; border-color:var(--blue-600); box-shadow:0 0 0 3px rgba(0,95,191,.14); }
.vt-clear{ border:0; background:transparent; color:#c0392b; font-weight:600; font-size:.9rem; cursor:pointer; padding:6px 2px; text-align:left; }
.vt-clear:hover{ text-decoration:underline; }

/* ============ HERO BAND ============ */
.vt-hero-band{ position:relative; border-radius:var(--radius-lg); overflow:hidden; padding:clamp(34px,6vw,64px) clamp(26px,5vw,56px); margin-bottom:38px; color:#fff; }
.vt-hero-band-bg{ position:absolute; inset:0; background:
    radial-gradient(120% 130% at 88% -20%, rgba(0,163,224,.5), transparent 55%),
    radial-gradient(90% 90% at 5% 0%, rgba(0,95,191,.55), transparent 60%),
    linear-gradient(135deg, var(--blue-950) 0%, var(--blue-900) 50%, var(--blue-800) 100%); }
.vt-hero-band-bg::after{ content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(120deg,#000,transparent 80%); -webkit-mask-image:linear-gradient(120deg,#000,transparent 80%); }
.vt-hero-band-content{ position:relative; z-index:2; }
.vt-hero-eyebrow{ font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin:0 0 14px; }
.vt-hero-title{ font-family:var(--font-display); font-weight:800; font-size:clamp(2rem,5vw,3.4rem); line-height:1.04; letter-spacing:-.02em; margin:0 0 16px; }
.vt-hero-title span{ background:linear-gradient(90deg,#fff,var(--accent) 130%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.vt-hero-sub{ font-size:clamp(1rem,2vw,1.16rem); color:rgba(255,255,255,.78); max-width:48ch; margin:0; }

/* ============ SECTION TITLE ============ */
.vt-section-title{ font-family:var(--font-display); font-weight:700; font-size:1.5rem; letter-spacing:-.01em; color:var(--ink); margin:0 0 22px; position:relative; padding-bottom:12px; }
.vt-section-title::after{ content:""; position:absolute; left:0; bottom:0; width:54px; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--blue-600),var(--accent)); }

/* ============ CATEGORIE ============ */
.vt-cat-grid{ display:grid; gap:clamp(18px,2.4vw,28px); grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.vt-cat-card{ position:relative; border-radius:var(--radius-lg); overflow:hidden; cursor:pointer; background:var(--blue-950); aspect-ratio:4/3.1; box-shadow:var(--shadow-sm); transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s; opacity:0; transform:translateY(16px); animation:vtIn .55s cubic-bezier(.2,.7,.3,1) forwards; }
.vt-cat-card:hover{ transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.vt-cat-card img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; transition:transform .55s cubic-bezier(.2,.7,.3,1), opacity .3s; }
.vt-cat-card:hover img{ transform:scale(1.07); opacity:.72; }
.vt-cat-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,26,58,.05) 0%, rgba(0,26,58,.35) 45%, rgba(0,26,58,.92) 100%); }
.vt-cat-body{ position:absolute; left:0; right:0; bottom:0; padding:24px; color:#fff; z-index:2; }
.vt-cat-name{ font-family:var(--font-display); font-weight:700; font-size:1.32rem; letter-spacing:-.01em; margin:0 0 10px; line-height:1.15; }
.vt-cat-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.vt-cat-count{ display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.16); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.22); padding:6px 14px; border-radius:999px; font-size:.86rem; font-weight:600; }
.vt-cat-count b{ font-weight:700; }
.vt-cat-arrow{ width:40px; height:40px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:transform .25s, background .25s; box-shadow:0 8px 20px rgba(0,163,224,.4); }
.vt-cat-card:hover .vt-cat-arrow{ transform:translateX(4px); background:#fff; color:var(--blue-700); }

/* ============ GRID HEAD ============ */
.vt-grid-head{ display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:22px; }
.vt-result-pill{ background:var(--blue-100); color:var(--blue-800); font-weight:600; font-size:.88rem; padding:7px 16px; border-radius:999px; }
.vt-result-pill span{ font-weight:700; }

/* ============ VEHICLE GRID + CARD ============ */
.vt-grid{ display:grid; gap:clamp(16px,2vw,24px); grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); }
.vt-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer; display:flex; flex-direction:column; transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s, border-color .28s; opacity:0; transform:translateY(14px); animation:vtIn .5s cubic-bezier(.2,.7,.3,1) forwards; }
@keyframes vtIn{ to{ opacity:1; transform:translateY(0); } }
.vt-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--blue-600); }
.vt-card-photo{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--blue-100); }
.vt-card-photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.vt-card:hover .vt-card-photo img{ transform:scale(1.07); }
.vt-card-photo-empty{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:var(--blue-600); font-size:2.4rem; background:repeating-linear-gradient(45deg,var(--blue-100),var(--blue-100) 14px,#fff 14px,#fff 28px); }
.vt-badge-usato{ position:absolute; top:12px; left:12px; background:var(--blue-700); color:#fff; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:5px 12px; border-radius:7px; box-shadow:0 4px 12px rgba(0,76,151,.3); }
.vt-badge-photos{ position:absolute; bottom:12px; right:12px; background:rgba(255,255,255,.94); color:var(--blue-900); font-size:.74rem; font-weight:600; padding:5px 10px; border-radius:8px; display:flex; align-items:center; gap:5px; box-shadow:var(--shadow-sm); }
.vt-card-body{ padding:16px 17px; display:flex; flex-direction:column; gap:9px; flex:1; }
.vt-card-brand{ font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); }
.vt-card-title{ font-family:var(--font-display); font-weight:700; font-size:1.04rem; line-height:1.22; letter-spacing:-.01em; color:var(--ink); margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vt-card-sub{ font-size:.86rem; color:var(--ink-soft); margin:-3px 0 0; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.vt-card-specs{ display:flex; gap:14px; flex-wrap:wrap; margin-top:2px; color:var(--ink-soft); font-size:.84rem; font-weight:500; }
.vt-card-specs span{ display:inline-flex; align-items:center; gap:5px; }
.vt-card-specs i{ color:var(--blue-600); }
.vt-card-foot{ margin-top:auto; padding-top:12px; border-top:1px solid var(--border-soft); display:flex; align-items:center; justify-content:space-between; gap:8px; }
.vt-card-price{ font-family:var(--font-display); font-weight:700; font-size:1.06rem; color:var(--blue-800); }
.vt-card-price small{ font-weight:500; font-size:.72rem; color:var(--ink-faint); }
.vt-card-cta{ font-size:.86rem; font-weight:600; color:var(--blue-700); display:inline-flex; align-items:center; gap:6px; margin-left:auto; }
.vt-card-cta i{ transition:transform .2s; }
.vt-card:hover .vt-card-cta i{ transform:translateX(3px); }

/* ============ DETTAGLIO ============ */
.vt-detail{ display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(24px,3.5vw,48px); align-items:start; }
.vt-detail-gallery{ position:sticky; top:90px; }
.vt-detail-main{ position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:4/3; background:var(--blue-950); box-shadow:var(--shadow); }
.vt-detail-main img{ width:100%; height:100%; object-fit:cover; cursor:zoom-in; }
.vt-detail-main .vt-badge-usato{ z-index:2; }
.vt-detail-main-empty{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:rgba(255,255,255,.4); font-size:3rem; }
.vt-detail-thumbs{ display:grid; grid-template-columns:repeat(5,1fr); gap:9px; margin-top:12px; }
.vt-detail-thumb{ aspect-ratio:4/3; border-radius:10px; overflow:hidden; border:2px solid transparent; cursor:pointer; padding:0; background:none; transition:border-color .18s, transform .18s; }
.vt-detail-thumb img{ width:100%; height:100%; object-fit:cover; }
.vt-detail-thumb:hover{ transform:translateY(-2px); }
.vt-detail-thumb.active{ border-color:var(--blue-600); }

.vt-detail-info{ padding-top:4px; }
.vt-detail-brand{ font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin:0 0 8px; }
.vt-detail-title{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.6rem,3.2vw,2.3rem); line-height:1.08; letter-spacing:-.02em; margin:0 0 6px; color:var(--ink); }
.vt-detail-sub{ color:var(--ink-soft); font-size:1.05rem; margin:0 0 22px; }
.vt-detail-price{ font-family:var(--font-display); font-weight:800; font-size:clamp(1.8rem,3.5vw,2.5rem); color:var(--blue-800); margin:0 0 4px; }
.vt-detail-price small{ font-size:1rem; font-weight:500; color:var(--ink-faint); }
.vt-detail-price-empty{ font-size:1.05rem; color:var(--ink-soft); margin:0 0 6px; font-weight:500; }
.vt-detail-ref{ font-size:.88rem; color:var(--ink-faint); margin:0 0 24px; }
.vt-detail-ref b{ color:var(--ink-soft); }

.vt-detail-actions{ display:flex; gap:11px; flex-wrap:wrap; margin-bottom:30px; }
.vt-btn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:9px; flex:1; min-width:170px; background:linear-gradient(135deg,var(--blue-700),var(--blue-600)); color:#fff; font-family:var(--font-body); font-weight:600; font-size:1rem; padding:15px 24px; border-radius:13px; border:0; cursor:pointer; box-shadow:0 12px 28px rgba(0,76,151,.3); transition:transform .18s, box-shadow .18s; }
.vt-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(0,76,151,.42); color:#fff; }
.vt-btn-wa{ flex:0 0 auto; min-width:0; background:linear-gradient(135deg,#1ebe57,#13a347); box-shadow:0 12px 28px rgba(19,163,71,.3); padding:15px 22px; }
.vt-btn-wa:hover{ box-shadow:0 16px 36px rgba(19,163,71,.42); }
.vt-btn-pdf{ width:100%; display:inline-flex; align-items:center; justify-content:center; gap:9px; margin:-18px 0 30px; background:#fff; color:var(--blue-700); border:1px solid var(--border); font-family:var(--font-body); font-weight:600; font-size:.95rem; padding:13px 24px; border-radius:13px; cursor:pointer; transition:all .18s; }
.vt-btn-pdf:hover{ border-color:var(--blue-600); background:var(--blue-100); transform:translateY(-1px); }
.vt-btn-pdf:disabled{ opacity:.7; cursor:wait; }
.vt-btn-pdf i{ color:#c0392b; font-size:1.05rem; }

.vt-detail-spectable-title{ font-family:var(--font-display); font-weight:700; font-size:1.04rem; color:var(--blue-800); margin:0 0 4px; padding-bottom:10px; border-bottom:2px solid var(--blue-100); }
.vt-spectable{ width:100%; border-collapse:collapse; }
.vt-spectable tr{ border-bottom:1px solid var(--border-soft); }
.vt-spectable tr:nth-child(even){ background:var(--bg-alt); }
.vt-spectable th{ text-align:left; font-weight:700; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); padding:13px 14px; width:42%; }
.vt-spectable td{ padding:13px 14px; font-size:.96rem; color:var(--ink); font-weight:500; }

/* ============ STATES ============ */
.vt-empty,.vt-error,.vt-loading{ text-align:center; padding:72px 20px; color:var(--ink-soft); }
.vt-empty i,.vt-error i{ font-size:3rem; color:var(--blue-600); opacity:.5; }
.vt-empty-title{ font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--ink); margin:18px 0 6px; }
.vt-empty-sub{ margin:0 0 20px; }
.vt-error i{ color:#e0a800; }
.vt-btn-ghost{ border:1px solid var(--blue-600); background:#fff; color:var(--blue-700); font-family:var(--font-body); font-weight:600; font-size:.92rem; padding:10px 22px; border-radius:11px; cursor:pointer; transition:all .18s; }
.vt-btn-ghost:hover{ background:var(--blue-700); color:#fff; }
.vt-spinner{ width:42px; height:42px; margin:0 auto 18px; border:4px solid var(--blue-100); border-top-color:var(--blue-600); border-radius:50%; animation:vtSpin .8s linear infinite; }
@keyframes vtSpin{ to{ transform:rotate(360deg); } }

/* ============ FOOTER ============ */
.vt-footer{ background:var(--blue-950); color:rgba(255,255,255,.82); margin-top:20px; }
.vt-footer-contacts{ max-width:1280px; margin:0 auto; padding:52px clamp(16px,4vw,40px); display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.vt-fc-item{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; color:#fff; transition:transform .2s; }
.vt-fc-item:hover{ transform:translateY(-3px); color:#fff; }
.vt-fc-icon{ width:64px; height:64px; border-radius:50%; background:var(--blue-700); display:flex; align-items:center; justify-content:center; font-size:1.5rem; box-shadow:0 10px 26px rgba(0,76,151,.4); transition:background .2s; }
.vt-fc-item:hover .vt-fc-icon{ background:var(--accent); }
.vt-fc-text{ font-size:1.02rem; font-weight:500; line-height:1.5; max-width:24ch; }
.vt-footer-bottom{ border-top:1px solid rgba(255,255,255,.1); }
.vt-footer-bottom > *{ max-width:1280px; margin:0 auto; }
.vt-footer-company{ padding:26px clamp(16px,4vw,40px) 4px; text-align:center; }
.vt-footer-company strong{ font-family:var(--font-display); font-size:1.16rem; color:#fff; display:block; }
.vt-footer-company span{ font-size:.88rem; opacity:.65; }
.vt-footer-meta{ padding:6px clamp(16px,4vw,40px) 30px; text-align:center; font-size:.82rem; opacity:.6; }
.vt-footer-meta a:hover{ color:var(--accent); }
.vt-dot{ margin:0 6px; opacity:.5; }

/* ============ LIGHTBOX ============ */
.vt-lightbox{ position:fixed; inset:0; z-index:1100; background:rgba(0,8,20,.94); display:flex; align-items:center; justify-content:center; animation:vtFade .2s ease; }
@keyframes vtFade{ from{ opacity:0; } }
.vt-lb-img{ max-width:92vw; max-height:86vh; object-fit:contain; border-radius:8px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.vt-lb-close,.vt-lb-nav{ position:absolute; border:0; cursor:pointer; color:#fff; background:rgba(255,255,255,.12); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; transition:background .18s, transform .18s; }
.vt-lb-close{ top:20px; right:20px; width:46px; height:46px; border-radius:50%; font-size:1.2rem; }
.vt-lb-nav{ top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; font-size:1.5rem; }
.vt-lb-prev{ left:20px; } .vt-lb-next{ right:20px; }
.vt-lb-close:hover,.vt-lb-nav:hover{ background:rgba(255,255,255,.25); }
.vt-lb-prev:hover{ transform:translateY(-50%) translateX(-3px); } .vt-lb-next:hover{ transform:translateY(-50%) translateX(3px); }
.vt-lb-counter{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.85); font-size:.9rem; font-weight:500; background:rgba(0,0,0,.4); padding:6px 14px; border-radius:999px; }

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  .vt-detail{ grid-template-columns:1fr; }
  .vt-detail-gallery{ position:static; }
}
@media (max-width:860px){
  .vt-app{ flex-direction:column; }
  .vt-sidebar{ flex:1 1 auto; width:100%; position:static; }
  .vt-sidebar-card{ flex-direction:row; flex-wrap:wrap; align-items:flex-end; }
  .vt-sidebar-group{ flex:1; min-width:150px; }
}
@media (max-width:680px){
  .vt-topbar-inner{ flex-wrap:wrap; }
  .vt-topbar-search{ order:3; flex-basis:100%; }
  .vt-footer-contacts{ grid-template-columns:1fr; gap:26px; }
  .vt-detail-thumbs{ grid-template-columns:repeat(4,1fr); }
}
@media (max-width:560px){
  .vt-lb-nav{ width:44px; height:44px; font-size:1.2rem; }
  .vt-lb-prev{ left:10px; } .vt-lb-next{ right:10px; }
  .vt-detail-actions .vt-btn-primary{ min-width:100%; }
  .vt-btn-wa{ min-width:100%; }
}
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.001ms !important; transition-duration:.001ms !important; } }

/* ===== Sezione Piaggio: gruppi con/senza foto ===== */
/* Quando la griglia contiene i gruppi Piaggio, annullo il grid sul container */
.vt-grid:has(.vt-grid-cards){ display:block; }
.vt-grid-cards{ display:grid; gap:clamp(16px,2vw,24px); grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); }

.vt-other-configs{ margin-top:40px; padding-top:28px; border-top:2px solid var(--border); }
.vt-other-configs-title{ font-size:clamp(1.05rem,2vw,1.3rem); font-weight:800; color:var(--blue-900); margin:0 0 4px; letter-spacing:-.01em; }
.vt-other-configs-sub{ font-size:.9rem; color:var(--text-soft); margin:0 0 20px; }
.vt-grid-nophoto{ grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); }

/* Card senza foto */
.vt-card-nophoto{ border-style:dashed; border-width:1.5px; }
.vt-card-nophoto:hover{ border-style:solid; }
.vt-card-nophoto .vt-card-body{ padding:18px 18px 16px; }
.vt-card-nophoto .vt-card-body::before{
  content:"\F4D8"; font-family:"bootstrap-icons"; display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:10px; background:var(--blue-100); color:var(--blue-600);
  font-size:1.15rem; margin-bottom:4px;
}
.vt-card-price-req{ font-size:.86rem; font-weight:600; color:var(--text-soft); font-style:italic; }
