.ccavc-carousel{
  --ccavc-height:98vh;
  --ccavc-mobile-height:520px;
  --ccavc-dot-width:65px;
  --ccavc-dot-height:59px;
  --ccavc-dot-gap:22px;
  --ccavc-dot-bottom:34px;
  --ccavc-dot-right:44px;
  position:relative;
  width:100%;
  height:var(--ccavc-height);
  overflow:hidden;
  background:#111;
  isolation:isolate;
}
.ccavc-carousel,
.ccavc-carousel *{box-sizing:border-box}
.ccavc-carousel__track,
.ccavc-carousel__slide{width:100%;height:100%}
.ccavc-carousel__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(1.015);transition:opacity .7s ease,visibility .7s ease,transform 1.2s ease;z-index:1}
.ccavc-carousel__slide.is-active{opacity:1;visibility:visible;transform:scale(1);z-index:2}
.ccavc-carousel__video{width:100%;height:100%;display:block;object-fit:cover;background:#111}
.ccavc-carousel__overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.20),rgba(0,0,0,.02) 55%,rgba(0,0,0,.14));z-index:3}
.ccavc-carousel__arrow{position:absolute;top:50%;z-index:6;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(0,0,0,.22);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.ccavc-carousel__arrow span{display:block;font-size:42px;font-weight:200;transform:translateY(-2px)}
.ccavc-carousel__arrow:hover{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.7);transform:translateY(-50%) scale(1.04)}
.ccavc-carousel__arrow--prev{left:24px}
.ccavc-carousel__arrow--next{right:24px}

/* Indicadores con imágenes reales, no como background: así no los pisa el tema ni Slick */
.ccavc-carousel .ccavc-carousel__dots{
  position:absolute!important;
  right:var(--ccavc-dot-right)!important;
  bottom:var(--ccavc-dot-bottom)!important;
  z-index:999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:var(--ccavc-dot-gap)!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  pointer-events:auto!important;
}
.ccavc-carousel .ccavc-carousel__dot{
  position:relative!important;
  display:block!important;
  width:var(--ccavc-dot-width)!important;
  height:var(--ccavc-dot-height)!important;
  min-width:var(--ccavc-dot-width)!important;
  min-height:var(--ccavc-dot-height)!important;
  max-width:var(--ccavc-dot-width)!important;
  max-height:var(--ccavc-dot-height)!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:0!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  overflow:visible!important;
  opacity:1!important;
  text-indent:0!important;
  font-size:0!important;
  line-height:0!important;
}
.ccavc-carousel .ccavc-carousel__dot::before,
.ccavc-carousel .ccavc-carousel__dot::after{content:none!important;display:none!important}
.ccavc-carousel .ccavc-carousel__dot img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  pointer-events:none!important;
  transition:opacity .18s ease,transform .22s ease,filter .22s ease!important;
}
.ccavc-carousel .ccavc-carousel__dot .ccavc-dot-img--normal{opacity:1!important;visibility:visible!important}
.ccavc-carousel .ccavc-carousel__dot .ccavc-dot-img--active{opacity:0!important;visibility:hidden!important}
.ccavc-carousel .ccavc-carousel__dot.is-active .ccavc-dot-img--normal{opacity:0!important;visibility:hidden!important}
.ccavc-carousel .ccavc-carousel__dot.is-active .ccavc-dot-img--active{opacity:1!important;visibility:visible!important}
.ccavc-carousel .ccavc-carousel__dot:hover img{filter:brightness(1.08)!important}
.ccavc-carousel .ccavc-carousel__dot--1.is-active{animation:ccavc-bounce-up 700ms linear!important}
.ccavc-carousel .ccavc-carousel__dot--2.is-active{animation:ccavc-flip 700ms linear!important}
.ccavc-carousel .ccavc-carousel__dot--3.is-active{animation:ccavc-spin 700ms linear!important}

@keyframes ccavc-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ccavc-flip{0%{transform:perspective(400px) rotateY(0)}50%{transform:perspective(400px) rotateY(180deg)}100%{transform:perspective(400px) rotateY(360deg)}}
@keyframes ccavc-bounce-up{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}

@media (max-width:768px){
  .ccavc-carousel{height:var(--ccavc-mobile-height);--ccavc-dot-width:48px;--ccavc-dot-height:44px;--ccavc-dot-gap:10px;--ccavc-dot-bottom:18px;--ccavc-dot-right:16px}
  .ccavc-carousel__arrow{width:38px;height:38px}
  .ccavc-carousel__arrow span{font-size:34px}
  .ccavc-carousel__arrow--prev{left:12px}
  .ccavc-carousel__arrow--next{right:12px}
}
