/*!
 * VM Tema Star Car — v1.1.0 — 23/10/2026
 * Sovrascrive lo stile delle classi .vm-* del Vehicle Manager.
 * I selettori partono da "body" per vincere sugli <style> inline del plugin.
 */

:root{
  --vmt-rosso:#c3002f;
  --vmt-rosso-scuro:#9c0026;
  --vmt-nero:#0a0a0a;
  --vmt-ferro:#2a2a2a;
  --vmt-g700:#444;
  --vmt-g500:#777;
  --vmt-g400:#aaa;
  --vmt-g200:#e4e4e4;
  --vmt-g100:#f2f2f2;
  --vmt-font:'Outfit',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}

/* =========================================================
 * CARD (listing / carousel / slider)
 * ========================================================= */
body .vm-card,
body .vm-slider-card{
  font-family:var(--vmt-font);
  border-radius:6px;
  border:1px solid var(--vmt-g200);
  box-shadow:0 1px 3px rgba(0,0,0,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s;
}
body .vm-card:hover,
body .vm-slider-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.14);border-color:#ccc}

body .vm-card-img,
body .vm-slider-card-img{height:auto;aspect-ratio:4/3;background:var(--vmt-g100)}
body .vm-card-img img,
body .vm-slider-card-img img{transition:transform .35s ease}
body .vm-card:hover .vm-card-img img,
body .vm-slider-card:hover .vm-slider-card-img img{transform:scale(1.03)}

body .vm-card-content,
body .vm-slider-content{padding:18px 18px 20px;display:flex;flex-direction:column;gap:4px}

body .vm-card-marca,
body .vm-slider-marca{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--vmt-g500);margin:0}
body .vm-card-title,
body .vm-slider-title{font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.25;color:#111;margin:0}
body .vm-card-subtitle,
body .vm-slider-subtitle{font-size:13px;color:var(--vmt-g500);margin:0 0 4px;line-height:1.4}

/* specifiche → chip grigi (l'emoji la toglie tema.js) */
body .vm-card-specs,
body .vm-slider-specs{gap:6px;margin:4px 0 12px;color:var(--vmt-g700)}
body .vm-card-specs span,
body .vm-slider-specs span{
  display:inline-block;padding:4px 8px;border-radius:3px;
  background:var(--vmt-g100);font-size:11.5px;font-weight:500;color:var(--vmt-g700);line-height:1.3;white-space:nowrap;
}

/* badge: nero, Promo rosso, Venduto grigio */
body .vm-card-badge,
body .vm-slider-badge{
  top:12px;left:12px;padding:5px 11px;border-radius:2px;
  background:var(--vmt-nero);color:#fff;
  font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}
body .vm-card-badge.aziendale,
body .vm-card-badge.km0,
body .vm-slider-badge.aziendale,
body .vm-slider-badge.km0{background:var(--vmt-nero)}
body .vm-card-badge.promo,
body .vm-slider-badge.promo{background:var(--vmt-rosso)}
body .vm-card-badge.venduto,
body .vm-slider-badge.venduto{background:#666}

/* blocco prezzo */
body .vm-price-block{margin-top:auto;padding-top:12px;border-top:1px solid var(--vmt-g200)}
body .vm-price-listino{font-size:12px;color:var(--vmt-g500)}
body .vm-price-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:#111;margin:2px 0 0}
body .vm-card-price,
body .vm-slider-price{font-size:26px;font-weight:900;letter-spacing:-.03em;line-height:1.1;color:var(--vmt-rosso)}
body .vm-price-saving{
  background:var(--vmt-nero);color:#fff;border-radius:2px;
  padding:3px 9px;font-size:11px;font-weight:700;letter-spacing:.04em;margin-top:6px;
}
/* nota "con condizioni / senza finanziamento" delle versioni più nuove */
body .vm-price-block small,
body .vm-price-note,
body .vm-price-cash{font-size:11px;color:var(--vmt-g500);line-height:1.35}

/* venduto */
body .vm-card.venduto .vm-card-img::after{content:'';background:rgba(0,0,0,.45)}

/* =========================================================
 * LISTING: filtri, intestazione, griglia
 * ========================================================= */
body .vm-listing-container{font-family:var(--vmt-font)}
body .vm-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}

body .vm-filters-box{border-radius:6px;border:1px solid var(--vmt-g200);border-top:3px solid var(--vmt-rosso);box-shadow:0 4px 24px rgba(0,0,0,.04);padding:24px}
body .vm-filters h3{font-size:18px;font-weight:800;letter-spacing:-.3px}
body .vm-filters h3 a{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vmt-rosso)}
body .vm-filter-group{border-bottom:1px solid var(--vmt-g100)}
body .vm-filter-group label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vmt-g500)}
body .vm-filter-group select,
body .vm-filter-group input{border:1.5px solid var(--vmt-g200);border-radius:4px;background:#fafafa;font-family:var(--vmt-font);color:#111}
body .vm-filter-group select:focus,
body .vm-filter-group input:focus{outline:none;border-color:var(--vmt-rosso);background:#fff;box-shadow:0 0 0 3px rgba(195,0,47,.1)}
body .vm-filter-btn{
  background:var(--vmt-rosso);border-radius:4px;
  font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  transition:background .2s;
}
body .vm-filter-btn:hover{background:var(--vmt-rosso-scuro)}

body .vm-results-count{font-size:14px;color:var(--vmt-g500)}
body .vm-results-count strong{color:#111;font-weight:800}
body .vm-orderby label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vmt-g500)}
body .vm-orderby select{border:1.5px solid var(--vmt-g200);border-radius:4px;font-family:var(--vmt-font)}

body .vm-no-results a{color:var(--vmt-rosso)}

/* tab "Star Car / Mantovani Motors" (versioni più nuove del VM) */
body .vm-tabs a,
body .vm-tab{font-family:var(--vmt-font);font-weight:700;color:var(--vmt-g500)}
body .vm-tabs a.active,
body .vm-tab.active,
body .vm-tab.is-active{color:#111;border-bottom-color:var(--vmt-rosso)}
body .vm-tabs .count,
body .vm-tab-count{background:var(--vmt-nero)!important;color:#fff!important;border-radius:2px!important;font-size:10px;font-weight:800;padding:2px 7px}

/* =========================================================
 * SLIDER / CAROUSEL: frecce e intestazione
 * ========================================================= */
body .vm-slider-header h2{font-family:var(--vmt-font);font-weight:800;letter-spacing:-.5px;color:#111}
body .vm-slider-header a{
  font-family:var(--vmt-font);color:var(--vmt-rosso);font-size:12px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  border-bottom:2px solid transparent;transition:border-color .18s;
}
body .vm-slider-header a:hover{text-decoration:none;border-bottom-color:var(--vmt-rosso)}

body .vm-slider-nav,
body .vm-carousel-nav{
  width:46px;height:46px;background:var(--vmt-nero);color:#fff;border:none;border-radius:50%;
  box-shadow:0 6px 18px rgba(0,0,0,.28);font-size:0;transition:background .18s;
}
body .vm-slider-nav:hover,
body .vm-carousel-nav:hover{background:var(--vmt-rosso);color:#fff}
body .vm-slider-nav::after{
  content:'';display:block;width:10px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg);margin-left:-4px;
}
body .vm-slider-nav.prev::after{transform:rotate(135deg);margin-left:4px}
body .vm-carousel-nav svg{stroke:#fff}

body .vm-slider-track{scrollbar-color:var(--vmt-rosso) var(--vmt-g100);padding-bottom:16px}
body .vm-slider-track::-webkit-scrollbar{height:3px}
body .vm-slider-track::-webkit-scrollbar-track{background:var(--vmt-g100);border-radius:0}
body .vm-slider-track::-webkit-scrollbar-thumb{background:var(--vmt-rosso);border-radius:0}
body .vm-slider-card{flex:0 0 320px}

/* =========================================================
 * FORM LEAD (vm-leads.php)
 * ========================================================= */
body .vm-lead{font-family:var(--vmt-font);border-radius:6px;border:1px solid var(--vmt-g200);border-top:4px solid var(--vmt-rosso);box-shadow:0 4px 24px rgba(0,0,0,.04)}
body .vm-lead-title{font-weight:800;letter-spacing:-.3px}
body .vm-lead-field>span{letter-spacing:.14em;color:var(--vmt-g500)}
body .vm-lead .vm-lead-field input{border:1.5px solid var(--vmt-g200);border-radius:4px;background:#fafafa;font-family:var(--vmt-font)}
body .vm-lead .vm-lead-field input:focus{border-color:var(--vmt-rosso);background:#fff;box-shadow:0 0 0 3px rgba(195,0,47,.1)}
body .vm-lead-consent a{color:var(--vmt-rosso)}
body .vm-lead .vm-lead-submit{
  background:var(--vmt-rosso);border-radius:4px;
  font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:background .2s;
}
body .vm-lead .vm-lead-submit:hover{filter:none;background:var(--vmt-rosso-scuro)}
body .vm-lead-msg.ok{color:#111}
body .vm-lead-msg.err{color:var(--vmt-rosso)}

/* =========================================================
 * SCHEDA VEICOLO (templates/single-veicolo.php)
 * ========================================================= */
.vmt{font-family:var(--vmt-font);color:#111;max-width:1300px;margin:0 auto;padding:24px 20px 60px}
.vmt *{box-sizing:border-box}
.vmt a{text-decoration:none}

.vmt-back{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vmt-g500);margin:0 0 18px;transition:color .18s}
.vmt-back svg{width:16px;height:16px}
.vmt-back:hover{color:var(--vmt-rosso)}

/* galleria a mosaico */
.vmt-gallery{display:grid;grid-template-columns:3fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:clamp(300px,44vw,560px);margin:0 0 36px;position:relative}
.vmt-gallery.is-single{grid-template-columns:1fr;grid-template-rows:1fr}
.vmt-shot{position:relative;overflow:hidden;border-radius:6px;background:var(--vmt-g100);cursor:zoom-in;border:none;padding:0;display:block;width:100%;height:100%}
.vmt-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.vmt-shot:hover img{transform:scale(1.02)}
.vmt-shot--main{grid-row:1/3}
.vmt-shot--more::after{content:attr(data-more);position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,10,10,.55);color:#fff;font-size:22px;font-weight:800}
.vmt-gallery.is-venduto .vmt-shot img{filter:grayscale(1);opacity:.7}
.vmt-tag{position:absolute;top:14px;left:14px;z-index:2;padding:6px 12px;border-radius:2px;background:var(--vmt-nero);color:#fff;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.vmt-tag--promo{background:var(--vmt-rosso)}
.vmt-tag--venduto{background:#666}
.vmt-all{
  position:absolute;left:18px;bottom:18px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:4px;
  background:#fff;color:#111;border:1px solid var(--vmt-g200);cursor:pointer;
  font-family:var(--vmt-font);font-size:13px;font-weight:700;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:background .18s,color .18s;
}
.vmt-all svg{width:16px;height:16px}
.vmt-all:hover{background:var(--vmt-nero);color:#fff;border-color:var(--vmt-nero)}
.vmt-nofoto{display:grid;place-items:center;height:320px;border-radius:6px;background:var(--vmt-g100);color:var(--vmt-g400);text-transform:uppercase;letter-spacing:.1em;font-size:13px;margin-bottom:36px}

/* layout 2 colonne */
.vmt-grid{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start}

/* caratteristiche a riquadri */
.vmt-sec-title{font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--vmt-rosso);margin:0 0 16px}
.vmt-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0 0 36px;padding:0;list-style:none}
.vmt-spec{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--vmt-g200);border-radius:6px;background:#fff}
.vmt-spec-ico{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--vmt-nero);display:grid;place-items:center}
.vmt-spec-ico svg{width:18px;height:18px;color:#fff}
.vmt-spec small{display:block;font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--vmt-g500);margin-bottom:3px}
.vmt-spec strong{display:block;font-size:15px;font-weight:800;line-height:1.3;color:#111}

.vmt-desc{font-size:15px;line-height:1.7;color:#333;padding:28px 0;border-top:1px solid var(--vmt-g200);border-bottom:1px solid var(--vmt-g200);margin:0 0 36px}
.vmt-desc p{margin:0 0 1em}
.vmt-desc p:last-child{margin:0}

/* consumi WLTP */
.vmt-specs--wltp{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-bottom:10px}
.vmt-spec--flat{padding:12px 14px;background:var(--vmt-g100);border-color:transparent}
.vmt-spec--flat strong{font-size:14px}
.vmt-wltp-hint{font-size:12px;color:var(--vmt-g500);margin:0 0 36px}
.vmt-wltp{margin:36px 0 0;padding-top:14px;border-top:1px solid var(--vmt-g200)}
.vmt-wltp>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vmt-g500);user-select:none}
.vmt-wltp>summary::-webkit-details-marker{display:none}
.vmt-wltp>summary::before{content:"";width:8px;height:8px;border-right:1.5px solid var(--vmt-rosso);border-bottom:1.5px solid var(--vmt-rosso);transform:rotate(-45deg);transition:transform .2s;flex:none}
.vmt-wltp[open]>summary::before{transform:rotate(45deg)}
.vmt-wltp>summary:hover{color:#111}
.vmt-wltp-body{padding-top:14px;font-size:12px;line-height:1.6;color:var(--vmt-g500)}
.vmt-wltp-body p{margin:0 0 10px}

/* colonna destra */
.vmt-side{position:sticky;top:24px}
.vmt-card{background:#fff;border:1px solid var(--vmt-g200);border-top:4px solid var(--vmt-rosso);border-radius:6px;padding:26px;box-shadow:0 4px 24px rgba(0,0,0,.05)}
.vmt-cond{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--vmt-g500);margin:0 0 10px}
.vmt-title{margin:0 0 4px;font-size:clamp(26px,2.6vw,34px);font-weight:900;letter-spacing:-.02em;line-height:1.05;text-transform:uppercase;color:#111}
.vmt-title small{display:block;font-size:12px;font-weight:800;letter-spacing:.18em;color:var(--vmt-g500);margin-bottom:6px}
.vmt-version{margin:0 0 14px;font-size:16px;line-height:1.4;color:var(--vmt-g500)}
.vmt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;list-style:none}
.vmt-chips li{padding:5px 10px;border-radius:20px;border:1px solid var(--vmt-g200);background:#fafafa;font-size:12px;font-weight:500;color:#333;white-space:nowrap}

.vmt-price{padding:18px 0;border-top:1px solid var(--vmt-g200);display:flex;flex-direction:column;gap:3px}
.vmt-price-listino{font-size:13px;color:var(--vmt-g500)}
.vmt-price-listino s{color:var(--vmt-g400)}
.vmt-price-label{font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#111}
.vmt-price-main{font-size:40px;font-weight:900;letter-spacing:-.03em;line-height:1;color:var(--vmt-rosso)}
.vmt-price-main.is-venduto{color:var(--vmt-g500);text-decoration:line-through;font-size:30px}
.vmt-price-main.is-muta{font-size:20px;color:var(--vmt-g500)}
.vmt-price-note{font-size:12px;color:var(--vmt-g500);line-height:1.4;margin-top:4px}
.vmt-price-save{align-self:flex-start;margin-top:8px;padding:4px 10px;border-radius:2px;background:var(--vmt-nero);color:#fff;font-size:12px;font-weight:700}

.vmt-rata{margin:4px 0 18px;padding:12px 14px;border-radius:4px;background:var(--vmt-nero);color:#fff;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px}
.vmt-rata-label{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.vmt-rata-cifra{font-size:24px;font-weight:900;letter-spacing:-.02em;line-height:1}
.vmt-rata-cifra small{font-size:12px;font-weight:600;margin-left:3px;color:rgba(255,255,255,.75)}
.vmt-rata-nota{grid-column:1/-1;margin-top:6px;font-size:11px;line-height:1.4;color:rgba(255,255,255,.55)}

.vmt-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:16px 20px;border-radius:4px;border:1px solid transparent;cursor:pointer;
  font-family:var(--vmt-font);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;margin-bottom:10px;
}
.vmt-btn svg{width:16px;height:16px}
.vmt-btn--primary{background:var(--vmt-rosso);color:#fff}
.vmt-btn--primary:hover{background:var(--vmt-rosso-scuro);color:#fff;transform:translateY(-1px);box-shadow:0 8px 24px rgba(195,0,47,.3)}
.vmt-btn--dark{background:var(--vmt-nero);color:#fff}
.vmt-btn--dark:hover{background:var(--vmt-ferro);color:#fff}
.vmt-btn--ghost{background:#fff;color:#111;border-color:var(--vmt-g200)}
.vmt-btn--ghost:hover{border-color:#111;color:#111}
.vmt-btn-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vmt-btn-row .vmt-btn{margin:0}

.vmt-dealer{margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--vmt-g500);text-align:center}
.vmt-dealer strong{color:#111;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

/* contatti sotto il form */
.vmt-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:28px 0 0}
.vmt-contact{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--vmt-g200);border-radius:6px;background:#fff;color:#111;transition:border-color .18s,transform .18s}
.vmt-contact:hover{border-color:#111;transform:translateY(-2px)}
.vmt-contact-ico{flex:0 0 40px;width:40px;height:40px;border-radius:4px;background:var(--vmt-rosso);display:grid;place-items:center}
.vmt-contact-ico svg{width:18px;height:18px;color:#fff}
.vmt-contact small{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vmt-g500)}
.vmt-contact strong{display:block;font-size:14px;font-weight:700;color:#111}

/* lightbox */
.vmt-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,10,10,.95);display:none;align-items:center;justify-content:center;padding:20px}
.vmt-lb.is-open{display:flex}
.vmt-lb img{max-width:100%;max-height:100%;object-fit:contain}
.vmt-lb-btn{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;display:grid;place-items:center;transition:background .18s}
.vmt-lb-btn svg{width:22px;height:22px}
.vmt-lb-btn:hover{background:var(--vmt-rosso);border-color:var(--vmt-rosso)}
.vmt-lb-close{top:20px;right:20px}
.vmt-lb-prev{left:20px;top:50%;transform:translateY(-50%)}
.vmt-lb-next{right:20px;top:50%;transform:translateY(-50%)}
.vmt-lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#fff;font-family:var(--vmt-font);font-size:12px;letter-spacing:.14em;padding:6px 12px;background:var(--vmt-nero);border-left:3px solid var(--vmt-rosso)}

@media (max-width:980px){
  .vmt-grid{grid-template-columns:1fr}
  .vmt-side{position:static;order:-1}
  .vmt-gallery{height:clamp(240px,60vw,420px)}
}
@media (max-width:640px){
  .vmt{padding:16px 14px 40px}
  .vmt-gallery{grid-template-columns:1fr;grid-template-rows:1fr;height:62vw}
  .vmt-shot--side{display:none}
  .vmt-card{padding:20px}
  .vmt-btn-row{grid-template-columns:1fr}
  .vmt-lb-prev,.vmt-lb-next{width:40px;height:40px}
  body .vm-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  body .vm-card,body .vm-slider-card,.vmt-shot img,.vmt-btn,.vmt-contact{transition:none}
  body .vm-card:hover,body .vm-slider-card:hover,.vmt-btn:hover,.vmt-contact:hover{transform:none}
}
@media print{
  .vmt-back,.vmt-all,.vmt-btn,.vmt-btn-row,.vmt-contacts,.vm-lead{display:none!important}
  .vmt-side{position:static}
}
