/* ============================================================
   VIA BIT — RESPONSIVE (все media-запросы)
   ============================================================ */

/* ================= MOBILE NAV (по умолчанию скрыт) ================= */
.viabit-mobile-nav {
	display: none;
}

/* ============================================================
   HEADER
   ============================================================ */
@media (min-width: 1280px) {
	.viabit-header-menu .sale-menu { margin-left: auto; }
}
@media (max-width: 1279px) {
	.viabit-header-navigation { overflow-x: auto; }
	.viabit-header-menu { gap: 10px; }
	.viabit-header-menu a { padding: 4px 0; white-space: nowrap; }
	.viabit-header-menu .sub-menu,
	.viabit-header-menu .children { box-shadow: none; min-width: 160px; }
}
@media (max-width: 1023px) {
	.viabit-header__bar { gap: 12px; }
	.viabit-header__top { flex-wrap: wrap; gap: 12px; }
	.viabit-header__menu {
		order: 3;
		width: 100%;
		overflow-x: auto;
		justify-content: flex-start;
		margin-top: 6px;
	}
	.viabit-megamenu { display: none !important; }
	.viabit-header__catalog { padding: 10px 16px; }
	.viabit-header__catalog span:last-child { display: none; }
}
@media (max-width: 767px) {
	.viabit-header__vat-wrap { display: none; }
}
@media (max-width: 700px) {
	.header-cart__dropdown {
		position: fixed;
		top: 76px;
		right: 14px;
		left: 14px;
		width: auto;
		max-height: calc(100vh - 92px);
		overflow-y: auto;
		border-radius: 23px;
	}
	.mini-cart__close { display: block; }
}

/* ============================================================
   HOME / HERO
   ============================================================ */
@media (max-width: 1023px) {
	.viabit-hero__inner { grid-template-columns: 1fr; padding: 48px 24px; gap: 32px; }
	.viabit-hero__media-img img { max-height: 320px; object-fit: contain; }
	.viabit-promo__inner { flex-direction: column; padding: 32px 24px; gap: 32px; }
	.viabit-why-layout { grid-template-columns: 1fr; padding: 0 24px; }
	.viabit-promo-cards { grid-template-columns: repeat(3, 1fr); }
	.viabit-promo__content { padding: 0; }
	.viabit-promo__title { font-size: clamp(1.75rem, 5vw, 2.75rem); line-height: 1.15; }
	.viabit-promo__text { font-size: 16px; line-height: 1.4; }
	.viabit-promo__btn { min-width: 0; width: 100%; }
	.viabit-promo__media img { max-width: 100%; height: auto; }
	.viabit-products-grid--4 { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
	.viabit-hero__inner { padding: 32px 16px; gap: 24px; }
	.viabit-why-layout { padding: 0 16px; gap: 24px; }
	.viabit-benefits-card { padding: 24px 20px; }
	.viabit-benefits-card__title { font-size: 1.375rem; }
	.viabit-generation__title { font-size: 1.375rem; }
	.viabit-promo-cards { grid-template-columns: 1fr; }
	.viabit-promo-card { min-height: 160px; }
	.viabit-products-section { padding: 40px 0; }
	.viabit-products-grid--4 { grid-template-columns: 1fr; gap: 8px; }
	.viabit-products-grid .product { padding: 0; }
	.viabit-products-grid .woocommerce-loop-product__title { font-size: 0.6875rem; }
	.viabit-products-grid .price { font-size: 0.875rem; }
	.viabit-products-grid .button { padding: 6px 10px; font-size: 0.75rem; }
}
@media (max-width: 639px) {
	.viabit-container { padding: 0 16px; }
	.viabit-request__form { flex-direction: column; }
	.viabit-request__form input[type="text"],
	.viabit-request__form input[type="tel"],
	.viabit-request__form .viabit-btn { width: 100%; }
}

/* ============================================================
   MOBILE HOME (≤767)
   ============================================================ */
@media (max-width: 767px) {
	.viabit-container { width: calc(100% - 30px); margin-inline: auto; padding: 0; }

	/* --- Topbar --- */
	.viabit-header__topbar { height: 40px; padding: 0; }
	.viabit-header__topbar-inner {
		height: 40px;
		padding: 0 14px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}
	.viabit-header__socials { display: none; }
	.viabit-header__sale {
		font-size: 12px;
		line-height: 12px;
		font-weight: 700;
		color: #0090F0;
		white-space: normal;
		text-align: center;
		flex: 0 1 auto;
		margin: 0;
	}
	.viabit-header__vat {
		font-size: 12px;
		line-height: 16px;
		color: #314158;
		opacity: 0.5;
		display: inline-flex;
		align-items: center;
		gap: 4px;
		flex-shrink: 0;
	}

	/* --- Bar --- */
	.viabit-header__bar { padding: 6px 12px; }
	.viabit-header__top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
	.viabit-header__logo { display: flex; align-items: center; flex: 1; min-width: 0; order: 0; }
	.viabit-header__logo .custom-logo,
	.viabit-header__logo img { height: 24px; width: auto; display: block; }
	.viabit-header__actions { display: flex; align-items: center; order: 1; margin-left: auto; gap: 0; }
	.viabit-header__favorite,
	.viabit-header__account { width: 40px; height: 40px; }
	.viabit-header__favorite svg,
	.viabit-header__account svg { width: 20px; height: 20px; }
	.header-cart__button { width: 40px; height: 40px; }
	.header-cart__button svg { width: 24px; height: 24px; }
	.header-cart__badge { width: 18px; height: 18px; font-size: 12px; top: -2px; right: -2px; }

	/* --- Бургер в обычной шапке (mid) --- */
	.viabit-header:not(.viabit-header--sticky) .viabit-header__mid .viabit-mobile-burger--mid {
		display: inline-flex !important;
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		width: 40px;
		height: 38px;
		padding: 10px;
		background: #0090F0;
		border: 0;
		border-radius: 10px;
		cursor: pointer;
		flex-shrink: 0;
	}
	.viabit-header:not(.viabit-header--sticky) .viabit-header__mid .viabit-mobile-burger--mid span {
		display: block;
		height: 2px;
		width: 100%;
		background: #fff;
		border-radius: 2px;
	}
	.viabit-header:not(.viabit-header--sticky) .viabit-header__logo .viabit-mobile-burger--sticky {
		display: none !important;
	}

	/* --- Sticky: скрываем mid, показываем бургер в логотипе --- */
	.viabit-header--sticky .viabit-header__mid { display: none !important; }
	.viabit-header--sticky .viabit-header__logo .viabit-mobile-burger--sticky {
		display: inline-flex !important;
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		width: 34px;
		height: 34px;
		padding: 6px;
		background: #0090F0;
		border: 0;
		border-radius: 10px;
		cursor: pointer;
		flex-shrink: 0;
	}
	.viabit-header--sticky .viabit-header__logo .viabit-mobile-burger--sticky span {
		display: block;
		height: 2px;
		width: 100%;
		background: #fff;
		border-radius: 2px;
	}
	.viabit-header--sticky .viabit-header__mid .viabit-mobile-burger--mid { display: none !important; }
	.viabit-header__logo .viabit-mobile-burger--sticky { display: none; }

	/* --- Mid-блок (не sticky): бургер + каталог + поиск --- */
	.viabit-header__mid {
		display: flex;
		align-items: center;
		gap: 6px;
		flex: 0 0 100%;
		order: 2;
		margin: 0;
		min-width: 0;
	}
	.viabit-header__catalog-wrap { display: inline-flex; align-items: center; flex-shrink: 0; }
	.viabit-header__catalog {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 12px 18px;
		border-radius: 999px;
		background: #009BF0;
		color: #fff;
		font-family: 'Gilroy', 'Inter', sans-serif;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
		border: 0;
		white-space: nowrap;
	}
	.viabit-header__catalog span:last-child { display: inline; }
	.viabit-header__search {
		flex: 1;
		height: 46px;
		border-radius: 50px;
		border: 1px solid #CBD5E1;
		min-width: 0;
	}
	.viabit-header__search input[type="search"] {
		padding: 8px 46px 8px 16px;
		font-size: 13px;
		line-height: 16px;
	}
	.viabit-header__search button { width: 32px; height: 32px; right: 6px; }
	.viabit-header__search button svg { width: 20px; height: 20px; }

	/* --- Меню-таблетки --- */
	.viabit-header__menu {
		display: flex;
		overflow-x: auto;
		flex-wrap: nowrap;
		scrollbar-width: none;
		padding: 0;
		order: 3;
		flex: 0 0 100%;
	}
	.viabit-header__menu::-webkit-scrollbar { display: none; }
	.viabit-header-navigation { overflow-x: auto; scrollbar-width: none; }
	.viabit-header-navigation::-webkit-scrollbar { display: none; }
	.viabit-header-menu { gap: 10px; flex-wrap: nowrap; }
	.viabit-header-menu a {
		padding: 8px 20px;
		font-size: 12px;
		line-height: 14px;
		font-family: 'Gilroy', 'Inter', sans-serif;
		white-space: nowrap;
		background: #F6F6F6;
		border-radius: 30px;
		height: 34px;
		text-transform: uppercase;
		color: #292929;
	}
	.viabit-header-menu a svg { width: 18px; height: 18px; }
	.viabit-header-menu .sub-menu,
	.viabit-header-menu .children { display: none; }

	/* --- Hero --- */
	.viabit-hero__models--desktop { display: flex !important; gap: 10px; }
	.viabit-hero__models--mobile { display: flex; }
	#viabit-home > * + * { margin-top: 30px; }
	.viabit-hero__wrap { padding: 0; margin: 0 15px; }
	.viabit-hero__inner { display: flex; flex-direction: column; gap: 8px; padding: 0; }
	.viabit-hero__content {
		background: #F1F5F9;
		border-radius: 30px;
		padding: 24px 20px 20px;
		width: 100%;
		margin: 0;
		gap: 10px;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.viabit-hero__title {
		font-size: 24px;
		line-height: 24px;
		color: #0090F0;
		margin: 0;
		font-weight: 800;
		font-family: 'Inter', sans-serif;
		text-transform: uppercase;
	}
	.viabit-hero__text {
		font-size: 14px;
		line-height: 16px;
		color: #000;
		font-family: 'IBM Plex Mono', monospace;
		margin: 8px 0 0;
		max-width: 321px;
	}
	.viabit-hero__cta {
		font-size: 16px;
		line-height: 20px;
		font-weight: 700;
		font-family: 'IBM Plex Mono', monospace;
		color: #000;
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		margin-top: 8px;
	}
	.viabit-hero__media {
		border-radius: 30px;
		padding: 16px 14px 14px;
		background: #0090F0;
		width: 100%;
		margin: 0;
		box-sizing: border-box;
		min-height: 209px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.viabit-hero__content .viabit-hero__models--mobile {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		scrollbar-width: none;
		margin-top: 10px;
		width: 100%;
		padding: 4px 0;
	}
	.viabit-hero__content .viabit-hero__model-name { color: #000; }
	.viabit-hero__content .viabit-hero__model-tops { color: #314158; }
	.viabit-hero__content .viabit-hero__model-price { color: #0090F0; }
	.viabit-hero__model { flex: 0 0 auto; display: flex; flex-direction: column; gap: 2px; align-items: center; }
	.viabit-hero__model-name {
		font-size: 12px;
		line-height: 12px;
		font-weight: 700;
		font-family: 'IBM Plex Mono', monospace;
		white-space: nowrap;
		color: #fff;
	}
	.viabit-hero__model-tops {
		font-size: 11px;
		line-height: 12px;
		font-family: 'Gilroy', 'Inter', sans-serif;
		color: #fff;
	}
	.viabit-hero__model-price {
		font-size: 11px;
		line-height: 12px;
		font-family: 'IBM Plex Mono', monospace;
		color: #fff;
	}
	.viabit-hero__media-img { margin: 8px 0; width: 100%; display: flex; justify-content: center; }
	.viabit-hero__media-img img { max-height: 116px; width: auto; object-fit: contain; }
	.viabit-hero__buy {
		font-size: 14px;
		font-weight: 500;
		font-family: 'Inter', sans-serif;
		padding: 8px 30px;
		height: 37px;
		background: #fff;
		color: #0090F0;
		border-radius: 52px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		text-decoration: none;
		min-width: 109px;
	}

	/* --- Why layout --- */
	.viabit-why-layout { display: flex; flex-direction: column; gap: 8px; padding: 0; margin-top: 0; }
	.viabit-benefits-card {
		border-radius: 30px;
		padding: 14px;
		gap: 12px;
		width: calc(100% - 30px);
		margin: 0 auto;
		min-height: 454px;
	}
	.viabit-benefits-card__title { font-size: 24px; line-height: 46px; font-weight: 800; color: #13184D; text-transform: uppercase; margin: 0; }
	.viabit-benefits-list { gap: 8px; }
	.viabit-benefit { padding: 12px 14px; border-radius: 20px; min-height: 114px; background: #fff; }
	.viabit-benefit__title { font-size: 20px; line-height: 20px; font-family: 'IBM Plex Mono', monospace; color: #000; }
	.viabit-benefit__text { font-size: 13px; color: #687487; }
	.viabit-benefit__icon { width: 73px; height: 73px; }
	.viabit-benefit__icon img { width: 73px; height: 73px; }

	/* --- Generation --- */
	.viabit-generation { gap: 8px; width: calc(100% - 30px); margin: 0 auto; }
	.viabit-generation__text-wrap { border-radius: 30px; padding: 14px; padding-top: 25px; }
	.viabit-generation__title {
		font-size: 24px;
		line-height: 24px;
		font-weight: 800;
		color: #13184D;
		margin: 0 0 6px;
		text-transform: uppercase;
	}
	.viabit-generation__desc {
		font-size: 14px;
		line-height: 16px;
		color: #000;
		font-family: 'IBM Plex Mono', monospace;
		max-width: 345px;
	}

	/* --- Promo cards --- */
	.viabit-promo-cards { display: flex; flex-direction: column; gap: 6px; }
	.viabit-promo-card {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		min-height: 100px;
		height: 100px;
		padding: 0 14px;
		border-radius: 30px;
	}
	.viabit-promo-card__top { flex-direction: row; align-items: center; gap: 12px; padding: 0; position: static; }
	.viabit-promo-card__title { font-size: 16px; line-height: 16px; font-family: 'IBM Plex Mono', monospace; color: #fff; text-align: left; font-weight: 400; }
	.viabit-promo-card__arrow { width: 24px; height: 24px; font-size: 18px; color: #fff; flex-shrink: 0; }
	.viabit-promo-card__arrow svg { transform: rotate(-90deg); }
	.viabit-promo-card__img {
		position: static;
		width: 80px;
		height: 80px;
		flex-shrink: 0;
		overflow: hidden;
		border-radius: 26px;
	}
	.viabit-promo-card__img img { width: 100%; height: 100%; object-fit: cover; }

	/* --- Products section --- */
	.viabit-products-section { padding: 0; }
	.viabit-products-section__title {
		font-size: 30px;
		line-height: 20px;
		font-weight: 400;
		font-family: 'IBM Plex Mono', monospace;
		color: #000;
		text-align: center;
		margin: 0 0 16px;
	}
	.viabit-products-grid { grid-template-columns: 1fr; gap: 4px; padding: 0 4px; }

	/* --- Product card (мобилка) --- */
	.product-card { min-height: 0; height: 100%; display: flex; flex-direction: column; border-radius: 20px; padding: 0 0 8px; border: 1px solid #D7E5F4; }
	.product-card__top { top: 6px; left: 6px; right: 6px; min-height: 24px; }
	.product-card__badge {
		height: 24px;
		padding: 0 10px;
		font-size: 12px;
		line-height: 24px;
		border-radius: 40px;
		font-weight: 500;
		font-family: 'IBM Plex Mono', monospace;
	}
	.product-card__badge--new { background: #26A871; }
	.product-card__favorite { width: 24px; height: 24px; }
	.product-card__favorite svg { width: 20px; height: 20px; }
	.product-card__media { height: 104px; flex: 0 0 104px; margin-bottom: 8px; }
	.product-card__image { width: 100%; height: 100%; object-fit: contain; }
	.product-card__title {
		font-size: 14px;
		line-height: 16px;
		font-weight: 600;
		font-family: 'IBM Plex Mono', monospace;
		color: #334C5C;
		min-height: 0;
		margin: 0 0 6px;
		padding: 0 8px;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.product-card__availability {
		font-size: 14px;
		line-height: 16px;
		font-weight: 700;
		font-family: 'IBM Plex Mono', monospace;
		margin-bottom: 6px;
		padding: 0 8px;
		gap: 4px;
		text-transform: uppercase;
	}
	.product-card__availability .is-available { color: #0090F0; }
	.product-card__specs { padding: 0 8px; }
	.product-card__spec-row { margin-bottom: 2px; }
	.product-card__spec-row dt,
	.product-card__spec-row dd { font-size: 12px; line-height: 1.3; }
	.product-card__spec-row dd { max-width: 50%; }
	.product-card__purchase { min-height: 0; padding: 8px 8px 0; gap: 6px; margin-top: auto; }
	.product-card__price { flex: 1; min-width: 0; }
	.product-card__old-price { font-size: 14px; line-height: 15px; min-height: 15px; color: #CE0E2D; text-decoration: line-through; }
	.product-card__old-placeholder { min-height: 15px; }
	.product-card__current-price {
		font-size: 20px;
		line-height: 20px;
		font-family: 'IBM Plex Mono', monospace;
		gap: 4px;
		color: rgba(23, 38, 47, 0.8);
	}
	.product-card__current-price .amount { font-size: 20px; }
	.product-card__vat { font-size: 14px; line-height: 15px; font-family: 'IBM Plex Mono', monospace; color: #26A871; margin-top: 2px; }
	.product-card__cart-wrap { flex: 0 0 40px; height: 40px; }
	.product-card__cart-btn { padding: 2px 8px; height: 40px; font-size: 12px; border-radius: 100px; border: 2px solid #0090F0; }
	.product-card__cart-btn svg { width: 30px; height: 30px; }
	.product-card__cart-go { font-size: 12px; border-radius: 100px; }

	/* --- Promo (большой баннер) --- */
	.viabit-promo__bg { border-radius: 0; }
	.viabit-promo__inner {
		min-height: 270px;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 32px 0;
		overflow: hidden;
		width: 100%;
		box-sizing: border-box;
		gap: 0;
	}
	.viabit-promo__content {
		max-width: 100%;
		padding: 0;
		position: relative;
		z-index: 2;
		display: flex;
		flex-direction: column;
		flex: 1;
		width: 100%;
		gap: 0;
	}
	.viabit-promo__title { font-size: 24px; line-height: 24px; font-weight: 800; width: auto; margin: 0 0 8px; text-transform: uppercase; }
	.viabit-promo__text { font-size: 16px; line-height: 16px; font-family: 'IBM Plex Mono', monospace; width: auto; max-width: 369px; margin: 0; }
	.viabit-promo__btn {
		width: 100%;
		max-width: 390px;
		min-width: 0;
		height: 49px;
		padding: 12px 20px;
		font-size: 16px;
		line-height: 21px;
		border-radius: 52px;
		box-sizing: border-box;
		margin-top: 50px;
	}
	.viabit-promo__media { position: absolute; right: 0; bottom: 0; z-index: 1; }
	.viabit-promo__media img { width: 100%; height: auto; max-height: 290px; object-fit: contain; }

	/* --- Banners --- */
	.viabit-banners__grid { display: flex; flex-direction: column; gap: 8px; }
	.viabit-banner { min-height: 250px; padding: 20px; border-radius: 30px; width: calc(100% - 30px); margin: 0 auto; }
	.viabit-banner__title { font-size: 24px; line-height: 24px; font-weight: 800; max-width: 217px; text-transform: uppercase; }
	.viabit-banner__arrow { font-size: 44px; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; }

	/* --- Brands --- */
	.viabit-brands {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		gap: 24px;
		padding: 16px 0;
		justify-content: flex-start;
		width: calc(100% - 30px);
		margin: 0 auto;
	}
	.viabit-brands::-webkit-scrollbar { display: none; }
	.viabit-brand { font-size: 14px; white-space: nowrap; flex-shrink: 0; opacity: 0.7; }

	/* --- Partners --- */
	.viabit-partners__row {
		gap: 25px;
		padding: 12px 0;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		justify-content: flex-start;
	}
	.viabit-partners__row::-webkit-scrollbar { display: none; }
	.viabit-partners__logo { flex-shrink: 0; }

	/* --- Request --- */
	.viabit-request { padding: 30px 0 40px; }
	.viabit-request__inner { max-width: 100%; }
	.viabit-request__title { font-size: 24px; line-height: 46px; text-align: center; }
	.viabit-request__fields {
		display: flex;
		flex-direction: row;
		gap: 10px;
		width: 100%;
	}
	.viabit-request__text {
		font-size: 14px;
		line-height: 14px;
		font-family: 'IBM Plex Mono', monospace;
		max-width: 303px;
		margin: 0 auto 16px;
		text-align: center;
		color: #314158;
	}
	.viabit-request__form { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 10px; flex-wrap: nowrap; width: 100%; max-width: 100%; }
	.viabit-request__form input[type="text"],
	.viabit-request__form input[type="tel"] {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		height: 48px;
		padding: 0 18px;
		font-size: 14px;
		line-height: 16px;
		border-radius: 50px;
		border: 1px solid #CBD5E1;
		box-sizing: border-box;
	}
	.viabit-request__form .viabit-btn,
	.viabit-request__form button {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
		height: 48px;
		padding: 12px 20px;
		font-size: 15px;
		line-height: 21px;
		border-radius: 52px;
		background: #0090F0;
		color: #fff;
		border: 0;
		font-weight: 500;
		font-family: 'Inter', sans-serif;
		box-sizing: border-box;
	}

	/* --- Footer --- */
	.viabit-footer__inner { padding: 30px 0 0; }
	.viabit-footer__cols { flex-direction: column; gap: 24px; }
	.viabit-footer__brand { max-width: 100%; }
	.viabit-footer__brand .custom-logo { width: 141px; max-height: 32px; height: auto; }
	.viabit-footer-tagline { font-size: 12px; line-height: 12px; margin-top: 12px; max-width: 314px; }
	.viabit-footer-light .email-wrapper { max-width: 346px; height: 48px; padding: 0 0 0 16px; border-radius: 42px; }
	.viabit-footer-light .email-input { height: 44px; width: 278px; }
	.viabit-footer-light .email-input input { font-size: 14px; line-height: 16px; font-family: 'Arial', sans-serif; }
	.viabit-footer-light .email-btn { width: 44px; height: 44px; border-radius: 42px; flex: 0 0 44px; }
	.viabit-footer-light .email-btn svg { width: 20px; height: 20px; }
	.viabit-footer-socials { margin-top: 16px; gap: 20px; }
	.viabit-footer__social { width: 24px; height: 24px; }
	.viabit-footer__social svg { width: 24px; height: 24px; }
	.viabit-footer__nav { flex-direction: column; gap: 20px; }
	.viabit-footer__nav-col { gap: 16px; }
	.viabit-footer__nav-col h3 { font-size: 14px; line-height: 20px; text-transform: uppercase; }
	.viabit-footer-menu a { font-size: 13px; line-height: 20px; }
	.viabit-footer__contacts { max-width: 288px; }
	.viabit-footer__contact { font-size: 12px; line-height: 20px; }
	.viabit-footer__contact svg { width: 16px; height: 16px; }
	.viabit-footer-bottom { padding: 24px 0; margin-top: 24px; }
	.viabit-footer__copyright { font-size: 12px; line-height: 20px; text-align: center; }

	/* --- Mini cart (mobile) --- */
	.header-cart__dropdown {
		position: fixed;
		top: 60px;
		right: 8px;
		left: 8px;
		width: auto;
		max-height: calc(100vh - 70px);
		overflow-y: auto;
		border-radius: 23px;
		z-index: 1001;
	}
	.mini-cart__close { display: block; }
	.mini-cart__title { font-size: 18px; }
	.mini-cart__item { grid-template-columns: 50px minmax(0, 1fr) 18px; gap: 10px; padding: 10px 0; }
	.mini-cart__image { width: 50px; height: 50px; border-radius: 10px; }
	.mini-cart__name { font-size: 12px; }
	.mini-cart__meta { font-size: 12px; margin-top: 3px; }
	.mini-cart__quantity { height: 22px; }
	.mini-cart__qty-btn { width: 22px; font-size: 12px; }
	.mini-cart__qty-num { min-width: 18px; font-size: 12px; }
	.mini-cart__price { font-size: 12px; }
	.mini-cart__total strong { font-size: 18px; }
	.mini-cart__button { min-height: 36px; font-size: 12px; }

	/* --- Прочее --- */
	.viabit-reveal .viabit-hero { transform: translateY(15px); transition: opacity .4s ease, transform .4s ease; padding: 0; }
	.viabit-home .viabit-hero { padding: 0; }
	.viabit-header__catalog-btn,
	.viabit-megamenu,
	.viabit-megamenu-overlay { display: none !important; }
	.viabit-mobile-nav { display: flex; }
	body, html { overflow: auto !important; position: static !important; }
	.viabit-home,
	.viabit-catalog { padding-bottom: 70px; }
}

/* ============================================================
   CATALOG (каталог / фильтры / сортировка / баннер)
   ============================================================ */
@media (max-width: 1023px) {
	.viabit-catalog__layout { grid-template-columns: 1fr; }
	.viabit-catalog__sidebar { position: static; }
	.viabit-catalog__filters-btn { display: inline-flex; }
	.viabit-catalog__toolbar .viabit-btn--sm { padding: 10px 18px; }
	.viabit-catalog__sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		z-index: 210;
		width: min(420px, 92vw);
		transform: translateX(-100%);
		transition: transform 0.25s ease;
		background: #fff;
		overflow-y: auto;
		box-shadow: 0 0 60px rgba(15, 23, 42, 0.2);
		padding: 20px;
	}
	.viabit-catalog__sidebar.is-open { transform: translateX(0); }
	.viabit-catalog__filters-backdrop {
		position: fixed;
		inset: 0;
		z-index: 205;
		background: rgba(15, 23, 42, 0.5);
		display: none;
	}
	.viabit-catalog__filters-backdrop.is-open { display: block; }
	.viabit-filter__close { display: flex; }
	.viabit-filter__apply { display: flex; }
	.viabit-filter__title { margin: 0 0 20px; }
	.viabit-catalog__content .products { grid-template-columns: 1fr; gap: 12px; }
	.viabit-catalog__toolbar { margin-bottom: 16px; }
}
@media (max-width: 639px) {
	.viabit-catalog__content .products { grid-template-columns: 1fr; gap: 8px; }
	.viabit-catalog nav.woocommerce-pagination { margin-top: 28px; }
	.viabit-catalog nav.woocommerce-pagination .page-numbers {
		min-width: 38px;
		height: 38px;
		font-size: 14px;
		border-radius: 10px;
	}
	.viabit-catalog nav.woocommerce-pagination ul { gap: 6px; }
	.viabit-request__form { flex-direction: column; }
	.viabit-request__form input[type="text"],
	.viabit-request__form input[type="tel"],
	.viabit-request__form .viabit-btn { width: 100%; }
}

/* ============================================================
   CATALOG — HERO + TABS + PROMO BLOCKS (≤767)
   ============================================================ */
@media (max-width: 767px) {
	.viabit-catalog-hero { grid-template-columns: 1fr; padding: 0; min-height: 0; background: #F1F5F9; border-radius: 30px; }
	.viabit-catalog-hero__body { padding: 24px; }
	.viabit-catalog-hero__title { font-size: 24px; line-height: 24px; margin: 0; }
	.viabit-catalog-hero__desc { font-size: 14px; line-height: 16px; margin-top: 20px; }
	.viabit-catalog-hero__media { border-radius: 0; }
	.viabit-catalog-tabs { flex-direction: column; align-items: stretch; gap: 12px; }
	.viabit-catalog-tabs__list { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; padding-bottom: 4px; }
	.viabit-catalog-tabs__list::-webkit-scrollbar { display: none; }
	.viabit-promo-blocks { grid-template-columns: 1fr; gap: 12px; }
	.viabit-promo-block { min-height: 200px; padding: 20px; }
	.viabit-promo-block__title { font-size: 22px; }
	.viabit-catalog__content .product img { height: unset; }
	.viabit-catalog-sort { width: 100%; }
	.catalog-sort__trigger { width: 100%; justify-content: space-between; }
	.catalog-sort__dropdown { width: 94%; min-width: 0; right: auto; left: 0; }
	.catalog-sort__option { height: 48px; }
}

/* ============================================================
   CATALOG — FULL-WIDTH BANNER
   ============================================================ */
@media (max-width: 1023px) {
	.viabit-catalog-banner-full__inner {
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 20px;
		padding: 0;
	}
	.viabit-catalog-banner-full__body {
		padding: 32px 24px 0;
		text-align: left;
	}
	.viabit-catalog-banner-full__title {
		font-size: clamp(24px, 5vw, 34px);
		line-height: 1.1;
		margin: 0 0 12px;
		max-width: 100%;
		word-wrap: break-word;
	}
	.viabit-catalog-banner-full__text {
		font-size: 15px;
		line-height: 1.4;
		margin: 0 0 20px;
		max-width: 100%;
	}
	.viabit-catalog-banner-full__media {
		display: block;
		width: 100%;
		padding: 0 16px 24px;
	}
	.viabit-catalog-banner-full__media img {
		width: 100%;
		height: auto;
		max-height: 260px;
		object-fit: contain;
		display: block;
		margin: 0 auto;
	}
}
@media (max-width: 767px) {
	.viabit-catalog-banner-full__inner { grid-template-columns: 1fr; padding: 32px 24px; min-height: 0; }
	.viabit-catalog-banner-full__body { padding: 0; }
	.viabit-catalog-banner-full__media { display: block; width: 100%; }
	.viabit-catalog-banner-full__media img { max-height: 200px; width: 100%; object-fit: contain; }
}
@media (max-width: 639px) {
	.viabit-catalog-banner-full { margin: 32px 0; }
	.viabit-catalog-banner-full__body { padding: 24px 16px 0; }
	.viabit-catalog-banner-full__title { font-size: 24px; line-height: 1.15; margin: 0 0 10px; }
	.viabit-catalog-banner-full__text { font-size: 14px; line-height: 1.4; margin: 0 0 16px; }
	.viabit-catalog-banner-full__media { padding: 0 12px 20px; }
	.viabit-catalog-banner-full__media img { max-height: 200px; }
}

/* Скрытие кнопки «Фильтры» на десктопе */
@media (min-width: 1024px) {
	.viabit-catalog__filters-btn,
	.viabit-filter__open,
	.viabit-catalog-toolbar__filters,
	button[data-viabit-filters-open],
	[data-viabit-filters-toggle] {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		overflow: hidden !important;
		position: absolute !important;
		left: -9999px !important;
		top: -9999px !important;
		pointer-events: none !important;
	}
}

/* Z-index: фильтры и drawer выше sticky-шапки */
@media (max-width: 1023px) {
	.viabit-catalog__filters-backdrop { z-index: 1050 !important; }
	.viabit-catalog__filters-backdrop.is-open { z-index: 1050 !important; }
	.viabit-catalog__sidebar { z-index: 1100 !important; }
	.viabit-catalog__sidebar.is-open { z-index: 1100 !important; }
	.viabit-catalog__sidebar .viabit-filter__header,
	.viabit-catalog__sidebar .viabit-filter__title,
	.viabit-catalog__sidebar .viabit-filter__close { position: relative; z-index: 1110; }
}
@media (max-width: 767px) {
	.viabit-drawer { z-index: 1100 !important; }
	.viabit-drawer.is-open { z-index: 1100 !important; }
	.viabit-drawer__panel { z-index: 1100 !important; }
	.viabit-drawer__overlay { z-index: 1100 !important; }
}

/* ============================================================
   SINGLE PRODUCT (базовая + расширенная адаптация)
   ============================================================ */
@media (max-width: 1099px) {
	.product-main { grid-template-columns: 1fr 1fr; }
	.product-main__purchase { grid-column: 1 / -1; }
	.product-buy-box { position: static; max-width: 500px; }
}
@media (max-width: 767px) {
	.site-container { width: min(100% - 28px, 600px); }
	.product-main { display: flex; flex-direction: column; gap: 24px; }
	.product-gallery { display: flex; flex-direction: column-reverse; }
	.product-gallery__thumbs { flex-direction: row; overflow-x: auto; }
	.product-gallery__thumb { flex: 0 0 72px; width: 72px; height: 72px; }
	.product-summary__title { font-size: 27px; }
	.product-buy-box { width: 100%; border-radius: 25px; }
	.product-details__row { font-size: 12px; }

	.single-product-page .woocommerce-breadcrumb { margin: 0 0 8px; font-size: 11px; }
	.sp-layout { display: flex; flex-direction: column; gap: 0; margin: 0; }
	.sp-info { display: contents; }
	.sp-gallery { order: 3; margin-bottom: 12px; width: 100%; flex-direction: column; }
	.sp-gallery--single { flex-direction: column; }
	.sp-gallery--single .sp-gallery__thumbs {
		display: flex;
		flex-direction: row;
		overflow-x: auto;
		flex: none;
		gap: 8px;
		width: 100%;
		max-height: none;
		padding: 4px 0;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.sp-gallery--single .sp-gallery__thumbs::-webkit-scrollbar { display: none; }
	.sp-gallery__thumbs {
		flex-direction: row;
		overflow-x: auto;
		flex: none;
		gap: 8px;
		width: 100%;
		max-height: none;
		padding: 4px 0;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.sp-gallery__thumbs::-webkit-scrollbar { display: none; }
	.sp-gallery__thumb { flex: 0 0 73px; width: 73px; height: 51px; padding: 2px; border-radius: 7px; }
	.sp-gallery__thumb img { object-fit: contain; }
	.sp-gallery__main { width: 100%; height: 265px; min-height: 0; border-radius: 30px; margin-bottom: 12px; }
	.sp-gallery__main img { max-height: 265px; }
	.sp-title { order: 1; font-size: 20px; line-height: 1.1; margin: 8px 0 4px; }
	.sp-rating { order: 2; font-size: 14px; margin-bottom: 8px; gap: 4px; }
	.sp-rating__stars svg { width: 18px; height: 18px; }
	.sp-rating__count { font-size: 14px; }
	.sp-info .product-specifications { order: 4; margin-bottom: 4px; }
	.sp-info .product-specifications .product-specifications__row { font-size: 16px; line-height: 18px; margin-bottom: 6px; }
	.sp-info .product-card__specs { order: 5; margin: 0 0 8px; width: 100%; }
	.sp-info .product-card__spec-row { font-size: 16px; line-height: 18px; margin-bottom: 6px; }
	.sp-info .product-card__spec-row dt { font-size: 16px; }
	.sp-info .product-card__spec-row dd { font-size: 16px; }
	.product-coins { order: 6; margin: 0 0 12px; }
	.product-coins__title { font-size: 13px; margin-bottom: 6px; }
	.product-coins__list { gap: 4px; }
	.product-coins__item { min-width: 0; height: 32px; padding: 0 12px; font-size: 13px; }
	.product-sidebar { order: 7; display: contents; }
	.product-sidebar-card {
		order: 7;
		width: 100%;
		box-sizing: border-box;
		border-radius: 18px;
		padding: 14px;
		box-shadow: 0 4px 18px rgba(0,0,0,0.08);
		margin-bottom: 16px;
	}
	.product-price-row .product-price { font-size: 26px; }
	.product-price-nds { font-size: 13px; }
	.product-price-row { flex-wrap: wrap; gap: 8px; }
	.product-payment-icons { margin-left: 0; gap: 6px; flex-wrap: wrap; }
	.product-payment-icons img { height: 22px !important; }
	.product-condition { margin-bottom: 12px; flex-wrap: nowrap !important; }
	.product-condition__btn {
		height: 32px !important;
		padding: 0 10px !important;
		font-size: 13px !important;
		flex: 1 1 0;
		white-space: nowrap;
	}
	.product-actions { margin-bottom: 0; display: flex; flex-direction: row; align-items: center; gap: 10px; }
	.product-buy-wrap { width: 100%; flex: 1; }
	.product-buy-btn { height: 40px; font-size: 16px; width: 100%; }
	.product-buy-btn svg { width: 24px; height: 24px; }
	.product-buy-qty { height: 40px; width: 100%; }
	.product-buy-qty__btn { width: 40px; height: 40px; font-size: 18px; }
	.product-buy-qty__num { font-size: 16px; }
	.product-wishlist-btn { width: 40px; height: 40px; flex: 0 0 auto; }
	.product-meta-row {
		order: 8;
		margin: 16px 0 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		box-sizing: border-box;
	}
	.product-meta-row .product-sku { font-size: 13px; }
	.product-meta-row .product-share { font-size: 13px; }
	.product-contact { order: 9; margin: 0 0 16px; }
	.product-contact__title { font-size: 14px; }
	.product-contact__row .contact-icon { width: 36px; height: 36px; }
	.product-contact__email { font-size: 13px; }
	.product-benefits { order: 10; gap: 8px; margin: 0 0 16px; }
	.product-benefits__item span { font-size: 13px; }
	.product-delivery {
		order: 11;
		width: 100%;
		box-sizing: border-box;
		padding: 16px 20px;
		border-radius: 18px;
		margin-bottom: 20px;
	}
	.product-delivery__title { font-size: 14px; }
	.product-delivery__name,
	.product-delivery__price,
	.product-delivery__when { font-size: 13px; }
	.sp-description { margin-bottom: 20px; }
	.sp-description__content { font-size: 14px; line-height: 1.5; }
	.sp-description__content p { margin-bottom: 10px; }
	.product-details { margin-bottom: 20px; }
	.product-details__title { font-size: 14px; }
	.product-details__row { font-size: 13px; gap: 4px; }
	.product-reviews { margin-bottom: 20px; }
	.product-reviews__title { font-size: 14px; }
	.review-card { padding: 12px; }
	.review-card__author { font-size: 14px; }
	.review-card__meta { font-size: 12px; }
	.review-card__body strong { font-size: 13px; }
	.review-card__body p { font-size: 13px; }
	.related.products { margin-top: 20px; }
	.related.products h2 { font-size: 18px; margin-bottom: 12px; }
	.related.products ul.products { grid-template-columns: 1fr; gap: 6px; }
	.viabit-recently { margin: 20px 0; }
	.viabit-recently__title { font-size: 18px; margin-bottom: 12px; }
	.viabit-recently__grid { grid-template-columns: 1fr; gap: 6px; }
	.viabit-banners__grid { display: flex; flex-direction: column; gap: 8px; }
	.viabit-partners__row {
		display: flex;
		overflow-x: auto;
		gap: 25px;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	.viabit-request__form { flex-direction: column; gap: 6px; }
	.viabit-request__form input[type="text"],
	.viabit-request__form input[type="tel"] { width: 100%; flex: none; height: 30px; padding: 0 14px; font-size: 12px; }
	.viabit-request__form button { width: 100%; max-width: 130px; height: 30px; }
	.viabit-request__title { font-size: 16px; line-height: 1.2; }
	.viabit-footer__cols { flex-direction: column; gap: 24px; }
	.viabit-footer__nav { flex-direction: column; gap: 20px; }
	.viabit-header--sticky .viabit-header__logo { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; }
	.viabit-header--sticky .viabit-header__logo .custom-logo,
	.viabit-header--sticky .viabit-header__logo img { height: 24px; width: auto; }
	.viabit-header--sticky .viabit-header__actions { order: 2; flex: 0 0 auto; }
	.viabit-header--sticky + .viabit-header--spacer { display: block; }
	.viabit-mobile-burger--sticky { display: none; }
	.viabit-header--sticky .viabit-header__bar { padding: 6px 12px; }
	.viabit-header--sticky .viabit-header__top { flex-wrap: nowrap; gap: 6px; }
	.product-tabs { margin: 24px 0; }
	.product-tabs__nav {
		gap: 16px;
		overflow-x: auto;
		flex-wrap: nowrap;
		scrollbar-width: none;
		padding-bottom: 4px;
	}
	.product-tabs__nav::-webkit-scrollbar { display: none; }
	.product-tabs__tab { font-size: 12px; padding: 10px 0; white-space: nowrap; }
	.product-tabs__count { min-width: 18px; height: 18px; font-size: 10px; }
	.woocommerce-checkout .col2-set { grid-template-columns: 1fr; gap: 16px; }
}

/* ============================================================
   SINGLE PRODUCT — расширенная мобильная адаптация (≤767)
   (порядок блоков через order)
   ============================================================ */
@media (max-width: 767px) {
	/* --- Хлебные крошки --- */
	.single-product-page { padding: 8px 0 0; }
	.single-product-page .woocommerce-breadcrumb {
		margin: 0 0 10px;
		padding: 6px 0;
		font-size: 11px;
		line-height: 1.3;
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.single-product-page .woocommerce-breadcrumb::-webkit-scrollbar { display: none; }
	.single-product-page .woocommerce-breadcrumb a,
	.single-product-page .woocommerce-breadcrumb .breadcrumb_last { white-space: nowrap; }

	/* --- Распускаем обёртки --- */
	.sp-layout {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0;
		margin: 0;
		width: 100% !important;
	}
	.sp-left-col,
	.sp-left-top { display: block; }
	.sp-info { display: contents; }

	/* --- 1. Название --- */
	.sp-title { order: 1 !important; font-size: 22px; line-height: 1.15; margin: 0 0 6px; }

	/* --- 2. Рейтинг --- */
	.sp-rating { order: 2 !important; font-size: 14px; margin-bottom: 12px; gap: 6px; }
	.sp-rating__stars svg { width: 18px; height: 18px; }
	.sp-rating__count { font-size: 14px; }

	/* --- 3. Галерея --- */
	.sp-gallery { order: 3 !important; width: 100%; margin-bottom: 14px; flex-direction: column; }
	.sp-gallery--single { flex-direction: column; }
	.sp-gallery__main {
		width: 100%;
		height: 265px;
		min-height: 0;
		border-radius: 30px;
		margin-bottom: 10px;
	}
	.sp-gallery__main img { max-height: 265px; }
	.sp-gallery__thumbs,
	.sp-gallery--single .sp-gallery__thumbs {
		display: flex;
		flex-direction: row;
		overflow-x: auto;
		flex: none;
		gap: 8px;
		width: 100%;
		max-height: none;
		padding: 2px 0;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	.sp-gallery__thumbs::-webkit-scrollbar,
	.sp-gallery--single .sp-gallery__thumbs::-webkit-scrollbar { display: none; }
	.sp-gallery__thumb { flex: 0 0 73px; width: 73px; height: 51px; padding: 2px; border-radius: 7px; }

	/* Скрываем краткое описание и характеристики из инфо (они в табе) */
	.sp-info-short-desc { display: none; }
	.sp-info-specs { display: none; }

	/* --- Сайдбар: распускаем на 100% --- */
	.sp-layout > .product-sidebar,
	.product-sidebar {
		display: contents !important;
		flex: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		position: static !important;
		order: 0 !important;
	}
	.product-sidebar-card,
	.product-meta-row,
	.product-contact,
	.product-benefits,
	.product-delivery {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
		box-sizing: border-box !important;
		align-self: stretch !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* --- 4. Блок «Купить» --- */
	.product-sidebar-card {
		order: 4 !important;
		border-radius: 20px;
		padding: 16px;
		box-shadow: 0 4px 18px rgba(0,0,0,0.08);
		margin: 0 0 14px !important;
	}
	.product-sidebar-card .product-price-block,
	.product-sidebar-card .product-actions { width: 100%; box-sizing: border-box; }
	.product-price-row { width: 100%; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
	.product-price-row .product-price { font-size: 30px; line-height: 1.1; font-weight: 600; }
	.product-price-nds { font-size: 13px; }
	.product-payment-icons { display: flex; gap: 6px; flex-wrap: wrap; margin-left: 0; }
	.product-payment-icons img { height: 22px !important; }
	.product-condition { width: 100%; margin-bottom: 12px; padding: 3px; flex-wrap: nowrap !important; gap: 2px; }
	.product-condition__btn {
		height: 34px !important;
		padding: 0 10px !important;
		font-size: 12px !important;
		flex: 1 1 0;
		white-space: nowrap;
	}
	.product-actions { display: flex; flex-direction: row; align-items: center; gap: 8px; margin-bottom: 0; }
	.product-buy-wrap { flex: 1; width: auto; }
	.product-buy-btn { height: 48px; font-size: 16px; width: 100%; }
	.product-buy-btn svg { width: 24px; height: 24px; }
	.product-buy-qty { height: 48px; width: 100%; }
	.product-buy-qty__btn { width: 48px; height: 48px; font-size: 18px; }
	.product-buy-qty__num { font-size: 16px; }
	.product-wishlist-btn { width: 48px; height: 48px; flex: 0 0 auto; }

	/* --- 5. SKU + Поделиться --- */
	.product-meta-row {
		order: 5 !important;
		margin: 0 0 18px !important;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.product-meta-row .product-sku { font-size: 12px; }
	.product-meta-row .product-share { font-size: 12px; }

	/* --- 6. Контакты --- */
	.product-contact { order: 6 !important; margin: 0 0 18px !important; }
	.product-contact__title { font-size: 13px; margin-bottom: 8px; }
	.product-contact__row { width: 100%; display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; }
	.product-contact__row .contact-icon { width: 34px; height: 34px; flex-shrink: 0; }
	.product-contact__email {
		font-size: 12px;
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.product-contact__copy { flex-shrink: 0; }

	/* --- 7. Преимущества --- */
	.product-benefits { order: 7 !important; margin: 0 0 18px !important; gap: 8px; padding: 0; list-style: none; }
	.product-benefits__item { display: flex; align-items: flex-start; gap: 10px; width: 100%; }
	.product-benefits__icon { width: 14px; height: 14px; flex-shrink: 0; margin-top: 1px; }
	.product-benefits__icon img { width: 14px; height: 14px; display: block; }
	.product-benefits__item span { font-size: 12px; line-height: 1.4; min-width: 0; }

	/* --- 8. Доставка --- */
	.product-delivery { order: 8 !important; padding: 14px 16px; border-radius: 18px; margin: 0 0 18px !important; }
	.product-delivery__title { font-size: 13px; margin-bottom: 10px; }
	.product-delivery__method { width: 100%; }
	.product-delivery__row { width: 100%; display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
	.product-delivery__name,
	.product-delivery__price,
	.product-delivery__when { font-size: 12px; }
	.product-delivery__name { flex: 1 1 auto; min-width: 0; }
	.product-delivery__price { flex: 0 0 auto; text-align: right; }
	.product-delivery__when { width: 100%; }
	.product-delivery__divider { width: 100%; margin: 10px 0; }

	/* --- 9. Табы --- */
	.product-tabs { order: 9 !important; margin: 0 0 16px; width: 100%; }
	.product-tabs__nav {
		gap: 16px;
		overflow-x: auto;
		flex-wrap: nowrap;
		scrollbar-width: none;
		padding-bottom: 4px;
		margin-bottom: 12px;
		border-bottom: 1px solid #D7E5F4;
	}
	.product-tabs__nav::-webkit-scrollbar { display: none; }
	.product-tabs__tab { font-size: 12px; padding: 10px 0; white-space: nowrap; }
	.product-tabs__count { min-width: 18px; height: 18px; font-size: 10px; }
	.product-tabs__content { font-size: 13px; line-height: 1.55; }
	.product-tabs__content h1 { font-size: 18px; }
	.product-tabs__content h2 { font-size: 16px; }
	.product-tabs__content h3 { font-size: 14px; }
	.product-tabs__specs .product-card__spec-row,
	.product-tabs__content .product-card__spec-row { display: flex; align-items: baseline; margin-bottom: 8px; }
	.product-tabs__specs .product-card__spec-row dt,
	.product-tabs__content .product-card__spec-row dt {
		font-family: 'Gilroy', 'Inter', sans-serif;
		font-weight: 700;
		font-size: 14px;
		color: #26345D;
		flex-shrink: 0;
	}
	.product-tabs__specs .product-card__spec-dots,
	.product-tabs__content .product-card__spec-dots { display: none; }
	.product-tabs__specs .product-card__spec-row dd,
	.product-tabs__content .product-card__spec-row dd {
		margin: 0 0 0 6px;
		font-family: 'Gilroy', 'Inter', sans-serif;
		font-size: 14px;
		font-weight: 400;
		color: #334C5C;
		text-align: left;
		max-width: none;
		flex: 1;
	}

	/* --- 10. Теги --- */
	.product-tags { order: 10 !important; margin: 0 0 20px; display: flex; flex-wrap: wrap; gap: 6px; }
	.product-tags__item { font-size: 11px; padding: 5px 12px; }

	/* --- Похожие / недавние --- */
	.related.products { margin-top: 24px; }
	.related.products h2 { font-size: 18px; margin-bottom: 12px; }
	.related.products ul.products { grid-template-columns: 1fr 1fr; gap: 8px; }
	.viabit-recently { margin: 24px 0; }
	.viabit-recently__title { font-size: 18px; margin-bottom: 12px; }
	.viabit-recently__grid { grid-template-columns: 1fr 1fr; gap: 8px; }

	/* --- Share popup --- */
	.share-popup {
		position: fixed;
		left: 12px;
		right: 12px;
		bottom: 12px;
		top: auto;
		min-width: 0;
		border-radius: 20px;
		box-shadow: 0 12px 40px rgba(0,0,0,0.18);
		z-index: 9999;
	}

	/* --- Lightbox --- */
	.sp-lightbox__img-wrap { padding: 40px 12px; }
	.sp-lightbox__nav { width: 44px; height: 60px; font-size: 32px; }
	.sp-lightbox__nav--prev { left: 6px; }
	.sp-lightbox__nav--next { right: 6px; }
	.sp-lightbox__close { top: 12px; right: 16px; font-size: 32px; }
}

/* ============================================================
   MOBILE DRAWER (≤639)
   ============================================================ */
@media (max-width: 639px) {
	.viabit-drawer__panel {
		width: 100%;
		background: #F1F5F9;
		border-radius: 0;
		box-shadow: none;
		padding: 0;
		display: flex;
		flex-direction: column;
	}
	.viabit-drawer__head { padding: 16px 14px; border-bottom: none; gap: 12px; flex-shrink: 0; }
	.viabit-drawer__back { width: auto; height: auto; background: transparent; border-radius: 0; padding: 0; }
	.viabit-drawer__back svg { width: 24px; height: 24px; }
	.viabit-drawer__title {
		font-family: 'IBM Plex Mono', monospace;
		font-weight: 400;
		font-size: 16px;
		line-height: 20px;
		color: #000;
	}
	.viabit-drawer__nav { padding: 0 14px; flex: 1; overflow-y: auto; }
	.viabit-drawer__list { display: flex; flex-direction: column; gap: 6px; padding: 0; margin: 0; }
	.viabit-drawer__item {
		border-bottom: none;
		display: flex;
		flex-direction: column;
		gap: 6px;
		background: #E6EDF5;
		border-radius: 20px;
	}
	.viabit-drawer__cat {
		display: flex;
		align-items: center;
		width: 100%;
		box-sizing: border-box;
		padding: 13px 30px;
		background: #fff;
		border-radius: 30px;
		color: #292929;
		font-family: 'Gilroy', 'Inter', sans-serif;
		font-weight: 400;
		font-size: 16px;
		line-height: 14px;
		text-decoration: none;
		text-transform: uppercase;
		min-height: 46px;
	}
	.viabit-drawer__cat--active { background: #0090F0; color: #fff; }
	.viabit-drawer__cat:hover { background: #0090F0; color: #fff; text-decoration: none; }
	.viabit-drawer__sub {
		padding: 12px;
		margin: 0 0 6px;
		display: none;
		flex-direction: column;
		gap: 6px;
		list-style: none;
		background: #E6EDF5;
		border-radius: 20px;
	}
	.viabit-drawer__sub.is-open { display: flex; }
	.viabit-drawer__sub-item { list-style: none; margin: 0; }
	.viabit-drawer__sub-item a {
		display: flex;
		align-items: center;
		width: 100%;
		box-sizing: border-box;
		padding: 13px 30px;
		background: #fff;
		border-radius: 30px;
		color: #292929;
		font-family: 'Gilroy', 'Inter', sans-serif;
		font-weight: 400;
		font-size: 16px;
		line-height: 14px;
		text-decoration: none;
		min-height: 46px;
	}
	.viabit-drawer__sub-item a:hover { background: #0090F0; color: #fff; text-decoration: none; }
	.viabit-drawer__card {
		display: block;
		margin: 12px 16px 18px;
		border-radius: 40px;
		overflow: hidden;
		flex-shrink: 0;
		text-decoration: none;
		max-width: 280px;
		align-self: center;
	}
	.viabit-drawer__card img { display: block; width: 100%; height: auto; object-fit: cover; border-radius: 40px; }
	.viabit-drawer__overlay { background: rgba(0, 0, 0, 0.5); }
}

/* ============================================================
   MOBILE BOTTOM NAV (≤639)
   ============================================================ */
@media (max-width: 639px) {
	.viabit-mobile-nav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 100;
		display: flex;
		align-items: stretch;
		background: #fff;
		border-top: 1px solid #E2E8F0;
		box-shadow: 0 -4px 20px rgba(49, 75, 94, 0.08);
	}
	.viabit-mobile-nav__item {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 4px;
		padding: 10px 4px;
		text-decoration: none;
	}
	.viabit-mobile-nav__label { font-size: 0.6875rem; font-weight: 600; color: #A7ADBA; }
	.viabit-mobile-nav__item[aria-current="page"] .viabit-mobile-nav__label,
	.viabit-mobile-nav__item:hover .viabit-mobile-nav__label { color: #009BF0; }
	.viabit-mobile-nav__icon {
		width: 24px;
		height: 24px;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		opacity: 0.7;
	}
	.viabit-mobile-nav__icon--catalog { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23314B5E" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/></svg>'); }
	.viabit-mobile-nav__icon--cart { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23314B5E" stroke-width="2"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>'); }
	.viabit-mobile-nav__icon--orders { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23314B5E" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg>'); }
	.viabit-mobile-nav__icon--profile { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23314B5E" stroke-width="2"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>'); }
}

/* ============================================================
   CART PAGE (≤1023 / ≤767 / ≤639)
   ============================================================ */
@media (max-width: 1023px) {
	.viabit-cart-layout { grid-template-columns: 1fr; gap: 24px; }
	.viabit-cart-layout .viabit-cart-form,
	.viabit-cart-layout .viabit-cart-totals { grid-column: 1; }
	.viabit-cart-layout .viabit-cart-totals { position: static; top: auto; margin-bottom: 20px; }
	.viabit-cart-totals-inner { max-width: 520px; margin: 0 auto; }
}
@media (max-width: 767px) {
	.viabit-page-header { margin: 18px 0; }
	.viabit-page-header .woocommerce-breadcrumb,
	.viabit-page-header .viabit-breadcrumb {
		font-size: 11px;
		line-height: 1.3;
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin-bottom: 6px;
		padding-bottom: 2px;
	}
	.viabit-page-header .woocommerce-breadcrumb::-webkit-scrollbar,
	.viabit-page-header .viabit-breadcrumb::-webkit-scrollbar { display: none; }
	.viabit-page-header .woocommerce-breadcrumb a,
	.viabit-page-header .viabit-breadcrumb a,
	.viabit-page-header .woocommerce-breadcrumb .breadcrumb_last,
	.viabit-page-header .viabit-breadcrumb .breadcrumb_last { white-space: nowrap; }
	.viabit-page-header .viabit-page-title { font-size: 28px; line-height: 1.15; }

	.viabit-cart-layout { gap: 20px; }
	.viabit-cart-items { gap: 12px; }
	.viabit-cart-item { padding: 14px; border-radius: 18px; }
	.viabit-cart-totals-inner { padding: 22px 18px; border-radius: 22px; max-width: 100%; }
	.viabit-cart-totals__title { font-size: 16px; margin-bottom: 18px; }
	.viabit-cart-totals__row { font-size: 13px; }
	.viabit-cart-totals__row--total .viabit-cart-totals__label { font-size: 15px; }
	.viabit-cart-totals__value--total .amount,
	.viabit-cart-totals__row--total .amount { font-size: 22px; }
	.viabit-cart-checkout { margin-top: 20px; }
	.viabit-cart-checkout .viabit-cart-checkout-btn,
	.viabit-cart-checkout .checkout-button {
		min-height: 50px !important;
		font-size: 15px !important;
		padding: 12px 22px !important;
	}
	.viabit-cart-actions {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		padding: 12px 0 4px;
		display: none;
	}
	.viabit-cart-coupon { flex-direction: row; width: 100%; gap: 8px; }
	.viabit-cart-coupon__input { flex: 1; min-width: 0; height: 46px; font-size: 14px; padding: 0 16px; }
	.viabit-cart-coupon__btn { flex: 0 0 auto; height: 46px; font-size: 14px; padding: 0 20px; }
}
@media (max-width: 639px) {
	.viabit-page-header .viabit-page-title { font-size: 26px; }
	.viabit-cart-item { flex-wrap: wrap; gap: 12px; }
	.viabit-cart-item__media,
	.viabit-cart-item__media a,
	.viabit-cart-item__media img { width: 80px; height: 80px; }
	.viabit-cart-item__media { flex: 0 0 80px; }
	.viabit-cart-item__body { flex: 1 1 calc(100% - 100px); }
	.viabit-cart-item__side {
		flex: 1 1 100%;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		text-align: left;
		padding-top: 10px;
		border-top: 1px solid #E2E8F0;
		margin-top: 4px;
	}
	.viabit-cart-item__price,
	.viabit-cart-item__subtotal { flex: 1 1 0; }
	.viabit-cart-item__subtotal { text-align: right; }
	.viabit-cart-item__price-label,
	.viabit-cart-item__subtotal-label { display: block; margin-bottom: 2px; }
	.viabit-cart-item__price-value { font-size: 14px; }
	.viabit-cart-item__subtotal-value { font-size: 16px; }
	.viabit-cart-totals-inner { padding: 20px 16px; border-radius: 20px; }
	.viabit-cart-checkout .viabit-cart-checkout-btn,
	.viabit-cart-checkout .checkout-button {
		min-height: 48px !important;
		font-size: 15px !important;
	}
}

/* ============================================================
   CHECKOUT (≤1023 / ≤767 / ≤639)
   ============================================================ */
@media (max-width: 1023px) {
	.woocommerce form.checkout.viabit-form { flex-direction: column; gap: 20px; }
	.woocommerce form.checkout.viabit-form .viabit-fieldset {
		flex: 1 1 auto !important;
		width: 100% !important;
		padding: 24px 22px 20px;
	}
	.woocommerce form.checkout.viabit-form .viabit-order-col {
		flex: 1 1 auto !important;
		width: 100% !important;
		position: static !important;
		top: auto !important;
		padding: 24px 22px;
	}
	.viabit-checkout-page .viabit-checkout-actions { order: 0; }
}
@media (max-width: 767px) {
	.viabit-checkout-page { margin: 0 0 40px; }
	.woocommerce form.checkout.viabit-form .viabit-fieldset { padding: 20px 16px 16px; border-radius: 22px; }
	.woocommerce form.checkout.viabit-form .viabit-order-col { padding: 20px 16px; border-radius: 22px; }
	.viabit-checkout-page h3,
	.viabit-checkout-page #order_review_heading,
	.viabit-checkout-page .woocommerce-billing-fields h3,
	.viabit-checkout-page #customer_details h3 { font-size: 16px; margin-bottom: 18px; }
	.viabit-checkout-page .woocommerce form.checkout .form-row { margin: 0 0 14px !important; }
	.viabit-checkout-page .woocommerce form.checkout .form-row input.input-text,
	.viabit-checkout-page .woocommerce form.checkout .form-row input[type="text"],
	.viabit-checkout-page .woocommerce form.checkout .form-row input[type="tel"],
	.viabit-checkout-page .woocommerce form.checkout .form-row input[type="email"],
	.viabit-checkout-page .woocommerce form.checkout .form-row textarea,
	.viabit-checkout-page .woocommerce form.checkout .form-row select {
		height: 48px !important;
		padding: 0 16px !important;
		font-size: 14px !important;
		border-radius: 12px !important;
	}
	.viabit-checkout-page .woocommerce-checkout-review-order-table { font-size: 13px; }
	.viabit-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total td,
	.viabit-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total .amount { font-size: 20px; }
	.viabit-checkout-page #payment ul.payment_methods li { padding: 12px 14px; border-radius: 12px; }
	.viabit-checkout-page #place_order,
	.viabit-checkout-page #payment .button.alt,
	.viabit-checkout-page #payment button[type="submit"] {
		min-height: 50px !important;
		font-size: 15px !important;
		padding: 12px 22px !important;
	}
}
@media (max-width: 639px) {
	.viabit-checkout-page .viabit-page-header { margin: 16px 0 20px; }
	.viabit-checkout-page #order_review .woocommerce-shipping-totals th { font-size: 12px; }
	.viabit-checkout-page #order_review ul#shipping_method li { padding: 10px; font-size: 12px; }
	.viabit-checkout-page .woocommerce-checkout-review-order-table tbody tr { padding: 10px 0; }
	.viabit-checkout-page .woocommerce-checkout-review-order-table tfoot tr { padding: 10px 0; }
	.viabit-checkout-page .woocommerce-checkout-review-order-table tfoot tr.order-total { padding-top: 14px; }
	.viabit-checkout-page .woocommerce-form-login,
	.viabit-checkout-page .woocommerce-form-coupon { padding: 16px; border-radius: 14px; }
	.viabit-checkout-page .woocommerce-form-login input.input-text,
	.viabit-checkout-page .woocommerce-form-coupon input.input-text { height: 44px; font-size: 13px; }
	.viabit-checkout-page .woocommerce-form-login button,
	.viabit-checkout-page .woocommerce-form-coupon button { min-height: 44px; font-size: 13px; padding: 10px 20px; }
}

/* ============================================================
   REVIEW MODAL (≤639)
   ============================================================ */
@media (max-width: 639px) {
	.viabit-review-modal { padding: 10px; align-items: flex-end; }
	.viabit-review-modal__dialog {
		width: 100%;
		max-height: calc(100vh - 20px);
		border-radius: 24px 24px 0 0;
		padding: 28px 20px 24px;
		transform: translateY(40px) scale(1);
	}
	.viabit-review-modal.is-open .viabit-review-modal__dialog { transform: translateY(0) scale(1); }
	.viabit-review-modal__title { font-size: 20px; }
	.viabit-review-form__star { width: 40px; height: 40px; font-size: 22px; }
}

/* ============================================================
   ACCOUNT (≤1023 / ≤767)
   ============================================================ */
@media (max-width: 1023px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { gap: 6px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 11px 20px; font-size: 13px; }
}
@media (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin: 0 0 16px !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; padding-bottom: 4px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 10px 16px; font-size: 12px; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before { width: 14px; height: 14px; }
	.woocommerce-account .woocommerce-MyAccount-content { padding: 20px 16px; border-radius: 22px; }
	.woocommerce-account .woocommerce-orders-table thead { display: none; }
	.woocommerce-account .woocommerce-orders-table,
	.woocommerce-account .woocommerce-orders-table tbody,
	.woocommerce-account .woocommerce-orders-table tr,
	.woocommerce-account .woocommerce-orders-table td,
	.woocommerce-account .woocommerce-orders-table th {
		display: block;
		width: 100%;
		border: 0 !important;
		border-radius: 0 !important;
		padding: 0 !important;
	}
	.woocommerce-account .woocommerce-orders-table tr {
		background: #F8FAFC;
		border: 1px solid #E2E8F0 !important;
		border-radius: 16px !important;
		padding: 16px !important;
		margin-bottom: 12px;
	}
	.woocommerce-account .woocommerce-orders-table td { padding: 6px 0 !important; font-size: 13px; }
	.woocommerce-account .woocommerce-orders-table td::before {
		content: attr(data-title) ": ";
		font-family: 'IBM Plex Mono', monospace;
		font-size: 11px;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: #94A3B8;
		display: inline-block;
		margin-right: 8px;
	}
}