/* ============================================================
   ESET ARMENIA THEME — MAIN STYLES
   ============================================================

   ORGANIZATION: SMACSS Methodology
   This file follows Scalable and Modular Architecture for CSS

   1. THEME VARIABLES (CSS Custom Properties)
   2. BASE STYLES (Reset, normalization, element defaults)
   3. LAYOUT STYLES (Page structure, grids, containers)
   4. MODULE STYLES (Reusable components, BEM naming)
   5. STATE STYLES (Active, hover, disabled, focus states)

   Note: Sections are marked with clear headers for easy navigation.
   Component-specific styles use BEM naming: .component-name__element--modifier
   ============================================================ */

/*
================================================================================
1. THEME VARIABLES — CSS Custom Properties
================================================================================
Theme colors, spacing, typography, shadows, and transitions.
These variables are used throughout for consistency and easy maintenance.
*/

/* ── CSS Variables ── */
:root {
	--eset-primary: #00A7B5;
	--eset-primary-dark: #008A96;
	--eset-primary-light: #00C4D4;
	--eset-dark: #1A2332;
	--eset-dark-2: #243044;
	--eset-dark-3: #2C3A50;
	--eset-white: #FFFFFF;
	--eset-light: #F5F7FA;
	--eset-gray: #6B7280;
	--eset-gray-light: #E5E7EB;
	--eset-text: #1D1D1F;
	--eset-text-light: #9CA3AF;
	--eset-radius: 12px;
	--eset-radius-sm: 8px;
	--eset-radius-lg: 20px;
	--eset-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
	--eset-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.12);
	--eset-transition: 0.3s ease;
	--eset-container: 1200px;
	--eset-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* ── Мобильный текст скрыт на десктопе ── */
.eset-hero__subtitle--mobile {
	display: none;
}

/* ── Мобильная картинка скрыта на десктопе ── */
.eset-hero__product-mobile {
	display: none;
}

/* ── Google reCAPTCHA badge ── */
.grecaptcha-badge {
	visibility: hidden;
}

/*
================================================================================
2. BASE STYLES — Reset, Normalization, Element Defaults
================================================================================
Minimal styling applied to HTML elements. High reusability, low specificity.
Establishes baseline for all pages and includes utility classes.
*/

/* ── Reset / Base ── */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	overflow-x: hidden;
}

body {
	font-family: var(--eset-font);
	color: var(--eset-text);
	line-height: 1.6;
	margin: 0;
	padding: 0;
	background: var(--eset-white);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
	width: 100%;
	max-width: 100vw;
}

.eset-container {
	max-width: var(--eset-container);
	margin: 0 auto;
	padding: 0 24px;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	text-decoration: none;
	color: inherit;
	transition: color var(--eset-transition);
}

/*
================================================================================
3. LAYOUT STYLES — Page Structure, Grids, Major Components
================================================================================
Page structure including header, footer, main content areas, and containers.
These styles define the overall page layout and component containers.
*/

/* ============================================================
   HEADER
   ============================================================ */
.eset-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	background: #263238;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	height: 64px;
}

.admin-bar .eset-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .eset-header {
		top: 46px;
	}
}

.eset-header__inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	align-items: center;
	height: 100%;
	gap: 0;
}

.eset-header__logo {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	margin-right: 32px;
}

.eset-header__logo-img {
	width: auto;
	height: 38px;
	display: block;
}

.eset-header__tagline {
	font-size: 10.5px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.35;
	letter-spacing: 0.03em;
	white-space: nowrap;
	font-family: var(--eset-font);
}

.eset-header__nav {
	flex: 1;
	display: flex;
}

.eset-header__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0;
}

.eset-header__menu li a {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 16px 18px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	transition: color var(--eset-transition), background var(--eset-transition);
	white-space: nowrap;
}

.eset-header__menu li a svg {
	opacity: 0.5;
	flex-shrink: 0;
}

.eset-header__menu li a:hover {
	color: var(--eset-white);
	background: rgba(255, 255, 255, 0.06);
}

.eset-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}

.eset-header__cart {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: rgba(255, 255, 255, 0.7);
	border-radius: 50%;
	transition: background var(--eset-transition), color var(--eset-transition);
}

.eset-header__cart:hover {
	background: rgba(255, 255, 255, 0.08);
	color: var(--eset-white);
}

.eset-cart-count {
	position: absolute;
	top: 0;
	right: 0;
	background: var(--eset-primary);
	color: var(--eset-white);
	font-size: 10px;
	font-weight: 700;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.eset-header__region {
	display: flex;
	align-items: center;
	opacity: 0.7;
	transition: opacity var(--eset-transition);
	cursor: pointer;
}

.eset-header__region:hover {
	opacity: 1;
}

/* Burger */
.eset-header__burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 10px;
}

.eset-header__burger span {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--eset-white);
	border-radius: 2px;
	transition: transform var(--eset-transition), opacity var(--eset-transition);
}

.eset-header__burger.active span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.eset-header__burger.active span:nth-child(2) {
	opacity: 0;
}

.eset-header__burger.active span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

/* ============================================================
   HERO SECTION
   ============================================================ */
.eset-hero {
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	padding-top: 64px;
	overflow: hidden;
	background: linear-gradient(135deg, var(--eset-dark) 0%, var(--eset-dark-2) 50%, #004d54 100%);
}

.eset-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.eset-hero__bg-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.eset-hero__bg::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 80%;
	height: 200%;
	background: radial-gradient(ellipse, rgba(0, 167, 181, 0.2) 0%, transparent 60%);
	pointer-events: none;
}

.eset-hero__bg::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 120px;
	background: linear-gradient(0deg, var(--eset-white) 0%, transparent 100%);
	z-index: 1;
}

.eset-hero__overlay {
	position: absolute;
	inset: 0;
	background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="g" patternUnits="userSpaceOnUse" width="20" height="20"><circle cx="10" cy="10" r="0.5" fill="rgba(0,167,181,0.15)"/></pattern></defs><rect fill="url(%23g)" width="100" height="100"/></svg>');
	opacity: 0.5;
}

.eset-hero__content {
	position: relative;
	z-index: 2;
	max-width: var(--eset-container);
	margin: 0 auto;
	padding: 80px 24px 120px;
	width: 100%;
}

.eset-hero__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 800;
	color: var(--eset-white);
	line-height: 1.15;
	margin: 0 0 20px;
	letter-spacing: -0.02em;
}

.eset-hero__subtitle {
	font-size: clamp(1rem, 2vw, 1.25rem);
	color: rgba(255, 255, 255, 0.75);
	margin: 0 0 40px;
	max-width: 500px;
}

.eset-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.eset-hero__product-name {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.eset-hero__product-name strong {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--eset-white);
	letter-spacing: 0.05em;
}

.eset-hero__version {
	display: inline-block;
	padding: 3px 10px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 3px;
	font-size: 0.7rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.8);
	letter-spacing: 0.05em;
}

.eset-hero__selectors {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 24px;
	flex-wrap: wrap;
}

.eset-qty-selector--hero {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	padding: 8px 12px;
}

.eset-qty-selector--hero .eset-qty-btn {
	border-color: #fff;
	color: #fff;
	width: 32px;
	height: 32px;
}

.eset-qty-selector--hero .eset-qty-btn:hover {
	background: #fff;
	border-color: #fff;
	color: var(--eset-dark);
}

.eset-qty-selector--hero .eset-qty-number {
	color: #fff;
	font-size: 1.5rem;
}

.eset-qty-selector--hero .eset-qty-label {
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
}

.eset-hero__price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	background: rgba(0, 167, 181, 0.15);
	border: 1px solid rgba(0, 167, 181, 0.3);
	border-radius: 8px;
	padding: 8px 16px;
}

.eset-hero__price-value {
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--eset-white);
	letter-spacing: -0.02em;
}

.eset-hero__price-currency {
	font-size: 1.1rem;
	font-weight: 600;
	color: #fff;
}

.eset-btn--hero-buy {
	background: var(--eset-primary);
	color: var(--eset-white);
	padding: 14px 44px;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 6px;
	border: none;
	cursor: pointer;
	transition: all var(--eset-transition);
}

.eset-btn--hero-buy:hover {
	background: var(--eset-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 167, 181, 0.4);
}

.eset-hero__product {
	position: absolute;
	right: 30%;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	max-width: 400px;
}

.eset-hero__product img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 20px 60px rgba(0, 0, 0, 0.3));
}



/* ============================================================
   CATEGORY CARDS
   ============================================================ */
.eset-categories {
	position: relative;
	z-index: 3;
	margin-top: -60px;
	padding-bottom: 80px;
}

.eset-categories__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.eset-category-card {
	background: var(--eset-white);
	border-radius: var(--eset-radius-lg);
	padding: 40px 32px;
	text-align: center;
	box-shadow: var(--eset-shadow-lg);
	border: 1px solid var(--eset-gray-light);
	transition: transform var(--eset-transition), box-shadow var(--eset-transition);
	position: relative;
	overflow: hidden;
}

.eset-category-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--eset-primary), var(--eset-primary-light));
}

.eset-category-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 50px rgba(0, 167, 181, 0.15);
}

.eset-category-card__icon {
	margin-bottom: 20px;
}

.eset-category-card h3 {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 12px;
	color: var(--eset-text);
}

.eset-category-card p {
	font-size: 0.9rem;
	color: var(--eset-gray);
	margin: 0 0 20px;
	line-height: 1.6;
}

.eset-category-card__link {
	display: inline-block;
	padding: 10px 28px;
	border: 2px solid var(--eset-primary);
	border-radius: 100px;
	color: var(--eset-primary);
	font-size: 14px;
	font-weight: 600;
	transition: background var(--eset-transition), color var(--eset-transition);
}

.eset-category-card__link:hover {
	background: var(--eset-primary);
	color: var(--eset-white);
}

/* ============================================================
   SECURITY SECTION
   ============================================================ */
.eset-security {
	position: relative;
	padding: 80px 0 100px;
	background: var(--eset-light);
	overflow: hidden;
}

.eset-security__sphere {
	position: absolute;
	right: -20%;
	top: 30%;      /* РЕГУЛИРОВКА ПОЛОЖЕНИЯ: уменьшите чтобы поднять выше, увеличьте чтобы опустить ниже (было 38%) */
	transform: translateY(-50%);
	width: 50%;
	max-width: 1000px;
	pointer-events: none;
	z-index: 0;
}

.eset-security__sphere img {
	width: 100%;
	height: auto;
	display: block;
}

.eset-security .eset-container {
	position: relative;
	z-index: 1;
}

.eset-security__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}

.eset-security__title {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 400;  /* базовый тонкий */
	line-height: 1.2;
	margin: 0 0 30px;
	color: #3B3B3B;
}

/* Жирные слова: ОБЕЗВРЕЖИВАТЬ, ВАЖНО, ЭФФЕКТИВНЕЕ, ПРЕДОТВРАЩАТЬ */
.eset-security__accent {
	color: #3B3B3B;
	font-weight: 800;
}

/* Тонкие слова: УГРОЗЫ, НО, ИХ */
.eset-security__accent--thin {
	color: #3B3B3B;
	font-weight: 400;
}

.eset-security__desc {
	font-size: 1rem;
	color: #3B3B3B;
	margin: 0 0 24px;
	line-height: 1.7;
}

.eset-security__desc strong {
	color: #3B3B3B;
	font-weight: 700;
}

.eset-security__list {
	list-style: none;
	padding: 0;
	margin: 0 0 30px;
}

.eset-security__list li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 10px;
	font-size: 0.95rem;
	color: var(--eset-text);
}

.eset-security__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #3B3B3B;  /* цвет точек */
}

.eset-security__link {
	color: var(--eset-primary);
	font-size: 0.9rem;
	font-weight: 500;
	display: inline-block;
	margin-bottom: 8px;
}

.eset-security__link:hover {
	color: var(--eset-primary-dark);
	text-decoration: underline;
}

.eset-security__features {
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.eset-security__feature {
	display: flex;
	justify-content: flex-end;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	transition: none;
}

.eset-security__feature:hover {
	transform: none;
}

.eset-security__feature-text {
	width: 100%;
	text-align: right;
	margin-right: 180px;    /* ← ДВИГАТЬ БЛОКИ ВЛЕВО/ВПРАВО: больше = левее (к центру), меньше = правее */
}

.eset-security__feature h3 {
	font-family: "Segoe UI", sans-serif;
	font-size: 17px;
	font-style: normal;
	font-weight: 700;
	margin: 0 0 10px;
	color: #3B3B3B;
	line-height: 26px;
	text-align: right;
}

.eset-security__feature-desc {
	display: flex;
	width: 100%;
	max-width: 700px;
	min-height: 45px;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	margin: 0 0 0 auto;
	text-align: right;
	font-family: "Segoe UI", sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	color: #3B3B3B;
}

.eset-security__line {
	display: block;
	white-space: nowrap;  /* запретить перенос внутри строки */
}

/* ═══ СДВИГИ СТРОК ВЛЕВО/ВПРАВО ═══ */
/* Используем translateX чтобы не влиять на ширину контейнера */

.eset-security__line--left {
	transform: translateX(-1px);  /* ← ВЛЕВО: отрицательное = левее, положительное = правее */
}

.eset-security__line--right {
	transform: translateX(1px);   /* ← ВПРАВО: положительное = правее, отрицательное = левее */
}

.eset-security__line--right-tight {
	transform: translateX(1px);   /* ← ЧУТЬ ВПРАВО */
}

/* Tire image - one per feature block */
.eset-security__feature-text {
	position: relative;
	padding-right: 80px; /* место для tire.png */
}

.eset-security__feature-text::after {
	content: '';
	position: absolute;
	right: -50px;           /* ← ДВИГАТЬ ВЛЕВО/ВПРАВО: меньше = левее, больше = правее */
	top: 70%;              /* ← ДВИГАТЬ ВВЕРХ/ВНИЗ: меньше = выше, больше = ниже */
	transform: translateY(-50%);
	width: 120px;           /* ← ШИРИНА tire.png */
	height: 2px;          /* ← ВЫСОТА tire.png */
	background: url('../img/tire.png') no-repeat center;
	background-size: 100% 100%;  /* ← растягивает по ширине И высоте */
}

/* Awards inline (inside security section) */
.eset-awards-inline {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 60px;              /* ← РАССТОЯНИЕ между картинками (было 40px) */
	margin-top: 90px;       /* ← ОТСТУП сверху (было 60px) */
	padding-top: 60px;      /* было 40px */
}

.eset-awards-inline img {
	height: 90px;           /* ← ВЫСОТА PNG картинок (было 60px, теперь в 1.5 раза больше) */
	width: auto;
	opacity: 0.9;
}

/* Мобильная адаптация сертификатов */
@media (max-width: 768px) {
	.eset-awards-inline {
		flex-direction: column;
		gap: 30px;
		margin-top: 150px;
		padding-top: 30px;
		overflow-x: hidden;
		max-width: 100%;
	}
	
	.eset-awards-inline img {
		height: 70px;
		max-width: 100%;
	}
}

/* ============================================================
   AWARDS (old section - hidden)
   ============================================================ */
.eset-awards {
	display: none;
	padding: 60px 0;
	background: var(--eset-white);
	border-top: 1px solid var(--eset-gray-light);
	border-bottom: 1px solid var(--eset-gray-light);
}

.eset-awards__grid {
	display: flex;
	justify-content: center;
	gap: 48px;
	flex-wrap: wrap;
}

.eset-awards__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.eset-awards__badge {
	width: 80px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--eset-light);
	border-radius: var(--eset-radius);
	font-weight: 800;
	font-size: 1.1rem;
	color: var(--eset-primary);
	border: 2px solid rgba(0, 167, 181, 0.2);
}

.eset-awards__item span {
	font-size: 0.8rem;
	color: var(--eset-gray);
	font-weight: 500;
}

/* ============================================================
   FEATURES GRID (Dark)
   ============================================================ */
.eset-features {
	padding: 80px 0;
	background: linear-gradient(90deg, #0795a2 0%, #5e93b6 100%);  /* градиент слева направо */
}

.eset-features__wrapper {
	display: flex;
	gap: 40px;
}

.eset-features__main {
	flex: 1;
}

.eset-features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px 60px;
}

.eset-features__item {
	text-align: center;
	padding: 20px;
	background: transparent;
	border: none;
}

.eset-features__item:hover {
	background: transparent;
}

.eset-features__icon {
	margin: 0 auto 15px;
	width: 60px;    /* увеличено с 50px */
	height: 60px;   /* увеличено с 50px */
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
}

.eset-features__icon svg {
	width: 60px;    /* увеличено с 50px */
	height: 60px;   /* увеличено с 50px */
}

.eset-features__icon svg path {
	fill: #fff;
}

.eset-features__item h3 {
	font-size: 0.95rem;  /* увеличено с 0.85rem */
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.eset-features__item p {
	font-size: 0.9rem;   /* увеличено с 0.8rem */
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	line-height: 1.5;
}

.eset-features__item p strong {
	color: #fff;
	font-weight: 700;
}

/* Отдельная карточка справа с рамкой */
.eset-features__sidebar {
	width: 260px;   /* увеличено с 220px */
	flex-shrink: 0;
	display: flex;
	align-items: center;
}

.eset-features__sidebar-card {
	text-align: center;
	padding: 35px 25px;  /* увеличено */
	border: none;
	border-left: 1px solid rgba(255, 255, 255, 0.4);  /* только левая рамка */
	border-radius: 0;
	background: transparent;
}

.eset-features__sidebar-card .eset-features__icon {
	margin: 0 auto 15px;
}

.eset-features__sidebar-card h3 {
	font-size: 0.95rem;  /* увеличено с 0.85rem */
	font-weight: 700;
	color: #fff;
	margin: 0 0 12px;
	text-transform: uppercase;
}

.eset-features__sidebar-card p {
	font-size: 0.9rem;   /* увеличено с 0.8rem */
	color: rgba(255, 255, 255, 0.9);
	margin: 0;
	line-height: 1.5;
}

/*
================================================================================
4. MODULE STYLES — Reusable Components & Elements
================================================================================
Discrete, reusable components using BEM (Block Element Modifier) naming:
  - Block: .component-name
  - Element: .component-name__element
  - Modifier: .component-name--variant

Modules include buttons, cards, forms, modals, sliders, and section components.
Each component is self-contained and can be reused across different sections.
*/

/* ============================================================
   PRODUCTS SECTION
   ============================================================ */
.eset-products {
	padding: 100px 0;
	background: var(--eset-white);
}

.eset-section-title {
	text-align: center;
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	font-weight: 800;
	margin: 0 0 10px;
	color: var(--eset-text);
}

.eset-section-title--light {
	color: var(--eset-white);
}

.eset-section-subtitle {
	text-align: center;
	font-size: 1rem;
	color: var(--eset-gray);
	margin: 0 0 50px;
}

.eset-products__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
	max-width: 800px;
	margin: 0 auto;
}

.eset-product-card {
	position: relative;
	text-align: center;
	display: flex;
	flex-direction: column;
}

.eset-product-card--recommended {
	margin-top: 0;
}

/* Both cards should align content at bottom */
.eset-product-card {
	display: flex;
	flex-direction: column;
}

/* Essential card: add top padding to align with recommended card's badge */
.eset-product-card:not(.eset-product-card--recommended) {
	padding-top: 38px; /* Height of badge */
}

.eset-product-card--recommended .eset-product-card__inner {
	padding: 28px 30px;
}

.eset-product-card__badge {
	background: var(--eset-primary);
	color: var(--eset-white);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 24px;
	border-radius: var(--eset-radius-lg) var(--eset-radius-lg) 0 0;
	text-align: center;
}

.eset-product-card__inner {
	background: var(--eset-white);
	border: 2px solid var(--eset-gray-light);
	border-radius: var(--eset-radius-lg);
	padding: 30px 28px;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: border-color var(--eset-transition), box-shadow var(--eset-transition);
	min-height: 520px;
	height: 100%;
}

.eset-product-card--recommended .eset-product-card__inner {
	border-color: var(--eset-primary);
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.eset-product-card__inner:hover {
	box-shadow: 0 8px 32px rgba(0, 167, 181, 0.12);
}

.eset-product-card__image {
	margin-bottom: 16px;
}

.eset-product-card__image img {
	width: 200px;
	height: auto;
	display: block;
	margin: 0 auto;
}

.eset-product-card__shields {
	display: flex;
	gap: 6px;
	justify-content: center;
	margin-bottom: 16px;
}

.eset-product-card__desc {
	font-size: 0.88rem;
	color: var(--eset-gray);
	margin: 0 0 24px;
	line-height: 1.6;
	text-align: center;
	flex-grow: 1; /* Allow description to fill available space */
}

.eset-product-card__desc strong {
	color: var(--eset-text);
}

/* Quantity Selectors (+/- buttons) */
.eset-product-card__selectors {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-bottom: 20px;
	margin-top: auto; /* Push selectors, price and button to bottom */
}

.eset-qty-selector {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0;
	flex-wrap: wrap;
	justify-content: center;
}

.eset-qty-btn {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid var(--eset-primary);
	background: transparent;
	color: var(--eset-primary);
	font-size: 1.1rem;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all var(--eset-transition);
	line-height: 1;
	padding: 0;
}

.eset-qty-btn:hover {
	background: var(--eset-primary);
	color: var(--eset-white);
}

.eset-qty-value {
	min-width: 30px;
	text-align: center;
}

.eset-qty-number {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--eset-text);
}

.eset-qty-label {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--eset-gray);
	margin-top: 4px;
}

/* Price */
.eset-product-card__price {
	margin: 8px 0 20px;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 6px;
}

.eset-price-value {
	font-size: 2.2rem;
	font-weight: 800;
	color: var(--eset-text);
	letter-spacing: -0.02em;
}

.eset-price-currency {
	font-size: 1.1rem;
	font-weight: 500;
	color: var(--eset-gray);
}

/* Already using ESET */
.eset-products__already {
	text-align: center;
	margin-top: 40px;
}

.eset-products__already a {
	color: var(--eset-primary);
	font-weight: 600;
	text-decoration: underline;
}

/* Buttons */
.eset-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	border: none;
	border-radius: 100px;
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	transition: all var(--eset-transition);
	gap: 8px;
}

.eset-btn--primary {
	background: var(--eset-primary);
	color: var(--eset-white);
}

.eset-btn--primary:hover {
	background: var(--eset-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 167, 181, 0.3);
}

.eset-btn--outline {
	background: transparent;
	border: 2px solid var(--eset-primary);
	color: var(--eset-primary);
}

.eset-btn--outline:hover {
	background: var(--eset-primary);
	color: var(--eset-white);
}

.eset-btn--buy {
	background: var(--eset-primary);
	color: var(--eset-white);
	padding: 12px 48px;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border-radius: 4px;
}

.eset-btn--buy:hover {
	background: var(--eset-primary-dark);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 167, 181, 0.3);
}

/* ============================================================
   USER VALUE SECTION
   ============================================================ */
.eset-user-value {
	padding: 80px 0;
	background: #ffffff;
}

.eset-user-value__grid {
	display: flex;
	gap: 60px;
	align-items: flex-start;
}

.eset-user-value__col {
	flex: 1;
}

.eset-user-value__divider {
	width: 1px;
	background: #e0e0e0;
	align-self: stretch;
	flex-shrink: 0;
}

.eset-user-value__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 16px;
	margin-bottom: 20px;
}

.eset-user-value__icon {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
}

.eset-user-value__icon svg {
	width: 100%;
	height: 100%;
}

.eset-user-value__title {
	font-size: 1.1rem;
	font-weight: 400;
	color: #394554;
	margin: 0;
	line-height: 1.4;
}

.eset-user-value__title strong {
	font-weight: 700;
	color: #00A7B5;
}

.eset-user-value__desc {
	font-size: 0.85rem;
	color: #666;
	line-height: 1.6;
	margin: 0 0 20px;
}

.eset-user-value__link {
	font-size: 0.85rem;
	color: #666;
	margin: 0 0 20px;
}

.eset-user-value__link a {
	color: #00A7B5;
	text-decoration: underline;
}

.eset-user-value__list {
	list-style: none;
	padding: 0;
	margin: 0 0 25px;
}

.eset-user-value__list li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 10px;
	font-size: 0.9rem;
	color: #394554;
	font-weight: 500;
}

.eset-user-value__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 2px;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238dc63f'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") no-repeat center;
	background-size: contain;
}

.eset-user-value__btn {
	display: inline-block;
	padding: 12px 30px;
	border: 1px solid #394554;
	color: #394554;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: all 0.3s ease;
}

.eset-user-value__btn:hover {
	background: #394554;
	color: #fff;
}

/* ============================================================
   FAQ SECTION (old - hidden)
   ============================================================ */
.eset-faq {
	display: none;
	padding: 100px 0;
	background: var(--eset-light);
}

.eset-faq__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

.eset-faq__heading {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--eset-text);
	margin: 0 0 24px;
	line-height: 1.4;
}

.eset-faq__heading svg {
	flex-shrink: 0;
	margin-top: 2px;
}

.eset-faq__accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.eset-faq__item {
	background: var(--eset-white);
	border-radius: var(--eset-radius);
	overflow: hidden;
	box-shadow: var(--eset-shadow);
}

.eset-faq__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 18px 24px;
	background: none;
	border: none;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--eset-text);
	cursor: pointer;
	text-align: left;
	transition: color var(--eset-transition);
}

.eset-faq__trigger::after {
	content: '+';
	font-size: 1.5rem;
	font-weight: 300;
	color: var(--eset-primary);
	flex-shrink: 0;
	margin-left: 16px;
	transition: transform var(--eset-transition);
}

.eset-faq__trigger:hover {
	color: var(--eset-primary);
}

.eset-faq__item.open .eset-faq__trigger::after {
	content: '−';
}

.eset-faq__answer {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.4s ease, padding 0.3s ease;
}

.eset-faq__item.open .eset-faq__answer {
	max-height: 500px;
}

.eset-faq__answer p {
	padding: 0 24px 20px;
	margin: 0;
	font-size: 0.9rem;
	color: var(--eset-gray);
	line-height: 1.7;
}

/* ============================================================
   BENEFITS SECTION
   ============================================================ */
.eset-benefits {
	padding: 80px 0;
	background: linear-gradient(90deg, #0296a1 0%, #5f93b7 100%);  /* градиент слева направо */
}

.eset-benefits__title {
	text-align: center;
	font-size: 1.8rem;
	font-weight: 400;
	font-style: italic;
	color: #fff;
	margin: 0 0 15px;
}

.eset-benefits__subtitle {
	text-align: center;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 auto 50px;
	max-width: 700px;
	line-height: 1.6;
}

.eset-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 60px;
}

.eset-benefits__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 0;
	background: transparent;
	border: none;
}

.eset-benefits__item:hover {
	background: transparent;
}

.eset-benefits__icon {
	margin-bottom: 25px;
	width: 100px;   /* увеличено с 80px */
	height: 100px;  /* увеличено с 80px */
}

.eset-benefits__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.eset-benefits__item h3 {
	font-size: 1.3rem;   /* увеличено с 1.1rem */
	font-weight: 400;
	font-style: italic;
	color: #fff;
	margin: 0 0 15px;
	line-height: 1.3;
}

.eset-benefits__item p {
	font-size: 0.95rem;  /* увеличено с 0.85rem */
	color: rgba(255, 255, 255, 0.85);
	margin: 0;
	line-height: 1.5;
}

/* ============================================================
   CTA SECTION
   ============================================================ */
.eset-cta {
	padding: 80px 0;
	background: #fff;
}

.eset-cta__title {
	text-align: center;
	font-size: 1.6rem;
	font-weight: 400;
	color: #394554;
	margin: 0 0 50px;
}

.eset-cta__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}

.eset-cta__item {
	text-align: center;
	padding: 0;
	background: transparent;
	border: none;
}

.eset-cta__item:hover {
	background: transparent;
}

.eset-cta__icon {
	width: 90px;    /* увеличено с 70px */
	height: 90px;   /* увеличено с 70px */
	margin: 0 auto 20px;
}

.eset-cta__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.eset-cta__item h3 {
	font-size: 1.1rem;   /* увеличено с 0.95rem */
	font-weight: 400;
	color: #00A7B5;
	margin: 0 0 12px;
}

.eset-cta__item p {
	font-size: 0.9rem;   /* увеличено с 0.8rem */
	color: #666;
	margin: 0 0 20px;
	line-height: 1.6;
}

.eset-cta__item p a {
	color: #00A7B5;
	text-decoration: none;
}

.eset-cta__item p a:hover {
	text-decoration: underline;
}

.eset-cta__btn {
	display: inline-block;
	padding: 10px 25px;
	border: 1px solid #394554;
	color: #394554;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: all 0.3s ease;
}

.eset-cta__btn:hover {
	background: #394554;
	color: #fff;
}

/* ============================================================
   FOOTER
   ============================================================ */
.eset-footer {
	color: rgba(255, 255, 255, 0.7);
}

.eset-footer__inner {
	max-width: var(--eset-container);
	margin: 0 auto;
	padding: 0 24px;
}

/* Partners section (dark bg for white logos) */
.eset-footer__partners {
	background: #2C3A4A;
	padding: 50px 0;
}

.eset-footer__partners-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
	text-align: center;
}

.eset-footer__partner-logo {
	height: 80px;           /* увеличено с 60px */
	width: auto;
	max-width: 240px;       /* увеличено с 200px */
	object-fit: contain;
	margin-bottom: 16px;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.eset-footer__partner p {
	font-size: 0.9rem;   /* увеличено с 0.78rem */
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.6;
	margin: 0;
}

/* Main footer (dark bg) */
.eset-footer__main {
	background: var(--eset-dark);
	padding: 50px 0 30px;
}

.eset-footer__cols {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
	gap: 32px;
}

.eset-footer__col h4 {
	color: var(--eset-white);
	font-size: 0.85rem;
	font-weight: 700;
	margin: 0 0 16px;
}

.eset-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.eset-footer__col ul li {
	margin-bottom: 8px;
}

.eset-footer__col ul li a {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.82rem;
	transition: color var(--eset-transition);
}

.eset-footer__col ul li a:hover {
	color: var(--eset-primary-light);
}

.eset-footer__logo {
	display: inline-block;
	margin-bottom: 20px;
}

.eset-footer__address {
	margin-bottom: 16px;
}

.eset-footer__address p {
	margin: 0 0 4px;
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.55);
}

.eset-footer__region {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.eset-footer__region span {
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.7);
}

/* Social bar */
.eset-footer__social-bar {
	background: var(--eset-dark);
	padding: 0 0 20px;
}

.eset-footer__separator {
	height: 1px;
	background: rgba(255, 255, 255, 0.1);
	margin-bottom: 20px;
}

.eset-footer__social {
	display: flex;
	justify-content: center;
	gap: 16px;
}

.eset-footer__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 50%;
	transition: background var(--eset-transition);
}

.eset-footer__social a:hover {
	background: var(--eset-primary);
}

/* Bottom bar */
.eset-footer__bottom {
	background: var(--eset-dark);
	padding: 20px 0 30px;
}

.eset-footer__bottom-links {
	display: flex;
	justify-content: center;
	gap: 32px;
	margin-bottom: 16px;
}

.eset-footer__bottom-links a {
	color: rgba(255, 255, 255, 0.45);
	font-size: 0.82rem;
	transition: color var(--eset-transition);
}

.eset-footer__bottom-links a:hover {
	color: var(--eset-primary-light);
}

.eset-footer__copy {
	text-align: center;
	font-size: 0.72rem;
	color: rgba(255, 255, 255, 0.3);
	margin: 0;
	line-height: 1.6;
}

/* ============================================================
   GENERIC PAGE
   ============================================================ */
.eset-page {
	padding: 96px 0 80px;
	min-height: 60vh;
}

.eset-page__title {
	font-size: clamp(1.5rem, 3vw, 2.5rem);
	font-weight: 800;
	margin: 0 0 30px;
	color: var(--eset-text);
}

.eset-page__content {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--eset-gray);
}

.eset-page__content h2 {
	font-size: 1.5rem;
	color: var(--eset-text);
	margin: 40px 0 16px;
}

.eset-page__content h3 {
	font-size: 1.2rem;
	color: var(--eset-text);
	margin: 30px 0 12px;
}

.eset-page__content p {
	margin: 0 0 16px;
}

.eset-page__content ul,
.eset-page__content ol {
	padding-left: 24px;
	margin: 0 0 16px;
}

.eset-page__content a {
	color: var(--eset-primary);
}

.eset-page__content a:hover {
	text-decoration: underline;
}

/* ============================================================
   WOOCOMMERCE OVERRIDES
   ============================================================ */
.woocommerce-checkout .eset-terms-checkbox {
	margin: 16px 0;
}

.woocommerce-checkout .eset-terms-checkbox label {
	font-size: 0.9rem;
	color: var(--eset-gray);
}

.woocommerce-checkout .eset-terms-checkbox a {
	color: var(--eset-primary);
	text-decoration: underline;
}

/* ============================================================
   RESPONSIVE — TABLET
   ============================================================ */
@media (max-width: 1024px) {
	.eset-categories__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.eset-security__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.eset-features__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.eset-faq__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.eset-cta__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.eset-footer__cols {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}

	.eset-footer__partners-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ============================================================
   RESPONSIVE — TABLET (768px - 1024px)
   ============================================================ */
@media (max-width: 1024px) and (min-width: 769px) {
	.eset-container {
		padding: 0 20px;
	}
	
	.eset-header__tagline {
		display: none;
	}
	
	.eset-hero__content {
		padding: 60px 30px;
	}
	
	.eset-hero__title {
		font-size: 2rem;
	}
	
	.eset-hero__product img {
		width: 200px;
		height: auto;
	}
	
	.eset-categories__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.eset-products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.eset-features__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ============================================================
   RESPONSIVE — MOBILE (до 768px)
   ============================================================ */
@media (max-width: 768px) {
	/* === БАЗОВЫЕ СТИЛИ - УБИРАЕМ БЕЛУЮ ПОЛОСУ === */
	html, body {
		overflow-x: hidden !important;
		max-width: 100vw !important;
		width: 100% !important;
	}
	
	* {
		box-sizing: border-box;
	}
	
	.eset-container {
		padding: 0 16px;
		max-width: 100%;
		overflow-x: hidden;
	}
	
	/* Все секции не выходят за экран */
	section,
	.eset-hero,
	.eset-categories,
	.eset-features,
	.eset-products,
	.eset-security,
	.eset-benefits,
	.eset-cta,
	.eset-footer {
		overflow-x: hidden;
		max-width: 100vw;
	}
	
	/* === ПЕРЕНОС ТЕКСТА НА МОБИЛЬНЫХ === */
	h1, h2, h3, h4, h5, h6, p, span, li, a, strong, div {
		word-wrap: break-word;
		overflow-wrap: break-word;
		hyphens: auto;
		max-width: 100%;
	}
	
	/* Заголовки и тексты не выходят за экран */
	.eset-section__title,
	.eset-section__subtitle,
	.eset-category-card h3,
	.eset-category-card p,
	.eset-feature-card__title,
	.eset-feature-card__desc,
	.eset-security__title,
	.eset-security__text,
	.eset-benefits__title,
	.eset-benefits__text {
		max-width: 100%;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
	
	/* Увеличить высоту блока security на мобильных для сертификатов */
	.eset-security {
		padding: 60px 0 350px !important;
	}
	
	/* Исправить выравнивание текста в security features на мобильных */
	.eset-security__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	
	.eset-security__feature-text {
		text-align: left;
		margin-right: 0;
		padding-right: 0;
	}
	
	.eset-security__feature h3 {
		text-align: left;
	}
	
	.eset-security__feature-desc {
		align-items: flex-start;
		text-align: left;
		margin: 0;
	}
	
	.eset-security__feature-text::after {
		display: none;
	}
	
	/* === HEADER & БУРГЕР МЕНЮ === */
	.eset-header__tagline,
	.eset-header__region {
		display: none;
	}
	
	.eset-header__burger {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 32px;
		height: 32px;
		cursor: pointer;
		z-index: 1001;
	}
	
	.eset-header__burger span {
		display: block;
		width: 24px;
		height: 2px;
		background: #fff;
		transition: all 0.3s ease;
	}
	
	.eset-header__burger.active span:nth-child(1) {
		transform: rotate(45deg) translate(5px, 5px);
	}
	
	.eset-header__burger.active span:nth-child(2) {
		opacity: 0;
	}
	
	.eset-header__burger.active span:nth-child(3) {
		transform: rotate(-45deg) translate(5px, -5px);
	}
	
	.eset-header__nav {
		position: fixed;
		top: 64px;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(26, 35, 50, 0.98);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		flex-direction: column;
		justify-content: flex-start;
		padding: 32px 24px;
		transform: translateX(100%);
		transition: transform 0.3s ease;
		overflow-y: auto;
		z-index: 1000;
	}
	
	.eset-header__nav.open {
		transform: translateX(0);
	}
	
	.eset-header__menu {
		flex-direction: column;
		gap: 8px;
	}
	
	.eset-header__menu li a {
		font-size: 1.1rem;
		padding: 16px 20px;
		border-radius: 8px;
		display: block;
	}
	
	/* === HERO SECTION === */
	.eset-hero {
		min-height: auto;
		padding-top: 80px;
		overflow: hidden;
		display: flex;
		flex-direction: column;
	}
	
	.eset-hero__content {
		padding: 30px 16px 20px;
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		order: 1;
	}
	
	.eset-hero__title {
		font-size: 1.3rem;
		text-align: center;
		margin-bottom: 10px;
		word-wrap: break-word;
		overflow-wrap: break-word;
		hyphens: none;
	}
	
	/* Убираем перенос br на мобильных */
	.eset-hero__title br {
		display: none;
	}
	
	.eset-hero__product-name {
		text-align: center;
		margin-bottom: 15px;
	}
	
	.eset-hero__product-name strong {
		display: block;
		font-size: 0.9rem;
		word-wrap: break-word;
	}
	
	.eset-hero__version {
		font-size: 0.75rem;
	}
	
	.eset-hero__subtitle--desktop {
		display: none;
	}
	
	.eset-hero__subtitle--mobile {
		display: block;
		text-align: center;
		font-size: 0.9rem;
		margin-bottom: 15px;
	}
	
	.eset-hero__desc {
		text-align: center;
		font-size: 0.9rem;
	}
	
	/* Скрыть боковую карточку исследований */
	.eset-features__sidebar-card {
		display: none;
	}
	
	/* Скрыть десктопную картинку на мобильных */
	.eset-hero__product {
		display: none !important;
	}
	
	/* МОБИЛЬНАЯ КАРТИНКА - между subtitle и selectors */
	.eset-hero__product-mobile {
		display: block !important;
		text-align: center;
		margin: 10px auto 20px;
		padding: 0;
		width: 100%;
	}
	
	.eset-hero__product-mobile img {
		width: 120px;
		height: auto;
		max-width: 100%;
		display: block;
		margin: 0 auto;
	}
	
	/* Селекторы после картинки */
	.eset-hero__selectors {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 10px;
		margin: 10px auto 15px;
		width: 100%;
		max-width: 100%;
		padding: 0 16px;
		order: 4;
	}
	
	/* Селекторы устройств и годов РЯДОМ */
	.eset-hero__selectors .eset-qty-selector--hero {
		flex: 0 0 auto;
		width: calc(50% - 10px);
		max-width: 140px;
		margin: 0;
	}
	
	/* Цена ПОД селекторами - на всю ширину */
	.eset-hero__price {
		flex: 0 0 100%;
		width: 100%;
		margin: 15px 0 0 0;
		text-align: center;
		justify-content: center;
		display: flex;
		align-items: center;
	}
	
	.eset-hero__price-value {
		font-size: 1.8rem;
	}
	
	/* Кнопка купить ПОД ценой */
	.eset-btn--hero-buy {
		flex: 0 0 100%;
		width: 100%;
		max-width: 280px;
		margin: 15px auto 0;
		padding: 14px 40px;
		font-size: 0.95rem;
		display: block;
	}
	
	/* === СЕКЦИИ === */
	.eset-security__sphere {
		display: none;
	}
	
	.eset-security__grid,
	.eset-categories__grid,
	.eset-features__grid,
	.eset-products__grid,
	.eset-benefits__grid,
	.eset-cta__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	
	/* SECURITY SECTION - текст не выходит за экран */
	.eset-security {
		padding: 40px 0;
		overflow: hidden;
	}
	
	.eset-security__title {
		font-size: 1.3rem;
		line-height: 1.3;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
	
	.eset-security__accent,
	.eset-security__accent--thin {
		font-size: inherit;
	}
	
	.eset-security__desc {
		font-size: 0.9rem;
		line-height: 1.5;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}
	
	.eset-security__list {
		font-size: 0.85rem;
		padding-left: 20px;
	}
	
	.eset-security__list li {
		margin-bottom: 8px;
	}
	
	.eset-security__link {
		font-size: 0.85rem;
		word-wrap: break-word;
	}
	
	.eset-security__left,
	.eset-security__right {
		max-width: 100%;
		overflow: hidden;
		padding: 0;
	}
	
	/* Security features - текст по центру, не выходит за экран */
	.eset-security__features {
		padding: 0;
	}
	
	.eset-security__feature {
		text-align: center;
		padding: 15px 10px;
	}
	
	.eset-security__feature h3 {
		font-size: 1rem;
		margin-bottom: 8px;
	}
	
	.eset-security__feature-desc {
		font-size: 0.85rem;
	}
	
	/* УБИРАЕМ tire.png на мобильных */
	.eset-security__feature-text {
		text-align: center;
		padding-right: 0 !important;
	}
	
	.eset-security__feature-text::after {
		display: none !important;
	}
	
	.eset-security__line {
		display: block;
		text-align: center;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.eset-security__line--left,
	.eset-security__line--right,
	.eset-security__line--right-tight {
		margin-left: 0 !important;
		text-align: center !important;
	}
	
	.eset-categories {
		margin-top: -30px;
		padding-bottom: 40px;
	}
	
	.eset-category-card {
		padding: 24px 20px;
	}
	
	.eset-products__grid {
		max-width: 100%;
		margin: 0 auto;
	}
	
	/* === FOOTER === */
	.eset-footer__cols {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	
	.eset-footer__bottom-links {
		flex-direction: column;
		align-items: center;
		gap: 12px;
	}
	
	.eset-footer__partners-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	
	.eset-awards__grid {
		gap: 20px;
	}
	
	/* === PRODUCT CARDS === */
	.eset-product-card {
		padding: 20px;
		max-width: 100%;
		overflow: hidden;
	}
	
	.eset-product-card__inner {
		min-height: auto;
	}
	
	.eset-product-card__desc {
		min-height: auto;
	}
	
	.eset-product-card:not(.eset-product-card--recommended) .eset-product-card__inner {
		margin-top: 0;
	}
	
	.eset-product-card__image img {
		max-width: 120px;
		margin: 0 auto;
	}
	
	/* Section titles */
	.eset-section__title {
		font-size: 1.5rem;
	}
	
	.eset-section__subtitle {
		font-size: 0.9rem;
	}
}

/* ============================================================
   RESPONSIVE — SMALL MOBILE (до 480px)
   ============================================================ */
@media (max-width: 480px) {
	.eset-container {
		padding: 0 12px;
	}
	
	.eset-hero__title {
		font-size: 1.2rem;
	}
	
	.eset-hero__product-mobile img {
		width: 110px;
	}
	
	/* Селекторы рядом горизонтально, компактнее */
	.eset-hero__selectors {
		gap: 8px;
		padding: 0 8px;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero {
		width: calc(50% - 8px);
		max-width: 130px;
		padding: 8px 6px;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero .eset-qty-btn {
		width: 28px;
		height: 28px;
		font-size: 0.85rem;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero .eset-qty-number {
		font-size: 0.95rem;
		min-width: 18px;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero .eset-qty-label {
		font-size: 0.5rem;
	}
	
	.eset-hero__price-value {
		font-size: 1.4rem;
	}
	
	.eset-btn--hero-buy {
		padding: 12px 25px;
		font-size: 0.85rem;
		max-width: 220px;
	}
	
	/* Security section */
	.eset-security__title {
		font-size: 1.1rem;
	}
	
	.eset-security__desc {
		font-size: 0.8rem;
	}
	
	.eset-security__list {
		font-size: 0.8rem;
	}
	
	.eset-category-card {
		padding: 20px 14px;
	}
	
	.eset-category-card h3 {
		font-size: 1.1rem;
	}
	
	.eset-category-card p {
		font-size: 0.85rem;
	}
	
	.eset-footer__col {
		text-align: center;
	}
}

/* ============================================================
   RESPONSIVE — VERY SMALL MOBILE (до 360px)
   ============================================================ */
@media (max-width: 360px) {
	.eset-container {
		padding: 0 10px;
	}
	
	.eset-hero__title {
		font-size: 1rem;
	}
	
	.eset-hero__product-mobile img {
		width: 90px;
	}
	
	.eset-hero__selectors {
		gap: 6px;
		padding: 0 6px;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero {
		width: calc(50% - 6px);
		max-width: 110px;
		padding: 6px 4px;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero .eset-qty-btn {
		width: 24px;
		height: 24px;
		font-size: 0.8rem;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero .eset-qty-number {
		font-size: 0.85rem;
		min-width: 16px;
	}
	
	.eset-hero__selectors .eset-qty-selector--hero .eset-qty-label {
		font-size: 0.45rem;
	}
	
	.eset-hero__price-value {
		font-size: 1.2rem;
	}
	
	.eset-btn--hero-buy {
		padding: 10px 18px;
		font-size: 0.8rem;
		max-width: 180px;
	}
	
	/* Security section */
	.eset-security__title {
		font-size: 0.95rem;
	}
	
	.eset-security__desc {
		font-size: 0.75rem;
	}
	
	.eset-security__list {
		font-size: 0.75rem;
		padding-left: 15px;
	}
	
	.eset-category-card {
		padding: 16px 12px;
	}
	
	.eset-category-card h3 {
		font-size: 1rem;
	}
	
	.eset-category-card p {
		font-size: 0.8rem;
	}
}

/* ============================================================
   WOOCOMMERCE — SINGLE PRODUCT (classic template)
   ============================================================ */
.eset-shop-single {
	padding-top: 120px;
	padding-bottom: 80px;
}

.eset-shop-single .woocommerce {
	max-width: 100%;
}

.eset-shop-single .woocommerce div.product {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(24px, 4vw, 48px);
	align-items: flex-start;
	margin: 0;
}

.eset-shop-single .woocommerce div.product::after {
	content: '';
	display: none;
}

.eset-shop-single .woocommerce div.product div.images,
.eset-shop-single .woocommerce div.product div.summary {
	float: none !important;
	width: auto !important;
	max-width: none !important;
}

.eset-shop-single .woocommerce div.product .woocommerce-product-gallery {
	margin: 0;
	flex: 1 1 calc(50% - 24px);
	min-width: min(100%, 280px);
	max-width: 100%;
}

.eset-shop-single .woocommerce div.product .summary.entry-summary {
	margin: 0;
	padding: 0;
	flex: 1 1 calc(50% - 24px);
	min-width: min(100%, 280px);
}

.eset-shop-single .woocommerce div.product .woocommerce-tabs,
.eset-shop-single .woocommerce div.product .related.products {
	flex: 1 1 100%;
	width: 100%;
}

.eset-shop-single .product_title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 800;
	color: var(--eset-text);
	margin: 0 0 16px;
	line-height: 1.2;
}

.eset-shop-single .woocommerce-Price-amount {
	font-weight: 700;
	font-size: 1.75rem;
	color: var(--eset-text);
}

.eset-shop-single .woocommerce-product-details__short-description {
	color: var(--eset-gray);
	font-size: 1rem;
	line-height: 1.7;
	margin-bottom: 24px;
}

.eset-shop-single form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--eset-gray-light);
}

.eset-shop-single form.cart .quantity .qty {
	border: 1px solid var(--eset-gray-light);
	border-radius: 999px;
	padding: 10px 16px;
	font-size: 1rem;
	min-width: 72px;
	text-align: center;
}

.eset-shop-single .woocommerce-tabs {
	margin-top: 0;
	padding-top: 32px;
	border-top: 1px solid var(--eset-gray-light);
}

.eset-shop-single .woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: none;
}

.eset-shop-single .woocommerce-tabs ul.tabs li {
	margin: 0;
	background: transparent;
	border: none;
}

.eset-shop-single .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 10px 20px;
	border-radius: 999px;
	background: var(--eset-light);
	color: var(--eset-text);
	font-weight: 600;
	font-size: 0.9rem;
}

.eset-shop-single .woocommerce-tabs ul.tabs li.active a,
.eset-shop-single .woocommerce-tabs ul.tabs li a:hover {
	background: var(--eset-primary);
	color: var(--eset-white);
}

.eset-shop-single .woocommerce-Tabs-panel {
	padding: 0;
	margin: 0;
}

.eset-shop-single .woocommerce-Tabs-panel h2 {
	display: none;
}

@media (max-width: 900px) {
	.eset-shop-single .woocommerce div.product .woocommerce-product-gallery,
	.eset-shop-single .woocommerce div.product .summary.entry-summary {
		flex: 1 1 100%;
	}
}

/* ============================================================
   HEADER — корзина (изоляция от глобальных стилей WooCommerce)
   ============================================================ */
body.woocommerce-cart .eset-header__inner {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.woocommerce-cart .eset-header__logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	z-index: 2;
}

body.woocommerce-cart .eset-header__logo-img {
	flex-shrink: 0;
	width: auto;
	height: 38px;
	max-width: none;
}

body.woocommerce-cart .eset-header__tagline {
	flex-shrink: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.woocommerce-cart .eset-header__nav {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: flex-start;
}

body.woocommerce-cart .eset-header__actions {
	flex: 0 0 auto;
	margin-left: auto !important;
}

/* ============================================================
   WOOCOMMERCE — CART
   ============================================================ */
.woocommerce-cart .eset-page,
.woocommerce-checkout .eset-page,
.woocommerce-account .eset-page {
	padding-top: 120px;
	padding-bottom: 80px;
}

/* Количество: только +/- */
.eset-cart-qty {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	vertical-align: middle;
}

.eset-cart-qty .quantity {
	display: inline-flex;
	margin: 0;
}

.eset-cart-qty input.qty.eset-cart-qty-input {
	width: 52px;
	min-width: 44px;
	text-align: center;
	border-radius: 999px;
	padding: 8px 4px;
	pointer-events: none;
	user-select: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.eset-cart-qty input.qty::-webkit-outer-spin-button,
.eset-cart-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.eset-cart-qty__btn {
    width: 40px;
    height: 32px;
    border-radius: 6px;
    border: 2px solid var(--eset-primary);
    background: var(--eset-white);
    color: var(--eset-primary);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background var(--eset-transition), border-color var(--eset-transition), color var(--eset-transition);
}

.eset-cart-qty__btn:hover {
    background: var(--eset-primary);
    border-color: var(--eset-primary);
    color: var(--eset-white);
}

/* Скрыть кнопку "Обновить корзину" */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .actions .button[name="update_cart"] {
	display: none !important;
}

/* Отображение количества в корзине (без возможности изменения) */
.eset-cart-qty-display {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	background: rgba(0, 167, 181, 0.1);
	border: 2px solid rgba(0, 167, 181, 0.3);
	border-radius: 8px;
	color: var(--eset-primary);
	font-weight: 700;
	font-size: 1.1rem;
}

/* Устройства / лет — отображение в корзине (без кнопок) */
.eset-cart-license {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin-top: 12px;
	align-items: center;
}

.eset-cart-license-info {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(0, 167, 181, 0.1);
	padding: 8px 14px;
	border-radius: 8px;
	border: 1px solid rgba(0, 167, 181, 0.3);
}

.eset-cart-license-value {
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--eset-primary);
	min-width: 20px;
	text-align: center;
}

.eset-cart-license-label {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--eset-gray);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

@media (max-width: 600px) {
	.eset-cart-license {
		flex-direction: column;
		align-items: flex-start;
	}
}

.woocommerce table.shop_table {
	border: 1px solid var(--eset-gray-light);
	border-radius: var(--eset-radius);
	overflow: hidden;
}

.woocommerce table.shop_table th {
	background: var(--eset-light);
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--eset-text);
	padding: 16px 20px;
}

.woocommerce table.shop_table td {
	padding: 16px 20px;
	vertical-align: middle;
	border-color: var(--eset-gray-light);
}

.woocommerce .cart_totals h2,
.woocommerce .cross-sells h2 {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--eset-text);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--eset-primary) !important;
	color: var(--eset-white) !important;
	border-radius: 100px !important;
	padding: 12px 28px !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	border: none !important;
	transition: all var(--eset-transition) !important;
	text-transform: none !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--eset-primary-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 167, 181, 0.3);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	background: var(--eset-primary) !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--eset-primary-dark) !important;
}

/* ============================================================
   WOOCOMMERCE — CHECKOUT
   ============================================================ */
.woocommerce-checkout .woocommerce-billing-fields h3 {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--eset-text);
	margin-bottom: 20px;
}

.woocommerce-checkout .form-row label {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--eset-text);
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
	border: 2px solid var(--eset-gray-light);
	border-radius: var(--eset-radius-sm);
	padding: 12px 16px;
	font-size: 0.95rem;
	transition: border-color var(--eset-transition);
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
	border-color: var(--eset-primary);
	outline: none;
	box-shadow: 0 0 0 3px rgba(0, 167, 181, 0.1);
}

.woocommerce-checkout #order_review_heading {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--eset-text);
}

.woocommerce-checkout .eset-terms-checkbox {
	margin: 20px 0;
	padding: 16px;
	background: var(--eset-light);
	border-radius: var(--eset-radius-sm);
}

.woocommerce-checkout .eset-terms-checkbox label {
	font-size: 0.9rem;
	color: var(--eset-gray);
	cursor: pointer;
}

.woocommerce-checkout .eset-terms-checkbox a {
	color: var(--eset-primary);
	text-decoration: underline;
}

/* ============================================================
   WOOCOMMERCE — MY ACCOUNT
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--eset-light);
	border-radius: var(--eset-radius);
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 14px 24px;
	color: var(--eset-text);
	font-size: 0.95rem;
	font-weight: 500;
	border-bottom: 1px solid var(--eset-gray-light);
	transition: background var(--eset-transition), color var(--eset-transition);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--eset-primary);
	color: var(--eset-white);
}

.woocommerce-account .woocommerce-MyAccount-content {
	font-size: 0.95rem;
	line-height: 1.7;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-weight: 700;
	color: var(--eset-text);
}

/* ============================================================
   WOOCOMMERCE — NOTICES
   ============================================================ */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--eset-primary) !important;
	background: rgba(0, 167, 181, 0.05);
	border-radius: var(--eset-radius-sm);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--eset-primary) !important;
}

.woocommerce-error {
	border-top-color: #C73636 !important;
	border-radius: var(--eset-radius-sm);
}

/* ============================================================
   WOOCOMMERCE — ORDER RECEIVED (Thank You)
   ============================================================ */
.woocommerce-order-received .woocommerce-thankyou-order-received {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--eset-primary);
	background: rgba(0, 167, 181, 0.06);
	padding: 24px;
	border-radius: var(--eset-radius);
	text-align: center;
}

/* ============================================================
   SCROLLBAR CUSTOM
   ============================================================ */
::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-track {
	background: var(--eset-light);
}

::-webkit-scrollbar-thumb {
	background: var(--eset-primary);
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: var(--eset-primary-dark);
}

/* Cart License Selectors */
.eset-cart-license-selectors {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 12px;
}

.eset-cart-license-selectors .eset-qty-selector {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 8px;
	padding: 6px 8px;
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.eset-cart-license-selectors .eset-qty-btn {
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	background: transparent;
	color: #fff;
	font-size: 1.1rem;
	border-radius: 50%;
	cursor: pointer;
	transition: background var(--eset-transition), border-color var(--eset-transition);
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	flex-shrink: 0;
}

.eset-cart-license-selectors .eset-qty-btn:hover {
	background: #fff;
	border-color: #fff;
	color: var(--eset-dark);
}

.eset-cart-license-selectors .eset-qty-number {
	color: #fff;
	font-weight: 600;
	font-size: 0.95rem;
	min-width: 20px;
	text-align: center;
}

.eset-cart-license-selectors .eset-qty-label {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.85rem;
	margin-left: auto;
}

/* Cart Subtotal Column Layout */
.eset-cart-subtotal-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.eset-cart-subtotal-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--eset-text);
}

@media (max-width: 768px) {
    .eset-cart-subtotal-wrapper {
        gap: 8px;
    }
    
    .eset-cart-subtotal-price {
        font-size: 1rem;
    }
}

/* Скрываем строку Total в корзине */
.woocommerce-cart .cart_totals .order-total {
    display: none !important;
}

/* ============================================================
   WOOCOMMERCE — CART MOBILE ADAPTIVE
   ============================================================ */
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce {
        padding: 0 15px;
    }

    .woocommerce-cart .page-title,
    .woocommerce-cart h1 {
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

    .woocommerce-cart-form__contents {
        display: block;
        width: 100%;
    }

    .woocommerce-cart-form__contents thead {
        display: none;
    }

    .woocommerce-cart-form__contents tbody tr {
        display: flex;
        flex-direction: column;
        padding: 20px 15px;
        margin-bottom: 15px;
        background: var(--eset-light);
        border-radius: var(--eset-radius);
        border: 1px solid var(--eset-gray-light);
    }

    .woocommerce-cart-form__contents td {
        display: block;
        width: 100%;
        padding: 8px 0;
        border: none;
        text-align: left;
    }

    .woocommerce-cart-form__contents td.product-remove {
        position: absolute;
        right: 10px;
        top: 10px;
        width: auto;
    }

    .woocommerce-cart-form__contents td.product-thumbnail {
        text-align: center;
        margin-bottom: 10px;
    }

    .woocommerce-cart-form__contents td.product-thumbnail img {
        max-width: 120px;
        height: auto;
    }

    .woocommerce-cart-form__contents td.product-name {
        font-weight: 600;
        font-size: 1rem;
        text-align: center;
    }

    .woocommerce-cart-form__contents td.product-price,
    .woocommerce-cart-form__contents td.product-subtotal {
        text-align: center;
    }

    .woocommerce-cart-form__contents td.product-price::before {
        content: "Цена: ";
        font-weight: 600;
    }

    .woocommerce-cart-form__contents td.product-subtotal::before {
        content: "Подытог: ";
        font-weight: 600;
    }

    /* License selectors mobile */
    .eset-cart-license-selectors {
        flex-direction: row;
        justify-content: center;
        gap: 15px;
        margin: 15px 0;
    }

    .eset-cart-license-selectors .eset-qty-selector {
        background: var(--eset-primary);
        padding: 10px 12px;
        border-radius: 10px;
    }

    .eset-cart-license-selectors .eset-qty-btn {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    /* Cart totals mobile */
    .cart_totals {
        width: 100% !important;
        float: none !important;
        margin-top: 20px;
    }

    .cart_totals h2 {
        font-size: 1.2rem;
    }

    .cart_totals table {
        width: 100%;
    }

    .cart_totals .wc-proceed-to-checkout {
        padding: 0;
    }

    .cart_totals .wc-proceed-to-checkout .checkout-button {
        width: 100%;
        padding: 16px 24px;
        font-size: 1rem;
    }

    /* Coupon mobile */
    .woocommerce-cart .coupon {
        display: flex;
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .woocommerce-cart .coupon input[type="text"] {
        width: 100%;
        margin-right: 0;
    }

    .woocommerce-cart .coupon button {
        width: 100%;
    }

    /* Actions row mobile */
    .woocommerce-cart-form__contents .actions {
        display: flex;
        flex-direction: column;
        gap: 15px;
        padding: 20px 0;
    }

    .woocommerce-cart-form__contents .actions button[name="update_cart"] {
        width: 100%;
        order: 2;
    }
}

/* ============================================================
   WOOCOMMERCE — CHECKOUT STYLES (ESET Design) v3
   Чистый дизайн, соответствующий главной странице
   ============================================================ */

/* === СТРАНИЦА CHECKOUT === */
body.woocommerce-checkout {
    background: linear-gradient(180deg, #1A2332 0%, #0D1117 100%) !important;
    min-height: 100vh;
}

/* Основной контейнер */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wc-block-checkout {
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 40px 20px !important;
}

/* Заголовок страницы */
.woocommerce-checkout h1,
.woocommerce-checkout .wp-block-heading {
    color: #FFFFFF !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 40px !important;
}

/* === СКРЫТЬ НЕНУЖНЫЕ БЛОКИ === */
.woocommerce-checkout .wp-block-woocommerce-checkout-billing-address-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-address-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-shipping-method-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-note-block,
.woocommerce-checkout .wp-block-woocommerce-checkout-pickup-options-block,
.woocommerce-checkout .wc-block-checkout__billing-fields,
.woocommerce-checkout .wc-block-checkout__shipping-fields,
.woocommerce-checkout #billing-fields,
.woocommerce-checkout #payment-method,
.woocommerce-checkout #order-notes,
.woocommerce-checkout .wc-block-checkout__terms,
.woocommerce-checkout #wc-guest-checkout-notice {
    display: none !important;
}

/* Скрыть оригинальный чекбокс создания аккаунта WooCommerce (используем свой кастомный) */
.woocommerce-checkout .wc-block-checkout__create-account {
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* === КОНТАКТНАЯ ИНФОРМАЦИЯ === */
.woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block {
    background: rgba(13, 17, 23, 0.8) !important;
    border: 1px solid rgba(0, 167, 181, 0.4) !important;
    border-radius: 16px !important;
    padding: 30px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Заголовок секции */
.woocommerce-checkout .wc-block-components-checkout-step__heading,
.woocommerce-checkout .wc-block-components-checkout-step__title {
    color: #FFFFFF !important;
    font-size: 1.3rem !important;
    font-weight: 600 !important;
    margin-bottom: 25px !important;
    padding-bottom: 15px !important;
    border-bottom: 2px solid #00A7B5 !important;
    display: block !important;
}

/* Скрыть номер шага */
.woocommerce-checkout .wc-block-components-checkout-step__heading-content::before {
    display: none !important;
}

/* Скрыть оригинальные поля WooCommerce */
.woocommerce-checkout .wc-block-components-address-form__email,
.woocommerce-checkout .wc-block-components-address-form__phone,
.woocommerce-checkout .wc-block-components-text-input:not(.eset-field-container) {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

/* Но показать наши кастомные поля */
.woocommerce-checkout .eset-custom-fields,
.woocommerce-checkout .eset-field-container {
    position: static !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    overflow: visible !important;
}

/* === КАСТОМНЫЕ ПОЛЯ (Email, Телефон) === */
.eset-custom-fields {
    display: block !important;
}

.eset-field-container {
    margin-bottom: 20px !important;
}

.eset-field-label {
    display: block !important;
    color: #00A7B5 !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.eset-field-input {
    width: 100% !important;
    background: #1a2332 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    border: 2px solid #00A7B5 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    font-size: 1rem !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    box-sizing: border-box !important;
}

.eset-field-input::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
}

.eset-field-input:focus {
    border-color: #00C4D4 !important;
    background: #1e2a3a !important;
    box-shadow: 0 0 0 4px rgba(0, 167, 181, 0.3) !important;
}

/* Autofill fix */
.eset-field-input:-webkit-autofill,
.eset-field-input:-webkit-autofill:hover,
.eset-field-input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px #1a2332 inset !important;
    -webkit-text-fill-color: #FFFFFF !important;
    border: 2px solid #00A7B5 !important;
}

/* === КАСТОМНЫЙ ЧЕКБОКС === */
.eset-checkbox-container {
    margin-top: 25px !important;
}

.eset-checkbox-label {
    display: flex !important;
    align-items: center !important;
    cursor: pointer !important;
    gap: 12px !important;
}

.eset-checkbox-box {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    background: #FFFFFF !important;
    border: 2px solid #00A7B5 !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.eset-checkbox-box.checked {
    background: #00A7B5 !important;
}

.eset-checkbox-check {
    width: 14px !important;
    height: 14px !important;
    opacity: 0 !important;
    transition: opacity 0.2s ease !important;
}

.eset-checkbox-box.checked .eset-checkbox-check {
    opacity: 1 !important;
    stroke: #FFFFFF !important;
}

.eset-checkbox-text {
    color: #FFFFFF !important;
    font-size: 0.95rem !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

.eset-checkbox-text a {
    color: #00C4D4 !important;
    text-decoration: underline !important;
}

/* === ДЕТАЛИ ЗАКАЗА (SIDEBAR) === */
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    background: rgba(13, 17, 23, 0.8) !important;
    border: 1px solid rgba(0, 167, 181, 0.4) !important;
    border-radius: 16px !important;
    padding: 25px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Скрыть дубликат order summary (оставляем только один в sidebar) */
.woocommerce-checkout .wc-block-components-checkout__main > .wp-block-woocommerce-checkout-order-summary-block {
    display: none !important;
}

/* Скрыть второй экземпляр order summary на мобильных */
@media (max-width: 768px) {
    .woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block:nth-of-type(2) {
        display: none !important;
    }
    
    .woocommerce-checkout .wc-block-checkout__sidebar + .wp-block-woocommerce-checkout-order-summary-block {
        display: none !important;
    }
    
    .woocommerce-checkout .checkout-order-summary-block-fill-wrapper {
        display: none !important;
    }
}

/* Скрыть блок добавления купонов на checkout */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
    display: none !important;
}

/* Заголовок "Ваш заказ" */
.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-order-summary-item__description {
    color: #FFFFFF !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .wc-block-components-totals-wrapper {
    color: #FFFFFF !important;
}

/* Разделитель товаров */
.woocommerce-checkout .wc-block-components-order-summary-item {
    padding: 15px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Название товара */
.woocommerce-checkout .wc-block-components-product-name {
    color: #FFFFFF !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
}

/* Метаданные товара */
.woocommerce-checkout .wc-block-components-product-metadata {
    color: rgba(255, 255, 255, 0.7) !important;
    font-size: 0.85rem !important;
}

/* Цена товара */
.woocommerce-checkout .wc-block-components-order-summary-item__total-price,
.woocommerce-checkout .wc-block-formatted-money-amount {
    color: #00A7B5 !important;
    font-weight: 700 !important;
}

/* Мобильная адаптация цен */
@media (max-width: 768px) {
    /* Уменьшить размер цен товаров в 1.5 раза на мобильных */
    .woocommerce-checkout .wc-block-components-product-price__value {
        font-size: 0.6rem !important;
    }
    
    /* Увеличить цену "Итого" в 1.5 раза на мобильных */
    .woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-formatted-money-amount {
        font-size: 1.35rem !important;
    }
}

/* Скрыть фото товара */
.woocommerce-checkout .wc-block-components-order-summary-item__image {
    display: none !important;
}

/* Итого */
.woocommerce-checkout .wc-block-components-totals-footer-item {
    background: rgba(0, 167, 181, 0.15) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-top: 20px !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item__label {
    color: #FFFFFF !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item__value {
    color: #00A7B5 !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
}

/* === КНОПКА ОФОРМИТЬ ЗАКАЗ === */
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
    width: 100% !important;
    background: linear-gradient(135deg, #00A7B5 0%, #00C4D4 100%) !important;
    color: #FFFFFF !important;
    border: none !important;
    padding: 18px 40px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 20px rgba(0, 167, 181, 0.4) !important;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 30px rgba(0, 167, 181, 0.5) !important;
}

/* === ССЫЛКИ И ТЕКСТ === */
.woocommerce-checkout a {
    color: #00A7B5 !important;
}

.woocommerce-checkout p,
.woocommerce-checkout span {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* === УВЕДОМЛЕНИЯ === */
.woocommerce-checkout .wc-block-components-notice-banner {
    background: rgba(0, 167, 181, 0.1) !important;
    border: 1px solid #00A7B5 !important;
    border-radius: 12px !important;
    padding: 15px 20px !important;
    color: #FFFFFF !important;
}

/* === MOBILE === */
@media (max-width: 768px) {
    .woocommerce-checkout .wp-block-woocommerce-checkout {
        padding: 20px 15px !important;
    }
    
    .woocommerce-checkout h1 {
        font-size: 1.5rem !important;
        margin-bottom: 25px !important;
    }
    
    .woocommerce-checkout .wp-block-woocommerce-checkout-contact-information-block,
    .woocommerce-checkout .wc-block-checkout__sidebar {
        padding: 20px !important;
        border-radius: 12px !important;
    }
    
    .eset-field-input {
        padding: 14px 16px !important;
    }
    
    .woocommerce-checkout .wc-block-components-checkout-place-order-button {
        padding: 16px 30px !important;
        font-size: 1rem !important;
    }
}

/* ===== CART QUANTITY COLUMN STYLES ===== */

/* Стилизация столбца количества товаров */
.woocommerce-cart-form .product-quantity {
    min-width: 120px;
    text-align: center;
}

.woocommerce-cart-form .product-quantity .quantity {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.woocommerce-cart-form .product-quantity input.qty,
.woocommerce-cart-form .product-quantity input[type="number"] {
    width: 60px !important;
    padding: 8px 12px !important;
    text-align: center !important;
    border: 2px solid #00a7b5 !important;
    border-radius: 8px !important;
    background: #ffffff !important;
    color: #1a1a2e !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    -moz-appearance: textfield;
    appearance: textfield;
    -webkit-text-fill-color: #1a1a2e !important;
    opacity: 1 !important;
}

.woocommerce-cart-form .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-form .product-quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

.woocommerce-cart-form .product-quantity input.qty:focus {
    outline: none;
    border-color: var(--eset-primary) !important;
    box-shadow: 0 0 0 2px rgba(0, 167, 181, 0.2);
}

/* ===== ORDER SUCCESS NOTIFICATION ===== */
.eset-order-success-notification {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-100px);
    z-index: 99999;
    opacity: 0;
    transition: all 0.3s ease;
}

.eset-order-success-notification.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.eset-order-success-notification .eset-success-content {
    display: flex;
    align-items: center;
    gap: 15px;
    background: linear-gradient(135deg, #00A7B5 0%, #00C4D4 100%);
    color: #FFFFFF;
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 167, 181, 0.4);
    font-size: 1.1rem;
    font-weight: 500;
    max-width: 90vw;
}

.eset-order-success-notification .eset-success-icon {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    stroke: #FFFFFF;
}

.eset-order-success-notification .eset-close-notification {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #FFFFFF;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}

.eset-order-success-notification .eset-close-notification:hover {
    background: rgba(255, 255, 255, 0.3);
}

/*
================================================================================
5. STATE STYLES — Interactive & Temporary States
================================================================================
Temporary style states applied via classes or pseudo-selectors:
- .is-active (active tab, selected item)
- .is-disabled (disabled input)
- .show (visible notification, modal)
- :hover (mouse over element)
- :focus (keyboard focus)
- :active (element being clicked)

State styles appear throughout the file but are also grouped here
for error/success notifications and other temporary UI states.
*/

/* ===== VALIDATION ERROR NOTIFICATION ===== */
.eset-validation-error {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%) translateY(-100px);
    z-index: 99999;
    opacity: 0;
    transition: all 0.3s ease;
}

.eset-validation-error.show {
    transform: translateX(-50%) translateY(0);
    opacity: 1;
}

.eset-validation-error .eset-error-content {
    display: flex;
    align-items: center;
    gap: 15px;
    background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
    color: #FFFFFF;
    padding: 20px 30px;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(231, 76, 60, 0.4);
    font-size: 1.1rem;
    font-weight: 500;
    max-width: 90vw;
}

.eset-validation-error .eset-error-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    stroke: #FFFFFF;
}

.eset-validation-error .eset-close-error {
    background: rgba(255, 255, 255, 0.2);
    border: none;
    color: #FFFFFF;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}

.eset-validation-error .eset-close-error:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* ===== QUANTITY BUTTON - NO VISUAL CHANGE AT LIMITS ===== */
/* Кнопки +/- всегда выглядят одинаково */

/* ===== WOOCOMMERCE PAGES STYLES ===== */
.eset-page--wc {
    background: #ffffff;
    padding-top: 100px;
}

.eset-page--wc .eset-page__body {
    padding: 0;
}

.eset-page--wc .eset-page__content {
    max-width: none;
    padding: 0;
}

/* Header on WC pages - keep white text */
body.woocommerce-cart .eset-header .eset-header__menu li a,
body.woocommerce-cart .eset-header .eset-header__tagline,
body.woocommerce-cart .eset-header .eset-header__cart,
body.woocommerce-checkout .eset-header .eset-header__menu li a,
body.woocommerce-checkout .eset-header .eset-header__tagline,
body.woocommerce-checkout .eset-header .eset-header__cart,
body.woocommerce-cart .eset-header.scrolled .eset-header__menu li a,
body.woocommerce-cart .eset-header.scrolled .eset-header__tagline,
body.woocommerce-checkout .eset-header.scrolled .eset-header__menu li a,
body.woocommerce-checkout .eset-header.scrolled .eset-header__tagline {
    color: #ffffff !important;
}

/*
================================================================================
THEME STYLES — Color Schemes & Visual Variations
================================================================================
Visual theme variations using CSS custom properties defined at :root level.
Theme styles enable consistent color schemes across all components.

Primary Theme Colors (using CSS variables):
- --eset-primary: #00A7B5 (main brand color)
- --eset-primary-dark: #008A96 (darker variation)
- --eset-primary-light: #00C4D4 (lighter variation)
- --eset-dark: #1A2332 (dark background)
- --eset-white: #FFFFFF (pure white)

To change the entire theme, modify CSS variables at :root level.
All components automatically inherit new theme colors.

Future: Consider adding theme switching classes like:
.theme--dark { --eset-primary: ... }
.theme--light { --eset-primary: ... }
================================================================================
*/
