<style>.cvs {
  --cvs-accent: #FF6600;
  --cvs-accent-soft: #FFD9BF;
  --cvs-ink: #000000;
  --cvs-gap: 16px;
  --cvs-visible: 4;
  font-family: "Montserrat", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  max-width: 1180px;
  margin: 0 auto;
  padding: 16px 8px 8px;
  position: relative;
  box-sizing: border-box;
}

.main h3 {
    color: var( --color--neutral--80);
    font-size: 16px;
    font-weight: var(--font--weight--bold);
    line-height: 120%;
    letter-spacing: var(--font-tracking-title);
    font-family: var(--font--fuente--principal),sans-serif;
}

.main h2 {
  display: flex;
  justify-content: center;
}

.cvs *,
.cvs *::before,
.cvs *::after {
  box-sizing: border-box
}

.cvs-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: -1px
}

.cvs-viewport {
  overflow: hidden;
  padding: 4px 12px 18px;
  margin: 0 -12px
}

.cvs-track {
  display: flex;
  gap: var(--cvs-gap);
  list-style: none;
  margin: 0;
  padding: 0;
  transition: transform .6s cubic-bezier(.22, .7, .2, 1);
  will-change: transform
}

/* Card: diseño original */
.cvs-card {
  flex: 0 0 calc((100% - (var(--cvs-visible) - 1) * var(--cvs-gap)) / var(--cvs-visible));
  background: #fff;
  border-radius: 22px;
  padding: 18px 18px 28px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform .3s ease, box-shadow .3s ease;
}

.cvs-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, .10)
}

.cvs-img {
  width: 100%;
  aspect-ratio: 227/141;
  border-radius: 14px;
  overflow: hidden;
  background: #eceef1
}

.cvs-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s ease
}

.cvs-card:hover .cvs-img img {
  transform: scale(1.05)
}

.cvs-icon {
  margin-top: 18px;
  height: 31px;
  display: flex;
  align-items: center;
  justify-content: center
}

.cvs-icon svg {
  width: 28px;
  height: 28px
}

.cvs-title {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.1;
  font-weight: 700;
  color: var(--cvs-ink);
  letter-spacing: .01em
}

/* Controles */
.cvs-controls {
  scale: 0.7;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0px;
  margin-top: 6px
}

.cvs-btn {
  height: 65px;
  width: 60px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  display: grid;
  place-items: center;
  background: var(--cvs-accent);
  color: #fff;
  transition: background-color .2s, transform .2s;
}

.cvs-btn:hover {
  transform: scale(1.06)
}

.cvs-btn.cvs-prev {
  background: var(--cvs-accent-soft);
  color: #7a2f00
}

.cvs-btn.cvs-pause {
  background: transparent;
  color: #7a2f00;
  border: 2px solid var(--cvs-accent)
}

.cvs-btn:focus-visible,
.cvs-dot:focus-visible {
  outline: 3px solid #1a1a1a;
  outline-offset: 3px
}

.cvs-dots {
  display: flex;
  gap: 0px
}

.cvs-dot {
  width: 24px;
  height: 24px;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  display: grid;
  place-items: center
}

.cvs-dot::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #c9cbd1;
  transition: width .3s, background-color .3s, border-radius .3s
}

.cvs-dot[aria-current="true"]::before {
  width: 22px;
  border-radius: 6px;
  background: var(--cvs-accent)
}


/* Responsive: cards visibles */
@media (max-width:1024px) {
  .cvs {
    --cvs-visible: 3
  }
}

@media (max-width:768px) {
  .cvs {
    --cvs-visible: 2
  }

  .cvs-controls {
    scale: 0.5;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0px;
    margin-top: 6px;
  }
}

@media (max-width:480px) {
  .cvs {
    --cvs-visible: 1
  }

  .cvs-viewport {
    padding-right: 48px
  }
}

@media (prefers-reduced-motion:reduce) {

  .cvs-track,
  .cvs-card,
  .cvs-img img,
  .cvs-dot::before {
    transition: none
  }
}

</style><script>(function () {
    var root=document.getElementById('cvsCoberturas');
    if ( !root) return;
    var track=root.querySelector('.cvs-track');
    var slides=[].slice.call(track.children);
    var prev=root.querySelector('.cvs-prev');
    var next=root.querySelector('.cvs-next');
    var pauseBtn=root.querySelector('.cvs-pause');
    var dotsWrap=root.querySelector('.cvs-dots');
    var status=root.querySelector('.cvs-status');
    var DELAY=2000;
    var reduce=window.matchMedia && matchMedia('(prefers-reduced-motion: reduce)').matches;

    var index=0, timer=null;
    var userPaused=reduce;
    /* sin autoplay si el usuario pide menos movimiento */
    var hoverPause=false;

    slides.forEach(function (s, i) {
        s.setAttribute('aria-label', (i + 1) + ' de ' + slides.length);
      });

    function visible() {
      return parseInt(getComputedStyle(root).getPropertyValue('--cvs-visible'), 10) || 4;
    }

    function maxIndex() {
      return Math.max(0, slides.length - visible());
    }

    function buildDots() {
      dotsWrap.innerHTML='';

      for (var i=0; i <=maxIndex(); i++) {
        var d=document.createElement('button');
        d.type='button';
        d.className='cvs-dot';
        d.setAttribute('aria-label', 'Ir al grupo ' + (i + 1) + ' de ' + (maxIndex() + 1));

        (function (n) {
            d.addEventListener('click', function () {
                go(n, true);
              });
          })(i);
        dotsWrap.appendChild(d);
      }
    }

    function render(announce) {
      var v=visible();
      var gap=parseFloat(getComputedStyle(track).columnGap || getComputedStyle(track).gap) || 0;
      var step=slides[0].getBoundingClientRect().width + gap;
      track.style.transform='translateX(' + (-index * step) + 'px)';

      slides.forEach(function (s, i) {
          var shown=i >=index && i < index + v;
          s.setAttribute('aria-hidden', shown ? 'false' : 'true');
          if (shown) s.removeAttribute('inert'); else s.setAttribute('inert', '');
        });

      [].forEach.call(dotsWrap.children, function (d, i) {
          d.setAttribute('aria-current', i===index ? 'true' : 'false');
        });

      if (announce) {
        status.textContent='Mostrando coberturas ' + (index + 1) + ' a ' + Math.min(index + v, slides.length) + ' de ' + slides.length;
      }
    }

    function go(n, fromUser) {
      var m=maxIndex();
      index=n > m ? 0 : (n < 0 ? m : n);
      /* bucle infinito */
      render(fromUser);
      if (fromUser) restart();
    }

    function playing() {
      return !userPaused && !hoverPause;
    }

    function stop() {
      clearInterval(timer); timer=null;
    }

    function restart() {
      stop(); if (playing()) timer=setInterval(function () {
          go(index + 1, false);
        }

        , DELAY);
    }

    function setPauseUI() {
      pauseBtn.setAttribute('aria-label', userPaused ? 'Reanudar reproducción automática' : 'Pausar reproducción automática');
      pauseBtn.querySelector('.cvs-ico-pause').style.display=userPaused ? 'none' : '';
      pauseBtn.querySelector('.cvs-ico-play').style.display=userPaused ? '' : 'none';
    }

    prev.addEventListener('click', function () {
        go(index - 1, true);
      });

    next.addEventListener('click', function () {
        go(index + 1, true);
      });

    pauseBtn.addEventListener('click', function () {
        userPaused= !userPaused; setPauseUI(); restart();
      });

    /* Pausa al pasar el mouse o al enfocar con teclado (WCAG 2.2.2) */
    root.addEventListener('mouseenter', function () {
        hoverPause=true; stop();
      });

    root.addEventListener('mouseleave', function () {
        hoverPause=false; restart();
      });

    root.addEventListener('focusin', function () {
        hoverPause=true; stop();
      });

    root.addEventListener('focusout', function (e) {
        if ( !root.contains(e.relatedTarget)) {
          hoverPause=false; restart();
        }
      });

    /* Teclado */
    root.addEventListener('keydown', function (e) {
        if (e.key==='ArrowRight') {
          e.preventDefault(); go(index + 1, true);
        }

        if (e.key==='ArrowLeft') {
          e.preventDefault(); go(index - 1, true);
        }
      });

    /* Deslizar en táctil */
    var startX=null;

    track.addEventListener('touchstart', function (e) {
        startX=e.touches[0].clientX; hoverPause=true; stop();
      }

      , {
      passive: true
    });

  track.addEventListener('touchend', function (e) {
      if (startX===null) return;
      var dx=e.changedTouches[0].clientX - startX;
      if (Math.abs(dx) > 40) go(index + (dx < 0 ? 1 : -1), true);
      startX=null; hoverPause=false; restart();
    });

  /* Pausa cuando la pestaña no está visible */
  document.addEventListener('visibilitychange', function () {
      if (document.hidden) stop(); else restart();
    });

  /* Recalcular al cambiar el tamaño */
  var lastVisible=visible(), rt;

  window.addEventListener('resize', function () {
      clearTimeout(rt);

      rt=setTimeout(function () {
          if (visible() !==lastVisible) {
            lastVisible=visible(); buildDots(); if (index > maxIndex()) index=maxIndex();
          }

          track.style.transition='none';
          render(false);
          void track.offsetWidth;
          track.style.transition='';
        }

        , 120);
    });

  buildDots();
  setPauseUI();
  render(false);
  restart();
})();
</script>