/* ════════════════════════════════════════════════════════════════════
   Stile nuovo (anteprima, 6/11/2026) — campione grafico di Germano nei
   rossi del logo RobyOne. Tutto sotto body.stile-nuovo: vedi inc_stile_nuovo.php.
   Per ora: header + pagina servizio.
   ════════════════════════════════════════════════════════════════════ */

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
  src: url('/fonts/nunito-latin.woff2') format('woff2');
}

body.stile-nuovo {
  --sn-rosso:      #e00000;
  --sn-rosso-sc:   #a00000;
  --sn-grad:       linear-gradient(135deg, #f0262a 0%, #c40000 55%, #9a0000 100%);
  --sn-tinta:      #fff0ee;
  --sn-tinta-2:    #ffe1dc;
  --sn-testo:      #1d1d1f;
  --sn-testo-2:    #55555c;
  --sn-bordo:      #f1e3e1;
  --sn-ombra:      0 10px 30px rgba(150, 20, 10, .08), 0 2px 6px rgba(0, 0, 0, .04);
  --sn-ombra-btn:  0 8px 20px rgba(200, 0, 0, .28);
  --sn-raggio:     22px;

  --sn-fondo:      #fdf3f1;
  --sn-alone-1:    rgba(255, 70, 50, .16);
  --sn-alone-2:    rgba(255, 90, 70, .10);
  --sn-onda:       linear-gradient(160deg, #ff8a78 0%, #f0302a 60%, #c80000 100%);

  color: var(--sn-testo);
  background: transparent !important;
  min-height: 100vh;
}
/* Fondo: colore e aloni sull'html, onde fisse sopra il fondo e sotto il contenuto */
html:has(body.stile-nuovo) { background: #fdf3f1 !important; }
html:has(body.stile-nuovo.stile-arancio) { background: #fff6ee !important; }
body.stile-nuovo::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(1100px 520px at 105% -8%, var(--sn-alone-1), transparent 60%),
    radial-gradient(900px 460px at -10% 40%,  var(--sn-alone-2), transparent 62%),
    linear-gradient(180deg, #fff 0%, var(--sn-fondo) 100%);
}
body.stile-nuovo::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: var(--sn-onda);
  opacity: .9;
  -webkit-mask: url('stile-nuovo-onde.svg?v=3') center / 100% 100% no-repeat;
          mask: url('stile-nuovo-onde.svg?v=3') center / 100% 100% no-repeat;
}
body.stile-nuovo .sv-body-wrap, body.stile-nuovo main.container { background: transparent !important; }

/* ── Header chiaro ─────────────────────────────────────────────── */
body.stile-nuovo nav.ry-nav {
  background: rgba(255, 255, 255, .86);
  border-bottom: 0;
  border-radius: 0 0 22px 22px;
  box-shadow: 0 6px 24px rgba(120, 20, 10, .10);
}
body.stile-nuovo .ry-nav__links a,
body.stile-nuovo .ry-nav__links a span { color: var(--sn-testo) !important; font-weight: 600; }
body.stile-nuovo .ry-nav__links a:hover { background: var(--sn-tinta); color: var(--sn-rosso-sc) !important; }
body.stile-nuovo .ry-nav__links .material-icons { color: var(--sn-rosso); }
body.stile-nuovo .ry-nav__actions,
body.stile-nuovo .ry-nav__actions a,
body.stile-nuovo .ry-nav__actions .material-icons,
body.stile-nuovo .ry-nav__actions span,
body.stile-nuovo .ry-lang-trigger { color: var(--sn-testo) !important; }
body.stile-nuovo .ry-nav__actions a[href^="tel"] .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-nav__hamburger,
body.stile-nuovo .ry-nav__hamburger .material-icons { color: var(--sn-testo) !important; }
body.stile-nuovo #searchBarNav input {
  background: #fff !important;
  border: 1px solid var(--sn-bordo) !important;
  border-radius: 999px !important;
  color: var(--sn-testo) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, .04);
}
body.stile-nuovo #searchBarNav input::placeholder { color: #8a8a90; }
body.stile-nuovo #searchBarNav .material-icons { color: var(--sn-rosso) !important; }

/* ── Impaginazione: niente colonna di sinistra, contenuto largo ─── */
body.stile-nuovo main.container > .row > .col.l3 { display: none !important; }
body.stile-nuovo main.container > .row > .col.l9 { width: 100% !important; margin-left: 0 !important; }
body.stile-nuovo main.container { max-width: 1120px; }
body.stile-nuovo main.container > .row > .col.l9 {
  background: transparent !important;
  box-shadow: none !important;
}

/* Briciole: pillola bianca */
body.stile-nuovo main nav.col.teal {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  box-sizing: border-box;
  height: auto !important;
  line-height: 1 !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  background: #fff !important;
  border-radius: 999px;
  padding: 10px 18px !important;
  margin: 18px 0 22px !important;
  box-shadow: var(--sn-ombra);
}
body.stile-nuovo main nav.col.teal > div { display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px; }
body.stile-nuovo main nav.col.teal .breadcrumb {
  white-space: normal !important;
  color: var(--sn-testo-2) !important;
  font-size: .86rem !important;
  line-height: 1.6 !important;
}
body.stile-nuovo main nav.col.teal .breadcrumb:last-child { color: var(--sn-testo) !important; font-weight: 700; }
body.stile-nuovo main nav.col.teal .breadcrumb:before { color: #b9a9a7 !important; }
body.stile-nuovo main nav.col.teal .breadcrumb .material-icons { color: var(--sn-rosso) !important; }

/* ── Testata del servizio ──────────────────────────────────────── */
body.stile-nuovo .sv-hero {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  gap: 36px;
  align-items: flex-start;
}
body.stile-nuovo .sv-hero__img {
  width: 250px;
  flex-shrink: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 14px 34px rgba(80, 10, 0, .18);
}
body.stile-nuovo .sv-hero__img img { width: 100% !important; max-width: none !important; height: auto !important; max-height: none !important; display: block; border-radius: 0; object-fit: cover; }

body.stile-nuovo .sv-title {
  font-size: clamp(1.7rem, 3.1vw, 2.55rem) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  color: var(--sn-testo) !important;
  margin: 0 0 18px !important;
}
body.stile-nuovo .sv-title__modello { display: block; color: var(--sn-rosso); }

body.stile-nuovo .sv-badges { display: flex !important; gap: 14px; flex-wrap: wrap; }
body.stile-nuovo .sv-badges .sv-badge { flex: 0 0 auto; width: auto !important; max-width: none !important; }
body.stile-nuovo .sv-badge {
  background: var(--sn-grad) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 16px !important;
  padding: 13px 22px !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
  box-shadow: var(--sn-ombra-btn);
}
body.stile-nuovo .sv-badge .material-icons { color: #fff !important; font-size: 26px !important; }
body.stile-nuovo .sv-badge--price { font-size: 1.6rem !important; font-weight: 800 !important; padding: 9px 26px !important; }
body.stile-nuovo .sv-badge--price-call { background: #fff !important; color: var(--sn-rosso-sc) !important; border: 2px solid var(--sn-rosso) !important; }
body.stile-nuovo .sv-prima { color: var(--sn-testo-2); margin-top: 12px; }
body.stile-nuovo .sv-prima a { color: var(--sn-testo) !important; font-weight: 700; }
body.stile-nuovo .sv-prima .material-icons { color: var(--sn-testo) !important; }

body.stile-nuovo .sv-note { border-radius: 14px; }

/* ── Scheda scelte: opzioni + modo di consegna + pulsanti ──────── */
body.stile-nuovo .sv-opzioni,
body.stile-nuovo .sv-cta {
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--sn-ombra);
  border: 1px solid #fff;
}
body.stile-nuovo .sv-opzioni {
  position: relative;
  margin: 26px 0 0 !important;
  padding: 24px 26px 22px 98px;
  border-radius: var(--sn-raggio) var(--sn-raggio) 0 0;
  border-bottom: 1px solid var(--sn-bordo);
}
body.stile-nuovo .sv-opzioni + .sv-cta { border-radius: 0 0 var(--sn-raggio) var(--sn-raggio); margin-top: 0 !important; }
body.stile-nuovo .sv-cta {
  border-radius: var(--sn-raggio);
  margin-top: 26px !important;
  padding: 22px 26px 26px !important;
}

/* Riquadretti con l'icona, come nel campione */
body.stile-nuovo .sv-opzioni::before,
body.stile-nuovo .sv-modo::before,
body.stile-nuovo .sv-desc::before,
body.stile-nuovo .sv-steps__title::before,
body.stile-nuovo .sv-faq__title::before {
  font-family: 'Material Icons';
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  font-size: 26px;
  line-height: 54px;
  width: 54px;
  height: 54px;
  text-align: center;
  color: var(--sn-rosso);
  background: linear-gradient(145deg, #fff6f4, var(--sn-tinta-2));
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(200, 30, 0, .12);
  text-transform: none;
  letter-spacing: normal;
  font-weight: normal;
  flex-shrink: 0;
}
body.stile-nuovo .sv-opzioni::before { content: 'usb'; position: absolute; left: 26px; top: 22px; }
body.stile-nuovo .sv-opzioni label { font-size: 1.15rem !important; color: var(--sn-testo) !important; font-weight: 800 !important; margin-bottom: 10px !important; }
body.stile-nuovo #sv-opzione {
  max-width: 100% !important;
  width: 100%;
  border: 1px solid var(--sn-bordo) !important;
  border-radius: 14px !important;
  padding: 13px 16px !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  color: var(--sn-testo) !important;
  background-color: #fff !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}

body.stile-nuovo .sv-modo { position: relative; padding-left: 72px; min-height: 54px; }
body.stile-nuovo .sv-modo::before { content: 'local_shipping'; position: absolute; left: 0; top: -2px; }
body.stile-nuovo .sv-modo__titolo { font-size: 1.15rem !important; color: var(--sn-testo) !important; font-weight: 800 !important; margin-bottom: 12px !important; }
body.stile-nuovo .sv-modo__opt {
  border: 1.5px solid var(--sn-bordo) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--sn-testo) !important;
  padding: 14px 12px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}
body.stile-nuovo .sv-modo__opt.is-on {
  border-color: var(--sn-rosso) !important;
  background: var(--sn-tinta) !important;
  color: var(--sn-rosso-sc) !important;
}
body.stile-nuovo .sv-modo__opt .material-icons { color: inherit !important; }

body.stile-nuovo .sv-cta .btn {
  border-radius: 14px !important;
  height: auto !important;
  min-height: 58px;
  line-height: 1.3 !important;
  padding: 14px 52px 14px 22px !important;
  font-size: 1.12rem !important;
  font-weight: 700 !important;
  text-transform: none !important;
  position: relative;
  justify-content: flex-start !important;
}
body.stile-nuovo .sv-cta .btn::after {
  content: 'chevron_right';
  font-family: 'Material Icons';
  font-feature-settings: 'liga';
  font-size: 28px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}
body.stile-nuovo .sv-cta .btn-prenota,
body.stile-nuovo .sv-cta a.btn-flat.js-modo-ritiro {
  background: var(--sn-grad) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: var(--sn-ombra-btn) !important;
  animation: none !important;
}
body.stile-nuovo .sv-cta .btn-prenota:hover,
body.stile-nuovo .sv-cta a.btn-flat.js-modo-ritiro:hover { filter: brightness(1.06); transform: translateY(-1px); }
body.stile-nuovo .sv-cta .btn-prenota .material-icons,
body.stile-nuovo .sv-cta a.btn-flat.js-modo-ritiro .material-icons { color: #fff !important; }
body.stile-nuovo .sv-cta .btn-info {
  background: #fff !important;
  color: var(--sn-rosso-sc) !important;
  border: 2px solid var(--sn-rosso) !important;
  box-shadow: none !important;
}
body.stile-nuovo .sv-cta .btn-info .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo .sv-modo__prezzo { color: var(--sn-testo-2); }
body.stile-nuovo .sv-modo__prezzo strong { color: var(--sn-rosso-sc); }

/* ── Schede di contenuto ───────────────────────────────────────── */
body.stile-nuovo .sv-desc,
body.stile-nuovo .sv-steps,
body.stile-nuovo .sv-faq,
body.stile-nuovo .sv-other {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  margin-top: 30px !important;
}
body.stile-nuovo .sv-desc { position: relative; padding: 26px 30px 24px 104px !important; }
body.stile-nuovo .sv-desc::before { content: 'description'; position: absolute; left: 30px; top: 24px; }
body.stile-nuovo .sv-desc > h2 {
  color: var(--sn-rosso) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 2px 0 12px !important;
  border: 0 !important;
}
body.stile-nuovo .sv-desc p { color: #2b2b30; font-size: 1.02rem; line-height: 1.6; }

/* Titoli di scheda con il riquadretto davanti */
body.stile-nuovo .sv-steps { padding: 24px 26px 26px !important; }
body.stile-nuovo .sv-steps__title,
body.stile-nuovo .sv-faq__title {
  display: flex !important;
  align-items: center;
  gap: 16px;
  color: var(--sn-rosso) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0 0 18px !important;
}
body.stile-nuovo .sv-steps__title::before { content: 'settings'; }
body.stile-nuovo .sv-faq__title::before { content: 'help_outline'; }

/* Come funziona: quattro schede con numero, icona e freccia fra l'una e l'altra */
body.stile-nuovo .sv-steps__grid { gap: 26px !important; }
body.stile-nuovo .sv-step {
  position: relative;
  background: #fff !important;
  border: 1px solid var(--sn-bordo) !important;
  border-radius: 16px !important;
  padding: 18px 16px 18px !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .05) !important;
  text-align: left !important;
}
body.stile-nuovo .sv-step__num {
  background: var(--sn-grad) !important;
  color: #fff !important;
  width: 34px !important;
  height: 34px !important;
  line-height: 34px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 10px rgba(200, 0, 0, .3);
  display: inline-block !important;
  text-align: center;
  margin: 0 0 10px !important;
}
body.stile-nuovo .sv-step__num::after {
  font-family: 'Material Icons';
  font-feature-settings: 'liga';
  font-size: 30px;
  color: var(--sn-rosso);
  position: absolute;
  left: 66px;
  top: 18px;
  text-shadow: none;
}
body.stile-nuovo .sv-step:nth-child(1) .sv-step__num::after { content: 'storefront'; }
body.stile-nuovo .sv-step:nth-child(2) .sv-step__num::after { content: 'search'; }
body.stile-nuovo .sv-step:nth-child(3) .sv-step__num::after { content: 'build'; }
body.stile-nuovo .sv-step:nth-child(4) .sv-step__num::after { content: 'inventory_2'; }
body.stile-nuovo .sv-step strong { display: block; color: var(--sn-testo) !important; font-size: 1.08rem !important; font-weight: 800 !important; margin-bottom: 6px; }
body.stile-nuovo .sv-step span { color: var(--sn-testo-2) !important; font-size: .9rem !important; line-height: 1.45 !important; }
@media (min-width: 900px) {
  body.stile-nuovo .sv-step:not(:last-child)::after {
    content: 'chevron_right';
    font-family: 'Material Icons';
    font-feature-settings: 'liga';
    font-size: 26px;
    color: var(--sn-rosso);
    position: absolute;
    right: -26px;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    text-align: center;
  }
}

/* Garanzie (Dal 1998, Ricambi, Diagnosi) */
body.stile-nuovo .sv-trust { gap: 16px !important; margin-top: 30px !important; }
body.stile-nuovo .sv-trust__item {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid #fff !important;
  border-radius: 18px !important;
  box-shadow: var(--sn-ombra) !important;
  padding: 18px !important;
}
body.stile-nuovo .sv-trust__item i { color: var(--sn-rosso) !important; background: var(--sn-tinta); border-radius: 12px; padding: 8px; }
body.stile-nuovo .sv-trust__item strong { color: var(--sn-testo) !important; }
body.stile-nuovo .sv-trust__item span { color: var(--sn-testo-2) !important; }

/* Domande frequenti */
body.stile-nuovo .sv-faq { padding: 24px 26px 14px !important; }
body.stile-nuovo .sv-faq__item { border: 0 !important; border-bottom: 1px solid var(--sn-bordo) !important; }
body.stile-nuovo .sv-faq__item:last-child { border-bottom: 0 !important; }
body.stile-nuovo .sv-faq__q { color: var(--sn-testo) !important; font-weight: 700 !important; padding: 15px 4px !important; }
body.stile-nuovo .sv-faq__q .material-icons,
body.stile-nuovo .sv-faq__q::after { color: var(--sn-rosso) !important; }
body.stile-nuovo .sv-faq__a { color: var(--sn-testo-2) !important; line-height: 1.6; }

/* Altri servizi del modello */
body.stile-nuovo .sv-other { padding: 22px 26px 12px !important; }
body.stile-nuovo .sv-other__title { color: var(--sn-rosso) !important; font-size: 1.1rem !important; font-weight: 800 !important; letter-spacing: .04em; text-transform: uppercase; border: 0 !important; }
body.stile-nuovo .sv-other-list a { border-radius: 12px; }
body.stile-nuovo .sv-other-list a:hover { background: var(--sn-tinta) !important; }
body.stile-nuovo .sv-other-list__name { color: var(--sn-testo) !important; font-weight: 600; }
body.stile-nuovo .sv-other-list__price { color: var(--sn-rosso-sc) !important; font-weight: 800 !important; }

/* ── Telefono ──────────────────────────────────────────────────── */
@media (max-width: 760px) {
  body.stile-nuovo .sv-hero { gap: 18px; }
  body.stile-nuovo .sv-hero__img { width: 100%; }
  body.stile-nuovo .sv-hero__img img { max-height: 220px; object-fit: cover; }
  body.stile-nuovo .sv-opzioni { padding: 20px 18px 18px; }
  body.stile-nuovo .sv-opzioni::before,
  body.stile-nuovo .sv-modo::before,
  body.stile-nuovo .sv-desc::before { display: none; }
  body.stile-nuovo .sv-modo { padding-left: 0; }
  body.stile-nuovo .sv-cta { padding: 18px !important; }
  body.stile-nuovo .sv-desc { padding: 20px 18px !important; }
  body.stile-nuovo .sv-badge--price { font-size: 1.35rem !important; }
}

/* Menu laterale per telefono chiuso fuori schermo: la sua ombra sporcava il bordo sinistro */
body.stile-nuovo ul.sidenav { box-shadow: none !important; }
body.stile-nuovo ul.sidenav[style*="translateX(0"] { box-shadow: 0 0 40px rgba(0, 0, 0, .25) !important; }
body.stile-nuovo .sv-badge { white-space: nowrap; }

/* ── Variante arancione (?nuovo=arancio) ───────────────────────── */
body.stile-nuovo.stile-arancio {
  /* toni scuriti il 6/11: l'arancio chiaro su bianco (e il bianco su arancio chiaro) non si leggeva.
     Testi >= 4,5:1 su bianco (#c44a00 4,9; #a84300 6,1), fondi dei pulsanti con scritta bianca >= 4:1 */
  --sn-rosso:      #c44a00;
  --sn-rosso-sc:   #a84300;
  --sn-grad:       linear-gradient(135deg, #d85a00 0%, #c44a00 55%, #a84300 100%);
  --sn-tinta:      #fff3e7;
  --sn-tinta-2:    #ffe0c2;
  --sn-bordo:      #f6e6d8;
  --sn-ombra:      0 10px 30px rgba(170, 80, 0, .09), 0 2px 6px rgba(0, 0, 0, .04);
  --sn-ombra-btn:  0 8px 20px rgba(240, 110, 0, .32);
  --sn-fondo:      #fff4ea;
  --sn-alone-1:    rgba(255, 150, 40, .20);
  --sn-alone-2:    rgba(255, 170, 70, .14);
  --sn-onda:       linear-gradient(160deg, #ffc27a 0%, #ff8a1e 60%, #f06400 100%);
}
body.stile-nuovo.stile-arancio .sv-modo__opt.is-on,
body.stile-nuovo.stile-arancio .sv-cta .btn-info { border-color: var(--sn-rosso) !important; }
body.stile-nuovo.stile-arancio .sv-opzioni::before,
body.stile-nuovo.stile-arancio .sv-modo::before,
body.stile-nuovo.stile-arancio .sv-desc::before,
body.stile-nuovo.stile-arancio .sv-steps__title::before,
body.stile-nuovo.stile-arancio .sv-faq__title::before { box-shadow: 0 4px 12px rgba(240, 110, 0, .16); }
body.stile-nuovo.stile-arancio .sv-step__num { box-shadow: 0 4px 10px rgba(240, 110, 0, .35); }

/* Etichetta dell'anteprima (solo per chi l'ha accesa) */
body.stile-nuovo .sn-anteprima {
  position: fixed; left: 14px; bottom: calc(var(--op-bar-h, 0px) + 14px); z-index: 2000;  /* sopra la barra operatore, se c'e' */
  display: flex; align-items: center; gap: 6px;
  background: #1d1d1f; color: #fff; font-size: .85rem; font-weight: 600;
  border-radius: 999px; padding: 6px 8px 6px 14px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
}
body.stile-nuovo .sn-anteprima a { color: #fff; padding: 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .12); }
body.stile-nuovo .sn-anteprima a.on { background: var(--sn-grad); }
body.stile-nuovo .sn-anteprima a:hover { background: rgba(255, 255, 255, .25); }

/* ════ Ritocchi per avvicinarsi al campione (6/11, seconda prova) ════ */

/* Carattere tondo e corposo per titoli, pulsanti, badge e menu */
body.stile-nuovo h1, body.stile-nuovo h2, body.stile-nuovo h3,
body.stile-nuovo .sv-title, body.stile-nuovo .sv-badge,
body.stile-nuovo .sv-cta .btn, body.stile-nuovo .sv-modo__opt, body.stile-nuovo .sv-modo__titolo,
body.stile-nuovo .sv-opzioni label, body.stile-nuovo #sv-opzione,
body.stile-nuovo .sv-step strong, body.stile-nuovo .sv-step__num,
body.stile-nuovo .sv-faq__q, body.stile-nuovo .sv-other__title, body.stile-nuovo .sv-other-list__name,
body.stile-nuovo .sv-trust__item strong, body.stile-nuovo .sv-prima a,
body.stile-nuovo .ry-nav__links a, body.stile-nuovo main nav.col.teal .breadcrumb,
body.stile-nuovo .sn-anteprima {
  font-family: 'Nunito', 'Inter', sans-serif !important;
}
body.stile-nuovo .sv-title { font-weight: 900 !important; font-size: clamp(1.8rem, 3.2vw, 2.7rem) !important; }

/* Pagina piu' larga, come il campione */
body.stile-nuovo main.container { width: 96% !important; max-width: 1240px !important; padding-left: 12px; padding-right: 12px; }

/* Testata del servizio a griglia: foto | titolo, badge; sotto, al centro, la scheda delle scelte */
body.stile-nuovo .sv-hero {
  display: grid !important;
  grid-template-columns: 270px minmax(0, 1fr);
  column-gap: 40px;
  row-gap: 0;
  align-items: start;
}
body.stile-nuovo .sv-hero__img { grid-column: 1; grid-row: 1 / span 4; width: auto; }
body.stile-nuovo .sv-hero__body { display: contents; }
body.stile-nuovo .sv-hero__body > * { grid-column: 2; }
body.stile-nuovo .sv-hero__body > .sv-opzioni,
body.stile-nuovo .sv-hero__body > .sv-cta {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 900px;
  justify-self: center;
  box-sizing: border-box;
}
body.stile-nuovo .sv-hero__body > .sv-opzioni { margin-top: 34px !important; }
body.stile-nuovo .sv-hero__body > .sv-cta:not(.sv-opzioni + .sv-cta) { margin-top: 34px !important; }
body.stile-nuovo .sv-title { margin-top: 6px !important; }

/* Scheda scelte piu' ariosa: icone in colonna, pulsanti allineati al contenuto */
body.stile-nuovo .sv-opzioni { padding: 28px 40px 26px 124px; }
body.stile-nuovo .sv-opzioni::before { left: 44px; top: 26px; }
body.stile-nuovo .sv-opzioni + .sv-cta { border-top: 0; }
body.stile-nuovo .sv-cta { padding: 26px 40px 30px !important; }
body.stile-nuovo .sv-modo { padding-left: 84px; }
body.stile-nuovo .sv-modo::before { left: 4px; }
body.stile-nuovo .sv-cta .btn { margin-left: 24px; margin-right: 24px; }
body.stile-nuovo .sv-modo__opt { font-size: 1.05rem !important; }

/* Badge come nel campione: tempo piu' chiaro, prezzo pieno */
body.stile-nuovo .sv-badge--time { background: linear-gradient(135deg, var(--sn-chiaro-1, #ff5a4e), var(--sn-chiaro-2, #e0201a)) !important; }
body.stile-nuovo.stile-arancio { --sn-chiaro-1: #dc5c00; --sn-chiaro-2: #c44a00; }

/* Testata: icone in bottoni tondi */
body.stile-nuovo nav.ry-nav { height: 72px; }
body.stile-nuovo .nav-spacer { height: 72px !important; }
body.stile-nuovo .ry-nav__wa-btn,
body.stile-nuovo .ry-nav__cart {
  width: 42px; height: 42px;
  display: inline-flex !important; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--sn-tinta);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .06);
}
body.stile-nuovo .ry-nav__cart .material-icons { color: var(--sn-rosso) !important; }

@media (max-width: 760px) {
  body.stile-nuovo .sv-hero { grid-template-columns: minmax(0, 1fr); }
  body.stile-nuovo .sv-hero__img, body.stile-nuovo .sv-hero__body > * { grid-column: 1 !important; grid-row: auto; }
  body.stile-nuovo .sv-opzioni { padding: 20px 18px 18px; }
  body.stile-nuovo .sv-cta { padding: 18px !important; }
  body.stile-nuovo .sv-cta .btn { margin-left: 0; margin-right: 0; }
  body.stile-nuovo .sv-modo { padding-left: 0; }
  body.stile-nuovo main nav.col.teal { border-radius: 18px; padding: 8px 14px !important; }
}

/* ════ Pagina del modello (services-models.php, body.sn-modello) ════ */
body.stile-nuovo.sn-modello main.container > .row > .col.l9 { display: flex; flex-direction: column; }
body.stile-nuovo.sn-modello main nav.col.teal { order: -2; }
body.stile-nuovo.sn-modello .sn-testata { order: -1; }

body.stile-nuovo .sn-testata {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 36px;
  align-items: center;
  margin: 4px 0 30px;
}
body.stile-nuovo .sn-testata__img {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(80, 10, 0, .14);
  padding: 18px;
  display: flex; align-items: center; justify-content: center;
  aspect-ratio: 4 / 3;
}
body.stile-nuovo .sn-testata__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
body.stile-nuovo .sn-testata h1.ry-page-title {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.8rem, 3.2vw, 2.7rem) !important;
  line-height: 1.12 !important;
  color: var(--sn-testo) !important;
  margin: 0 0 10px !important;
  text-align: left !important;
  -webkit-text-fill-color: currentColor;
  background: none !important;
}
body.stile-nuovo .sn-testata h1 .sv-title__modello { display: block; color: var(--sn-rosso); -webkit-text-fill-color: var(--sn-rosso); }
body.stile-nuovo .sn-testata__sub { color: var(--sn-testo-2); font-size: 1.05rem; margin: 0; }

/* Elenco servizi: schede bianche su due colonne */
body.stile-nuovo .sm-card {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}
body.stile-nuovo .sm-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0 !important;
  padding: 0 !important;
}
body.stile-nuovo .sm-list > li { list-style: none; margin: 0 !important; border: 0 !important; }
body.stile-nuovo .sm-item {
  display: flex !important;
  align-items: center;
  gap: 16px;
  height: 100%;
  box-sizing: border-box;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: 18px !important;
  box-shadow: var(--sn-ombra) !important;
  padding: 14px 16px !important;
  transition: transform .15s ease, box-shadow .15s ease;
}
body.stile-nuovo .sm-item:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(150, 20, 10, .14) !important; }
body.stile-nuovo .sm-item__img {
  width: 76px !important; height: 76px !important; flex-shrink: 0;
  border-radius: 14px !important; overflow: hidden;
  background: var(--sn-tinta) !important;
}
body.stile-nuovo .sm-item__img img { width: 100% !important; height: 100% !important; object-fit: cover; }
body.stile-nuovo .sm-item__body { flex: 1; min-width: 0; }
body.stile-nuovo .sm-item__name {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  line-height: 1.25 !important;
  color: var(--sn-testo) !important;
  margin: 0 !important;
}
body.stile-nuovo .sm-item__note { color: #8a5a00 !important; font-size: .82rem !important; }
body.stile-nuovo .sm-price {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  background: var(--sn-grad) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 7px 12px !important;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(200, 40, 0, .22);
}
body.stile-nuovo .sm-price--call { background: #fff !important; color: var(--sn-rosso-sc) !important; border: 2px solid var(--sn-rosso) !important; box-shadow: none; }
body.stile-nuovo .sm-arrow {
  color: var(--sn-rosso) !important;
  background: var(--sn-tinta);
  border-radius: 50%;
  width: 32px; height: 32px; line-height: 32px !important; text-align: center;
  flex-shrink: 0;
}

/* "Hai un problema diverso?" */
body.stile-nuovo .sm-cta {
  display: flex !important; align-items: center; gap: 18px;
  margin-top: 28px !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  padding: 20px 24px !important;
}
body.stile-nuovo .sm-cta__icon {
  width: 54px !important; height: 54px !important; flex-shrink: 0;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #fff6f4, var(--sn-tinta-2)) !important;
  display: flex; align-items: center; justify-content: center;
}
body.stile-nuovo .sm-cta__icon .material-icons { color: var(--sn-rosso) !important; font-size: 28px; }
body.stile-nuovo .sm-cta__title { font-family: 'Nunito', 'Inter', sans-serif !important; font-weight: 800 !important; color: var(--sn-testo) !important; font-size: 1.15rem !important; margin: 0 0 4px !important; }
body.stile-nuovo .sm-cta__sub { color: var(--sn-testo-2) !important; margin: 0 !important; }
body.stile-nuovo .sm-cta__arrow { color: var(--sn-rosso) !important; }

@media (max-width: 900px) {
  body.stile-nuovo .sm-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  body.stile-nuovo .sn-testata { grid-template-columns: 110px minmax(0, 1fr); gap: 16px; }
  body.stile-nuovo .sn-testata__img { padding: 8px; border-radius: 14px; }
  body.stile-nuovo .sn-testata h1.ry-page-title { font-size: 1.5rem !important; }
  body.stile-nuovo .sm-item__img { width: 60px !important; height: 60px !important; }
}

/* Testo CMS sopra l'elenco ("Scegli fra i servizi disponibili"): diventa il titolo dell'elenco */
body.stile-nuovo.sn-modello main .col.l9 > .card-panel {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 14px !important;
}
body.stile-nuovo.sn-modello main .col.l9 > .card-panel h1,
body.stile-nuovo.sn-modello main .col.l9 > .card-panel h2 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  color: var(--sn-rosso) !important;
  -webkit-text-fill-color: var(--sn-rosso);
  background: none !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: left !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ════ Pagina della marca (services-manfacturers.php, body.sn-marca) ════ */
body.stile-nuovo .ry-brand-band {
  background: transparent !important;
  color: var(--sn-testo) !important;
  padding: 0 !important;
  margin: 18px 0 26px !important;
  border-radius: 0 !important;
}
body.stile-nuovo .ry-brand-band__crumb {
  display: inline-flex; align-items: center; flex-wrap: wrap;
  background: #fff;
  border-radius: 999px;
  padding: 10px 18px;
  box-shadow: var(--sn-ombra);
  font-family: 'Nunito', 'Inter', sans-serif;
  font-size: .9rem !important;
  color: var(--sn-testo) !important;
  font-weight: 700;
  margin-bottom: 26px !important;
}
body.stile-nuovo .ry-brand-band__crumb a { color: var(--sn-testo-2) !important; font-weight: 600; }
body.stile-nuovo .ry-brand-band__crumb .sep { color: #c9b5b2 !important; margin: 0 10px !important; }
body.stile-nuovo .ry-brand-band h1 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important;
  line-height: 1.1 !important;
  color: var(--sn-testo) !important;
  margin: 0 0 10px !important;
}
body.stile-nuovo .ry-brand-band h1::after {
  content: '';
  display: block;
  width: 72px; height: 6px;
  border-radius: 6px;
  background: var(--sn-grad);
  margin-top: 14px;
}
body.stile-nuovo .ry-brand-band__msg { color: var(--sn-testo-2) !important; font-size: 1.02rem !important; }

/* Cerca modello */
body.stile-nuovo .ry-ma-filter-wrap { margin-bottom: 22px !important; }
body.stile-nuovo .ry-ma-filter-inp {
  height: 54px !important;
  line-height: 54px !important;
  border: 1px solid #fff !important;
  border-radius: 999px !important;
  padding-left: 50px !important;
  font-size: 1.05rem !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-ma-filter-inp:focus { border-color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-ma-filter-icon { color: var(--sn-rosso) !important; left: 18px !important; }

/* Modelli: schede bianche */
body.stile-nuovo .ry-ma-row {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  margin-bottom: 16px !important;
}
body.stile-nuovo .ry-ma-head { padding: 16px 22px !important; gap: 22px !important; }
body.stile-nuovo .ry-ma-head:hover { background: var(--sn-tinta) !important; }
body.stile-nuovo .ry-ma-thumb {
  background: linear-gradient(145deg, #fff, var(--sn-tinta));
  border-radius: 18px;
}
@media (min-width: 993px) {
  body.stile-nuovo .ry-ma-thumb { width: 130px !important; height: 130px !important; }
  body.stile-nuovo .ry-ma-thumb img { max-width: 112px !important; max-height: 112px !important; }
}
body.stile-nuovo .ry-ma-name {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: 1.35rem !important;
  color: var(--sn-testo) !important;
  margin-bottom: 8px !important;
}
body.stile-nuovo .ry-ma-price-hint {
  display: inline-block;
  font-family: 'Nunito', 'Inter', sans-serif;
  background: var(--sn-grad);
  color: #fff !important;
  font-weight: 800;
  font-size: .9rem !important;
  border-radius: 10px;
  padding: 4px 10px;
  margin-right: 8px;
  box-shadow: 0 5px 12px rgba(200, 40, 0, .2);
}
body.stile-nuovo .ry-ma-svccount { color: var(--sn-testo-2) !important; font-size: .88rem !important; }
body.stile-nuovo .ry-ma-direct-svc { color: var(--sn-testo-2) !important; font-size: .95rem !important; }
body.stile-nuovo .ry-ma-chevron {
  color: var(--sn-rosso) !important;
  background: var(--sn-tinta);
  border-radius: 50%;
  width: 38px; height: 38px; line-height: 38px !important; text-align: center;
}
body.stile-nuovo .ry-ma-body { border-top: 1px solid var(--sn-bordo) !important; }
body.stile-nuovo .ry-ma-svc-item { padding: 14px 22px !important; border-bottom: 1px solid var(--sn-bordo) !important; }
body.stile-nuovo .ry-ma-svc-item:hover { background: var(--sn-tinta) !important; }
body.stile-nuovo .ry-ma-svc-name { font-family: 'Nunito', 'Inter', sans-serif !important; font-weight: 700 !important; color: var(--sn-testo) !important; font-size: 1.02rem !important; }
body.stile-nuovo .ry-ma-svc-price {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  background: var(--sn-grad) !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 10px !important;
  padding: 5px 10px !important;
  white-space: nowrap;
}
body.stile-nuovo .ry-ma-svc-price--call { background: #fff !important; color: var(--sn-rosso-sc) !important; border: 2px solid var(--sn-rosso); }
body.stile-nuovo .ry-ma-svc-arr { color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-ma-alllink { color: var(--sn-rosso-sc) !important; font-weight: 800 !important; font-family: 'Nunito', 'Inter', sans-serif; }

/* ════ Pagina della categoria (services-categories.php, body.sn-categoria) ════ */
body.stile-nuovo.sn-categoria main .col.l9 > h1.ry-page-title {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important;
  line-height: 1.1 !important;
  color: var(--sn-testo) !important;
  -webkit-text-fill-color: var(--sn-testo);
  background: none !important;
  text-align: left !important;
  margin: 26px 0 22px !important;
}
body.stile-nuovo.sn-categoria main .col.l9 > h1.ry-page-title::after {
  content: '';
  display: block;
  width: 72px; height: 6px;
  border-radius: 6px;
  background: var(--sn-grad);
  margin-top: 14px;
}
/* Testo introduttivo (contenuto modificabile) in una scheda */
body.stile-nuovo.sn-categoria main .col.l9 > .card-panel {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  padding: 22px 26px !important;
  color: var(--sn-testo-2) !important;
}
body.stile-nuovo.sn-categoria main .col.l9 > .card-panel h1,
body.stile-nuovo.sn-categoria main .col.l9 > .card-panel h2,
body.stile-nuovo.sn-categoria main .col.l9 > .card-panel h3 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  color: var(--sn-rosso) !important;
  -webkit-text-fill-color: var(--sn-rosso);
  background: none !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: left !important;
  margin: 0 0 8px !important;
}
body.stile-nuovo.sn-categoria main .col.l9 > .card-panel * { color: inherit; }

/* Cerca il tuo modello */
body.stile-nuovo .ry-cat-search-inp {
  height: 56px !important;
  line-height: 56px !important;
  border: 1px solid #fff !important;
  border-radius: 999px !important;
  padding-left: 52px !important;
  font-size: 1.05rem !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-cat-search-inp:focus { border-color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-cat-search-icon { color: var(--sn-rosso) !important; left: 20px !important; }
body.stile-nuovo .ry-cat-search-drop { border-radius: 18px !important; border: 0 !important; box-shadow: var(--sn-ombra) !important; }
body.stile-nuovo .ry-cat-search-item:hover,
body.stile-nuovo .ry-cat-search-item--active { background: var(--sn-tinta) !important; }
body.stile-nuovo .ry-cat-search-model { font-family: 'Nunito', 'Inter', sans-serif; font-weight: 800 !important; }

/* "Marche console disponibili": titolo di sezione, non briciole */
body.stile-nuovo.sn-categoria main nav.col.teal {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 8px 0 18px !important;
}
body.stile-nuovo.sn-categoria main nav.col.teal .breadcrumb {
  color: var(--sn-rosso) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.stile-nuovo.sn-categoria main nav.col.teal .breadcrumb:before { display: none; }

/* Schede delle marche */
body.stile-nuovo .ry-device-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  justify-content: stretch !important;
  gap: 20px !important;
}
body.stile-nuovo .ry-device-card {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-device-card:hover { transform: translateY(-4px) !important; box-shadow: 0 16px 36px rgba(150, 20, 10, .16) !important; }
body.stile-nuovo .ry-device-card__svg-area {
  background: linear-gradient(145deg, #fff, var(--sn-tinta)) !important;
  margin: 12px 12px 0;
  border-radius: 16px;
  min-height: 140px !important;
}
body.stile-nuovo .ry-device-card__body {
  flex-direction: row !important;
  justify-content: space-between !important;
  padding: 14px 16px 16px !important;
}
body.stile-nuovo .ry-device-card__name {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: 1.2rem !important;
  color: var(--sn-testo) !important;
}
body.stile-nuovo .ry-device-card:hover .ry-device-card__name { color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-device-card__arrow {
  color: var(--sn-rosso) !important;
  background: var(--sn-tinta);
  border-radius: 50%;
  width: 34px; height: 34px; line-height: 34px !important; text-align: center;
  font-size: 20px !important;
}

/* ════ Piè di pagina chiaro (tutte le pagine con lo stile nuovo) ════ */
body.stile-nuovo .ry-footer {
  background: rgba(255, 255, 255, .92) !important;
  color: var(--sn-testo-2) !important;
  border-radius: 34px 34px 0 0;
  box-shadow: 0 -10px 34px rgba(150, 20, 10, .08);
  margin-top: 40px;
}
body.stile-nuovo .ry-footer,
body.stile-nuovo .ry-footer * { color: var(--sn-testo-2) !important; }
body.stile-nuovo .ry-footer h4,
body.stile-nuovo .ry-footer h2 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  color: var(--sn-rosso) !important;
  font-weight: 900 !important;
}
body.stile-nuovo .ry-footer__brand img { filter: none !important; }
body.stile-nuovo .ry-footer a { color: var(--sn-testo) !important; font-weight: 600; }
body.stile-nuovo .ry-footer a:hover { color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-footer__contact-item .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-footer__socials a {
  background: var(--sn-tinta) !important;
  border-radius: 12px;
}
body.stile-nuovo .ry-footer__socials a .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo .ry-footer__bottom { border-top: 1px solid var(--sn-bordo) !important; }
body.stile-nuovo .ry-footer__bottom p { color: #8a8a90 !important; }

/* ════ Home (index.php, body.sn-home) ════ */
body.stile-nuovo.sn-home main > .container { width: 96% !important; max-width: 1240px !important; }
body.stile-nuovo .ry-home-layout { grid-template-columns: minmax(0, 1fr) !important; }
body.stile-nuovo .ry-home-layout__sidebar { display: none !important; }
body.stile-nuovo .ry-hero {
  border-radius: 26px !important;
  box-shadow: 0 18px 44px rgba(120, 20, 10, .18) !important;
  margin-top: 22px;
}
body.stile-nuovo .ry-home-h1 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.9rem, 3.4vw, 2.8rem) !important;
  line-height: 1.12 !important;
  color: var(--sn-testo) !important;
  margin-top: 40px !important;
}
body.stile-nuovo .ry-home-h1::after {
  content: '';
  display: block;
  width: 72px; height: 6px;
  border-radius: 6px;
  background: var(--sn-grad);
  margin-top: 14px;
}
body.stile-nuovo .ry-home-intro {
  color: var(--sn-testo-2) !important;
  text-shadow: none !important;
  font-size: 1.08rem !important;
  max-width: 820px;
}
body.stile-nuovo .ry-home-intro * { color: inherit !important; }
body.stile-nuovo .ry-device-card__sub { color: var(--sn-testo-2) !important; }
body.stile-nuovo.sn-home .ry-device-card__body { flex-direction: column !important; align-items: flex-start !important; text-align: left; gap: 6px !important; }
body.stile-nuovo.sn-home .ry-device-card__arrow { align-self: flex-end; margin-top: auto; }

/* Le persone dietro le riparazioni */
body.stile-nuovo .ry-team-teaser {
  max-width: none !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-team-teaser__eyebrow { color: var(--sn-rosso) !important; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
body.stile-nuovo .ry-team-teaser h2 { font-family: 'Nunito', 'Inter', sans-serif !important; font-weight: 900 !important; color: var(--sn-testo) !important; }
body.stile-nuovo .ry-team-teaser .btn {
  background: var(--sn-grad) !important;
  border-radius: 14px !important;
  text-transform: none !important;
  font-family: 'Nunito', 'Inter', sans-serif;
  font-weight: 800;
  box-shadow: var(--sn-ombra-btn) !important;
}

/* Recensioni */
body.stile-nuovo .ry-reviews-section__header h2 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  color: var(--sn-rosso) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.stile-nuovo .ry-reviews-section__link { color: var(--sn-rosso-sc) !important; font-weight: 800 !important; }
body.stile-nuovo .ry-review-card {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid #fff !important;
  border-radius: 18px !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-review-card__text { color: var(--sn-testo) !important; }
body.stile-nuovo .ry-review-card__author { color: var(--sn-testo) !important; font-weight: 800 !important; }
body.stile-nuovo .ry-review-card__device { color: var(--sn-testo-2) !important; }
body.stile-nuovo .ry-review-card__device .material-icons { color: var(--sn-rosso) !important; }

/* ════ Pagine joypad: via il tema scuro, stesso stile delle altre ════ */
/* Testate scure (servizio e modello): sostituite dalla testata chiara */
body.stile-nuovo .sv-page-hero,
body.stile-nuovo .sm-hero { display: none !important; }
body.stile-nuovo .sv-body-wrap { max-width: 1240px !important; width: 96%; padding: 0 0 40px !important; }
body.stile-nuovo .col.s12.l9 { max-width: none !important; }
/* Titoli e briciole che il tema joypad nascondeva */
body.stile-nuovo .ry-page-title,
body.stile-nuovo nav.teal,
body.stile-nuovo nav.col.s12.teal { display: block !important; }
body.stile-nuovo main nav.col.teal { display: block !important; }
body.stile-nuovo .sv-title { color: var(--sn-testo) !important; text-shadow: none !important; }
/* Schede che il tema joypad faceva scure */
body.stile-nuovo .sv-cta { background: rgba(255, 255, 255, .92) !important; border-color: #fff !important; box-shadow: var(--sn-ombra) !important; }
body.stile-nuovo .sv-modo__titolo, body.stile-nuovo .sv-cta p { color: var(--sn-testo) !important; }
body.stile-nuovo .sv-info {
  background: var(--sn-tinta) !important;
  border: 1px solid var(--sn-bordo) !important;
  color: var(--sn-testo) !important;
}
body.stile-nuovo .sv-info * { color: inherit !important; }
body.stile-nuovo .sv-info .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo .sv-desc { color: #2b2b30 !important; }
body.stile-nuovo .sv-desc th, body.stile-nuovo .sv-desc td { border-color: var(--sn-bordo) !important; color: var(--sn-testo) !important; background: #fff !important; }
body.stile-nuovo .sv-desc thead th, body.stile-nuovo .sv-desc tbody th { background: var(--sn-tinta) !important; color: var(--sn-testo) !important; }
body.stile-nuovo .sv-note { background: #fff8e1 !important; color: #8a5a00 !important; border-left-color: #ffa000 !important; }
body.stile-nuovo .sv-other-list a { color: var(--sn-testo) !important; }
body.stile-nuovo .sv-other-list li { border-bottom-color: var(--sn-bordo) !important; }
body.stile-nuovo .sv-other-list__time { color: var(--sn-testo-2) !important; }
body.stile-nuovo .sv-other-list__price--call { color: #b26a00 !important; }
/* Prezzo joypad a cifre animate: su fondo rosso, cifre bianche */
body.stile-nuovo .sv-badge--price { padding-top: 10px !important; padding-bottom: 10px !important; min-height: 0 !important; }
body.stile-nuovo .sv-price-int,
body.stile-nuovo .sv-price-sep,
body.stile-nuovo .sv-price-dec { color: #fff !important; }
body.stile-nuovo .sv-price-digit { animation: none !important; }
/* Foto del servizio joypad: senza ombre scure e alone */
body.stile-nuovo .sv-hero__img img { filter: none !important; clip-path: none !important; animation: none !important; }
body.stile-nuovo .sv-hero__img--modello::before { display: none; }
body.stile-nuovo .sv-hero__img--modello { margin-right: 0 !important; }
/* Galleria "Il nostro lavoro" */
body.stile-nuovo .sv-gallery {
  background: rgba(255, 255, 255, .92) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  color: var(--sn-testo-2) !important;
  padding: 24px 26px 12px !important;
  margin-top: 30px !important;
}
body.stile-nuovo .sv-gallery__title {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  color: var(--sn-rosso) !important;
  font-size: 1.1rem !important; font-weight: 800 !important;
  letter-spacing: .04em; text-transform: uppercase;
}
body.stile-nuovo .sv-gallery__item a { border-radius: 14px !important; }
body.stile-nuovo .sv-gallery__item figcaption { color: var(--sn-testo-2) !important; }
/* Tabella di confronto analogici (versione chiara gia' prevista) in scheda */
body.stile-nuovo .anacmp {
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  border: 1px solid #fff !important;
  margin-top: 30px !important;
}
/* Sconto piu' lavori sullo stesso joypad (pagina modello) */
body.stile-nuovo .sm-discount {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  margin-top: 24px !important;
}
body.stile-nuovo .sm-discount span { color: var(--sn-testo) !important; }
body.stile-nuovo .sm-discount strong { color: #1b8a3c !important; }
body.stile-nuovo .sm-discount i { color: #1b8a3c !important; }
/* Pagina categoria joypad: introduzione, guida analogici, banner prova */
body.stile-nuovo .ry-joy-intro__lead { font-family: 'Nunito', 'Inter', sans-serif; color: var(--sn-rosso) !important; font-weight: 900 !important; }
body.stile-nuovo .ry-joy-guida__titolo { font-family: 'Nunito', 'Inter', sans-serif !important; color: var(--sn-rosso) !important; font-weight: 800 !important; letter-spacing: .04em; text-transform: uppercase; font-size: 1.1rem !important; }
body.stile-nuovo .ry-joy-card {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: 18px !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-joy-card h3 { font-family: 'Nunito', 'Inter', sans-serif !important; font-weight: 900 !important; color: var(--sn-testo) !important; }
body.stile-nuovo .ry-joy-card summary { color: var(--sn-rosso-sc) !important; }
body.stile-nuovo .ry-jt-banner {
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo .ry-jt-banner b, body.stile-nuovo .ry-jt-banner__go { color: var(--sn-rosso-sc) !important; font-family: 'Nunito', 'Inter', sans-serif; }
body.stile-nuovo .ry-jt-banner .material-icons { color: var(--sn-rosso) !important; }

/* ════ Modulo di ritiro (ritiro.php, body.sn-ritiro) ════ */
body.stile-nuovo.sn-ritiro main .col.l9 > h1.ry-page-title {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.9rem, 3.4vw, 2.6rem) !important;
  color: var(--sn-testo) !important;
  -webkit-text-fill-color: var(--sn-testo);
  background: none !important;
  text-align: left !important;
  margin: 6px 0 22px !important;
}
body.stile-nuovo.sn-ritiro main .col.l9 > h1.ry-page-title::after {
  content: ''; display: block; width: 72px; height: 6px; border-radius: 6px;
  background: var(--sn-grad); margin-top: 14px;
}
body.stile-nuovo .ry-ritiro-form {
  max-width: 820px !important;
  background: rgba(255, 255, 255, .95) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  padding: 28px 32px !important;
}
body.stile-nuovo .ritiro-section { padding-bottom: 18px; border-bottom: 1px solid var(--sn-bordo); margin-bottom: 22px !important; }
body.stile-nuovo .ritiro-section:last-child { border-bottom: 0; }
body.stile-nuovo .ritiro-section h5 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  color: var(--sn-rosso) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.stile-nuovo .ry-ritiro-form input[type=text],
body.stile-nuovo .ry-ritiro-form input[type=email],
body.stile-nuovo .ry-ritiro-form input[type=tel],
body.stile-nuovo .ry-ritiro-form input[type=number],
body.stile-nuovo .ry-ritiro-form textarea,
body.stile-nuovo .ry-ritiro-form select,
body.stile-nuovo .service-row select {
  background: #fff !important;
  border: 1px solid var(--sn-bordo) !important;
  border-radius: 12px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .04) !important;
}
body.stile-nuovo .ry-ritiro-form textarea { padding: 10px 14px !important; }
body.stile-nuovo .ry-ritiro-form input:focus,
body.stile-nuovo .ry-ritiro-form textarea:focus,
body.stile-nuovo .ry-ritiro-form select:focus { border-color: var(--sn-rosso) !important; box-shadow: 0 0 0 3px var(--sn-tinta) !important; }
body.stile-nuovo .ry-ritiro-form .input-field > label { left: 14px !important; }
body.stile-nuovo .ry-ritiro-form .input-field > label.active { transform: translateY(-20px) scale(.8) !important; }
body.stile-nuovo .service-row {
  background: var(--sn-tinta) !important;
  border: 1px solid var(--sn-bordo) !important;
  border-radius: 16px !important;
}
body.stile-nuovo .service-row-title,
body.stile-nuovo .service-row .row-prezzo-label { color: var(--sn-rosso-sc) !important; }
body.stile-nuovo .ritiro-costs {
  background: var(--sn-tinta) !important;
  border-radius: 16px !important;
  padding: 18px 20px !important;
}
body.stile-nuovo .ritiro-costs tr.total td { border-top: 2px solid var(--sn-bordo) !important; font-family: 'Nunito', 'Inter', sans-serif; font-size: 1.2rem !important; }
body.stile-nuovo .ritiro-diagnosi-note,
body.stile-nuovo .ritiro-nota-rimborso { border-radius: 14px !important; }
body.stile-nuovo .ry-ritiro-form .btn,
body.stile-nuovo .ry-ritiro-form button.btn {
  border-radius: 14px !important;
  text-transform: none !important;
  font-family: 'Nunito', 'Inter', sans-serif;
  font-weight: 800;
}
body.stile-nuovo .ry-ritiro-form .btn:not(.btn-flat):not(.btn-satispay) { background: var(--sn-grad) !important; box-shadow: var(--sn-ombra-btn) !important; }
body.stile-nuovo .ry-cond-row input[type=checkbox] { accent-color: var(--sn-rosso); }
body.stile-nuovo main nav.col.teal { float: none !important; }
body.stile-nuovo main .col.l9 > h1.ry-page-title { clear: both; }
body.stile-nuovo .ry-ritiro-form .input-field label:not(.active) { left: 14px !important; }
body.stile-nuovo .ry-ritiro-form .input-field label.active { left: 4px !important; }
body.stile-nuovo main nav.col.teal:not(:where(.sn-categoria *)) { border-radius: 999px !important; }
@media (max-width: 600px) {
  body.stile-nuovo .ry-nav__wa-btn,
  body.stile-nuovo .ry-nav__cart { width: 34px; height: 34px; }
  body.stile-nuovo .ry-nav__actions { gap: 6px !important; }
}
/* Schede che entrano da destra con l'animazione: niente scorrimento laterale nel frattempo */
body.stile-nuovo main { overflow-x: clip; }
@media (max-width: 600px) {
  body.stile-nuovo .ry-nav__inner { padding: 0 10px !important; gap: 8px !important; }
  body.stile-nuovo .ry-logo-half { height: 28px !important; }
}

/* ════ Regole generali per le altre pagine (chi siamo, blog, mercatino, contatti, tecnici, recensioni...) ════ */
body.stile-nuovo h1.ry-page-title {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.9rem, 3.4vw, 2.7rem) !important;
  line-height: 1.12 !important;
  color: var(--sn-testo) !important;
  -webkit-text-fill-color: var(--sn-testo);
  background: none !important;
  text-align: left !important;
}
body.stile-nuovo h1.ry-page-title::after {
  content: ''; display: block; width: 72px; height: 6px; border-radius: 6px;
  background: var(--sn-grad); margin-top: 14px;
}
body.stile-nuovo main .card-panel {
  background: rgba(255, 255, 255, .95) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  padding: 24px 28px !important;
}
/* Riquadri modificabili rimasti vuoti (es. mercatino): niente striscia bianca */
body.stile-nuovo main .card-panel:not(:has(*)) { display: none !important; }
body.stile-nuovo main .card-panel h2,
body.stile-nuovo main .card-panel h3 { font-family: 'Nunito', 'Inter', sans-serif; color: var(--sn-testo); font-weight: 900; }
body.stile-nuovo main .card-panel a:not(.btn) { color: var(--sn-rosso-sc); }

/* Moduli: campi arrotondati come nel modulo di ritiro */
body.stile-nuovo main .input-field input:not([type=checkbox]):not([type=radio]):not(.select-dropdown),
body.stile-nuovo main .input-field textarea,
body.stile-nuovo main .input-field input.select-dropdown {
  background: #fff !important;
  border: 1px solid #cdb8ae !important;
  border-radius: 12px !important;
  padding: 0 14px !important;
  box-sizing: border-box !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .04) !important;
}
body.stile-nuovo main .input-field textarea { padding: 10px 14px !important; min-height: 110px; }
body.stile-nuovo main .input-field input:focus,
body.stile-nuovo main .input-field textarea:focus { border-color: var(--sn-rosso) !important; box-shadow: 0 0 0 3px var(--sn-tinta) !important; }
body.stile-nuovo main .input-field label:not(.active) { left: 14px !important; }
body.stile-nuovo main .input-field label.active { left: 4px !important; color: var(--sn-rosso-sc) !important; }

/* Pulsanti */
body.stile-nuovo main .btn:not(.btn-flat):not(.btn-satispay):not(.sv-modo__opt):not(.btn-info):not(.ry-spot),
body.stile-nuovo main .btn-large:not(.btn-flat) {
  background: var(--sn-grad) !important;
  border-radius: 14px !important;
  text-transform: none !important;
  font-family: 'Nunito', 'Inter', sans-serif;
  font-weight: 800;
  box-shadow: var(--sn-ombra-btn) !important;
}

/* ════ Pagine pubblicitarie (landing-page.php, body.sn-landing) ════ */
body.stile-nuovo.sn-landing {
  --gradient:      var(--sn-grad);
  --surface:       rgba(255, 255, 255, .95);
  --border:        var(--sn-bordo);
  --text-on-dark:  var(--sn-testo);
  --muted-dark:    var(--sn-testo-2);
  --radius:        var(--sn-raggio);
  --shadow:        var(--sn-ombra);
  color: var(--sn-testo) !important;
  background: transparent !important;
}
body.stile-nuovo.sn-landing a { color: var(--sn-rosso-sc); }
body.stile-nuovo.sn-landing .lp-topbar {
  background: transparent !important;
  border: 0 !important;
  color: var(--sn-testo-2) !important;
}
body.stile-nuovo.sn-landing .lp-topbar a { color: var(--sn-testo) !important; }
body.stile-nuovo.sn-landing .lp-header {
  background: rgba(255, 255, 255, .9) !important;
  border: 0 !important;
  border-radius: 0 0 22px 22px;
  box-shadow: 0 6px 24px rgba(120, 20, 10, .10) !important;
}
body.stile-nuovo.sn-landing .btn { border-radius: 14px !important; font-family: 'Nunito', 'Inter', sans-serif; font-weight: 800 !important; }
body.stile-nuovo.sn-landing .btn-primary { background: var(--sn-grad) !important; color: #fff !important; box-shadow: var(--sn-ombra-btn) !important; }
body.stile-nuovo.sn-landing .btn-outline { border-color: var(--sn-bordo) !important; color: var(--sn-testo) !important; background: #fff !important; }
body.stile-nuovo.sn-landing .btn-wa { color: #fff !important; }
body.stile-nuovo.sn-landing .lp-hero { background: transparent !important; }
body.stile-nuovo.sn-landing .lp-hero h1 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  color: var(--sn-testo) !important;
  text-shadow: none !important;
}
body.stile-nuovo.sn-landing .lp-hero__bc,
body.stile-nuovo.sn-landing .lp-hero__bc a,
body.stile-nuovo.sn-landing .lp-hero__sub { color: var(--sn-testo-2) !important; }
body.stile-nuovo.sn-landing .lp-hero__label {
  background: var(--sn-tinta) !important;
  border-color: var(--sn-tinta-2) !important;
  color: var(--sn-rosso-sc) !important;
}
body.stile-nuovo.sn-landing .lp-hero__img img { filter: drop-shadow(0 18px 30px rgba(80, 10, 0, .25)) !important; }
body.stile-nuovo.sn-landing .lp-pill { font-family: 'Nunito', 'Inter', sans-serif; font-weight: 800; }
body.stile-nuovo.sn-landing .lp-pill--price { background: var(--sn-grad) !important; border: 0 !important; color: #fff !important; box-shadow: var(--sn-ombra-btn); }
body.stile-nuovo.sn-landing .lp-pill--time { background: #fff !important; border-color: var(--sn-bordo) !important; color: var(--sn-testo) !important; }
body.stile-nuovo.sn-landing .lp-card {
  border: 1px solid #fff !important;
  box-shadow: var(--sn-ombra) !important;
}
body.stile-nuovo.sn-landing .lp-card h2 { font-family: 'Nunito', 'Inter', sans-serif !important; font-weight: 900 !important; color: var(--sn-testo) !important; }
body.stile-nuovo.sn-landing .lp-card,
body.stile-nuovo.sn-landing .lp-card p { color: #2b2b30; }
body.stile-nuovo.sn-landing .lp-sintomi li { background: var(--sn-tinta) !important; border-left-color: var(--sn-rosso) !important; border-radius: 12px; }
body.stile-nuovo.sn-landing .lp-passo,
body.stile-nuovo.sn-landing .lp-trust-item,
body.stile-nuovo.sn-landing .lp-faq details { background: #fff !important; border-color: var(--sn-bordo) !important; border-radius: 14px !important; }
body.stile-nuovo.sn-landing .lp-trust-item .material-icons,
body.stile-nuovo.sn-landing .lp-trust-item svg { color: var(--sn-rosso) !important; fill: currentColor; }
body.stile-nuovo.sn-landing .lp-sticky { background: rgba(255, 255, 255, .96) !important; box-shadow: 0 -6px 20px rgba(0, 0, 0, .1); }
body.stile-nuovo.sn-landing .lp-footer,
body.stile-nuovo.sn-landing .lp-footer a,
body.stile-nuovo.sn-landing .lp-info,
body.stile-nuovo.sn-landing .lp-info a { color: var(--sn-testo-2) !important; }
body.stile-nuovo.sn-landing .lp-footer strong,
body.stile-nuovo.sn-landing .lp-info strong { color: var(--sn-testo) !important; }
body.stile-nuovo .sn-anteprima a { color: #fff !important; }

/* Tabelle di confronto Edge/TMR (.ecmp) e pasta/pad (.pcmp): versione chiara */
body.stile-nuovo .ecmp,
body.stile-nuovo .pcmp {
  background: rgba(255, 255, 255, .95) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  color: var(--sn-testo-2) !important;
  margin-top: 30px !important;
}
body.stile-nuovo .ecmp h2,
body.stile-nuovo .pcmp h2 { font-family: 'Nunito', 'Inter', sans-serif; color: var(--sn-rosso) !important; font-size: 1rem !important; font-weight: 800 !important; }
body.stile-nuovo .ecmp__sub,
body.stile-nuovo .pcmp__sub { font-family: 'Nunito', 'Inter', sans-serif; color: var(--sn-testo) !important; font-weight: 900 !important; font-size: 1.25rem !important; }
body.stile-nuovo .ecmp th, body.stile-nuovo .ecmp td,
body.stile-nuovo .pcmp th, body.stile-nuovo .pcmp td { border-bottom-color: var(--sn-bordo) !important; }
body.stile-nuovo .ecmp thead th,
body.stile-nuovo .pcmp thead th { color: var(--sn-testo) !important; border-bottom-color: var(--sn-tinta-2) !important; }
body.stile-nuovo .ecmp thead th small,
body.stile-nuovo .pcmp thead th small,
body.stile-nuovo .pcmp td small { color: var(--sn-testo-2) !important; }
body.stile-nuovo .ecmp tbody th,
body.stile-nuovo .pcmp tbody th { color: var(--sn-testo) !important; }
body.stile-nuovo .ecmp td, body.stile-nuovo .pcmp td { color: var(--sn-testo-2); }
body.stile-nuovo .ecmp tbody tr:nth-child(even),
body.stile-nuovo .pcmp tbody tr:nth-child(even) { background: #fcf8f7 !important; }
body.stile-nuovo .ecmp td:last-child, body.stile-nuovo .ecmp thead th:last-child,
body.stile-nuovo .pcmp td:last-child, body.stile-nuovo .pcmp thead th:last-child { background: var(--sn-tinta) !important; }
body.stile-nuovo .ecmp-si, body.stile-nuovo .pcmp-si { color: #1b8a3c !important; }
body.stile-nuovo .ecmp-no { color: #9a9aa0 !important; }
body.stile-nuovo .pcmp td strong { color: var(--sn-testo) !important; }
body.stile-nuovo .pcmp td a small { color: var(--sn-rosso-sc) !important; }
body.stile-nuovo .ecmp__note { color: var(--sn-testo-2) !important; }
@media (max-width: 600px) { body.stile-nuovo .pcmp tbody th:first-child { color: var(--sn-testo-2) !important; } }
body.stile-nuovo .sv-gallery__item a { background: var(--sn-tinta) !important; }
body.stile-nuovo main .input-field > label:not(.active) { margin-left: 14px; }
body.stile-nuovo main .input-field textarea + label:not(.active) { margin-top: 10px; }

/* Titolo dentro il riquadro modificabile: se la pagina ha gia' il suo titolo grande e il riquadro
   contiene solo quel titolo (mercatino), il riquadro sparisce; altrimenti (blog) e' il titolo della pagina */
body.stile-nuovo main .card-panel:has(> h1):not(:has(> :not(h1))),
body.stile-nuovo main .card-panel:has(> h2.ry-ed-h1):not(:has(> :not(h2.ry-ed-h1))) { display: none !important; }
body.stile-nuovo main .card-panel > h1 {
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  color: var(--sn-testo) !important;
  -webkit-text-fill-color: var(--sn-testo);
  background: none !important;
  margin: 0 0 12px !important;
}

/* Mercatino */
body.stile-nuovo .ry-market-card {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid #fff !important;
  border-radius: var(--sn-raggio) !important;
  box-shadow: var(--sn-ombra) !important;
  overflow: hidden;
}
body.stile-nuovo .ry-market-card__price {
  background: var(--sn-grad) !important;
  color: #fff !important;
  font-family: 'Nunito', 'Inter', sans-serif;
  font-weight: 800 !important;
  border-radius: 10px !important;
}

/* Banner cookie (js/consenso.js): chiaro; i due pulsanti restano identici (rifiutare facile quanto accettare) */
body.stile-nuovo #ry-cookie {
  background: rgba(255, 255, 255, .97) !important;
  color: var(--sn-testo) !important;
  border-radius: 22px 22px 0 0;
  box-shadow: 0 -10px 34px rgba(120, 20, 10, .16) !important;
}
body.stile-nuovo #ry-cookie strong { color: var(--sn-testo) !important; }
body.stile-nuovo #ry-cookie a { color: var(--sn-rosso-sc) !important; }
body.stile-nuovo #ry-cookie button {
  background: #fff !important;
  color: var(--sn-rosso-sc) !important;
  border: 2px solid var(--sn-rosso) !important;
  border-radius: 14px !important;
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 800 !important;
}
body.stile-nuovo #ry-cookie button:focus-visible { outline-color: var(--sn-rosso) !important; }

/* Telefono: testata della pagina servizio compatta (foto piccola accanto al titolo), cosi'
   prezzo, scelta della consegna e pulsante di prenotazione arrivano prima */
@media (max-width: 760px) {
  body.stile-nuovo .sv-hero { grid-template-columns: 96px minmax(0, 1fr) !important; column-gap: 14px !important; }
  body.stile-nuovo .sv-hero__img { grid-column: 1 !important; grid-row: 1 !important; width: 96px !important; border-radius: 14px; }
  body.stile-nuovo .sv-hero__img img { max-height: 96px !important; object-fit: cover; }
  body.stile-nuovo .sv-hero__body > .sv-title { grid-column: 2 !important; grid-row: 1 !important; align-self: center; font-size: 1.35rem !important; margin: 0 !important; }
  body.stile-nuovo .sv-hero__body > .sv-title::after { display: none; }
  body.stile-nuovo .sv-hero__body > *:not(.sv-title) { grid-column: 1 / -1 !important; }
  body.stile-nuovo .sv-badges { gap: 8px; margin-top: 12px; }
  body.stile-nuovo .sv-badge { padding: 9px 14px !important; font-size: .95rem !important; }
  body.stile-nuovo .sv-badge--price { font-size: 1.25rem !important; }
  body.stile-nuovo .sv-hero__body > .sv-opzioni,
  body.stile-nuovo .sv-hero__body > .sv-cta:not(.sv-opzioni + .sv-cta) { margin-top: 16px !important; }
  body.stile-nuovo main nav.col.teal { margin: 8px 0 12px !important; }
}
@media (max-width: 760px) {
  body.stile-nuovo main nav.col.teal { max-width: 100% !important; overflow-x: auto; scrollbar-width: none; padding: 8px 14px !important; }
  body.stile-nuovo main nav.col.teal > div { flex-wrap: nowrap !important; white-space: nowrap; }
  body.stile-nuovo main nav.col.teal .breadcrumb { white-space: nowrap !important; font-size: .8rem !important; }
  body.stile-nuovo .sv-badges { flex-wrap: nowrap !important; }
  body.stile-nuovo .sv-badge { padding: 8px 10px !important; font-size: .82rem !important; gap: 4px !important; }
  body.stile-nuovo .sv-badge .material-icons { font-size: 18px !important; }
  body.stile-nuovo .sv-badge--price { font-size: 1.1rem !important; }
  body.stile-nuovo .sv-prima { margin: 8px 0 0 !important; font-size: .85rem; }
  body.stile-nuovo .sv-hero__body > .sv-title .sv-title__modello { color: var(--sn-rosso) !important; -webkit-text-fill-color: var(--sn-rosso); }
}
body.stile-nuovo .sv-title__modello { -webkit-text-fill-color: var(--sn-rosso) !important; color: var(--sn-rosso) !important; }

/* Bordi dei campi piu' visibili (erano quasi bianchi su bianco) */
body.stile-nuovo main .input-field input:not([type=checkbox]):not([type=radio]),
body.stile-nuovo main .input-field textarea,
body.stile-nuovo .ry-sheet__panel .input-field input:not([type=checkbox]):not([type=radio]),
body.stile-nuovo .ry-sheet__panel .input-field textarea,
body.stile-nuovo .ry-ritiro-form input[type=text], body.stile-nuovo .ry-ritiro-form input[type=email],
body.stile-nuovo .ry-ritiro-form input[type=tel], body.stile-nuovo .ry-ritiro-form textarea,
body.stile-nuovo .ry-ritiro-form select, body.stile-nuovo #sv-opzione {
  border-color: #cdb8ae !important;
}
/* Etichetta sopra i menu a tendina: staccata dal riquadro */
body.stile-nuovo .input-field:has(.select-wrapper) { margin-top: 30px !important; }
body.stile-nuovo .input-field .select-wrapper + label { margin-left: 4px !important; top: -28px !important; z-index: 2; }

/* ── 6/11 sera: numerino del carrello e menu laterale su telefono ─────────────
   Il numerino ereditava il testo scuro del tema su fondo rosso (illeggibile);
   il menu che si apre col pulsante a tre righe era rimasto quello scuro di prima. */
body.stile-nuovo .ry-nav__cart .cart-badge {
  background: var(--sn-rosso) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff;
  box-shadow: 0 0 0 2px #fff;
}
body.stile-nuovo #ry-mobile-nav {
  background: rgba(255, 255, 255, .97) !important;
  border-right: 1px solid var(--sn-bordo);
  box-shadow: 8px 0 30px rgba(0, 0, 0, .12);
}
body.stile-nuovo #ry-mobile-nav li > a {
  color: var(--sn-testo) !important;
  font-family: 'Nunito', 'Inter', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 12px;
  margin: 2px 8px;
}
body.stile-nuovo #ry-mobile-nav li > a:hover,
body.stile-nuovo #ry-mobile-nav li > a.active {
  background: var(--sn-tinta) !important;
  color: var(--sn-rosso) !important;
}
body.stile-nuovo #ry-mobile-nav li > a .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo #ry-mobile-nav li.divider { border-color: var(--sn-bordo) !important; background: var(--sn-bordo) !important; }
body.stile-nuovo #ry-mobile-nav #ry-sidenav-search {
  background: var(--sn-tinta) !important;
  border: 1px solid var(--sn-bordo) !important;
  color: var(--sn-testo) !important;
  border-radius: 12px !important;
}
body.stile-nuovo #ry-mobile-nav #ry-sidenav-search::placeholder { color: var(--sn-testo-2); }
body.stile-nuovo #ry-mobile-nav #ry-sidenav-search-li .material-icons { color: var(--sn-rosso) !important; }
body.stile-nuovo #ry-mobile-nav #ry-sidenav-results a { color: var(--sn-testo) !important; }
