/* Ajusta estas variables si no viven ya en :root del proyecto */
:root {
  --primary-font: 'Roobert', sans-serif;
  --mono-font: 'Space Mono', monospace;

  --fnt-size-big: calc(50 / 1280 * 100vw);
  --fnt-size-small: calc(21 / 1280 * 100vw);
  --fnt-size-tiny: calc(13 / 1280 * 100vw);

  --fnt-size-big-mb: calc(46 / 390 * 100vw);
  --fnt-size-small-mb: calc(22 / 390 * 100vw);
  --fnt-size-tiny-mb: calc(14 / 390 * 100vw);
}

.bk-carousel {
  width: 100%;
  color: var(--accent);
  font-family: var(--primary-font);
}

.bk-carousel__top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.5em;
  margin-bottom: 1.5em;
}

.bk-carousel__count {
  font-family: var(--mono-font);
  font-size: var(--fnt-size-tiny);
  color: var(--accent);
  margin: 0;
  display: flex;
  align-items: center;
}

/* Máscara del contador: mismo principio que el reveal de texto */
.bk-carousel__count-mask {
  display: inline-block;
  overflow: hidden;
  height: 1em;
  line-height: 1;
  vertical-align: top;
}

.bk-carousel__count-mask [data-current] {
  display: inline-block;
  line-height: 1;
}

.bk-carousel__controls {
  display: flex;
  gap: 1em;
}

.bk-carousel__btn {
  width: 3.5vw;
  height: 3.5vw;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.bk-carousel__btn:hover,
.bk-carousel__btn:hover {
  background-color: var(--accent);
  color: var(--light);
}

.bk-carousel__arrow {
  width: 100%;
  height: 100%;
  display: block;
}

.bk-carousel__btn:hover circle,
.bk-carousel__btn:hover circle,
.bk-carousel__btn circle {
  stroke: var(--accent);
  color: var(--accent);
}

.bk-carousel__stage {
  width: 100%;
}

.bk-carousel__list {
  display: grid;
  width: 100%;
  position: relative;
}

.bk-carousel__item {
  grid-area: 1 / 1;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  position: relative;
}

.bk-carousel__item.is--active {
  opacity: 1;
  visibility: visible;
}

.bk-carousel__row {
  display: flex;
  width: 100%;
}

.bk-carousel__small {
  font-size: var(--fnt-size-medium);
  color: var(--accent);
  line-height: 1.2;
  margin: 0;
}

@media screen and (min-width: 1000px) {
  .bk-carousel__col-1 {
    width: 33vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .bk-carousel__col-2 {
    padding-left: 25vw;
    display: flex;
    align-items: center;
  }

  .bk-carousel__list {
    background-color: var(--light);
  }

  .bk-carousel__small {
    width: 37vw;
  }

  .carousel-home-wrapper:before {
    content: '';
    height: 100%;
    position: absolute;
    left: 16.5vw;
    top: 0;
    border-left: 1.5px solid var(--accent);
  }
}

@media screen and (max-width: 1000px) {
  .bk-carousel__btn {
    width: 13.5vw;
    height: 13.5vw;
  }
  .bk-carousel__count {
    font-size: var(--fnt-size-tiny-mb);
  }
  .bk-carousel__number {
    font-size: var(--fnt-size-medium-mb);
  }
  .bk-carousel__h {
    font-size: var(--fnt-size-big-mb);
  }
  .bk-carousel__small {
    font-size: var(--fnt-size-small-mb);
  }

  .bk-carousel__row {
    flex-direction: column;
  }
}
