/* ==========================================================================
   Home: recensioni (partial reviews.html, script reviews.js)
   Senza JS: riga orizzontale con scroll-snap, ogni scheda leggibile.
   Con JS (.is-ready): mazzo di schede. Desktop/tablet: scheda in primo piano
   con due schede in coda; mobile: una sola scheda alla volta.
   Si animano solo transform, opacity e clip-path.
   ========================================================================== */

body.inpe-site:not(.x-brand) [data-reviews] {
  --rv-spring: cubic-bezier(.2, .9, .25, 1.04);
  --rv-pop: cubic-bezier(.3, 1.6, .5, 1);
  --rv-out: cubic-bezier(.16, 1, .3, 1);
  --rv-fade: cubic-bezier(.3, .1, .3, 1);
  --rv-wipe: cubic-bezier(.77, 0, .18, 1);
  --rv-sweep: cubic-bezier(.5, 0, .1, 1);
  --rv-peek: 44px;
  position: relative;
  overflow-x: clip;
  background: linear-gradient(180deg, rgba(233, 227, 216, 0) 0, rgba(233, 227, 216, .5) 38%, rgba(233, 227, 216, .5) 62%, rgba(233, 227, 216, 0) 100%);
}
@supports (transition-timing-function: linear(0, 1)) {
  body.inpe-site:not(.x-brand) [data-reviews] {
    --rv-spring: linear(0, 0.05, 0.168, 0.317, 0.471, 0.613, 0.736, 0.835, 0.911, 0.965, 1.001, 1.023, 1.035, 1.038, 1.037, 1.033, 1.027, 1.021, 1.016, 1.011, 1.007, 1.004, 1.002, 1, 0.999, 1);
    --rv-pop: linear(0, 0.084, 0.286, 0.539, 0.786, 0.992, 1.135, 1.213, 1.233, 1.211, 1.162, 1.103, 1.045, 0.998, 0.966, 0.949, 0.946, 0.952, 0.963, 0.977, 0.991, 1.001, 1.008, 1.012, 1.013, 1.011, 1.008, 1.005, 1.002, 1);
  }
}

/* ---------- Layout ---------- */
body.inpe-site:not(.x-brand) [data-reviews] .rv-layout {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: 64px;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-intro { min-width: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-intro h2 { margin: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-lede {
  margin: 22px 0 0;
  max-width: 34ch;
  font-size: 16px;
  line-height: 1.65;
  color: var(--grigio-700);
}
/* I comandi stanno prima delle schede nel codice (tasto pausa primo nel tab), sotto a video */
body.inpe-site:not(.x-brand) [data-reviews] .rv-carousel { position: relative; display: flex; flex-direction: column; min-width: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-track { order: 0; min-width: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-controls { order: 1; }

/* ---------- Scheda ---------- */
body.inpe-site:not(.x-brand) [data-reviews] .rv-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
  margin: 0;
  padding: 34px 36px 30px;
  background: #FFFFFF;
  border: 1px solid var(--soft-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  color: var(--basalto);
}
/* Virgolette disegnate (maschera SVG): nessun font in piu' da scaricare */
body.inpe-site:not(.x-brand) [data-reviews] .rv-card::before {
  content: "";
  position: absolute;
  top: 30px;
  right: 32px;
  width: 52px;
  height: 43px;
  background: var(--ottone);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cpath d='M1 28C1 15 7 5 19 2l1.5 3.5C13 9 10.5 13.5 10 18.05A10 10 0 1 1 1 28ZM27 28C27 15 33 5 45 2l1.5 3.5C39 9 36.5 13.5 36 18.05A10 10 0 1 1 27 28Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cpath d='M1 28C1 15 7 5 19 2l1.5 3.5C13 9 10.5 13.5 10 18.05A10 10 0 1 1 1 28ZM27 28C27 15 33 5 45 2l1.5 3.5C39 9 36.5 13.5 36 18.05A10 10 0 1 1 27 28Z'/%3E%3C/svg%3E") center / contain no-repeat;
  pointer-events: none;
  transform-origin: 30% 80%;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-stars { display: flex; gap: 5px; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-stars i {
  display: block;
  width: 18px;
  height: 18px;
  background: var(--ottone);
  clip-path: polygon(50% 0, 61.2% 34.5%, 97.6% 34.5%, 68.2% 55.9%, 79.4% 90.5%, 50% 69.1%, 20.6% 90.5%, 31.8% 55.9%, 2.4% 34.5%, 38.8% 34.5%);
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-quote { flex: 1 1 auto; margin: 0; padding: 0; border: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-quote p {
  margin: 0;
  max-width: 38ch;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(19px, 10px + 1.05vw, 25px);
  line-height: 1.38;
  letter-spacing: -0.012em;
  color: var(--basalto);
  text-wrap: pretty;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-w { display: inline-block; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-author {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 20px;
  border-top: 1px solid var(--soft-line);
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-author::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--ottone);
  transform-origin: 0 50%;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-avatar {
  flex: none;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--panel);
  color: var(--ottone-scuro);
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .06em;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-who { display: grid; gap: 4px; min-width: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-name {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.25;
  color: var(--basalto);
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-meta {
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--grigio-700);
}

/* ---------- Senza JS: riga scorrevole ---------- */
body.inpe-site:not(.x-brand) [data-reviews] .rv-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding-bottom: 14px;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-track > .rv-card { flex: 0 0 min(86%, 460px); scroll-snap-align: start; }

/* ---------- Con JS: mazzo di schede ---------- */
/* Ordine di sovrapposizione: attiva 4 > in uscita 3 > coda 2, 1 > resto 0.
   La scheda in uscita resta sotto quella nuova, che la copre con la tendina. */
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track {
  display: grid;
  overflow: visible;
  padding: 0 var(--rv-peek) 0 0;
  touch-action: pan-y;
}
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card {
  grid-area: 1 / 1;
  transform-origin: 100% 50%;
  transition:
    transform 1s var(--rv-spring),
    opacity .45s var(--rv-out),
    translate .6s var(--rv-spring),
    rotate .6s var(--rv-spring),
    visibility 0s linear 1s;
}
/* Il contenuto sparisce solo dalle schede in coda (bianche); quella in uscita lo tiene
   e sfuma insieme alla sua scheda */
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card > *,
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card::before { transition: opacity .25s var(--rv-fade) .3s; }
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card[data-state="active"] > *,
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card[data-state="active"]::before { transition: opacity .2s var(--rv-fade); }
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card:not([data-state="active"], [data-state="out"]) > *,
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card:not([data-state="active"], [data-state="out"])::before,
body.inpe-site:not(.x-brand) [data-reviews].is-waiting .rv-card > *,
body.inpe-site:not(.x-brand) [data-reviews].is-waiting .rv-card::before { opacity: 0; }

body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="active"] {
  z-index: 4;
  transform: none;
  opacity: 1;
  visibility: visible;
  transition:
    transform 1s var(--rv-spring),
    opacity .3s var(--rv-out),
    translate .6s var(--rv-spring),
    rotate .6s var(--rv-spring),
    visibility 0s;
}
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="next1"] {
  z-index: 2;
  transform: translateX(calc(var(--rv-peek) * .5)) scale(.955);
  opacity: 1;
  visibility: visible;
  transition-delay: 0s, 0s, 0s, 0s, 0s;
}
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="next2"] {
  z-index: 1;
  transform: translateX(var(--rv-peek)) scale(.91);
  opacity: .55;
  visibility: visible;
  transition-delay: 0s, 0s, 0s, 0s, 0s;
}
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="rest"] {
  z-index: 0;
  transform: translateX(calc(var(--rv-peek) * 1.4)) scale(.87);
  opacity: 0;
  visibility: hidden;
}
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="out"] {
  z-index: 3;
  transform-origin: 50% 50%;
  transform: translate(-20%, 10px) rotate(-3deg) scale(.9);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* Resta piena mentre la tendina della nuova scheda la copre, poi sfuma */
  transition:
    transform .8s var(--rv-sweep),
    opacity .26s var(--rv-fade) .3s,
    translate .6s var(--rv-spring),
    rotate .6s var(--rv-spring),
    visibility 0s linear .8s;
}
body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track.is-dragging > .rv-card[data-state="active"] { transition: none; }

/* Entrata della scheda attiva: parole, stelle, virgolette, firma */
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-w {
  animation: rv-rise .8s var(--rv-out) both;
  animation-delay: calc(.2s + var(--l, 0) * 90ms);
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-stars i { animation: rv-pop .62s var(--rv-pop) both; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-stars i:nth-child(1) { animation-delay: .12s; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-stars i:nth-child(2) { animation-delay: .18s; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-stars i:nth-child(3) { animation-delay: .24s; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-stars i:nth-child(4) { animation-delay: .30s; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-stars i:nth-child(5) { animation-delay: .36s; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering::before { animation: rv-mark .95s var(--rv-pop) .08s both; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-author { animation: rv-up .75s var(--rv-out) .45s both; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-author::before { animation: rv-line .9s var(--rv-wipe) .55s both; }

@keyframes rv-rise { from { opacity: 0; transform: translateY(.6em); } to { opacity: 1; transform: none; } }
@keyframes rv-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes rv-pop { from { opacity: 0; transform: scale(0) rotate(-45deg); } to { opacity: 1; transform: none; } }
@keyframes rv-mark { from { opacity: 0; transform: translateY(14px) rotate(-14deg) scale(.45); } to { opacity: 1; transform: none; } }
@keyframes rv-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes rv-wipe-next {
  from { clip-path: inset(-16px -16px -28px 100% round 14px); }
  to { clip-path: inset(-16px -16px -28px -16px round 14px); }
}
@keyframes rv-wipe-prev {
  from { clip-path: inset(-16px 100% -28px -16px round 14px); }
  to { clip-path: inset(-16px -16px -28px -16px round 14px); }
}

/* La scheda in arrivo entra con una tendina (clip-path) sopra quella in uscita */
@media (prefers-reduced-motion: no-preference) {
  body.inpe-site:not(.x-brand) [data-reviews].is-ready[data-dir="next"] .rv-card.is-entering { animation: rv-wipe-next .72s var(--rv-sweep) backwards; }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready[data-dir="prev"] .rv-card.is-entering { animation: rv-wipe-prev .72s var(--rv-sweep) backwards; }
}

/* ---------- Comandi: [pausa] [avanzamento 01/06] [indietro] [avanti] ---------- */
body.inpe-site:not(.x-brand) [data-reviews] .rv-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 28px 0 0;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-controls[hidden] { display: none; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-progress {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0 4px 0 0;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-steps { display: flex; flex: 1 1 auto; gap: 0; min-width: 0; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-step {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-step::before,
body.inpe-site:not(.x-brand) [data-reviews] .rv-step .rv-fill {
  content: "";
  position: absolute;
  left: 3px;
  right: 3px;
  top: 50%;
  height: 3px;
  margin-top: -1.5px;
  border-radius: 3px;
}
/* Binario cemento (3:1 sulla fascia), riempimento basalto (oltre 5:1 sul binario) */
body.inpe-site:not(.x-brand) [data-reviews] .rv-step::before { background: var(--cemento); transition: opacity .2s; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-step .rv-fill { display: block; background: var(--basalto); transform: scaleX(0); transform-origin: 0 50%; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-step.is-done .rv-fill { transform: scaleX(1); }
body.inpe-site:not(.x-brand) [data-reviews] .rv-step:focus-visible { outline-offset: -2px; border-radius: 6px; }

body.inpe-site:not(.x-brand) [data-reviews] .rv-count {
  display: flex;
  flex: none;
  align-items: baseline;
  gap: 6px;
  margin: 0;
  font-family: var(--font-mono);
  font-weight: 500;
  font-size: 13px;
  line-height: 1;
  letter-spacing: .12em;
  color: var(--grigio-700);
  white-space: nowrap;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-count-now { display: inline-block; color: var(--basalto); }
body.inpe-site:not(.x-brand) [data-reviews] .rv-btn {
  flex: none;
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--soft-line);
  border-radius: 50%;
  background: #FFFFFF;
  color: var(--basalto);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: transform .35s var(--rv-pop), background-color .2s ease, border-color .2s ease;
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-btn svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .35s var(--rv-out);
}
body.inpe-site:not(.x-brand) [data-reviews] .rv-toggle { width: 44px; height: 44px; border-color: var(--grigio-300); background: transparent; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-toggle svg { width: 18px; height: 18px; stroke-width: 2; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-toggle .rv-i-play,
body.inpe-site:not(.x-brand) [data-reviews].is-paused .rv-toggle .rv-i-pause { display: none; }
body.inpe-site:not(.x-brand) [data-reviews].is-paused .rv-toggle .rv-i-play { display: inline; }
body.inpe-site:not(.x-brand) [data-reviews].is-paused .rv-toggle { border-color: var(--basalto); }
body.inpe-site:not(.x-brand) [data-reviews] .rv-next { background: var(--ottone); border-color: var(--ottone); color: #FFFFFF; }
body.inpe-site:not(.x-brand) [data-reviews] .rv-btn:active { transform: scale(.92); }
/* Hover solo con il mouse: sui touch non resta "premuto" dopo il tocco */
@media (hover: hover) and (pointer: fine) {
  body.inpe-site:not(.x-brand) [data-reviews] :is(.rv-prev, .rv-toggle):hover { border-color: var(--cemento); }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-next:hover { background: var(--ottone-scuro); border-color: var(--ottone-scuro); }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-prev:hover svg { transform: translateX(-3px); }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-next:hover svg { transform: translateX(3px); }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-step:hover::before { opacity: .7; }
}

/* ---------- Tablet: una colonna, allineata al titolo ---------- */
@media (max-width: 959px) {
  body.inpe-site:not(.x-brand) [data-reviews] .rv-layout { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-carousel { width: 100%; }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-controls { padding-right: var(--rv-peek); }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-quote p { font-size: 22px; }
}

/* ---------- Mobile: una recensione alla volta ---------- */
@media (max-width: 767px) {
  body.inpe-site:not(.x-brand) [data-reviews] { --rv-peek: 0px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-layout { gap: 30px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-lede { margin-top: 16px; font-size: 15px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card { gap: 18px; padding: 26px 22px 22px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card::before { top: 24px; right: 20px; width: 40px; height: 33px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-quote p { font-size: 19px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-stars i { width: 16px; height: 16px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-author { gap: 12px; padding-top: 16px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-avatar { width: 42px; height: 42px; font-size: 13px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-name { font-size: 15px; }

  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card:is([data-state="next1"], [data-state="next2"], [data-state="rest"]) {
    z-index: 1;
    transform: translateX(18%) scale(.97);
    opacity: 0;
    visibility: hidden;
    transition:
      transform .7s var(--rv-out),
      opacity .35s var(--rv-out),
      translate .6s var(--rv-spring),
      rotate .6s var(--rv-spring),
      visibility 0s linear .7s;
  }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="out"] {
    z-index: 2;
    transform: translateX(-30%) rotate(-2.5deg) scale(.92);
    transition:
      transform .8s var(--rv-sweep),
      opacity .3s var(--rv-fade) .2s,
      translate .6s var(--rv-spring),
      rotate .6s var(--rv-spring),
      visibility 0s linear .8s;
  }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="active"] {
    transition:
      transform .95s var(--rv-spring),
      opacity .18s linear,
      translate .6s var(--rv-spring),
      rotate .6s var(--rv-spring),
      visibility 0s;
  }

  /* Una sola riga compatta, attaccata alla scheda: resta sopra la barra preventivo */
  body.inpe-site:not(.x-brand) [data-reviews] .rv-controls { gap: 8px; margin-top: 14px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-progress { display: grid; gap: 3px; align-content: center; margin: 0 2px; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-step { height: 22px; pointer-events: none; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-count { justify-content: center; font-size: 11px; letter-spacing: .1em; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-btn:not(.rv-toggle) { width: 48px; height: 48px; }
}

/* ---------- Movimento ridotto: dissolvenza semplice, autoplay attivo ---------- */
@media (prefers-reduced-motion: reduce) {
  body.inpe-site:not(.x-brand) [data-reviews] { --rv-peek: 0px; }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card,
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state] {
    z-index: 1;
    transform: none;
    translate: none;
    rotate: none;
    opacity: 0;
    visibility: hidden;
    /* styles.css, inpe.css e refinement.css azzerano le transizioni con !important: qui resta la sola dissolvenza */
    transition: opacity .2s linear .45s, visibility 0s linear .65s !important;
  }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-track > .rv-card[data-state="active"] {
    z-index: 3;
    opacity: 1;
    visibility: visible;
    transition: opacity .45s ease, visibility 0s !important;
  }
  /* Nella dissolvenza entrambe le schede mostrano il loro testo */
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card > *,
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card::before { transition: none; }
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card:not([data-state="active"], [data-state="out"]) > *,
  body.inpe-site:not(.x-brand) [data-reviews].is-ready .rv-card:not([data-state="active"], [data-state="out"])::before { opacity: 1; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering,
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering *,
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering::before,
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card.is-entering .rv-author::before { animation: none; }
  body.inpe-site:not(.x-brand) [data-reviews] :is(.rv-btn, .rv-btn svg) { transition: background-color .2s ease, border-color .2s ease; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-btn:is(:hover, :active),
  body.inpe-site:not(.x-brand) [data-reviews] .rv-btn:hover svg { transform: none; }
}

/* ---------- Contrasto elevato di Windows: forme disegnate con colori di sistema ---------- */
@media (forced-colors: active) {
  body.inpe-site:not(.x-brand) [data-reviews] .rv-stars i,
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card::before,
  body.inpe-site:not(.x-brand) [data-reviews] .rv-author::before,
  body.inpe-site:not(.x-brand) [data-reviews] .rv-step .rv-fill { forced-color-adjust: none; background: CanvasText; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-step::before { forced-color-adjust: none; background: GrayText; }
  body.inpe-site:not(.x-brand) [data-reviews] .rv-card { border-color: CanvasText; }
}
