.hero { position: relative; width: 100%; margin: 0; }
.hero__slides { position: relative; aspect-ratio: 4 / 5; max-height: 78dvh; overflow: hidden; background: var(--accent); border-radius: 0 0 var(--r-xl) var(--r-xl); }
.hero__slide { display: flex; align-items: flex-end; color: #fff; }
.hero__slide[data-tone="dark"] { color: var(--ink); }
.hero__slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 6s linear; }
.hero__slide.swiper-slide-active img { transform: scale(1); }
.hero__slide picture { position: absolute; inset: 0; }
/* Если картинки нет — мягкие матовые градиенты на основе фирменного цвета */
.hero__slide--g0 { background: linear-gradient(160deg, var(--accent), #2a3a8f); }
.hero__slide--g1 { background: linear-gradient(160deg, #1b1b2e, var(--accent)); }
.hero__slide--g2 { background: linear-gradient(160deg, #3b2a5c, #0d1a5e); }
.hero__slide--g3 { background: linear-gradient(160deg, #0f2a44, #061148); }
.hero__copy { position: relative; z-index: 2; display: grid; gap: 10px; justify-items: start; padding: 0 var(--gutter) 64px; width: min(100%, var(--max)); margin-inline: auto; }
.hero__slide.swiper-slide-active .hero__copy > * { animation: heroIn .8s var(--ease) both; }
.hero__slide.swiper-slide-active .hero__copy > :nth-child(2) { animation-delay: .08s; }
.hero__slide.swiper-slide-active .hero__copy > :nth-child(3) { animation-delay: .16s; }
@keyframes heroIn { from { opacity: 0; transform: translateY(16px); } }
.hero__sub { font-size: 14px; font-weight: 500; opacity: .85; }
.hero__title { font-size: clamp(34px, 6vw, 68px); letter-spacing: -0.035em; }
.hero__copy .btn { margin-top: 8px; min-height: 44px; }
/* Точки на тёмной «таблетке» — видны и на светлых, и на тёмных слайдах */
.hero__dots.swiper-pagination { bottom: 18px; left: 50% !important; width: auto !important; transform: translateX(-50%); display: flex; align-items: center; padding: 7px 10px; border-radius: var(--r-pill); background: rgba(10, 12, 28, .38); }
.hero__dots .swiper-pagination-bullet { width: 8px; height: 8px; margin: 0 4px !important; border-radius: 4px; background: rgba(255,255,255,.5); opacity: 1; transition: width var(--t) var(--ease), background-color var(--t) var(--ease); }
.hero__dots .swiper-pagination-bullet-active { width: 26px; background: #fff; }

@media (min-width: 768px) {
	.hero { width: min(100% - var(--gutter) * 2, var(--max)); margin: 8px auto 0; }
	.hero__slides { aspect-ratio: 21 / 9; max-height: 560px; border-radius: var(--r-xl); }
	.hero__copy { padding-bottom: 56px; padding-left: 48px; margin-inline: 0; }
}

/* Режим «Товар целиком»: фото не растягивается, фон под цвет снимка */
.hero__slide--contain { background: var(--slide-bg, #ececef); }
.hero__slide--contain img { object-fit: contain; object-position: 50% 0; transform: none; }
.hero__slide--contain.swiper-slide-active img { transform: none; }
@media (min-width: 768px) { .hero__slide--contain img { object-position: 78% center; } }

/* На светлых слайдах кнопка в фирменном цвете */
.hero__slide[data-tone="dark"] .btn--light { background: var(--accent); color: var(--accent-ink); }
