.custom-slider-section {
  position: relative;
  width: 100%;
  min-width: 0;
}

.my-image-slider {
  .swiper-slide {
    height: 300px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
}

.images-variant-1 {
  .swiper-slide {
    &:nth-child(3n + 1) {
      width: calc(25% - 10px);
    }
    &:nth-child(3n + 2) {
      width: calc(25% - 10px);
    }
    &:nth-child(3n + 3) {
      width: calc(50% - 20px);
    }
  }
}

.images-variant-2 {
  .swiper-slide {
    &:nth-child(3n + 1) {
      width: calc(33% - 13.3px);
    }
    &:nth-child(3n + 2) {
      width: calc(33% - 13.3px);
    }
    &:nth-child(3n + 3) {
      width: calc(33% - 13.3px);
    }
  }
}

.images-variant-3 {
  .swiper-slide {
    height: 240px;
    width: calc(25% - 15px);
  }
}

.slide-ad {
  background-color: #f7b733;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  color: #333;
}

.slider-prev,
.slider-next {
  position: absolute;
  top: 50%;
  /* transform: translate(0, -50%); */

  &.swiper-button-disabled {
    opacity: 0.7;

    &:hover {
      background-color: #625741;
    }
  }
}

.slider-prev {
  left: -20px;
}

.slider-next {
  right: -20px;
}

.slider-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  gap: 0.25rem;
  padding: 1rem;
  flex-wrap: wrap;
}

.slider-pagination .swiper-pagination-bullet {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid #cdbd9e;
  background-color: #ffffff;
  opacity: 1;
  position: relative;
}

.slider-pagination .swiper-pagination-bullet::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #cdbd9e;
  transition: all 0.3s;
}

.slider-pagination .swiper-pagination-bullet-active::after {
  background-color: #ffae1c;
}

.section-title {
  margin-block: 2rem;
  background: linear-gradient(
    84.98deg,
    rgba(176, 149, 100, 0.2142) 0.67%,
    rgba(255, 253, 246, 0.42) 69.26%
  );
  display: flex;
  justify-content: center;

  .title-big {
    position: relative;
    width: fit-content;

    &:before {
      content: "";
      position: absolute;
      left: -3rem;
      top: 50%;
      transform: translate(0, -50%);
      width: 100px;
      aspect-ratio: 1;
      background: linear-gradient(
        90deg,
        rgba(255, 175, 64, 0.2) 0%,
        rgba(255, 255, 255, 0.2) 100%
      );
    }
  }
}

.slide-caption {
  font-family: var(--font-secondary);
  font-size: 1.5rem;
  color: #ffeacd;
  width: 100%;
  position: absolute;
  bottom: 0px;
  left: 0px;
  padding: 1rem;
  text-align: center;
  background: linear-gradient(
    180deg,
    rgba(88, 60, 6, 0) 0%,
    rgba(88, 60, 6, 0.9) 100%
  );
}

.my-projects-slider {
  width: 100%;
  overflow: hidden;
}

.img-slider {
  .hero-promo-card {
    max-width: 410px;
    padding: 3rem 1rem;
  }

  .hero-promo-top {
    flex-direction: column;
  }

  .promo-title {
    font-family: var(--font-secondary);
    font-size: 3rem;
    font-weight: normal;
    color: #ffe6b8;
  }

  .hero-promo-text {
    font-weight: normal;
  }

  .promo-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .promo-percent {
    position: relative;
    font-family: var(--font-secondary);
    font-size: 7rem;
    padding-block: 1rem;
    color: #ffd4a2;

    &:before {
      content: "";
      position: absolute;
      background: linear-gradient(
        to right,
        transparent 0%,
        #fff5e6 50%,
        transparent 100%
      );

      width: 150%;
      height: 2px;
      left: 50%;
      bottom: 0rem;
      transform: translate(-50%, 0);
    }
  }
}

.img-variant-2 {
  .hero-slide-overlay {
    background-color: #4e3c1765;
    backdrop-filter: blur(0.5rem);
    padding: 1.5rem;
    top: unset;
    right: unset;
    bottom: 1.5rem;
    max-width: 900px;
    width: 100%;
    left: 50%;
    transform: translate(-50%, 0);
  }

  .hero-promo-card {
    background-color: transparent;
    width: 100%;
    max-width: none;
    padding: 2rem;
    display: grid;
    backdrop-filter: unset;
    border: 1px solid #ffdab4;
    grid-template-columns: repeat(2, 1fr);
  }

  .promo-bottom {
    gap: 2rem;
  }

  .promo-percent {
    padding: 0;
    background:
      linear-gradient(0deg, #d9c581 19.36%, #d99e61 41.07%, #fff1c3 47.13%),
      #ffdab4;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;

    &:before {
      content: none;
    }
  }
}

.img-variant-3 {
  .hero-slide-overlay {
    background-color: #ffe6b230;
    backdrop-filter: blur(0.5rem);
    left: unset;
    bottom: unset;
    top: 50%;
    right: 1rem;
    transform: translate(0, -50%);
    padding: 3rem;
  }

  .hero-promo-card {
    background-color: #4e3c1780;
    backdrop-filter: unset;
    border: unset;
    padding: 3rem 1.5rem;
    gap: 2rem;
  }

  .promo-bottom {
    gap: 2rem;
  }

  .promo-percent {
    position: relative;
    background:
      linear-gradient(0deg, #d9c581 19.36%, #d99e61 41.07%, #fff1c3 47.13%),
      #ffdab4;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
  }
}

.products-slider {
  background: linear-gradient(
    90deg,
    rgba(252, 223, 170, 0.212) 0%,
    rgba(238, 232, 222, 0.53) 100%
  );
  padding: 2rem 0.25rem 3.5rem;
}

.products-variant-2 {
  .catalog-slider {
    height: 370px;
  }
}

.promotions {
  display: flex;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.promotion {
  width: 100%;
  height: 360px;
  background-color: #ffb52f;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  position: relative;
  max-height: 500px;
}

.cta-img {
  max-width: 1200px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catalog-club-button.big {
  position: absolute;
  bottom: 3rem;
  right: 23%;
  width: fit-content;
  padding-inline: 2rem;
  color: #5e5038;
  font-weight: 700;
  font-size: 1.25rem;
}

.videos {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  padding: 2rem;

  background: linear-gradient(
    90deg,
    rgba(252, 223, 170, 0.212) 0%,
    rgba(238, 232, 222, 0.53) 100%
  );
}

.video-item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.video {
  flex: 1;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.video-slider-section {
  position: relative;
}

.video-slider {
  position: relative;
}

.video-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  transition: opacity 0.4s ease;
}

.video.is-playing .video-preview {
  opacity: 0;
  pointer-events: none;
}

.video-player {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.video.is-playing .video-play {
  opacity: 0;
  pointer-events: none;
}

.video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  transition: all 0.3s;

  &:hover {
    opacity: 0.7;
  }
}

.video-play-outer {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 4px solid rgba(255, 242, 218, 0.47);
}

.video-play-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #ffc06240;
  border: 6px solid rgba(255, 242, 218, 0.65);
}

.video-play-icon {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 20px;
  border-color: transparent transparent transparent #fff2da;
  margin-left: 8px;
}

.catalog-item {
  min-height: 100%;
  display: block;
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #b8a686;
  color: #453b27;
  background-color: var(--bg);
  height: fit-content;
  transition: all 0.3s;
  z-index: 1;

  &:hover {
    border-color: #ffe5b5;
    box-shadow: 0px 8px 16px 4px rgba(138, 98, 47, 0.31);
    padding-bottom: 3rem;
    margin-bottom: -3rem;
    z-index: 10;

    .item-calculator {
      opacity: 1;
      pointer-events: unset;
      cursor: unset;

      &:hover {
        opacity: 0.7;
      }
    }

    .item-link-icon {
      transform: rotate(-45deg);
    }

    .catalog-btn-prev,
    .catalog-btn-next {
      cursor: pointer;
      pointer-events: unset;
      opacity: 1;

      &:hover {
        opacity: 0.8;
      }
    }
  }
}

.catalog-slider {
  width: 100%;
  height: 210px;
}

.catalog-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catalog-btn-prev,
.catalog-btn-next {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 5;
  cursor: none;
  pointer-events: none;
  opacity: 0;
  transition: all 0.3s;
}

.catalog-btn-prev {
  left: 0.75rem;
  transform: rotate(180deg) translate(0, 50%);
}

.catalog-btn-next {
  right: 0.75rem;
}

.catalog-pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  padding-top: 1rem;
}

.catalog-pagination.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet {
  margin: unset;
  width: 10px;
  height: 10px;
  background-color: #e6e4df;
  opacity: 1;
  transition: all 0.3s;
}

.catalog-pagination.swiper-pagination-horizontal.swiper-pagination-bullets
  .swiper-pagination-bullet-active {
  background-color: #ffae1c;
}

.item-content {
  justify-content: space-between;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.item-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.item-title {
  font-size: 1.5rem;
}

.item-center {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.25rem;
}

.item-left {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.item-price {
  font-size: 0.875rem;
  span {
    font-size: 1.5rem;
    color: #9b6d36;
    font-weight: 700;

    span {
      font-size: 1.25rem;
    }
  }
}

.item-hint {
  font-size: 0.875rem;
}

.item-link {
  flex-shrink: 0;
  background-color: #3c3b36;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;

  .item-link-icon {
    transition: all 0.3s;
  }
}

.item-like-button {
  flex-shrink: 0;
  transition: all 0.3s;
  stroke: #9b6d36;
  stroke-width: 2;
  fill: none;
  overflow: visible;
  transition: all 0.3s;

  &:hover {
    opacity: 0.7;
  }
}

.item-like-button.solid path {
  fill: #f9a24b;
  stroke: none;
}

.item-calculator {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: calc(100% - 2.5rem);
  padding: 0.5rem;
  font-size: 0.875rem;
  color: #9b6d36;
  position: absolute;
  bottom: 1.25rem;
  left: 50%;
  background-color: #ffe0a7;
  transform: translate(-50%, 0);
  opacity: 0;
  pointer-events: none;
  cursor: none;
  transition: all 0.3s;

  span {
    border-bottom: 2px dotted #9b6d36;
  }
}

@media all and (max-width: 1459px) {
  .videos {
    grid-template-columns: repeat(2, 1fr);
  }

  .projects-card-image {
    aspect-ratio: 5 / 6;

    img {
      max-width: 360px;
    }
  }
}

@media all and (max-width: 1023px) {
  .images-variant-1 {
    .swiper-slide {
      &:nth-child(2n + 1) {
        width: calc(33.333% - 8px);
      }

      &:nth-child(2n) {
        width: calc(66.666% - 8px);
      }
    }
  }

  .images-variant-2 {
    .swiper-slide {
      &:nth-child(2n + 1) {
        width: calc(50% - 8px);
      }

      &:nth-child(2n) {
        width: calc(50% - 8px);
      }
    }
  }

  .images-variant-3 {
    .swiper-slide {
      width: calc(33.333% - 10px);
    }
  }

  .promotion {
    height: 260px;
  }

  .cta {
    img {
      min-height: 350px;
      object-position: right center;
    }
  }

  .catalog-club-button.big {
    bottom: 1.5rem;
    right: 30%;
    font-size: 1rem;
  }

  .products-variant-2 {
    .catalog-slider {
      height: 240px;
    }
  }

  .img-slider {
    .hero-promo-card {
      padding: 2rem;
      width: 100%;
    }

    .hero-promo-text {
      font-size: 1rem;
      width: 100%;
    }

    .promo-title {
      font-size: 2rem;
    }

    .promo-percent {
      padding: 0;
      font-size: 5rem;
    }

    .hero-promo-top {
      gap: 0.75rem;
    }
  }

  .img-variant-3 {
    .hero-slide-overlay {
      padding: 1.5rem;
      max-width: 360px;
      transform: translate(-50%, 0);
      left: 50%;
      right: unset;
    }
    .hero-promo-card {
      padding: 1rem;
    }
  }

  .section-title {
    .title-big {
      &:before {
        width: 50px;
        left: -1rem;
      }
    }
  }

  .slider-next {
    right: -12px;
  }

  .slider-prev {
    left: -12px;
  }

  .videos,
  .promotions {
    display: flex;
    flex-direction: column;
    padding: 1rem;
  }

  .cta {
    img {
      min-height: 210px;
    }
  }

  .catalog-club-button.big {
    padding: 0.75rem;
    bottom: 0.75rem;
    left: 50%;
    right: unset;
    transform: translate(-50%, 0);
  }

  .img-slider {
    .hero-promo-card {
      padding: 1rem;
    }
  }

  .img-variant-2 {
    .hero-slide-overlay {
      max-width: 300px;
      padding: 1rem;
    }

    .hero-promo-card {
      padding: 1rem;
      display: flex;
      flex-direction: column;
      width: fit-content;
    }

    .promo-bottom {
      gap: 1rem;
    }
  }

  .products-slider {
    padding: 1rem 0.25rem 1rem;
  }

  .slider-pagination {
    gap: 0.25rem;
  }

  .slider-pagination .swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    margin: 0 !important;
  }
}
