/* HIGOLD — карусели */
.carousel { position: relative; }
.carousel-viewport { overflow: hidden; }
.carousel-track {
  display: flex;
  gap: var(--car-gap, 16px);
  transition: transform .55s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}
.carousel-track.no-anim { transition: none; }
.carousel-slide { flex: 0 0 auto; position: relative; }
.carousel-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* лента (несколько карточек) */
.carousel-strip .carousel-slide { width: var(--car-width, 24%); }
@media (max-width: 1100px) { .carousel-strip .carousel-slide { width: calc(50% - var(--car-gap, 16px) / 2); } }
@media (max-width: 720px) { .carousel-strip .carousel-slide { width: 78%; } }

/* крупный слайд (коллекции) */
.carousel-hero .carousel-slide { width: 100%; }
.carousel-hero .carousel-viewport { border-radius: 20px; overflow: hidden; }

.carousel-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 46px; height: 46px; border-radius: 50%;
  border: 1px solid rgba(20, 28, 36, .14);
  background: rgba(255, 255, 255, .92);
  color: #141c24; cursor: pointer;
  display: grid; place-items: center;
  box-shadow: 0 8px 24px rgba(16, 24, 32, .12);
  transition: background .2s, transform .2s, opacity .2s;
  z-index: 3;
}
.carousel-nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.carousel-nav:disabled { opacity: .35; cursor: default; }
.carousel-nav.prev { left: 12px; }
.carousel-nav.next { right: 12px; }
.carousel-nav svg { width: 18px; height: 18px; }
.carousel-hero .carousel-nav { width: 52px; height: 52px; }
.carousel-hero .carousel-nav.prev { left: 18px; }
.carousel-hero .carousel-nav.next { right: 18px; }

.carousel-dots {
  display: flex; gap: 7px; justify-content: center;
  margin-top: 16px; flex-wrap: wrap;
}
.carousel-dot {
  width: 28px; height: 3px; border-radius: 3px; border: 0; padding: 0;
  background: rgba(20, 28, 36, .18); cursor: pointer; transition: background .2s, width .2s;
}
.carousel-dot.active { background: #c9a227; width: 44px; }
.carousel-hero .carousel-dots { position: absolute; right: 18px; top: 18px; z-index: 3; margin: 0; justify-content: flex-end; }
.carousel-hero .carousel-dot { background: rgba(255, 255, 255, .38); }
.carousel-hero .carousel-dot.active { background: #fff; }

/* подпись на слайде */
.carousel-caption {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 26px 28px 30px;
  background: linear-gradient(to top, rgba(9, 14, 20, .88) 0%, rgba(9, 14, 20, .55) 45%, rgba(9, 14, 20, 0) 100%);
  color: #fff;
}
.carousel-caption h3 { margin: 0 0 4px; font-size: 26px; letter-spacing: -.01em; }
.carousel-caption p { margin: 0 0 12px; opacity: .85; max-width: 46ch; font-size: 15px; }
.carousel-caption .btn { background: #fff; color: #141c24; }
.carousel-caption .btn:hover { background: #c9a227; color: #141c24; }
.carousel-caption .mono { opacity: .7; }

/* карточка-слайд в ленте */
.carousel-card {
  background: #fff; border: 1px solid #e6eaee; border-radius: 16px; overflow: hidden;
  display: flex; flex-direction: column; height: 100%;
  transition: transform .25s, box-shadow .25s;
}
.carousel-card:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(16, 24, 32, .12); }
.carousel-card .media { aspect-ratio: 4 / 3; background: #f2f4f6; }
.carousel-card .media img { height: 100%; }
.carousel-card .cb-body { padding: 14px 16px 16px; }
.carousel-card .cb-art { font: 500 12px/1.3 'IBM Plex Mono', monospace; color: #8a939c; }
.carousel-card h4 { margin: 6px 0 4px; font-size: 16px; line-height: 1.25; }
.carousel-card .cb-sub { font-size: 13px; color: #66707a; margin: 0 0 10px; }
.carousel-card .cb-link { font-size: 13px; font-weight: 500; color: #141c24; text-decoration: none; border-bottom: 1px solid #c9a227; }

@media (max-width: 720px) {
  .carousel-nav { width: 38px; height: 38px; }
  .carousel-nav.prev { left: 4px; }
  .carousel-nav.next { right: 4px; }
  .carousel-caption { padding: 18px 18px 22px; }
  .carousel-caption h3 { font-size: 20px; }
  .carousel-caption p { font-size: 14px; }
}

.carousel-hero .carousel-slide { width: 100%; }
.carousel-figure { position: relative; margin: 0; height: 520px; border-radius: 20px; overflow: hidden; background: #101820; }
.carousel-figure img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 900px) { .carousel-figure { height: 420px; } }
@media (max-width: 640px) { .carousel-figure { height: 380px; } }

/* секции с каруселями */
.collections { padding: 84px 0; background: #f6f7f9; }
.collections h2 { margin: 10px 0 0; }
.wr-strip-sec { padding: 60px 0 20px; }
.wr-strip-sec h2 { margin: 10px 0 24px; }
#cat-strip { margin-bottom: 28px; }
@media (max-width: 720px) { .collections { padding: 54px 0; } }

/* выравнивание карточек в ленте */
.carousel-strip .carousel-slide { display: flex; }
.carousel-strip .carousel-card { flex: 1 1 auto; }
.carousel-strip .carousel-card .media { height: 240px; aspect-ratio: auto; overflow: hidden; }
.carousel-strip .carousel-card .media img { height: 240px; width: 100%; object-fit: cover; }
.carousel-strip .carousel-card .cb-body { flex: 1 1 auto; }
@media (max-width: 720px) {
  .carousel-strip .carousel-card .media, .carousel-strip .carousel-card .media img { height: 210px; }
}

/* Полоса гардероба: интерьерные фото серий вписываются целиком */
.strip-wardrobe .carousel-card .media { height: 300px; background: #14181d; }
.strip-wardrobe .carousel-card .media img { height: 300px; width: 100%; object-fit: cover; object-position: center 42%; }
.strip-wardrobe .carousel-slide:nth-child(1) .media img { object-position: center 40%; }
@media (max-width: 640px) {
  .strip-wardrobe .carousel-card .media, .strip-wardrobe .carousel-card .media img { height: 250px; }
}

/* Полоса TOURBILLON: интерьерные фото гардеробных систем */
.strip-wardrobe .carousel-slide:nth-child(2) .media img { object-position: center 45%; }
.strip-wardrobe .carousel-slide:nth-child(3) .media img { object-position: center 55%; }
