/* Vega Shop — оформление магазина по макетам холста (ряд «BEWAVE Veikals», версия 47).
   Цвета и шрифт — как на vega-security.lv (redesign_decisions.md). */

:root {
	--vs-navy: #0B1F3A;
	--vs-panel: #17303F;
	--vs-panel-2: #22414F;
	--vs-panel-3: #2F5468;
	--vs-steel: #8DA9BA;
	--vs-bg: #F3F6F8;
	--vs-tint: #E6EFF5;
	--vs-line: #D9E2E8;
	--vs-muted: #4A6070;
	--vs-accent: #22C3E6;
	--vs-on-dark: #C9D6DE;
	--vs-ok: #1E6B3A;
	--vs-warn: #9A4A00;
	--vs-gutter: 48px;
}

/* ---------- основа ---------- */
body,
button,
input,
select,
textarea,
.ast-container,
h1, h2, h3, h4, h5, h6,
.entry-content :where(h1, h2, h3, h4, h5, h6),
.woocommerce,
.wc-block-components-text-input input {
	font-family: 'PT Sans', system-ui, sans-serif;
}
body {
	background: var(--vs-bg);
	color: var(--vs-navy);
}
a { color: var(--vs-panel-3); }
a:hover, a:focus { color: var(--vs-navy); }
h1, h2, h3, h4, h5, h6 { color: var(--vs-navy); }

.vs-wrap {
	max-width: 1440px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: var(--vs-gutter);
	padding-right: var(--vs-gutter);
}
body .ast-container,
body.woocommerce .ast-container {
	max-width: 1440px;
	padding-left: var(--vs-gutter);
	padding-right: var(--vs-gutter);
}
.ast-separate-container #primary,
#primary { margin: 28px 0 56px; padding: 0; }
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-woocommerce-container {
	background: transparent;
	padding: 0;
}

/* Плавающий переключатель TranslatePress не нужен — язык в шапке. */
#trp-floater-ls,
.trp-floater-ls-names,
.trp-floating-switcher { display: none !important; }

/* ---------- шапка ---------- */
.vs-header {
	position: relative;
	z-index: 20;
	background: var(--vs-navy);
	border-bottom: 1px solid var(--vs-panel-2);
}
.vs-header__in {
	padding-top: 14px;
	padding-bottom: 14px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
}
.vs-brand { display: flex; align-items: center; gap: 16px; }
.vs-brand__logo img { display: block; height: 52px; width: auto; }
.vs-brand__shop {
	min-height: 44px;
	padding-left: 16px;
	border-left: 1px solid var(--vs-panel-3);
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.1;
	color: #FFFFFF;
	text-decoration: none;
}
.vs-brand__shop span { font-weight: 400; color: var(--vs-accent); }
.vs-brand__shop:hover, .vs-brand__shop:focus { color: #FFFFFF; }

.vs-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 26px; }
.vs-nav > a {
	min-height: 44px;
	display: flex;
	align-items: center;
	color: #FFFFFF;
	font-size: 16px;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
.vs-nav > a:hover, .vs-nav > a:focus { color: #FFFFFF; border-bottom-color: var(--vs-panel-3); }
.vs-nav > a.is-active { font-weight: 700; border-bottom-color: var(--vs-accent); }
.vs-nav > a.vs-cart { border-bottom: 0; }
.vs-nav > a.vs-lang { color: var(--vs-on-dark); font-size: 15px; font-weight: 700; padding: 0 10px; border-bottom: 0; }

.vs-cart {
	position: relative;
	min-width: 44px;
	justify-content: center;
	margin-left: 8px;
	color: #FFFFFF;
}
.vs-cart__count {
	position: absolute;
	top: 4px;
	right: 0;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	box-sizing: border-box;
	border-radius: 10px;
	background: var(--vs-accent);
	color: var(--vs-navy);
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
}
.vs-cart__count.is-empty { display: none; }

.vs-mbar { display: none; align-items: center; gap: 8px; }
.vs-cart--box,
.vs-burger > summary {
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--vs-panel-3);
	border-radius: 8px;
	color: #FFFFFF;
	margin: 0;
}
.vs-cart--box .vs-cart__count { top: -6px; right: -6px; }
.vs-burger > summary { list-style: none; cursor: pointer; }
.vs-burger > summary::-webkit-details-marker { display: none; }
.vs-burger[open] .vs-burger__open,
.vs-burger:not([open]) .vs-burger__close { display: none; }
.vs-mnav {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 50;
	box-sizing: border-box;
	padding: 4px 16px 20px;
	background: var(--vs-navy);
	border-top: 1px solid var(--vs-panel-2);
	box-shadow: 0 16px 32px rgba(11, 31, 58, 0.35);
	display: flex;
	flex-direction: column;
}
.vs-mnav > a {
	min-height: 48px;
	display: flex;
	align-items: center;
	color: #FFFFFF;
	font-size: 17px;
	text-decoration: none;
	border-bottom: 1px solid var(--vs-panel);
}
.vs-mnav > a.is-active { color: var(--vs-accent); font-weight: 700; }
.vs-mnav__foot { padding-top: 16px; display: flex; gap: 12px; }
.vs-lang--box {
	min-height: 44px;
	padding: 0 16px;
	display: flex;
	align-items: center;
	border: 1px solid var(--vs-panel-3);
	border-radius: 8px;
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 1023px) {
	.vs-nav { display: none; }
	.vs-mbar { display: flex; }
}

/* ---------- полоса с «крошками» и полоса преимуществ ---------- */
.vs-band { background: #FFFFFF; border-bottom: 1px solid var(--vs-line); }
.vs-band__in {
	min-height: 44px;
	padding-top: 12px;
	padding-bottom: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 32px;
	font-size: 15px;
	color: var(--vs-muted);
}
.vs-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vs-crumbs a { color: var(--vs-panel-3); text-decoration: none; }
.vs-crumbs > :last-child:not(a) { color: var(--vs-navy); font-weight: 700; }

.vs-benefits { background: var(--vs-tint); border-bottom: 1px solid var(--vs-line); }
.vs-benefits__in {
	padding-top: 12px;
	padding-bottom: 12px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 32px;
	font-size: 15px;
	color: var(--vs-navy);
}
.vs-benefits__in > * { min-height: 36px; display: flex; align-items: center; gap: 10px; }
.vs-benefits__in svg { color: var(--vs-panel-3); flex: 0 0 auto; }
.vs-benefits__in a { color: var(--vs-navy); text-decoration: none; }

/* ---------- над сеткой: заголовок, количество, сортировка ---------- */
.vs-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 24px;
	margin-bottom: 24px;
}
.vs-toolbar__title { margin: 0; font-size: 28px; line-height: 1.15; }
.vs-toolbar__right { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 15px; color: var(--vs-muted); }
.vs-toolbar .woocommerce-result-count,
.vs-toolbar .woocommerce-ordering { float: none; margin: 0; }
.vs-toolbar .woocommerce-ordering select {
	min-height: 44px;
	padding: 0 32px 0 12px;
	border: 1px solid var(--vs-line);
	border-radius: 8px;
	background-color: #FFFFFF;
	color: var(--vs-navy);
	font-size: 15px;
}

/* ---------- сетка товаров и карточка ---------- */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products[class*="columns-"] {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 20px;
	margin: 0 0 32px;
	padding: 0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	overflow: hidden;
	transition: box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover {
	border-color: var(--vs-steel);
	box-shadow: 0 10px 28px rgba(11, 31, 58, 0.12);
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { position: relative; margin: 0; }
.woocommerce ul.products li.product a img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	background: var(--vs-bg);
}
.woocommerce ul.products li.product .astra-shop-summary-wrap {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex-grow: 1;
}
.woocommerce ul.products li.product .ast-woo-product-category {
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--vs-muted);
	opacity: 1;
	margin: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--vs-navy);
	margin: 0;
	padding: 0;
}
.woocommerce ul.products li.product .price {
	margin: auto 0 0;
	padding-top: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
	font-size: 20px;
	font-weight: 700;
	color: var(--vs-navy);
}
.woocommerce ul.products li.product .price del { order: 2; font-size: 15px; font-weight: 400; color: var(--vs-muted); opacity: 1; }
.woocommerce ul.products li.product .price ins { order: 1; text-decoration: none; }

/* метка скидки */
/* у Astra своя метка «Распродажа!» — прячем, показываем свою «−31%» */
.woocommerce .ast-onsale-card { display: none !important; }
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 4px 10px;
	border-radius: 6px;
	background: var(--vs-navy);
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

/* кнопки */
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .single_add_to_cart_button,
.vs-empty-cart a.button,
.wc-block-components-button:not(.is-link) {
	min-height: 44px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--vs-navy);
	border-radius: 8px;
	background: var(--vs-navy);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
}
.woocommerce ul.products li.product .button { width: 100%; margin-top: 8px; }
.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.vs-empty-cart a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--vs-panel);
	border-color: var(--vs-panel);
	color: #FFFFFF;
}
.woocommerce ul.products li.product.product-type-variable .button {
	background: #FFFFFF;
	color: var(--vs-navy);
}
.woocommerce ul.products li.product.product-type-variable .button:hover {
	background: var(--vs-navy);
	color: #FFFFFF;
}
.woocommerce ul.products li.product .added_to_cart { display: none; }

/* страницы */
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 8px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--vs-line);
	border-radius: 8px;
	background: #FFFFFF;
	color: var(--vs-navy);
	font-size: 16px;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--vs-navy);
	border-color: var(--vs-navy);
	color: #FFFFFF;
	font-weight: 700;
}

/* ---------- страница товара ---------- */
.woocommerce div.product { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 32px 56px; }
.woocommerce div.product div.images,
.woocommerce #content div.product div.images {
	flex: 1 1 360px;
	max-width: 480px;
	width: auto !important;
	float: none;
	margin: 0;
}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	overflow: hidden;
	background: #FFFFFF;
}
.woocommerce div.product div.images .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
.woocommerce div.product div.images .flex-control-thumbs li img {
	border: 2px solid var(--vs-line);
	border-radius: 10px;
	opacity: 1;
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active { border-color: var(--vs-accent); }
.woocommerce div.product div.summary {
	flex: 1 1 380px;
	min-width: 0;
	width: auto !important;
	float: none;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.woocommerce div.product div.summary > * { margin: 0; }
.woocommerce div.product .product_title { font-size: 40px; line-height: 1.1; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 18px; line-height: 1.55; color: var(--vs-panel-2); }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 36px;
	font-weight: 700;
	color: var(--vs-navy);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
}
.vs-price-suffix { font-size: 15px; font-weight: 400; color: var(--vs-muted); }
.woocommerce div.product .stock { font-size: 16px; color: var(--vs-ok); }
.woocommerce div.product .stock.out-of-stock { color: var(--vs-warn); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 0; }
.woocommerce div.product form.cart .quantity input.qty {
	height: 52px;
	min-width: 72px;
	border: 1px solid var(--vs-line);
	border-radius: 8px;
	font-size: 17px;
	font-weight: 700;
}
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 52px; font-size: 17px; }
.woocommerce div.product form.cart .variations { margin: 0 0 4px; }
.woocommerce div.product form.cart .variations select {
	min-height: 48px;
	border: 1px solid var(--vs-line);
	border-radius: 8px;
	font-size: 16px;
}
/* второй путь «Главная / …» внутри карточки — лишний, путь уже в полосе сверху */
.woocommerce div.product .summary .woocommerce-breadcrumb { display: none; }
.woocommerce div.product .summary .single-product-category {
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--vs-muted);
}
.woocommerce div.product .summary .single-product-category a { color: var(--vs-muted); text-decoration: none; }

/* цвет — кнопками */
.woocommerce div.product form.cart.vs-has-swatches .variations select { display: none; }
.woocommerce div.product .ast-stock-avail { display: none; }
.vs-has-swatches .variations .reset_variations { display: none !important; }
.woocommerce div.product form.cart .variations,
.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { display: block; border: 0; padding: 0; background: none; }
.woocommerce div.product form.cart .variations th.label { padding-bottom: 10px; font-size: 16px; font-weight: 700; color: var(--vs-navy); }
.vs-swatches { display: flex; flex-wrap: wrap; gap: 10px; }
.vs-swatch {
	min-height: 48px;
	padding: 0 16px 0 10px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	border: 2px solid var(--vs-line);
	border-radius: 8px;
	background: #FFFFFF;
	color: var(--vs-navy);
	font: inherit;
	font-size: 15px;
	cursor: pointer;
}
.vs-swatch:hover { border-color: var(--vs-steel); background: #FFFFFF; color: var(--vs-navy); }
.vs-swatch[aria-pressed="true"] { border-color: var(--vs-navy); }
.vs-swatch.is-unavailable { opacity: 0.45; }
.vs-swatch__dot { width: 24px; height: 24px; border-radius: 50%; border: 1px solid var(--vs-steel); }
.woocommerce div.product .woocommerce-variation-price .price { font-size: 28px; }
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled { opacity: 0.45; background: var(--vs-navy); border-color: var(--vs-navy); }

.vs-pinfo {
	background: var(--vs-tint);
	border-radius: 12px;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 15px;
	color: var(--vs-navy);
}
.vs-pinfo > span { display: flex; align-items: center; gap: 10px; }
.vs-pinfo svg { color: var(--vs-panel-3); flex: 0 0 auto; }
.vs-pinfo a { font-weight: 700; color: var(--vs-navy); }
.woocommerce div.product .product_meta { font-size: 14px; color: var(--vs-muted); }

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .upsells.products { flex: 1 1 100%; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 16px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 18px; color: var(--vs-navy); }
.woocommerce div.product .woocommerce-tabs .panel {
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	padding: 28px 32px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--vs-panel-2);
}
.woocommerce div.product .related.products > h2,
.woocommerce div.product .upsells.products > h2 { font-size: 28px; margin: 8px 0 20px; }

/* ---------- корзина и оформление (блоки WooCommerce) ---------- */
.vs-band__in--steps {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 8px 32px;
	padding-top: 16px;
	padding-bottom: 16px;
}
.vs-band__title { margin: 0; font-size: 36px; line-height: 1.1; text-align: center; }
.vs-band__back { color: var(--vs-panel-3); text-decoration: none; min-height: 44px; display: flex; align-items: center; }
.vs-steps { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; font-size: 14px; color: var(--vs-muted); }
.vs-steps li { margin: 0; }
/* Плагин Omniva делает все нумерованные списки на сайте римскими (ol li { upper-roman }) —
   пункты берут вид маркера у своего списка. */
body ol li { list-style-type: inherit; }
.vs-steps .is-current { font-weight: 700; color: var(--vs-navy); }

.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title { display: none; }
.woocommerce-cart .entry-content > .wp-block-heading:first-child,
.woocommerce-cart .entry-content > .wp-block-separator { display: none; }
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout { font-size: 16px; color: var(--vs-navy); }
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide { margin-left: 0 !important; margin-right: 0 !important; max-width: none; width: auto; }

/* карточки: строки корзины, шаги оформления, итог */
.wc-block-cart .wc-block-cart__main,
.wc-block-checkout .wc-block-components-checkout-step,
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar {
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	box-sizing: border-box;
}
.wc-block-cart .wc-block-cart__main { padding: 8px 24px !important; }
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__sidebar { padding: 24px !important; align-self: flex-start; }
.wc-block-checkout .wc-block-components-checkout-step { padding: 24px 28px; margin-bottom: 20px; }
.wc-block-components-sidebar-layout { gap: 32px; flex-wrap: nowrap; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 0; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding-left: 0; margin-top: 0; }
.wc-block-cart-items__header { font-size: 13px; letter-spacing: 0.04em; color: var(--vs-muted); }
.wc-block-cart-items td { border-top-color: var(--vs-line) !important; }
.wc-block-cart-item__image img { border-radius: 12px; }
.wc-block-cart .wc-block-cart-item__wrap .wc-block-components-product-name { font-size: 18px !important; font-weight: 700; color: var(--vs-navy); text-decoration: none; }
.wc-block-cart .wc-block-cart-item__prices,
.wc-block-cart .wc-block-components-product-metadata { font-size: 15px !important; color: var(--vs-muted); }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 20px; font-weight: 700; }
.wc-block-cart .wc-block-cart__main { align-self: flex-start; }
.wc-block-cart .wc-block-components-totals-item { font-size: 16px; }
.wc-block-components-quantity-selector { border-radius: 8px !important; }
.wc-block-components-quantity-selector::after { border-color: var(--vs-line) !important; border-radius: 8px !important; }
.wc-block-components-sale-badge { border-color: var(--vs-navy); color: var(--vs-navy); border-radius: 6px; }

.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text,
.wc-block-components-checkout-step__title {
	font-size: 22px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--vs-navy);
}
.wc-block-components-totals-wrapper { border-top-color: var(--vs-line) !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-size: 18px; font-weight: 700; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 28px; font-weight: 700; }
.wc-block-components-totals-footer-item-tax { color: var(--vs-muted); }
.wc-block-components-totals-footer-item-tax .wc-block-formatted-money-amount { margin: 0 4px; }
.vs-free-left {
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 10px;
	background: var(--vs-tint);
	font-size: 15px;
	color: var(--vs-navy);
}

/* поля и кнопки */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-select select,
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1px solid var(--vs-line) !important;
	border-radius: 8px !important;
	color: var(--vs-navy);
}
.wc-block-components-text-input.is-active input:focus,
.wc-block-components-text-input input:focus { border-color: var(--vs-navy) !important; box-shadow: 0 0 0 1px var(--vs-navy) !important; }
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
	border: 2px solid var(--vs-line);
	border-radius: 12px;
	margin-bottom: 10px;
	box-shadow: none !important;
}
.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted { border-color: var(--vs-navy) !important; }
.wc-block-components-radio-control__input:checked { border-color: var(--vs-navy) !important; background: var(--vs-navy) !important; }
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button { min-height: 52px !important; font-size: 17px !important; width: 100%; }
.wc-block-checkout__actions_row .wc-block-components-checkout-return-to-cart-button { color: var(--vs-panel-3); }

@media (max-width: 1023px) {
	.vs-band__in--steps { grid-template-columns: minmax(0, 1fr); justify-items: start; }
	.vs-band__title { text-align: left; font-size: 30px; }
	.vs-steps { justify-content: flex-start; }
	/* у WooCommerce на узком экране отрицательные поля под его отступы — свои карточки без них */
	.wc-block-components-sidebar-layout { flex-wrap: wrap; gap: 16px; margin-left: 0 !important; margin-right: 0 !important; }
	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar { width: 100% !important; flex: 1 1 100%; }
	.wc-block-cart .wc-block-cart__main { padding: 4px 12px !important; }
	.wc-block-cart .wc-block-cart-items__row { grid-template-columns: 64px minmax(0, 1fr) auto !important; column-gap: 12px; }
	.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 16px; }
	.wc-block-cart .wc-block-cart-item__wrap .wc-block-components-product-name { font-size: 16px !important; }
	.wc-block-cart .wc-block-cart__sidebar,
	.wc-block-checkout .wc-block-checkout__sidebar { padding: 16px !important; }
	.wc-block-checkout .wc-block-components-checkout-step { padding: 20px 16px; }
}

/* ---------- подвал ---------- */
.vs-footer { background: var(--vs-navy); color: var(--vs-on-dark); }
.vs-footer__in {
	padding-top: 10px;
	padding-bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 32px;
	font-size: 15px;
}
.vs-footer__contacts,
.vs-footer__legal { display: flex; flex-wrap: wrap; align-items: center; gap: 0 24px; }
.vs-footer__contacts > *,
.vs-footer__legal > * { min-height: 44px; display: flex; align-items: center; gap: 10px; text-decoration: none; }
.vs-footer__contacts a { color: #FFFFFF; }
.vs-footer__contacts svg { color: var(--vs-accent); }
.vs-footer__legal { font-size: 14px; gap: 0 20px; }
.vs-footer__legal a { color: var(--vs-on-dark); }
.vs-footer__legal a:hover, .vs-footer__contacts a:hover { color: #FFFFFF; }
.vs-footer__legal .vs-footer__site { color: #FFFFFF; }
.vs-footer__copy { color: var(--vs-steel); }

/* ---------- телефон ---------- */
@media (max-width: 600px) {
	:root { --vs-gutter: 16px; }
	.vs-header__in { gap: 12px; }
	.vs-brand__logo img { height: 34px; }
	.vs-brand__shop { font-size: 15px; padding-left: 12px; }
	.vs-brand { gap: 12px; }
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 12px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 15px; }
	.woocommerce ul.products li.product .price { font-size: 18px; }
	.vs-toolbar__title { font-size: 24px; }
	.woocommerce div.product .product_title { font-size: 32px; }
	.woocommerce div.product .woocommerce-tabs .panel { padding: 20px; }
}

/* итог оформления: внешняя карточка уже есть, внутренняя рамка блока не нужна */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block { border: 0; }

/* ---------- «Спасибо за заказ» ---------- */
.woocommerce-order { font-size: 16px; }
.woocommerce-order .woocommerce-thankyou-order-received { font-size: 18px; color: var(--vs-navy); margin: 0 0 20px; }
.woocommerce-order ul.order_details {
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	padding: 18px 24px;
	margin: 0 0 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px 0;
}
.woocommerce-order ul.order_details li { border-right-color: var(--vs-line); font-size: 13px; color: var(--vs-muted); }
.woocommerce-order ul.order_details li strong { font-size: 16px; color: var(--vs-navy); }
.vs-thanks { display: flex; flex-wrap: wrap; align-items: stretch; gap: 24px 32px; margin: 0 0 32px; }
.vs-thanks h2 { margin: 0 0 14px; font-size: 22px; }
.vs-thanks__next {
	flex: 1 1 420px;
	min-width: 0;
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	padding: 28px 32px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.vs-thanks__next ol { margin: 0 0 18px; padding-left: 22px; font-size: 17px; line-height: 1.5; color: var(--vs-panel-2); display: flex; flex-direction: column; gap: 10px; }
.vs-thanks__actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 12px; }
.woocommerce .vs-thanks__actions .button { min-height: 52px; padding: 0 24px; }
.woocommerce .vs-thanks__actions .vs-button-outline { background: #FFFFFF; color: var(--vs-navy); }
.woocommerce .vs-thanks__actions .vs-button-outline:hover { background: var(--vs-navy); color: #FFFFFF; }
.vs-thanks__bank {
	flex: 1 1 380px;
	min-width: 0;
	background: var(--vs-navy);
	color: #FFFFFF;
	border-radius: 16px;
	padding: 28px 32px;
}
.vs-thanks__bank h2 { color: #FFFFFF; }
.vs-thanks__bank dl { margin: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 20px; font-size: 16px; }
.vs-thanks__bank dt { color: var(--vs-steel); font-weight: 400; }
.vs-thanks__bank dd { margin: 0; overflow-wrap: anywhere; }
.vs-thanks__iban { font-weight: 700; letter-spacing: 0.02em; }
.vs-thanks__sum { font-size: 22px; font-weight: 700; color: var(--vs-accent); }
.vs-thanks__sum .woocommerce-Price-amount { color: var(--vs-accent); }
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details { margin-bottom: 24px; }
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title { font-size: 22px; }
.woocommerce-order table.shop_table,
.woocommerce-order .woocommerce-customer-details address {
	background: #FFFFFF;
	border: 1px solid var(--vs-line) !important;
	border-radius: 16px;
	overflow: hidden;
}

/* ---------- Omniva: выбор пакомата ---------- */
html:root { --omnivalt-blocks-omniva-color-main: #0B1F3A; }

/* ---------- «Мой аккаунт» ---------- */
.woocommerce-account .entry-header { margin-bottom: 20px; }
.woocommerce-account .entry-title { font-size: 32px; }
.woocommerce-account .woocommerce { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 32px; }
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 1 260px;
	width: auto !important;
	float: none;
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	padding: 8px;
	box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border: 0; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li { border: 0 !important; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	min-height: 44px;
	padding: 0 14px;
	display: flex;
	align-items: center;
	border-radius: 8px;
	color: var(--vs-navy);
	font-size: 16px;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--vs-tint); }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--vs-tint); font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 999 1 480px;
	min-width: 0;
	width: auto !important;
	float: none;
	background: #FFFFFF;
	border: 1px solid var(--vs-line);
	border-radius: 16px;
	padding: 24px 28px;
	box-sizing: border-box;
	font-size: 16px;
	color: var(--vs-panel-2);
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) { color: var(--vs-panel-3); }
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table { border: 1px solid var(--vs-line); border-radius: 12px; overflow: hidden; }
.woocommerce-account .woocommerce-orders-table .button { min-height: 36px; padding: 0 14px; font-size: 14px; }
.woocommerce-account .woocommerce-Addresses { display: flex; flex-wrap: wrap; gap: 20px; }
.woocommerce-account .woocommerce-Address { flex: 1 1 240px; width: auto !important; float: none !important; }
/* вход и регистрация (для гостя) */
.woocommerce-account:not(.logged-in) .woocommerce > h2 { font-size: 24px; }
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	background: #FFFFFF;
	border: 1px solid var(--vs-line) !important;
	border-radius: 16px;
	padding: 24px 28px !important;
	max-width: 520px;
	margin: 0 0 24px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	min-height: 48px;
	border: 1px solid var(--vs-line);
	border-radius: 8px;
	padding: 0 12px;
	font-size: 16px;
}
@media (max-width: 600px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { flex: 1 1 100%; }
	.woocommerce-account .woocommerce-MyAccount-content { padding: 20px 16px; }
}

/* пустая корзина: текст и кнопка «Visas preces» по центру */
.vs-empty-cart { padding: 64px 16px 80px; display: flex; flex-direction: column; align-items: center; gap: 24px; text-align: center; }
.vs-empty-cart__text { margin: 0; font-size: 24px; font-weight: 700; color: var(--vs-navy); }
.vs-empty-cart a.vs-empty-cart__button { min-height: 52px; padding: 0 32px; font-size: 17px; }

/* Текстовые страницы (правила, конфиденциальность, доставка и возврат; решение владельца
   2026-10-14): узкая колонка и размер текста как на vega-security.lv. Страницы магазина —
   корзина, оформление, «Мой аккаунт», каталог — не затрагиваются. */
body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .site-main > article {
	max-width: 760px;
	margin: 0 auto;
	padding: 48px 0 72px;
}
body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .entry-title { font-size: 36px; line-height: 1.2; margin-bottom: 24px; }
body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .entry-content h2 { font-size: 21px; line-height: 1.3; margin: 32px 0 8px; }
body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .entry-content p,
body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .entry-content li { font-size: 17px; line-height: 1.6; color: var(--vs-panel-2); }
body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .entry-content li { margin-bottom: 6px; }
@media (max-width: 767px) {
	body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .site-main > article { padding: 24px 0 48px; }
	body.page-template-default:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account):not(.woocommerce-shop) .entry-title { font-size: 28px; }
}
