:root{
  --accent:#e10600;
  --accent2:#b30000;
  --page:#ffffff;
  --bg:#ffffff;
  --line:#e7e7ea;
  --text:#101213;
  --muted:#6b7280;
  --soft:#f7f7f8;
  --chip:#f3f4f6;
  --radius:22px;
  --shadow: 0 10px 24px rgba(16,18,19,.08);

  --ok:#0f9d58;
  --okbg: rgba(15,157,88,.08);
  --okline: rgba(15,157,88,.18);
}

/* reset safe */
.ms-config, .ms-config *{ box-sizing:border-box; font-family:inherit; }
.ms-config label{ margin:0; }
.ms-config input, .ms-config select, .ms-config button{ font-family:inherit; }

/* nascondo i pallini radio */
.ms-config input[type="radio"]{
  position:absolute;
  opacity:0;
  width:1px;height:1px;
  pointer-events:none;
}

/* wrapper */
.ms-config{
  width:100%;
  margin:18px auto;
  padding:0;
  background:transparent;
}

/* colonne */
.ms-col{
  display:flex;
  flex-direction:column;
  gap:18px;
}

/* card */
.ms-block{
  background:var(--bg);
  border:2px solid var(--line);
  border-radius:var(--radius);
  padding:16px 12px;
}

/* header */
.ms-head{
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  align-items:center;
  column-gap:10px;
  row-gap:2px;
  margin-bottom:14px;
}
.ms-step{
  grid-row:1 / span 2;
  grid-column:1;
  width:28px;height:28px;
  border-radius:999px;
  background:var(--accent);
  color:var(--msv3-button-text,#fff);
  font-weight:900;
  font-size:13px;
  display:flex;align-items:center;justify-content:center;
}
.ms-title{ grid-column:2; grid-row:1; font-size:16px; font-weight:900; text-align:center; }
.ms-sub{ grid-column:2; grid-row:2; margin-top:0; font-size:12px; color:var(--muted); text-align:center; }
.ms-min{ color:var(--muted); font-weight:800; }

/* ====== DESKTOP GRANDI ====== */
@media (min-width:1451px){
  .ms-config--standard{
    display:grid;
    grid-template-columns: 1fr 1.15fr 0.95fr 1.15fr 0.82fr;
    gap:20px;
    align-items:start;
  }

  .ms-config--scratch{
    display:grid;
    grid-template-columns: 0.82fr 1fr 0.95fr 1.15fr 0.82fr;
    gap:20px;
    align-items:start;
  }
}

/* ====== LAPTOP / MONITOR PICCOLI ====== */
@media (min-width:1025px) and (max-width:1450px){
  .ms-config--standard,
  .ms-config--scratch{
    display:grid;
    grid-template-columns: 1fr 1.15fr 0.95fr 1.15fr;
    gap:20px;
    align-items:start;
  }

  .ms-col--summary{
    grid-column: 1 / -1;
    max-width: 100%;
    width: 100%;
    margin: 0;
    display:grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr);
    gap:20px;
    align-items:start;
  }

  .ms-col--summary > .ms-block,
  .ms-col--summary > .ms-summary{
    min-width:0;
  }
}

/* ====== TABLET E MOBILE ====== */
@media (max-width:1024px){
  .ms-config{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
  }

  .ms-col--summary{
    grid-column:auto;
    max-width:100%;
    width:100%;
    margin:0;
    display:flex;
    flex-direction:column;
  }
}

/* ====== FORMA ====== */
.ms-rows--shape{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}
.ms-row--mini{
  border:2px solid var(--line);
  border-radius:20px;
  padding:12px;
  background:#fff;
  min-height:130px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  cursor:pointer;
  transition:.15s ease;
  text-align:center;
}
.ms-row--mini:hover{ box-shadow:var(--shadow); transform:translateY(-1px); }

.ms-icon{
  width:110px;height:110px;
  border-radius:22px;
  background:transparent;
  display:grid;
  place-items:center;
}
.ms-icon--img img{
  width:106px;height:106px;
  object-fit:contain;
}
.ms-label{ font-size:13px; font-weight:900; line-height:1.1; }

/* selezione forma (rosso) */
.ms-row--mini input:checked ~ .ms-label{ color:var(--msv3-button-text,#fff); }
.ms-row--mini input:checked ~ .ms-icon{ filter: drop-shadow(0 10px 16px rgba(0,0,0,.18)); }
.ms-row--mini input:checked ~ *{ }
.ms-row--mini:has(input:checked){
  background: var(--accent);
  border-color: var(--line);
}

/* ====== MATERIALI ====== */
.ms-mats{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.ms-mat-card{
  border:2px solid var(--line);
  border-radius:20px;
  padding:12px;
  background:#fff;
  min-height:150px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  text-align:center;
  cursor:pointer;
  transition:.15s ease;
}
.ms-mat:hover .ms-mat-card{ box-shadow:var(--shadow); transform:translateY(-1px); }

.ms-mat-img{
  width:96px;height:96px;
  display:grid;place-items:center;
}
.ms-mat-img img{
  width:96px;height:96px;
  object-fit:contain;
  border:none;
}
.ms-mat-txt{ font-size:13px; font-weight:900; line-height:1.1; }
.ms-mat-base{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#fde9e9;
  color:var(--accent2);
  border:1px solid #f3c5c5;
  font-weight:900;
  font-size:11px;
}

/* selezione materiale (rosso) */
.ms-mat input:checked + .ms-mat-card{
  background: var(--accent);
  border-color: var(--line);
}
.ms-mat input:checked + .ms-mat-card .ms-mat-txt{ color:var(--msv3-button-text,#fff); }
.ms-mat input:checked + .ms-mat-card .ms-mat-base{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.26);
  color:var(--msv3-button-text,#fff);
}

/* ====== DIMENSIONI ====== */
.ms-rows--compact{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ms-row--compact{
  border:2px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  transition:.15s ease;
}
.ms-row--compact:hover{ box-shadow:var(--shadow); transform:translateY(-1px); }
.ms-row--compact input:checked ~ .ms-label{ color:var(--msv3-button-text,#fff); }
.ms-row--compact:has(input:checked){
  background: var(--accent);
  border-color: var(--line);
}
.ms-reco-tag{
  font-size:11px;
  font-weight:900;
  color:var(--msv3-button-text,#fff);
  background: rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  padding:6px 10px;
  border-radius:999px;
}

/* ====== QUANTITÀ ====== */
.ms-qty{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ms-qty-row{
  border:2px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  background:#fff;
  display:grid;
  grid-template-columns: 1fr auto auto;
  gap:10px;
  align-items:center;
  cursor:pointer;
  transition:.15s ease;
  position:relative;
}
.ms-qty-row:hover{ box-shadow:var(--shadow); transform:translateY(-1px); }

.ms-qty-left{ font-size:13px; font-weight:800; }
.ms-qty-mid{ font-size:13px; font-weight:950; }

.ms-qty-right{
  font-size:11px;
  font-weight:950;
  color:var(--ok);
  background:var(--okbg);
  border:1px solid var(--okline);
  padding:6px 10px;
  border-radius:999px;
  min-width:98px;
  justify-self:end;
  text-align:right;
}

/* selezione quantità (rosso) */
.ms-qty-row:has(input:checked){
  background: var(--accent);
  border-color: var(--line);
}
.ms-qty-row input:checked ~ .ms-qty-left,
.ms-qty-row input:checked ~ .ms-qty-mid{ color:var(--msv3-button-text,#fff); }
.ms-qty-row input:checked ~ .ms-qty-right{
  color:#d6ffe3;
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.26);
}

.ms-reco-pill{
  position:absolute;
  right:12px;
  top:-10px;
  font-size:11px;
  font-weight:950;
  color:var(--msv3-button-text,#fff);
  background:var(--accent);
  padding:5px 10px;
  border-radius:999px;
  border:2px solid #fff;
}

/* ====== UPLOAD + PROGRESS ====== */
.ms-upload{ display:flex; flex-direction:column; gap:12px; }
.ms-upload-btn{
  display:flex;
  align-items:center;
  gap:12px;
  border:2px solid var(--line);
  border-radius:18px;
  padding:14px;
  cursor:pointer;
  background:#fff;
  transition:.15s ease;
}
.ms-upload-btn:hover{ box-shadow:var(--shadow); transform:translateY(-1px); }

.ms-up-ico{
  width:44px;height:44px;
  border-radius:16px;
  display:grid;place-items:center;
  background:#fde9e9;
  border:1px solid #f3c5c5;
  color:var(--accent2);
  font-size:18px;
}
.ms-upload-btn strong{ display:block; font-weight:950; font-size:13px; }
.ms-upload-btn small{ display:block; color:var(--muted); margin-top:3px; font-size:11px; }

.msv3-progress{ margin-top:10px; }
.msv3-progress-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:12px;
  color:var(--muted);
  margin-bottom:8px;
}
.msv3-progress-right{ display:flex; align-items:center; gap:10px; }
.msv3-progress-bar{
  height:10px;
  background:#eef0f3;
  border-radius:999px;
  overflow:hidden;
}
.msv3-progress-fill{
  height:100%;
  background:var(--accent);
  border-radius:999px;
  transition:width .12s linear;
}
.msv3-ok{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(15,157,88,.10);
  border:1px solid rgba(15,157,88,.22);
  color:#0f9d58;
  font-weight:950;
}

/* ====== RIEPILOGO ====== */
.ms-sum-card{
  border:2px solid var(--line);
  border-radius:var(--radius);
  padding:16px;
  background:#fff;
}
.ms-sum-title{ font-size:12px; font-weight:950; margin-bottom:10px; text-align:center; }
.ms-sum-price{ font-size:38px; font-weight:950; letter-spacing:-.02em; text-align:center; }
.ms-sum-unit{ margin-top:6px; font-size:11px; color:var(--muted); text-align:center; }

.ms-cta{
  width:100%;
  margin-top:14px;
  padding:14px;
  border:none;
  border-radius:18px;
  background: var(--accent);
  color:var(--msv3-button-text,#fff);
  font-weight:950;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition:.15s ease;
  font-size:13px;
}
.ms-cta:hover{ filter:brightness(.95); }
.ms-cta:disabled{ opacity:.5; cursor:not-allowed; }

.ms-note{
  margin-top:12px;
  font-size:11px;
  color:var(--muted);
  background:var(--soft);
  border:2px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
}

.ms-mini{
  margin-top:14px;
  border-top:1px solid var(--line);
  padding-top:12px;
  display:grid;
  gap:10px;
}
.ms-mini > div{ display:flex; justify-content:space-between; align-items:center; }
.ms-mini span{ font-size:11px; color:var(--muted); }
.ms-mini b{ font-size:12px; font-weight:950; }


/* =========================================================
   MSV3 - NO DROPDOWN + MATERIALI COME FORMA + CUSTOM PULITO
   (incolla in fondo a msv3.css)
========================================================= */

/* 1) TOGLI TUTTE LE TENDINE (desktop + mobile) */
.ms-dd,
.ms-select{
  display:none !important;
}

/* 2) MATERIALI: CARD "BELLE" COME FORMA (sfondo bianco, pulite) */
.ms-mats{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap:14px !important;
}

.ms-mat{
  margin:0 !important;
}

.ms-mat-card{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  border:1px solid #e6e6e6 !important;
  border-radius:16px !important;
  padding:16px 12px !important;
  min-height:160px !important;
  box-shadow:0 6px 18px rgba(17,24,39,.06) !important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease !important;
}

/* hover */
.ms-mat-card:hover{
  transform: translateY(-1px) !important;
  box-shadow:0 10px 24px rgba(17,24,39,.10) !important;
  border-color:#dcdcdc !important;
}

/* immagine materiale */
.ms-mat-img{
  width:88px !important;
  height:88px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-bottom:10px !important;
}

.ms-mat-img img{
  width:88px !important;
  height:88px !important;
  object-fit:contain !important;
  display:block !important;
}

/* testo */
.ms-mat-txt{
  font-weight:800 !important;
  font-size:14px !important;
  line-height:1.1 !important;
  color:#111 !important;
}

/* badge base */
.ms-mat-base{
  margin-top:8px !important;
  padding:4px 10px !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  background:#ffe5e5 !important;
  color:#b60000 !important;
  border:1px solid #ffcccc !important;
}

/* selezionato (rosso) */
.ms-mat input:checked + .ms-mat-card{
  background: var(--accent) !important;
  border-color:var(--line) !important;
  box-shadow:0 14px 30px rgba(184,0,0,.22) !important;
}

.ms-mat input:checked + .ms-mat-card .ms-mat-txt{
  color:#fff !important;
}

.ms-mat input:checked + .ms-mat-card .ms-mat-base{
  background: rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color: rgba(255,255,255,.25) !important;
}

/* 3) CUSTOM (Personalizzata) più pulito e "come prima" */
.ms-custom{
  margin-top:12px !important;
  padding:12px !important;
  border-radius:14px !important;
  background:#fff !important;
  border:1px solid #ececec !important;
}

.ms-custom .ms-field label{
  font-size:12px !important;
  font-weight:700 !important;
  color:#444 !important;
  margin-bottom:6px !important;
  display:block !important;
}

.ms-custom input[type="number"]{
  height:40px !important;
  border-radius:12px !important;
  border:1px solid #e6e6e6 !important;
  padding:0 12px !important;
  font-size:14px !important;
}

.ms-hint{
  font-size:12px !important;
  color:#6b7280 !important;
  margin-top:8px !important;
}

.ms-error{
  font-size:12px !important;
  margin-top:8px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  background:#fff1f1 !important;
  border:1px solid #ffd0d0 !important;
  color:#b80000 !important;
}
/* ======================================================
   RITOCCO FINALE ULTRA-PREMIUM
   Centra perfettamente titoli + numeri step
   Migliora presenza visiva (senza cambiare layout)
====================================================== */

/* Header dei blocchi: centro reale */
.ms-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  margin-bottom:18px;
}

/* Numero step */
.ms-step{
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:14px;
  font-weight:700;
  background:#c40000;
  color:var(--msv3-button-text,#fff);
  box-shadow:0 6px 14px rgba(196,0,0,.25);
}

/* Titolo principale */
.ms-title{
  font-size:17px;
  font-weight:700;
  letter-spacing:-0.2px;
  line-height:1.2;
}

/* Sottotitolo */
.ms-sub{
  font-size:13px;
  color:#777;
  line-height:1.2;
}

/* Mobile: stessa centratura */
@media (max-width: 900px){
  .ms-head{
    gap:5px;
  }
}


/* ===============================
   Hook WooCommerce: centratura
   (vale per tutti i prodotti dove il plugin aggancia il configuratore)
=============================== */
.msv3-hooked-configurator{
  width:100%;
  display:flex;
  justify-content:center;
  padding: 60px 0;
  box-sizing:border-box;
}
.msv3-hooked-configurator .ms-config{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  box-sizing:border-box;
}

/* Header blocchi: centra numero + titoli */
.ms-head{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.ms-head .ms-step{ margin:0 0 8px 0; }
.ms-head .ms-title{ margin:0; }
.ms-head .ms-sub{ margin:2px 0 0 0; }

/* Desktop: 5 colonne più compatte e allineate */
@media (min-width: 992px){
  .ms-config{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1.15fr;
    gap: 18px;
    align-items:start;
  }
  .ms-col{ width:auto; }
}

/* Mobile: una colonna */
@media (max-width: 991px){
  .ms-config{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
}
/* ================================
   MSV3 - CENTRATURA + GRID + HIDE WC
   Versione per CSS del plugin
================================ */

/* CENTRA IL CONFIGURATORE */
.msv3-hooked-configurator{
  width:100%;
  display:flex;
  justify-content:center;
  padding:60px 20px;
  box-sizing:border-box;
}

.msv3-hooked-configurator .ms-config{
  width:100%;
  max-width:1400px;
  margin:0 auto;
}

/* Se il tema restringe il contenuto */
.single-product .entry-content,
.single-product .wp-block-post-content,
.single-product .woocommerce,
.single-product .site-main{
  max-width:none;
}

/* GRID DESKTOP */
@media (min-width: 1100px){
  .ms-config{
    display:grid;
    grid-template-columns: 320px 360px 260px 360px 300px;
    gap:24px;
    align-items:start;
    justify-content:center;
  }
}

/* TABLET / MOBILE */
@media (max-width: 1099px){
  .ms-config{
    display:grid;
    grid-template-columns: 1fr;
    gap:16px;
  }
  .ms-col{ width:100%; }
}

.ms-config img{background:transparent!important;box-shadow:none!important;}


.ms-shipping-note{
margin-top:12px;
padding-top:12px;
border-top:1px solid #ececec;
font-size:13px;
font-weight:600;
color:var(--msv3-shipping-color,#374151);
text-align:center;
}

/* ====== POPUP AGGIUNTO AL CARRELLO ====== */
.msv3-modal-open{ overflow:hidden; }
.msv3-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
}
.msv3-modal.is-open{ display:block; }
.msv3-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,15,15,.55);
  backdrop-filter:blur(6px);
}
.msv3-modal__dialog{
  position:relative;
  width:min(92vw, 520px);
  margin:clamp(30px, 10vh, 80px) auto;
  background:#ffffff;
  border:1px solid rgba(225,6,0,.14);
  border-radius:var(--radius);
  box-shadow:0 30px 80px rgba(0,0,0,.22);
  padding:30px 24px 24px;
  text-align:center;
}
.msv3-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:none;
  border-radius:999px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.msv3-modal__badge{
  width:72px;
  height:72px;
  margin:0 auto 14px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:32px;
  font-weight:900;
  color:var(--msv3-button-text,#fff);
  background:var(--accent);
  box-shadow:0 16px 30px rgba(225,6,0,.28);
}
.msv3-modal__eyebrow{
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#e10600;
  margin-bottom:8px;
}
.msv3-modal__title{
  margin:0;
  font-size:30px;
  line-height:1.05;
  font-weight:950;
  color:#111;
}
.msv3-modal__text{
  margin:12px 0 0;
  font-size:15px;
  line-height:1.55;
  color:#555;
}
.msv3-modal__summary{
  margin:22px 0;
  padding:16px;
  border-radius:20px;
  border:1px solid #f1d4d4;
  background:#fff;
  display:grid;
  gap:12px;
}
.msv3-modal__summary div{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.msv3-modal__summary span{
  font-size:13px;
  color:#666;
}
.msv3-modal__summary strong{
  font-size:16px;
  color:#111;
}
.msv3-modal__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.msv3-modal__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border-radius:18px;
  font-size:14px;
  font-weight:900;
  text-decoration:none;
  transition:.18s ease;
}
.msv3-modal__btn--ghost{
  background:#fff;
  color:#111;
  border:1px solid #e4e4e7;
}
.msv3-modal__btn--primary{
  background:var(--accent);
  color:var(--msv3-button-text,#fff);
  box-shadow:0 12px 26px rgba(225,6,0,.22);
}
.msv3-modal__btn:hover,
.msv3-modal__close:hover{ transform:translateY(-1px); }

@media (max-width:640px){
  .msv3-modal__dialog{ padding:26px 18px 18px; }
  .msv3-modal__title{ font-size:24px; }
  .msv3-modal__actions{ grid-template-columns:1fr; }
}




/* ====== MSV3 DESKTOP 5 COLONNE - VERSIONE ARIOSA ====== */
.single-product .msv3-hooked-configurator{
  max-width: 1560px !important;
  width: 100% !important;
  margin: 30px auto 0 !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  clear: both !important;
}
.single-product .msv3-hooked-configurator .ms-config{
  width: 100% !important;
  max-width: 1560px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}
@media (min-width: 1100px){
  .single-product .msv3-hooked-configurator .ms-config{
    display:grid !important;
    grid-template-columns: minmax(220px,1fr) minmax(285px,1.22fr) minmax(205px,0.96fr) minmax(265px,1.15fr) minmax(250px,1.05fr) !important;
    gap: 20px !important;
    align-items:start !important;
  }
}
@media (max-width: 1099px){
  .single-product .msv3-hooked-configurator .ms-config{
    display:grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
}
.single-product .msv3-hooked-configurator .ms-col,
.single-product .msv3-hooked-configurator .ms-block,
.single-product .msv3-hooked-configurator .ms-sum-card{
  min-width: 0 !important;
  width: 100% !important;
}


/* ====== COMPATTA FORMA + MATERIALI PER GUADAGNARE SPAZIO ====== */
@media (min-width: 1100px){
  .single-product .msv3-hooked-configurator .ms-config{
    grid-template-columns: minmax(270px,1.12fr) minmax(270px,1.12fr) minmax(220px,1fr) minmax(280px,1.18fr) minmax(260px,1.08fr) !important;
    gap: 18px !important;
  }

  .single-product .msv3-hooked-configurator .ms-block{
    padding: 14px 10px !important;
  }

  .single-product .msv3-hooked-configurator .ms-rows--shape,
  .single-product .msv3-hooked-configurator .ms-mats{
    gap: 8px !important;
  }

  .single-product .msv3-hooked-configurator .ms-row--mini{
    min-height: 118px !important;
    padding: 10px 8px !important;
    gap: 8px !important;
    border-radius: 18px !important;
  }

  .single-product .msv3-hooked-configurator .ms-icon{
    width: 92px !important;
    height: 92px !important;
  }

  .single-product .msv3-hooked-configurator .ms-icon--img img{
    width: 88px !important;
    height: 88px !important;
  }

  .single-product .msv3-hooked-configurator .ms-label{
    font-size: 12px !important;
  }

  .single-product .msv3-hooked-configurator .ms-mat-card{
    min-height: 132px !important;
    padding: 10px 8px !important;
    gap: 8px !important;
    border-radius: 18px !important;
  }

  .single-product .msv3-hooked-configurator .ms-mat-img,
  .single-product .msv3-hooked-configurator .ms-mat-img img{
    width: 82px !important;
    height: 82px !important;
  }

  .single-product .msv3-hooked-configurator .ms-mat-txt{
    font-size: 12px !important;
  }

  .single-product .msv3-hooked-configurator .ms-mat-base{
    padding: 5px 9px !important;
    font-size: 10px !important;
  }
}


/* ===== 2026-04 spacing / qty / upload fixes ===== */
@media (min-width:1100px){
  .ms-config.ms-config--standard{
    grid-template-columns: 300px 340px 245px 280px 270px !important;
    gap:20px !important;
  }
  .ms-config.ms-config--scratch{
    grid-template-columns: 270px 300px 220px 320px 260px !important;
    gap:20px !important;
  }
}

.ms-config.ms-config--scratch .ms-col:first-child .ms-row--mini{
  min-height: 140px !important;
}
.ms-config.ms-config--scratch .ms-col:first-child .ms-icon{
  width: 96px !important;
  height: 96px !important;
}
.ms-config.ms-config--scratch .ms-col:first-child .ms-icon--img img{
  width: 92px !important;
  height: 92px !important;
}

.ms-qty-row{
  grid-template-columns: minmax(34px,auto) minmax(92px,auto) !important;
  justify-content: space-between;
}
.ms-qty-left,.ms-qty-mid{
  display:flex;
  align-items:center;
  min-height: 24px;
}
.ms-qty-mid{
  justify-content:center;
  text-align:center;
}
.ms-qty-right{
  min-width:68px !important;
  text-align:center !important;
  justify-self:end;
  padding:6px 8px !important;
}

.ms-upload-info{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  width:100%;
}
.ms-file{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
}
.ms-file-remove{
  flex:0 0 auto;
  white-space:nowrap;
  border:none;
  background:transparent;
  color:var(--accent2);
  font-weight:800;
  cursor:pointer;
  padding:0;
}

#ms-qty-save-badge{
  min-width:auto !important;
  padding:6px 10px !important;
}


/* ====== RISPARMI SOLO MOBILE ====== */
@media (max-width:1024px){
  .ms-qty-right.qty-save[data-save]:not([data-save=""]){
    font-size:0;
    min-width:auto;
    padding-inline:12px;
  }

  .ms-qty-right.qty-save[data-save]:not([data-save=""])::before{
    content:"Risparmi " attr(data-save) "%";
    font-size:12px;
    font-weight:800;
    line-height:1;
  }
}



/* Percentuale risparmio affianco al prezzo (colore modificabile da backend) */
.msv3-saving-inline{
  display:inline-flex;
  align-items:center;
  margin-left:7px;
  font-size:12px;
  font-weight:900;
  line-height:1;
  color:var(--msv3-saving-color,#16a34a) !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  white-space:nowrap;
}
.ms-config .ms-qty-right.qty-save{
  display:none !important;
}
#ms-qty-save-badge{
  background:transparent !important;
  border:0 !important;
  color:var(--msv3-saving-color,#16a34a) !important;
  padding:0 !important;
  box-shadow:none !important;
}

/* ===== SOTTO 1400px → UNA COLONNA (MOBILE STYLE) ===== */
@media (max-width:1400px){
  .single-product .msv3-hooked-configurator .ms-config{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .single-product .msv3-hooked-configurator .ms-col{
    width:100% !important;
  }

  .single-product .msv3-hooked-configurator .ms-block{
    padding:16px 14px !important;
  }
}


/* ===== POPUP BUTTONS CENTERED + EQUAL WIDTH ===== */
.msv3-added-popup__actions{
  justify-items:center !important;
}
.msv3-added-popup__actions > *{
  width:100% !important;
  max-width:360px !important;
  margin:0 auto !important;
  text-align:center !important;
}


/* ===== FIX VISIBILITÀ PREZZI NEL CARRELLO / CHECKOUT ===== */
.woocommerce-cart .woocommerce-Price-amount,
.woocommerce-cart .woocommerce-Price-amount bdi,
.woocommerce-cart .amount,
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-price *,
.woocommerce-cart td.product-subtotal,
.woocommerce-cart td.product-subtotal *,
.woocommerce-cart .cart-subtotal td,
.woocommerce-cart .order-total td,
.woocommerce-cart .cart_totals .amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-Price-amount,
.woocommerce-checkout .woocommerce-Price-amount bdi,
.woocommerce-checkout .amount{
  color:#111 !important;
  opacity:1 !important;
  visibility:visible !important;
  display:inline !important;
  font-weight:700 !important;
}

.woocommerce-cart .cart_totals table td,
.woocommerce-cart table.shop_table td.product-price,
.woocommerce-cart table.shop_table td.product-subtotal{
  color:#111 !important;
}

.woocommerce-cart .woocommerce-Price-currencySymbol,
.woocommerce-checkout .woocommerce-Price-currencySymbol{
  color:inherit !important;
}

/* evita che qualche regola generica nasconda i bdi */
.woocommerce-cart bdi,
.woocommerce-checkout bdi{
  color:inherit !important;
  opacity:1 !important;
  visibility:visible !important;
}


/* ===== DESKTOP GRANDE 5 COLONNE / SCHERMI PICCOLI 1 COLONNA ===== */
@media screen and (min-width: 1601px){
  html body.single-product .msv3-hooked-configurator .ms-config.ms-config--standard{
    display:grid !important;
    grid-template-columns: minmax(270px,1.12fr) minmax(270px,1.12fr) minmax(220px,1fr) minmax(280px,1.18fr) minmax(260px,1.08fr) !important;
    gap:18px !important;
  }
  html body.single-product .msv3-hooked-configurator .ms-config.ms-config--scratch{
    display:grid !important;
    grid-template-columns: minmax(250px,1fr) minmax(250px,1fr) minmax(220px,1fr) minmax(280px,1.12fr) minmax(250px,1fr) !important;
    gap:18px !important;
  }
}
@media screen and (max-width: 1600px){
  html body.single-product .msv3-hooked-configurator,
  html body.single-product .msv3-hooked-configurator .ms-config,
  html body.single-product .msv3-hooked-configurator .ms-config.ms-config--standard,
  html body.single-product .msv3-hooked-configurator .ms-config.ms-config--scratch{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    gap:16px !important;
  }
  html body.single-product .msv3-hooked-configurator .ms-col,
  html body.single-product .msv3-hooked-configurator .ms-block,
  html body.single-product .msv3-hooked-configurator .ms-sum-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    grid-column:auto !important;
  }
}


/* ===== 2026-04 NOTEBOOK ONLY OVERRIDES =====
   lascia intatti desktop grande 5 colonne e mobile;
   ottimizza solo la fascia intermedia / notebook.
============================================= */

@media screen and (min-width: 1601px){
  html body.single-product .msv3-hooked-configurator{
    max-width: 1560px !important;
    padding: 0 20px !important;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1600px){
  html body.single-product .msv3-hooked-configurator{
    max-width: 980px !important;
    width: 100% !important;
    margin: 26px auto 0 !important;
    padding: 0 18px !important;
    box-sizing: border-box !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-config,
  html body.single-product .msv3-hooked-configurator .ms-config.ms-config--standard,
  html body.single-product .msv3-hooked-configurator .ms-config.ms-config--scratch{
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 14px !important;
    align-items: start !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-col,
  html body.single-product .msv3-hooked-configurator .ms-block,
  html body.single-product .msv3-hooked-configurator .ms-sum-card{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-column: auto !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-block,
  html body.single-product .msv3-hooked-configurator .ms-sum-card{
    padding: 14px 14px !important;
    border-radius: 20px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-head{
    margin-bottom: 10px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-title{
    font-size: 15px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-sub{
    font-size: 11px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-rows--shape,
  html body.single-product .msv3-hooked-configurator .ms-mats,
  html body.single-product .msv3-hooked-configurator .ms-qty-list,
  html body.single-product .msv3-hooked-configurator .ms-size-grid{
    gap: 10px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-row--mini,
  html body.single-product .msv3-hooked-configurator .ms-mat-card{
    min-height: unset !important;
    padding: 12px 10px !important;
    border-radius: 18px !important;
    gap: 10px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-icon{
    width: 82px !important;
    height: 82px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-icon--img img{
    width: 78px !important;
    height: 78px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-label,
  html body.single-product .msv3-hooked-configurator .ms-mat-txt{
    font-size: 12px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-mat-img,
  html body.single-product .msv3-hooked-configurator .ms-mat-img img{
    width: 76px !important;
    height: 76px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-mat-base{
    font-size: 10px !important;
    padding: 5px 8px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-qty-row{
    grid-template-columns: minmax(40px,auto) minmax(54px,auto) minmax(74px,auto) !important;
    min-height: 42px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-qty-right{
    min-width: 74px !important;
    padding: 6px 10px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-upload,
  html body.single-product .msv3-hooked-configurator .ms-sum,
  html body.single-product .msv3-hooked-configurator .ms-pricebox{
    gap: 10px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-sum-price{
    font-size: 30px !important;
  }

  html body.single-product .msv3-hooked-configurator .ms-btn,
  html body.single-product .msv3-hooked-configurator .single_add_to_cart_button,
  html body.single-product .msv3-hooked-configurator button[type="submit"]{
    min-height: 52px !important;
  }
}

/* =========================================================
   NOTEBOOK / SCHERMI MEDI
   Rifinitura solo fascia intermedia.
   NON tocca desktop grande 5 colonne e NON tocca mobile.
========================================================= */
@media (min-width: 992px) and (max-width: 1450px){
  .msv3-hooked-configurator .ms-config{
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .ms-block,
  .ms-sum-card{
    padding: 20px 16px !important;
    border-radius: 24px !important;
  }

  .ms-head{
    margin-bottom: 16px !important;
  }

  .ms-step{
    width: 36px !important;
    height: 36px !important;
    font-size: 15px !important;
  }

  .ms-title{
    font-size: 18px !important;
  }

  .ms-sub{
    font-size: 13px !important;
  }

  /* FORMA: 2 colonne più ariose */
  .ms-rows--shape{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .ms-row--mini{
    min-height: 168px !important;
    padding: 16px 14px !important;
    border-radius: 22px !important;
    gap: 12px !important;
    justify-content: center !important;
  }

  .ms-icon{
    width: 118px !important;
    height: 118px !important;
  }

  .ms-icon--img img{
    width: 112px !important;
    height: 112px !important;
  }

  .ms-label{
    font-size: 14px !important;
  }

  /* MATERIALI: 2 colonne più leggibili */
  .ms-mats{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .ms-mat-card{
    min-height: 176px !important;
    padding: 16px 14px !important;
    border-radius: 22px !important;
    gap: 12px !important;
    justify-content: center !important;
  }

  .ms-mat-img,
  .ms-mat-img img{
    width: 96px !important;
    height: 96px !important;
  }

  .ms-mat-txt{
    font-size: 14px !important;
  }

  .ms-mat-base{
    font-size: 11px !important;
  }

  /* Quantità e dimensioni un filo più respirate */
  .ms-row--compact,
  .ms-qty-row{
    padding: 12px 14px !important;
    border-radius: 18px !important;
  }

  .ms-qty-left,
  .ms-qty-mid,
  .ms-row--compact .ms-label{
    font-size: 14px !important;
  }

  .ms-qty-right,
  .ms-reco-tag{
    font-size: 11px !important;
  }

  .ms-sum-price{
    font-size: 40px !important;
  }

  .ms-cta{
    min-height: 52px !important;
    font-size: 14px !important;
    border-radius: 18px !important;
  }
}

/* =========================================================
   MSV3 STYLE FIX COMPLETO
   Tutti i colori principali ora leggono le variabili salvate
   nel backend: --accent, --accent2, --bg, --text, --muted.
   Questo blocco sta in fondo per sovrascrivere i vecchi colori
   hardcoded presenti nelle versioni precedenti.
========================================================= */
.ms-config{
  color:var(--text) !important;
  --line: var(--msv3-line, rgba(var(--msv3-accent-rgb,225,6,0),.22)) !important;
  --soft: var(--msv3-soft, rgba(var(--msv3-accent-rgb,225,6,0),.08)) !important;
  --chip: var(--msv3-soft, rgba(var(--msv3-accent-rgb,225,6,0),.08)) !important;
}

.ms-config .ms-block,
.ms-config .ms-sum-card{
  background:var(--bg) !important;
  border-color:var(--line) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

.ms-config .ms-step,
.ms-config .ms-reco-pill,
.ms-config .msv3-progress-fill{
  background:var(--accent) !important;
  color:var(--msv3-button-text,#fff) !important;
  box-shadow:0 8px 18px rgba(var(--msv3-accent-rgb,225,6,0),.24) !important;
}

.ms-config .ms-title,
.ms-config .ms-label,
.ms-config .ms-mat-txt,
.ms-config .ms-qty-left,
.ms-config .ms-qty-mid,
.ms-config .ms-sum-title,
.ms-config .ms-sum-price,
.ms-config .ms-mini b,
.ms-config .ms-upload-btn strong{
  color:var(--text) !important;
}

.ms-config .ms-sub,
.ms-config .ms-min,
.ms-config .ms-sum-unit,
.ms-config .ms-mini span,
.ms-config .ms-upload-btn small,
.ms-config .ms-note,
.ms-config .ms-hint,
.ms-config .msv3-progress-top{
  color:var(--muted) !important;
}

.ms-config .ms-row--mini,
.ms-config .ms-mat-card,
.ms-config .ms-row--compact,
.ms-config .ms-qty-row,
.ms-config .ms-upload-btn,
.ms-config .ms-custom,
.ms-config .ms-note{
  background:var(--bg) !important;
  border-color:var(--line) !important;
  border-radius:calc(var(--radius) - 8px) !important;
}

.ms-config .ms-row--mini:hover,
.ms-config .ms-mat-card:hover,
.ms-config .ms-row--compact:hover,
.ms-config .ms-qty-row:hover,
.ms-config .ms-upload-btn:hover{
  border-color:var(--line) !important;
  box-shadow:var(--shadow) !important;
}

.ms-config .ms-row--mini:has(input:checked),
.ms-config .ms-mat input:checked + .ms-mat-card,
.ms-config .ms-row--compact:has(input:checked),
.ms-config .ms-qty-row:has(input:checked),
.ms-config .ms-cta{
  background:var(--accent) !important;
  border-color:var(--line) !important;
  color:var(--msv3-button-text,#fff) !important;
  box-shadow:0 14px 30px rgba(var(--msv3-accent-rgb,225,6,0),.22) !important;
}

.ms-config .ms-row--mini:has(input:checked) .ms-label,
.ms-config .ms-mat input:checked + .ms-mat-card .ms-mat-txt,
.ms-config .ms-row--compact:has(input:checked) .ms-label,
.ms-config .ms-qty-row:has(input:checked) .ms-qty-left,
.ms-config .ms-qty-row:has(input:checked) .ms-qty-mid{
  color:var(--msv3-button-text,#fff) !important;
}

.ms-config .ms-reco-tag,
.ms-config .ms-row--mini:has(input:checked) .ms-reco-tag,
.ms-config .ms-row--compact:has(input:checked) .ms-reco-tag{
  color:var(--msv3-button-text,#fff) !important;
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.28) !important;
}

.ms-config .ms-mat-base,
.ms-config .ms-up-ico,
.ms-config .ms-qty-right{
  background:var(--soft) !important;
  border-color:var(--line) !important;
  color:var(--accent2) !important;
}

.ms-config .ms-mat input:checked + .ms-mat-card .ms-mat-base,
.ms-config .ms-qty-row:has(input:checked) .ms-qty-right{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(255,255,255,.28) !important;
  color:var(--msv3-button-text,#fff) !important;
}

.ms-config .ms-file-remove,
.ms-config .ms-error{
  color:var(--accent2) !important;
}

.ms-config .ms-error{
  background:var(--soft) !important;
  border-color:var(--line) !important;
}

.ms-config .ms-shipping-note,
.ms-config .msv3-ok{
  color:var(--msv3-shipping-color,var(--accent2)) !important;
  border-color:var(--line) !important;
}

.ms-config .msv3-ok{
  background:var(--soft) !important;
}

/* Popup aggiunto al carrello: usa colori backend */
.msv3-modal__dialog{
  background:#ffffff !important;
  border-color:var(--line) !important;
  border-radius:var(--radius) !important;
}
.msv3-modal__badge,
.msv3-modal__btn--primary{
  background:var(--accent) !important;
  color:var(--msv3-button-text,#fff) !important;
  box-shadow:0 16px 30px rgba(var(--msv3-accent-rgb,225,6,0),.24) !important;
}
.msv3-modal__eyebrow{ color:var(--accent) !important; }
.msv3-modal__summary{ border-color:var(--line) !important; }

/* Fix finale: prezzo + percentuale su due colonne */
.ms-config .ms-qty-row{
  grid-template-columns:minmax(34px,auto) minmax(92px,auto) !important;
}
.ms-config .ms-qty-mid{
  justify-content:flex-end !important;
  text-align:right !important;
  gap:0 !important;
  white-space:nowrap !important;
}


/* ===== FIX RISPARMIO INLINE DEFINITIVO ===== */
.ms-config .ms-qty-row{
  grid-template-columns:minmax(64px,1fr) minmax(130px,auto) !important;
}
.ms-config .ms-qty-mid.qty-price{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  text-align:right !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.ms-config .msv3-saving-inline{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:0 0 auto !important;
  margin-left:0 !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  color:var(--msv3-saving-color,#16a34a) !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}
.ms-config .ms-qty-row:has(input:checked) .msv3-saving-inline{
  color:var(--msv3-saving-color,#16a34a) !important;
}
.ms-config .ms-qty-right.qty-save{
  display:none !important;
}


/* ===== FIX FINALE QUANTITA: prezzo centrato + risparmio a destra ===== */
.ms-config .ms-qty-row{
  position:relative !important;
  display:grid !important;
  grid-template-columns:minmax(62px,1fr) minmax(72px,1fr) minmax(42px,auto) !important;
  align-items:center !important;
  column-gap:8px !important;
  padding-left:14px !important;
  padding-right:14px !important;
}
.ms-config .ms-qty-left{
  grid-column:1 !important;
  justify-self:start !important;
  text-align:left !important;
  white-space:nowrap !important;
}
.ms-config .ms-qty-mid.qty-price,
.ms-config .ms-qty-mid{
  grid-column:2 !important;
  display:block !important;
  justify-self:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:visible !important;
  min-width:0 !important;
}
.ms-config .ms-qty-right.qty-save{
  grid-column:3 !important;
  display:block !important;
  justify-self:end !important;
  text-align:right !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  color:var(--msv3-saving-color,#16a34a) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-width:34px !important;
  white-space:nowrap !important;
}
.ms-config .ms-qty-right.qty-save:empty,
.ms-config .ms-qty-right.qty-save[data-save=""]{
  color:transparent !important;
}
.ms-config .ms-qty-row:has(input:checked) .ms-qty-right.qty-save{
  color:var(--msv3-saving-color,#16a34a) !important;
}
.ms-config .ms-qty-row:has(input:checked) .ms-qty-mid.qty-price,
.ms-config .ms-qty-row:has(input:checked) .ms-qty-left{
  color:var(--msv3-button-text,#fff) !important;
}
.ms-config .msv3-saving-inline{ display:none !important; }
.ms-config .ms-reco-pill{
  position:absolute !important;
  top:-14px !important;
  right:14px !important;
  z-index:5 !important;
  transform:none !important;
  pointer-events:none !important;
}
@media (max-width:420px){
  .ms-config .ms-qty-row{
    grid-template-columns:minmax(58px,1fr) minmax(62px,1fr) minmax(36px,auto) !important;
    column-gap:6px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  .ms-config .ms-qty-right.qty-save{ font-size:10px !important; min-width:30px !important; }
  .ms-config .ms-reco-pill{ right:12px !important; }
}


/* Extra add-ons - stile coerente con materiali, senza badge piccoli */
.ms-extras{display:grid;grid-template-columns:1fr;gap:10px}
.ms-extra{display:block;cursor:pointer}
.ms-extra input{position:absolute;opacity:0;pointer-events:none}
.ms-extra-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:14px 15px;border:1px solid var(--line,#e8e8e8);border-radius:var(--radius,18px);background:var(--card,#fff);transition:border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease}
.ms-extra-title{display:block;font-weight:800;color:var(--text,#111);font-size:14px;line-height:1.2}
.ms-extra-desc{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:var(--muted,#737373)}
.ms-extra-price{font-weight:800;font-size:14px;white-space:nowrap;color:var(--acc,#e10600)}
.ms-extra:hover .ms-extra-card{border-color:var(--acc,#e10600);transform:translateY(-1px)}
.ms-extra input:checked + .ms-extra-card{border-color:var(--acc,#e10600);background:rgba(225,6,0,.04);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.ms-extra input:checked + .ms-extra-card .ms-extra-title{color:var(--text,#111)}
@media(max-width:980px){.ms-extra-card{min-height:68px;padding:13px 14px}}

/* Fix Finiture Extra V2: la sezione resta dentro la colonna riepilogo, niente overflow orizzontale */
.ms-col--summary .ms-block--extras{ margin-bottom:18px; }
.ms-col--summary .ms-extras{ grid-template-columns:1fr; }
.ms-config .ms-extra-card{ border:2px solid var(--line,#e7e7ea); border-radius:18px; background:#fff; }
.ms-config .ms-extra input:checked + .ms-extra-card{ border-color:var(--accent,#e10600); background:rgba(225,6,0,.045); box-shadow:none; }
.ms-config .ms-extra-price{ color:var(--msv3-saving-color,var(--accent,#e10600)); }
