/* SVT Front Page — только центральное содержимое. Header/Footer сайта не затрагиваются. */

.svt-home {
	--svt-primary: #333333;
	--svt-primary-hover: #2e2e2e;
	--svt-primary-80: rgba(51, 51, 51, 0.8);
	--svt-text: #444444;
	--svt-title: #333333;
	--svt-gray-light: #f7f7f7;
	--svt-font-body: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
	--svt-font-head: 'Montserrat', 'Open Sans', Arial, sans-serif;

	font-family: var(--svt-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--svt-text);
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
}

.svt-home,
.svt-home *,
.svt-home *::before,
.svt-home *::after {
	box-sizing: border-box;
}

.svt-home--breakout {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.svt-home h2,
.svt-home h3,
.svt-home p,
.svt-home figure,
.svt-home blockquote,
.svt-home ul {
	margin: 0;
	padding: 0;
}

.svt-home img {
	display: block;
	max-width: 100%;
}

/* ---------- Сетка ---------- */
.svt-home .svt-container {
	width: 100%;
	margin-inline: auto;
	padding-inline: 15px;
}
@media (min-width: 576px)  { .svt-home .svt-container { max-width: 540px; } }
@media (min-width: 768px)  { .svt-home .svt-container { max-width: 720px; } }
@media (min-width: 992px)  { .svt-home .svt-container { max-width: 960px; } }
@media (min-width: 1200px) { .svt-home .svt-container { max-width: 1140px; } }

.svt-home .svt-row {
	display: flex;
	flex-wrap: wrap;
	margin-inline: -15px;
}
.svt-home .svt-col {
	width: 100%;
	padding-inline: 15px;
}
@media (min-width: 992px) {
	.svt-home .svt-col--4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.svt-home .svt-col--8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
}

/* ---------- Типографика ---------- */
.svt-home .svt-heading {
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 20px;
	text-transform: uppercase;
	text-align: left;
}
.svt-home .svt-heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 3px;
	background: var(--svt-primary);
}
.svt-home .svt-heading__sub {
	margin-bottom: 20px;
	font-family: var(--svt-font-head);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--svt-primary);
}
.svt-home .svt-heading__title,
.svt-home .svt-delivery__title,
.svt-home .svt-reviews-head__title {
	font-family: var(--svt-font-head);
	font-size: 35px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--svt-title);
	text-transform: uppercase;
}
.svt-home .svt-text {
	margin-bottom: 14px;
	font-size: 16px;
	color: var(--svt-text);
}

/* ---------- Кнопки ---------- */
.svt-home .svt-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px 0;
	padding: 10px 0;
}
.svt-home .svt-btn {
	display: inline-block;
	margin-inline: 10px;
	padding: 11px 24px;
	border: 1px solid var(--svt-primary);
	border-radius: 0;
	font-family: var(--svt-font-body);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.svt-home .svt-btn--solid,
.svt-home .svt-btn--solid:visited {
	background: var(--svt-primary);
	color: #fff;
}
.svt-home .svt-btn--solid:hover,
.svt-home .svt-btn--solid:focus-visible {
	background: var(--svt-primary-hover);
	border-color: var(--svt-primary-hover);
	color: #fff;
}
.svt-home .svt-btn--outline,
.svt-home .svt-btn--outline:visited {
	background: transparent;
	color: var(--svt-primary);
}
.svt-home .svt-btn--outline:hover,
.svt-home .svt-btn--outline:focus-visible {
	background: var(--svt-primary);
	color: #fff;
}
.svt-home .svt-btn:focus-visible {
	outline: 2px solid var(--svt-primary);
	outline-offset: 2px;
}

/* ---------- Товарные секции ---------- */
/* ---------- Товарные секции ---------- */
.svt-home .svt-product {
	/* Ширина колонок на десктопе. Левая = текст, правая = блок с фото. */
	--svt-info-col: minmax(0, 1fr);
	--svt-gallery-col: minmax(0, 2fr); /* для «50 на 50» поставьте minmax(0, 1fr) */
	padding: 50px 0 30px;
}

/* Мобильные: одна колонка, текст сверху, фото снизу. */
.svt-home .svt-product__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px 30px;
	align-items: start;
}

.svt-home .svt-product__info {
	min-width: 0;
}

/* Галерея: по умолчанию 1 колонка. */
.svt-home .svt-product__gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
	min-width: 0;
}

/* Планшет: фото в 2 колонки. */
@media (min-width: 768px) {
	.svt-home .svt-product__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Десктоп: слева текст, справа галерея из 2 колонок. */
@media (min-width: 992px) {
	.svt-home .svt-product__layout {
		grid-template-columns: var(--svt-info-col) var(--svt-gallery-col);
		gap: 30px;
	}
}

/* Защита от лишних <br> и пустых <p>, которые может вставить wpautop. */
.svt-home p:empty,
.svt-home .svt-product__layout > br,
.svt-home .svt-product__gallery > br {
	display: none;
}

/* ---------- Карточки с фото ---------- */
.svt-home .svt-card {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 0;
	line-height: 0;
}
.svt-home .svt-card__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 355 / 199;
	object-fit: cover;
	border-radius: 0;
	transform: scale(1);
	transition: transform 0.3s ease-in;
}
.svt-home .svt-card__overlay {
	position: absolute;
	inset: 0;
	padding: 25px;
	overflow: hidden;
	background: var(--svt-primary-80);
	color: #fff;
	line-height: 1.6;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease-in;
}
.svt-home .svt-card:hover .svt-card__img,
.svt-home .svt-card:focus-within .svt-card__img,
.svt-home .svt-card:focus .svt-card__img {
	transform: scale(1.1);
}
.svt-home .svt-card:hover .svt-card__overlay,
.svt-home .svt-card:focus-within .svt-card__overlay,
.svt-home .svt-card:focus .svt-card__overlay {
	opacity: 1;
}
.svt-home .svt-card:focus-visible {
	outline: 2px solid var(--svt-primary);
	outline-offset: 2px;
}
.svt-home .svt-card__title {
	margin: 0;
	font-family: var(--svt-font-head);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
	color: #fff;
	text-transform: uppercase;
}
.svt-home .svt-card__text {
	font-size: 14px;
	line-height: 1.5;
	color: #ddd;
}

/* ---------- Доставка ---------- */
.svt-home .svt-delivery {
	padding: 30px 0;
}
.svt-home .svt-delivery__text {
	margin-bottom: 20px;
	padding-block: 20px;
}
.svt-home .svt-delivery__title {
	margin-bottom: 20px;
	overflow-wrap: break-word;
	word-break: break-word;
}
.svt-home .svt-delivery__stat {
	display: flex;
	align-items: center;
	padding-left: 30px;
}
.svt-home .svt-delivery__number {
	font-family: var(--svt-font-head);
	font-size: 80px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--svt-title);
	word-break: break-word;
}
.svt-home .svt-delivery__caption {
	font-size: 33px;
	line-height: 1.6;
	color: var(--svt-text);
	word-break: break-word;
}

/* ---------- Отзывы ---------- */
.svt-home .svt-reviews-head {
	padding-top: 30px;
}
.svt-home .svt-reviews-head__title {
	font-size: 36px;
}

.svt-home .svt-reviews {
	background: var(--svt-gray-light);
	padding-bottom: 5px;
}
.svt-home .svt-reviews__stage {
	position: relative;
}
.svt-home .svt-reviews__viewport {
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.svt-home .svt-reviews__viewport::-webkit-scrollbar {
	display: none;
}
.svt-home .svt-reviews__track {
	display: flex;
}
.svt-home .svt-review {
	flex: 0 0 25%;
	padding: 60px 15px 5px;
	scroll-snap-align: start;
}
@media (max-width: 992px) { .svt-home .svt-review { flex-basis: 50%; } }
@media (max-width: 576px) { .svt-home .svt-review { flex-basis: 100%; } }

.svt-home .svt-review__inner {
	height: 100%;
	padding: 0 20px 20px;
	background: #fff;
	text-align: center;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
@media (min-width: 576px) {
	.svt-home .svt-review__inner { padding: 0 35px 35px; }
}
.svt-home .svt-review__avatar {
	display: block;
	width: 100px;
	height: 100px;
	margin: 0 auto;
	border: 10px solid var(--svt-gray-light);
	border-radius: 50%;
	background: #e6e6e6;
	transform: translateY(-50%);
}
.svt-home .svt-review__name {
	margin: 0;
	font-family: var(--svt-font-head);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--svt-title);
	text-transform: uppercase;
	overflow-wrap: anywhere;
}
.svt-home .svt-review__sub {
	font-size: 12px;
	font-weight: 700;
	font-style: normal;
	text-transform: uppercase;
}
.svt-home .svt-review__quote {
	position: relative;
	margin: 0;
	padding: 20px 0 0;
	border: 0;
	font-size: 16px;
	font-style: normal;
	line-height: 1.5;
	color: var(--svt-text);
}
.svt-home .svt-review__quote::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 30px;
	height: 3px;
	background: var(--svt-primary);
	transform: translateX(-50%);
}

.svt-home .svt-reviews__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 60px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--svt-primary);
	color: #fff;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 0.2s ease;
}
.svt-home .svt-reviews__arrow:hover,
.svt-home .svt-reviews__arrow:focus-visible {
	background: var(--svt-primary-hover);
	color: #fff;
}
.svt-home .svt-reviews__arrow[hidden] { display: none; }
.svt-home .svt-reviews__arrow--prev { left: 10px; }
.svt-home .svt-reviews__arrow--next { right: 10px; }

/* ---------- Анимации появления (включаются только когда работает JS) ---------- */
.svt-home.svt-js [data-svt-anim] {
	opacity: 0;
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.svt-home.svt-js [data-svt-anim="left"]  { transform: translateX(-30px); }
.svt-home.svt-js [data-svt-anim="right"] { transform: translateX(30px); }
.svt-home.svt-js [data-svt-anim].is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.svt-home.svt-js [data-svt-anim] {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.svt-home .svt-card__img,
	.svt-home .svt-card__overlay,
	.svt-home .svt-btn {
		transition: none;
	}
}
/* Скрыто визуально, доступно поисковикам и экранным дикторам. */
.svt-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
