.rfc-carousel{
  --rfc-stage-height:765px;
  --rfc-card-width:432px;
  --rfc-card-height:700px;
  --rfc-step:235px;
  --rfc-side-scale:88;
  --rfc-blur:10px;
  --rfc-radius:22px;
  --rfc-bg:#fff;
  position:relative;
  width:100%;
  height:var(--rfc-stage-height);
  overflow:hidden;
  background:var(--rfc-bg);
  outline:none;
  touch-action:pan-y;
}
.rfc-stage{position:absolute;inset:0;overflow:hidden}
.rfc-slide{
  position:absolute;
  left:50%;
  top:18px;
  width:var(--rfc-card-width);
  height:var(--rfc-card-height);
  border-radius:var(--rfc-radius);
  overflow:hidden;
  background:#111;
  transform-origin:center center;
  transition:transform .58s cubic-bezier(.22,.61,.36,1),filter .58s ease,opacity .58s ease;
  will-change:transform,filter,opacity;
  cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.08);
}
.rfc-slide.is-active{z-index:20;filter:none;opacity:1;cursor:grab}
.rfc-slide.is-active:active{cursor:grabbing}
.rfc-slide.is-hidden{pointer-events:none}
.rfc-video{width:100%;height:100%;display:block;object-fit:cover;background:#111}
.rfc-sound{
  position:absolute;
  z-index:40;
  top:28px;
  left:calc(50% + var(--rfc-card-width)/2 - 44px);
  width:34px;height:34px;
  border:0;border-radius:999px;
  background:#fff;
  color:#111;
  display:grid;place-items:center;
  padding:8px;
  cursor:pointer;
  box-shadow:0 1px 5px rgba(0,0,0,.08);
  transition:transform .2s ease;
}
.rfc-sound:hover{transform:scale(1.06)}
.rfc-sound svg{width:18px;height:18px;fill:currentColor}
.rfc-sound .rfc-icon-sound-on{display:none}
.rfc-sound.is-unmuted .rfc-icon-sound-on{display:block}
.rfc-sound.is-unmuted .rfc-icon-sound-off{display:none}
.rfc-pagination{
  position:absolute;
  z-index:50;
  left:50%;bottom:34px;
  transform:translateX(-50%);
  min-height:22px;
  padding:5px 11px;
  display:flex;align-items:center;gap:8px;
  border-radius:14px;
  background:#fff;
}
.rfc-dot{
  width:8px;height:8px;padding:0;border:0;border-radius:50%;
  background:#bcbcbc;cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}
.rfc-dot.is-active{background:#111;transform:scale(1.05)}
.rfc-dot:focus-visible,.rfc-sound:focus-visible{outline:2px solid currentColor;outline-offset:2px}
@media (max-width:767px){
  .rfc-slide{top:14px}
  .rfc-sound{top:24px;left:calc(50% + var(--rfc-card-width)/2 - 42px)}
  .rfc-pagination{bottom:18px}
}
@media (prefers-reduced-motion:reduce){
  .rfc-slide{transition:none}
}

/* Reset aggressivo contro gli stili globali di tema/Elementor sui button. */
.rfc-carousel .rfc-pagination button.rfc-dot{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  display:block !important;
  flex:0 0 8px !important;
  width:8px !important;
  min-width:8px !important;
  max-width:8px !important;
  height:8px !important;
  min-height:8px !important;
  max-height:8px !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#bcbcbc !important;
  box-shadow:none !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}
.rfc-carousel .rfc-pagination button.rfc-dot.is-active{
  background:#111 !important;
  transform:scale(1.05);
}

/* Reset completo del pulsante audio contro gli stili di tema ed Elementor. */
.rfc-carousel button.rfc-sound{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 36px !important;
  width:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  aspect-ratio:1 / 1 !important;
  margin:0 !important;
  padding:8px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#111 !important;
  box-shadow:0 1px 5px rgba(0,0,0,.12) !important;
  font-size:0 !important;
  line-height:0 !important;
  text-decoration:none !important;
  overflow:hidden !important;
}
.rfc-carousel button.rfc-sound::before,
.rfc-carousel button.rfc-sound::after{
  content:none !important;
  display:none !important;
}
.rfc-carousel button.rfc-sound svg{
  display:block !important;
  flex:0 0 18px !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  margin:0 !important;
  padding:0 !important;
  fill:currentColor !important;
  pointer-events:none !important;
}
.rfc-carousel button.rfc-sound .rfc-icon-sound-on{display:none !important;}
.rfc-carousel button.rfc-sound .rfc-icon-sound-off{display:block !important;}
.rfc-carousel button.rfc-sound.is-unmuted .rfc-icon-sound-on{display:block !important;}
.rfc-carousel button.rfc-sound.is-unmuted .rfc-icon-sound-off{display:none !important;}
