/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus {
  outline: 0;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: #fff;
  cursor: pointer;
}

.flickity-button:focus {
  outline: 0;
  box-shadow: 0 0 0 5px #19f;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}


/* =========================================
   FLECHAS
   ========================================= */

.flickity-prev-next-button {
  position: absolute !important;
  top: 50% !important;

  width: 44px !important;
  height: 44px !important;

  border-radius: 50% !important;

  transform: translateY(-50%) !important;

  z-index: 999999 !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* =========================================
   FLECHA IZQUIERDA
   ========================================= */

.flickity-prev-next-button.previous {
  left: 45px !important;
  right: auto !important;

  transform: translateY(-50%) !important;
}


/* =========================================
   FLECHA DERECHA
   ========================================= */

.flickity-prev-next-button.next {
  right: 45px !important;
  left: auto !important;

  transform: translateY(-50%) !important;
}


/* =========================================
   RTL
   ========================================= */

.flickity-rtl .flickity-prev-next-button.previous {
  left: auto !important;
  right: 45px !important;
}

.flickity-rtl .flickity-prev-next-button.next {
  right: auto !important;
  left: 45px !important;
}


/* =========================================
   ICONOS
   ========================================= */

.flickity-prev-next-button .flickity-button-icon {
  position: absolute !important;

  left: 20% !important;
  top: 20% !important;

  width: 60% !important;
  height: 60% !important;
}


/* =========================================
   VARIABLES CAROUSEL
   ========================================= */

:root {

  --dc-carousel-lg: 3;

  --dc-carousel-md: 2;

  --dc-carousel-sm: 1;

  --dc-spacing-lg: 0px;
}


.dc-carousel {

  --dc-carousel-lg: 3;

  --dc-carousel-md: 2;

  --dc-carousel-sm: 1;
}


/* =========================================
   HIDE WHILE LOADING
   ========================================= */

html:not(.et-fb-root-ancestor) .dc-carousel:not(.dc-loaded) {
  visibility: hidden;
}


/* =========================================
   NÚMERO DE ELEMENTOS
   ========================================= */

.dc-carousel.dc-lg-1 {
  --dc-carousel-lg: 1;
}

.dc-carousel.dc-lg-2 {
  --dc-carousel-lg: 2;
}

.dc-carousel.dc-lg-3 {
  --dc-carousel-lg: 3;
}

.dc-carousel.dc-lg-4 {
  --dc-carousel-lg: 4;
}

.dc-carousel.dc-lg-5 {
  --dc-carousel-lg: 5;
}

.dc-carousel.dc-lg-6 {
  --dc-carousel-lg: 6;
}

.dc-carousel.dc-lg-7 {
  --dc-carousel-lg: 7;
}

.dc-carousel.dc-lg-8 {
  --dc-carousel-lg: 8;
}

.dc-carousel.dc-lg-9 {
  --dc-carousel-lg: 9;
}

.dc-carousel.dc-lg-10 {
  --dc-carousel-lg: 10;
}


/* =========================================
   SPACING
   ========================================= */

.dc-carousel.dc-spacing-5 {
  --dc-spacing-lg: 5px;
}

.dc-carousel.dc-spacing-10 {
  --dc-spacing-lg: 10px;
}


/* =========================================
   ANCHO DE LOS ELEMENTOS
   ========================================= */

.dc-carousel:not(.dc-blog) .flickity-viewport .flickity-slider > *,
.dc-carousel.dc-blog .flickity-viewport article {

  margin: 0 var(--dc-spacing-lg) !important;

  width: calc(
    (100% - (var(--dc-spacing-lg) * var(--dc-carousel-lg) * 2))
    / var(--dc-carousel-lg)
  ) !important;
}


/* =========================================
   TABLET
   ========================================= */

@media all and (min-width: 768px) and (max-width: 980px) {

  .dc-carousel:not(.dc-blog) .flickity-viewport .flickity-slider > *,
  .dc-carousel.dc-blog .flickity-viewport article {

    width: calc(100% / var(--dc-carousel-md)) !important;
  }

}


/* =========================================
   MOBILE
   ========================================= */

@media all and (max-width: 767px) {

  .dc-carousel:not(.dc-blog) .flickity-viewport .flickity-slider > *,
  .dc-carousel.dc-blog .flickity-viewport article {

    width: calc(
      100% -
      (var(--dc-spacing-lg) * var(--dc-carousel-sm))
      / var(--dc-carousel-sm)
    ) !important;
  }

}


/* =========================================
   DIVI ROW / COLUMN
   ========================================= */

.dc-carousel .flickity-viewport .flickity-slider > .et_pb_row,
.dc-carousel .flickity-viewport .flickity-slider > .et_pb_column {

  margin: 0 var(--dc-spacing-lg) !important;
}


/* =========================================
   3D CAROUSEL
   ========================================= */

.dc-carousel.dc-3d .flickity-slider > * > * {
  transition: transform 0.33s ease;
}

.dc-carousel.dc-3d .flickity-slider > * {
  z-index: 10;
}

.dc-carousel.dc-3d .flickity-slider > .is-selected > * {
  transform: scale(1);
}

.dc-carousel.dc-3d .flickity-slider > .is-selected {
  opacity: 1;
}

.dc-carousel.dc-3d [dc-3d='1'],
.dc-carousel.dc-3d [dc-3d='-1'] {
  z-index: 9;
  opacity: 1;
}

.dc-carousel.dc-3d [dc-3d='1'] > * {
  transform:
    perspective(1100px)
    translate3d(-21%, 0px, -87px)
    rotateX(0deg)
    rotateY(-20deg)
    scale(0.9);
}

.dc-carousel.dc-3d [dc-3d='-1'] > * {
  transform:
    perspective(1100px)
    translate3d(21%, 0px, -87px)
    rotateX(0deg)
    rotateY(20deg)
    scale(0.9);
}

.dc-carousel.dc-3d [dc-3d='2'],
.dc-carousel.dc-3d [dc-3d='-2'] {
  z-index: 8;
  opacity: 1;
}

.dc-carousel.dc-3d [dc-3d='2'] > * {
  transform:
    perspective(1100px)
    translate3d(-57%, 0px, -87px)
    rotateX(0deg)
    rotateY(-20deg)
    scale(0.8);
}

.dc-carousel.dc-3d [dc-3d='-2'] > * {
  transform:
    perspective(1100px)
    translate3d(57%, 0px, -87px)
    rotateX(0deg)
    rotateY(20deg)
    scale(0.8);
}


/* =========================================
   3D SHADOW
   ========================================= */

.dc-carousel.dc-3d .flickity-slider > * > *::after {

  content: '';

  position: absolute;

  top: 0;
  left: 0;

  width: 100%;
  height: 100%;
}


/* =========================================
   DOTS
   ========================================= */

.flickity-page-dots {

  position: absolute;

  width: 100%;

  bottom: -25px;

  padding: 0;

  margin: 0;

  list-style: none;

  text-align: center;

  line-height: 1;

  transform: translateY(30px);

  z-index: 500;
}


.flickity-rtl .flickity-page-dots {
  direction: rtl;
}


.flickity-page-dots .dot {

  display: inline-block;

  width: 10px;

  height: 10px;

  margin: 0 8px;

  background: #333;

  border-radius: 50%;

  opacity: 0.25;

  cursor: pointer;
}


.flickity-page-dots .dot.is-selected {
  opacity: 1;
}


/* =========================================
   OCULTAR PAGINATION ANTIGUA
   ========================================= */

.dc-carousel .pagination {
  display: none;
}


/* =========================================
   DIVI — SECCIÓN QUE CONTIENE FLICKITY
   ========================================= */

/*
 * IMPORTANTE:
 * El inspector confirmó que Flickity está
 * directamente sobre la sección de Divi.
 */

.et_pb_section.flickity-enabled {
  position: relative !important;
  overflow: visible !important;
}


/* =========================================
   ASEGURAR VISIBILIDAD DE LAS FLECHAS
   ========================================= */

.et_pb_section.flickity-enabled
.flickity-prev-next-button {
  z-index: 999999 !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* =========================================
   TABLET
   ========================================= */

@media all and (min-width: 768px) and (max-width: 980px) {

  .flickity-prev-next-button.previous {
    left: 25px !important;
  }

  .flickity-prev-next-button.next {
    right: 25px !important;
  }

}


/* =========================================
   MOBILE
   ========================================= */

@media all and (max-width: 767px) {

  .et_pb_section.flickity-enabled {
    overflow: hidden !important;
  }

  .flickity-prev-next-button.previous {
    left: 5px !important;
  }

  .flickity-prev-next-button.next {
    right: 5px !important;
  }

}
/* =========================================
   FLECHAS FUERA DEL CONTENIDO
   ========================================= */

.et_pb_section.flickity-enabled > .flickity-prev-next-button {
    position: absolute !important;
    top: 50% !important;
    width: 44px !important;
    height: 44px !important;
    z-index: 999999 !important;
    margin: 0 !important;
}

/* Flecha izquierda - FUERA */
.et_pb_section.flickity-enabled > .flickity-prev-next-button.previous {
    left: -55px !important;
    right: auto !important;
    transform: translateY(-50%) !important;
}

/* Flecha derecha - FUERA */
.et_pb_section.flickity-enabled > .flickity-prev-next-button.next {
    right: -55px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
}

/* El contenedor de Divi debe permitir que salgan */
.et_pb_section.flickity-enabled {
    overflow: visible !important;
}

/* El carousel sigue recortando solamente las tarjetas */
.et_pb_section.flickity-enabled .flickity-viewport {
    overflow: hidden !important;
}
/* =========================================
   FLECHAS EXTERNAS DEL CAROUSEL
   ========================================= */

.ntvo-external-arrow {
    position: fixed !important;
    z-index: 999999999 !important;
    width: 44px !important;
    height: 44px !important;
    border: none !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.9) !important;
    color: #333 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}

.ntvo-external-arrow .flickity-button-icon {
    position: absolute !important;
    width: 60% !important;
    height: 60% !important;
    left: 20% !important;
    top: 20% !important;
}

.ntvo-external-arrow.previous {
    transform: translate(-100%, -50%) !important;
    margin-left: -18px !important;
}

.ntvo-external-arrow.next {
    transform: translate(100%, -50%) !important;
    margin-right: -18px !important;
}

@media (max-width: 767px) {

    .ntvo-external-arrow {
        width: 36px !important;
        height: 36px !important;
    }

    .ntvo-external-arrow.previous {
        transform: translate(0, -50%) !important;
        margin-left: 8px !important;
    }

    .ntvo-external-arrow.next {
        transform: translate(0, -50%) !important;
        margin-right: 8px !important;
    }
}