/* ==========================================================================
   VG REFRESH — слой «более современный, но тот же» для viborgeneratora.ru
   Один файл стилей. Ничего не меняет в текстах, ценах, составе и порядке блоков.
   Подключается mu-плагином vg-refresh.php; все правила живут под классом .vgr
   на <body>, поэтому слой снимается удалением двух файлов (или ?vgr=0 в адресе).
   ========================================================================== */

.vgr {
	--vg-orange: #FF6F00;
	--vg-orange-h: #E16403;
	--vg-blue: #0891D8;
	--vg-green: #60D669;
	--vg-card: #233746;
	--vg-panel: #203443;
	--vg-line: #3D5E76;
	--vg-line-soft: rgba(255, 255, 255, .09);
	--vg-fill: #2E485B;
	--vg-text: rgba(255, 255, 255, .92);
	--vg-text-2: rgba(255, 255, 255, .74);
	--vg-text-3: rgba(255, 255, 255, .58);
	--vg-r-card: 12px;
	--vg-r-ctl: 8px;
	--vg-r-pill: 999px;
	--vg-head: kinetika, "sfpro", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--vg-body: sfpro, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--vg-ease: .18s ease;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
/* фон-градиент не должен «нарезаться» полосами, если что-то шире экрана */
.vgr { background-repeat: no-repeat; background-size: 100% 100%; background-attachment: scroll; }

.vgr img { max-width: 100%; height: auto; }
.vgr a { transition: color var(--vg-ease), background-color var(--vg-ease), border-color var(--vg-ease), opacity var(--vg-ease); }
.vgr :focus-visible { outline: 2px solid var(--vg-orange); outline-offset: 2px; border-radius: 4px; }
.vgr ::selection { background: var(--vg-orange); color: #fff; }

/* --------------------------------------------------------------------------
   1. КНОПКИ — одна система: «пилюля», одна высота, один шрифт
   -------------------------------------------------------------------------- */
.vgr .elementor-button.elementor-button-link,
.vgr button.elementor-button,
.vgr .section-card .buy,
.vgr .section-card .btn,
.vgr .widget-feedback .btn,
.vgr .popup-block button {
	font-family: var(--vg-head) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: none;
	min-height: 44px;
	padding: 12px 26px !important;
	border-radius: var(--vg-r-pill) !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	box-sizing: border-box;
	cursor: pointer;
	transition: background-color var(--vg-ease), border-color var(--vg-ease), color var(--vg-ease), transform var(--vg-ease);
}
.vgr .elementor-button.elementor-button-link,
.vgr button.elementor-button,
.vgr .section-card .buy,
.vgr .widget-feedback .btn,
.vgr .popup-block button {
	background-color: var(--vg-orange);
	color: #fff;
	border: 1px solid var(--vg-orange);
}
.vgr .elementor-button.elementor-button-link:hover,
.vgr button.elementor-button:hover,
.vgr .section-card .buy:hover,
.vgr .widget-feedback .btn:hover,
.vgr .popup-block button:hover {
	background-color: var(--vg-orange-h);
	border-color: var(--vg-orange-h);
	color: #fff;
}
.vgr .elementor-button.elementor-button-link:active,
.vgr button.elementor-button:active,
.vgr .section-card .buy:active,
.vgr .popup-block button:active { transform: translateY(1px); }

/* второстепенные кнопки (были серые с белым текстом — плохо читались):
   тот же контурный вид, что у «Консультация инженера» в карточке товара */
.vgr .elementor-element-c3b8524 .elementor-button,
.vgr .elementor-element-7c766c0 .elementor-button,
.vgr .elementor-element-5e2891a .elementor-button,
.vgr .elementor-element-e580e60 .elementor-button,
.vgr .elementor-element-42edebc .elementor-button,
.vgr .elementor-element-c4ff52a .elementor-button,
.vgr .elementor-element-33bec57 .elementor-button,
.vgr .elementor-element-b4bdbfe .elementor-button,
.vgr .elementor-element-03d60d9 .elementor-button,
.vgr .section-card .btn {
	background-color: rgba(46, 72, 91, .72) !important;
	border: 1px solid #5B7D96 !important;
	color: #fff !important;
	font-weight: 400 !important;
}
.vgr .elementor-element-c3b8524 .elementor-button:hover,
.vgr .elementor-element-7c766c0 .elementor-button:hover,
.vgr .elementor-element-5e2891a .elementor-button:hover,
.vgr .elementor-element-e580e60 .elementor-button:hover,
.vgr .elementor-element-42edebc .elementor-button:hover,
.vgr .elementor-element-c4ff52a .elementor-button:hover,
.vgr .elementor-element-33bec57 .elementor-button:hover,
.vgr .elementor-element-b4bdbfe .elementor-button:hover,
.vgr .elementor-element-03d60d9 .elementor-button:hover,
.vgr .section-card .btn:hover {
	background-color: #3A5B73 !important;
	border-color: #7FA3BD !important;
	color: #fff !important;
}
.vgr .section-card .buy,
.vgr .section-card .btn,
.vgr .widget-feedback .btn,
.vgr .popup-block button { display: flex; width: 100%; }
.vgr .section-card .buy { min-height: 50px; font-size: 16px !important; margin-top: 12px; }

/* метки на карточках («6 кВт», «бензин») — это не кнопки; всегда в правом верхнем углу карточки
   (раньше положение было подогнано под одну ширину экрана и на планшете/телефоне метка сползала) */
.vgr .e-loop-item > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap { position: relative; }
.vgr .e-loop-item .elementor-widget-wrap > .elementor-widget-button:not(:last-child) {
	position: absolute;
	top: 18px;
	right: 10px;
	width: auto !important;
	margin: 0 !important;
	z-index: 2;
}
.vgr .e-loop-item .elementor-widget-wrap > .elementor-widget-button:not(:last-child) > .elementor-widget-container { margin: 0 !important; }
.vgr .e-loop-item .elementor-button:not(.elementor-button-link) {
	font-family: var(--vg-body) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	padding: 7px 9px !important;
	border-radius: 6px !important;
	cursor: default;
	box-shadow: none;
}

/* --------------------------------------------------------------------------
   2. ШАПКА
   -------------------------------------------------------------------------- */
.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item {
	color: #24343F !important;
	fill: #24343F !important;
	font-size: 15px;
	font-weight: 400;
}
.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item.highlighted,
.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active,
.vgr .elementor-location-header .elementor-nav-menu--main .current-menu-ancestor > .elementor-item {
	color: var(--vg-orange) !important;
	fill: var(--vg-orange) !important;
}
.vgr .elementor-location-header .elementor-nav-menu--main .sub-menu {
	border-radius: var(--vg-r-card);
	padding: 8px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(8, 16, 22, .28);
	border: 0;
	min-width: 320px !important;
}
.vgr .elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item {
	color: #24343F;
	font-size: 14px;
	line-height: 1.35;
	padding: 10px 14px;
	border-radius: var(--vg-r-ctl);
	white-space: normal;
	background: transparent;
}
.vgr .elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,
.vgr .elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus {
	background: #F1F4F6;
	color: var(--vg-orange);
}
.vgr .elementor-location-header .elementor-icon-list-text,
.vgr .elementor-location-footer .elementor-icon-list-text { color: var(--vg-text); }
.vgr .elementor-location-header a:hover .elementor-icon-list-text,
.vgr .elementor-location-footer a:hover .elementor-icon-list-text { color: var(--vg-orange); }

/* мобильное меню */
.vgr .elementor-location-header .elementor-menu-toggle {
	width: 44px;
	height: 44px;
	padding: 0;
	align-items: center;
	justify-content: center;
	border-radius: var(--vg-r-pill);
	color: #24343F;
}
.vgr .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
	background: #fff;
	box-shadow: 0 18px 34px rgba(8, 16, 22, .35);
	border-radius: 0 0 var(--vg-r-card) var(--vg-r-card);
	overflow: hidden;
}
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
	color: #24343F;
	background: transparent;
	font-size: 16px;
	line-height: 1.3;
	padding: 14px 20px;
	border-bottom: 1px solid #EDF0F2;
	white-space: normal;
}
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item {
	font-size: 15px;
	padding-left: 34px;
	color: #3B4C58;
}
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-item.highlighted,
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-item:hover,
.vgr .elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item:hover {
	background: #F4F6F8;
	color: var(--vg-orange);
}

/* --------------------------------------------------------------------------
   3. ТИПОГРАФИКА — одна шкала
   -------------------------------------------------------------------------- */
.vgr .elementor-widget-heading .elementor-heading-title { line-height: 1.14; letter-spacing: -.01em; text-wrap: balance; }
.vgr .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(30px, 4.2vw, 60px); }
.vgr .elementor-widget-heading h2.elementor-heading-title { font-size: clamp(24px, 2.5vw, 34px); }
/* два «гигантских» подзаголовка на главной были того же кегля, что и главный заголовок */
.vgr .elementor-element-0c8095e h2.elementor-heading-title,
.vgr .elementor-element-302c488 h2.elementor-heading-title { font-size: clamp(28px, 3.3vw, 46px); }
.vgr .elementor-icon-box-title { line-height: 1.25; text-wrap: balance; }
.vgr .elementor-icon-box-description { font-size: 15px; line-height: 1.5; color: var(--vg-text-2); }
.vgr .elementor-widget-text-editor { overflow-wrap: break-word; }
.vgr .elementor-widget-accordion .elementor-tab-content,
.vgr .elementor-widget-accordion .elementor-tab-content li,
.vgr .elementor-widget-accordion .elementor-tab-content p { font-size: 16px; line-height: 1.55; color: var(--vg-text-2); font-weight: 400; }
.vgr .elementor-widget-accordion .elementor-tab-title { border-radius: var(--vg-r-ctl); }
.vgr .elementor-widget-accordion .elementor-accordion-item { border-radius: var(--vg-r-ctl); overflow: hidden; }

/* хлебные крошки */
.vgr #breadcrumbs,
.vgr .elementor-widget-breadcrumbs,
.vgr .elementor-widget-breadcrumbs p,
.vgr .section-card .speedbar {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 0;
	color: var(--vg-text);
}
.vgr .elementor-widget-breadcrumbs a,
.vgr .section-card .speedbar a { color: var(--vg-text-3); text-decoration: none; }
.vgr .elementor-widget-breadcrumbs a:hover,
.vgr .section-card .speedbar a:hover { color: var(--vg-orange); }

/* --------------------------------------------------------------------------
   4. КАРТОЧКИ ТОВАРОВ В СПИСКАХ — ровные, одной высоты, кнопка прижата к низу
   -------------------------------------------------------------------------- */
.vgr .elementor-loop-container.elementor-grid { gap: 24px; align-items: stretch; }
.vgr .e-loop-item { display: flex; min-width: 0; }
.vgr .e-loop-item > .elementor-section,
.vgr .e-loop-item > .elementor-section > .elementor-container,
.vgr .e-loop-item > .elementor-section > .elementor-container > .elementor-column { display: flex; flex: 1 1 auto; width: 100%; min-width: 0; }
.vgr .e-loop-item > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-content: stretch;
	height: 100%;
	width: 100%;
	padding: 10px 10px 20px;
	border-radius: var(--vg-r-card);
	border: 1px solid var(--vg-line-soft);
	box-shadow: none;
	overflow: hidden;
	transition: border-color var(--vg-ease), transform var(--vg-ease), background-color var(--vg-ease);
}
.vgr .e-loop-item:hover > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap {
	border-color: rgba(8, 145, 216, .55);
	transform: translateY(-2px);
}
.vgr .e-loop-item .elementor-widget-wrap > .elementor-widget { width: 100%; flex: 0 0 auto; }
.vgr .e-loop-item .elementor-widget-theme-post-featured-image a { display: block; }
.vgr .e-loop-item .elementor-widget-theme-post-featured-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 9 / 8;
	object-fit: contain;
	object-position: center;
}
.vgr .e-loop-item .elementor-widget-icon-list .elementor-icon-list-text { font-size: 21px; line-height: 1.22; }
.vgr .e-loop-item .elementor-widget-icon-list a:hover .elementor-icon-list-text { color: #fff; }
.vgr .e-loop-item .elementor-widget-text-editor:not(.p-price) {
	flex: 1 0 auto;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--vg-text-2);
}
.vgr .e-loop-item .elementor-widget-text-editor:not(.p-price) p { margin: 0; }
.vgr .e-loop-item .p-price { font-size: 22px; line-height: 1.2; margin-top: 16px; margin-bottom: 14px; font-variant-numeric: tabular-nums; }
.vgr .e-loop-item .elementor-widget-button:last-child { margin-top: 0; margin-bottom: 0; }
.vgr .e-loop-item .elementor-widget-button:last-child .elementor-button { min-width: 148px; min-height: 42px; padding: 10px 24px !important; }

/* плитки «Наша продукция» на главной и список разделов в каталоге */
.vgr .elementor-widget-icon-box .elementor-icon-box-wrapper,
.vgr .elementor-widget-image-box .elementor-image-box-wrapper { height: 100%; }
.vgr .elementor-widget-icon-box .elementor-icon-box-icon img,
.vgr .elementor-widget-image-box .elementor-image-box-img img { object-fit: contain; }
.vgr .elementor-image-box-title { line-height: 1.25; text-wrap: balance; }
.vgr .elementor-image-box-title a:hover { color: var(--vg-orange); }
.vgr .elementor-image-box-description { font-size: 15px; line-height: 1.5; color: var(--vg-text-2); }

/* --------------------------------------------------------------------------
   5. КАРТОЧКА ТОВАРА
   -------------------------------------------------------------------------- */
.vgr .section-card { margin: 32px 0 56px; padding-bottom: 56px; border-bottom-color: var(--vg-line-soft); }
.vgr .section-card h1,
.vgr .technical-specifications .title-section,
.vgr .section-card-information h2 {
	font-family: var(--vg-head);
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--vg-text);
	text-wrap: balance;
}
.vgr .technical-specifications .title-section,
.vgr .section-card-information h2 { margin-bottom: 24px; }
.vgr .section-card .big { border-radius: var(--vg-r-card); padding: 20px; aspect-ratio: 4 / 3; }
.vgr .section-card .big img { width: 100%; height: 100%; object-fit: contain; }
.vgr .section-card .slide { border-radius: var(--vg-r-ctl); border-width: 2px; padding: 6px; transition: border-color var(--vg-ease); }
.vgr .section-card .slide:hover { border-color: var(--vg-blue); }
.vgr .section-card .slide img { object-fit: contain; }
.vgr .section-card .status { line-height: 1.4; margin-bottom: 20px; }
.vgr .section-card .status.no { color: #FF7A6B; }
.vgr .section-card .flex { margin-bottom: 0; gap: 32px; }
.vgr .section-card .col:first-child > br { display: none; }
.vgr .perelinovka_tovarov { margin-bottom: 12px; }
.vgr .perelinovka_tovarov-flex { gap: 6px; }
.vgr .perelinovka_tovarov-flex a {
	width: calc(50% - 3px);
	min-height: 38px;
	padding: 8px 10px;
	border-radius: var(--vg-r-ctl);
	border-color: var(--vg-line);
	font-size: 13px;
	line-height: 1.25;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background-color var(--vg-ease), border-color var(--vg-ease);
}
.vgr .perelinovka_tovarov-flex a:hover { background: var(--vg-fill); border-color: #5B7D96; color: #fff; }
.vgr .perelinovka_tovarov-flex a.active { background: var(--vg-fill); border-color: var(--vg-blue); }
.vgr .section-card .add {
	min-height: 42px;
	border-radius: var(--vg-r-ctl);
	border-color: var(--vg-line);
	font-family: var(--vg-body);
	font-size: 14px;
	font-weight: 400;
	padding: 10px 14px;
	margin-bottom: 6px;
	transition: background-color var(--vg-ease), border-color var(--vg-ease), color var(--vg-ease);
}
.vgr .section-card .add:hover { background: var(--vg-fill); border-color: #5B7D96; }
/* «добавлено»: вместо кислотно-зелёной заливки — спокойная зелёная рамка и подложка */
.vgr .section-card .add.active { background: rgba(96, 214, 105, .16); border-color: var(--vg-green); color: #fff; }
.vgr .section-card .price { margin-bottom: 8px; }
.vgr .section-card .price span { font-size: 40px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.vgr .section-card .price span.zapros { font-size: 18px; }
.vgr .section-card .bottom { margin-top: 12px; }

.vgr .technical-specifications { margin-bottom: 56px; padding-bottom: 56px; border-bottom-color: var(--vg-line-soft); }
.vgr .technical-specifications .flex { gap: 40px; }
.vgr .technical-specifications .container.opisanie { padding: 0 !important; margin-top: 56px; }
.vgr .technical-specifications .opisanie p,
.vgr .technical-specifications .opisanie li,
.vgr .section-card-information { font-size: 16px; line-height: 1.62; color: var(--vg-text-2); }
.vgr .technical-specifications .opisanie p { margin: 0 0 14px; max-width: 68ch; }
.vgr .technical-specifications .buttons { gap: 12px; margin-bottom: 24px; }
.vgr .technical-specifications .buttons a,
.vgr .widget-product .link,
.vgr .widget-feedback .desc b a {
	font-size: 16px;
	line-height: 1.3;
	padding: 16px 20px;
	gap: 14px;
	border-radius: var(--vg-r-card);
	border: 1px solid var(--vg-line-soft);
	box-shadow: none;
	transition: border-color var(--vg-ease), background-color var(--vg-ease);
}
.vgr .technical-specifications .buttons a:hover,
.vgr .widget-product .link:hover,
.vgr .widget-feedback .desc b a:hover { border-color: var(--vg-orange); background: #25404F; color: #fff; }
.vgr .technical-specifications .buttons a:before { flex: 0 0 24px; }
.vgr .widget-feedback,
.vgr .widget-product { border-radius: var(--vg-r-card); border: 1px solid var(--vg-line-soft); }
.vgr .widget-feedback { margin-bottom: 24px; padding: 0 28px 28px; }
.vgr .widget-feedback .images { margin: 0 -28px 22px; border-radius: 0; }
.vgr .widget-feedback .images img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.vgr .widget-feedback .desc { margin-bottom: 20px; }
.vgr .widget-product { padding: 24px 28px 28px; }
.vgr .widget-product .title,
.vgr .widget-product .name { font-family: var(--vg-head); font-size: 20px; line-height: 1.25; margin-bottom: 18px; }
.vgr .widget-product .images { width: 100%; margin-bottom: 18px; border-radius: var(--vg-r-ctl); }
.vgr .widget-product .images img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.vgr .section-card-information { margin-bottom: 56px; padding-bottom: 48px; border-bottom-color: var(--vg-line-soft); }

/* --------------------------------------------------------------------------
   6. ТАБЛИЦЫ (характеристики, цены, таблицы в статьях)
   -------------------------------------------------------------------------- */
.vgr .technical-specifications table,
.vgr .section-price-new table,
.vgr.vgr-plain .site-main .page-content table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--vg-line-soft);
	border-radius: var(--vg-r-card);
	overflow: hidden;
	background: rgba(32, 52, 67, .55);
	font-size: 14.5px;
	line-height: 1.45;
}
.vgr .technical-specifications table td,
.vgr .technical-specifications table th,
.vgr .section-price-new table td,
.vgr .section-price-new table th,
.vgr.vgr-plain .site-main .page-content table td,
.vgr.vgr-plain .site-main .page-content table th {
	border: 0;
	border-bottom: 1px solid var(--vg-line-soft);
	padding: 12px 16px;
	vertical-align: middle;
	background: transparent;
	color: var(--vg-text);
	text-align: left;
}
.vgr .technical-specifications table tr:last-child > td,
.vgr .section-price-new table tr:last-child > td,
.vgr.vgr-plain .site-main .page-content table tr:last-child > td { border-bottom: 0; }
.vgr .technical-specifications table tbody > tr:nth-child(odd) > td,
.vgr .technical-specifications table tbody > tr:nth-child(odd) > th,
.vgr .section-price-new table tbody > tr:nth-child(odd) > td,
.vgr.vgr-plain .site-main .page-content table tbody > tr:nth-child(odd) > td { background: rgba(255, 255, 255, .028); }
.vgr .technical-specifications table tbody > tr:hover > td,
.vgr .section-price-new table tbody > tr:hover > td { background: rgba(8, 145, 216, .10); }
.vgr .technical-specifications table td:first-child { color: var(--vg-text-2); width: 62%; }
.vgr .technical-specifications table td:last-child { color: #fff; font-weight: 500; }

.vgr .section-price-new h2 { font-family: var(--vg-head); font-size: 22px; line-height: 1.25; letter-spacing: -.01em; margin: 0 0 16px; }
.vgr .section-price-new table { margin: 0 0 56px; }
.vgr .section-price-new table th {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .02em;
	color: var(--vg-text-3);
	background: rgba(16, 24, 30, .35) !important;
	vertical-align: bottom;
}
.vgr .section-price-new table td:first-child,
.vgr .section-price-new table th:first-child { width: 68px; padding-right: 0; }
.vgr .section-price-new .images { border-radius: var(--vg-r-ctl); padding: 4px; }
.vgr .section-price-new .images img { width: 100%; height: 100%; object-fit: contain; }
.vgr .section-price-new .name { font-size: 15px; line-height: 1.4; color: var(--vg-text); }
.vgr .section-price-new .name:hover { color: var(--vg-orange); }
.vgr .section-price-new table td:nth-child(n+3),
.vgr .section-price-new table th:nth-child(n+3) { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.vgr .section-price-new table td:nth-child(n+3) { color: #fff; font-size: 15px; }

/* --------------------------------------------------------------------------
   7. ФОРМЫ И ВСПЛЫВАЮЩИЕ ОКНА
   -------------------------------------------------------------------------- */
.vgr .elementor-form .elementor-field-textual {
	min-height: 46px;
	border-radius: 10px;
	font-size: 16px;
	line-height: 1.3;
	padding: 10px 16px;
	transition: border-color var(--vg-ease), box-shadow var(--vg-ease);
}
.vgr .elementor-form .elementor-field-textual:focus { border-color: var(--vg-orange); box-shadow: 0 0 0 3px rgba(255, 111, 0, .25); outline: 0; }
.vgr .elementor-form button.elementor-button { min-height: 46px; width: 100%; }
.vgr .elementor-form .elementor-field-type-acceptance .elementor-field-subgroup { font-size: 13px; line-height: 1.45; }
.vgr .elementor-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
.vgr .elementor-form .elementor-field-type-acceptance input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--vg-orange); }
.vgr .elementor-form .elementor-field-type-acceptance label { color: var(--vg-text-2); font-size: 13px; line-height: 1.45; }
.vgr .elementor-form .elementor-field-type-acceptance label a { color: #FFA05C; text-decoration: underline; text-underline-offset: 2px; }
/* форма на светлой/фото-подложке в подвале: поле читаемое */
.vgr .elementor-location-footer .elementor-form .elementor-field-textual {
	background-color: rgba(16, 24, 30, .55);
	border-color: rgba(255, 255, 255, .55);
	color: #fff;
}
.vgr .elementor-location-footer .elementor-form .elementor-field-textual::placeholder { color: rgba(255, 255, 255, .72); opacity: 1; }

/* окно «Заказать звонок» (Elementor) */
.vgr .elementor-popup-modal .dialog-widget-content {
	border-radius: 16px !important;
	box-shadow: 0 24px 60px rgba(4, 10, 14, .55) !important;
	background-color: #203443 !important;
	border: 1px solid rgba(255, 255, 255, .10);
}
.vgr .elementor-popup-modal .elementor-46 .elementor-field-textual {
	min-height: 46px;
	border-radius: 10px;
	font-size: 16px;
	padding: 10px 16px;
	border: 1px solid transparent;
}
.vgr .elementor-popup-modal .elementor-46 .elementor-field-textual:focus { border-color: #FF6F00; box-shadow: 0 0 0 3px rgba(255, 111, 0, .25); outline: 0; }
.vgr .elementor-popup-modal .elementor-46 button.elementor-button {
	font-family: kinetika, sfpro, system-ui, sans-serif;
	font-size: 15px;
	font-weight: 500;
	min-height: 46px;
	width: 100%;
	border-radius: 999px;
	background-color: #FF6F00;
	border: 1px solid #FF6F00;
	color: #fff;
	box-shadow: none;
}
.vgr .elementor-popup-modal .elementor-46 button.elementor-button:hover { background-color: #E16403; border-color: #E16403; }
.vgr .elementor-popup-modal .elementor-46 .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
.vgr .elementor-popup-modal .elementor-46 .elementor-field-type-acceptance input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #FF6F00; }
.vgr .elementor-popup-modal .elementor-46 .elementor-field-type-acceptance label { color: rgba(255, 255, 255, .74); font-size: 13px; line-height: 1.45; }
.vgr .elementor-popup-modal .elementor-46 .elementor-field-type-acceptance label a { color: #FFA05C; text-decoration: underline; }
.vgr .elementor-popup-modal .dialog-close-button { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; border-radius: 999px; }

/* окно «Вы покупаете…» в карточке товара */
.vgr .popup-block .popup-bg { background: rgba(8, 14, 19, .66); }
.vgr .popup-block .block {
	max-width: 460px;
	width: calc(100% - 32px);
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 36px 28px 28px;
	border-radius: 16px;
	background: #203443;
	border: 1px solid rgba(255, 255, 255, .10);
	box-shadow: 0 24px 60px rgba(4, 10, 14, .55);
	box-sizing: border-box;
}
.vgr .popup-block .close { width: 32px; height: 32px; top: 12px; right: 12px; opacity: .8; transition: opacity var(--vg-ease); }
.vgr .popup-block .close:hover { opacity: 1; }
.vgr .popup-block .title { font-family: var(--vg-head); font-size: 20px; font-weight: 400; line-height: 1.25; text-transform: none; margin-bottom: 14px; padding: 0 20px; text-wrap: balance; }
.vgr .popup-block .selected-names { font-size: 15px; color: var(--vg-text-2); }
.vgr .popup-block .total { font-size: 18px; margin: 6px 0 18px; }
.vgr .popup-block input {
	height: 48px;
	border-radius: 10px;
	margin-bottom: 12px;
	padding: 0 16px;
	border: 1px solid transparent;
	box-sizing: border-box;
	transition: border-color var(--vg-ease), box-shadow var(--vg-ease);
}
.vgr .popup-block input:focus { border-color: var(--vg-orange); box-shadow: 0 0 0 3px rgba(255, 111, 0, .25); outline: 0; }
.vgr .popup-block button { min-height: 48px; height: auto; margin: 4px 0 16px; font-size: 16px; }
.vgr .popup-block .warning { font-size: 12.5px; line-height: 1.45; color: var(--vg-text-3); }
.vgr .popup-block .warning a { color: var(--vg-text-2); }
.vgr .popup-block .wpcf7-response-output { border-radius: var(--vg-r-ctl); margin: 0 0 12px; padding: 10px 14px; font-size: 13px; color: #fff; }
.vgr .popup-block .wpcf7-not-valid-tip { font-size: 12px; margin: -6px 0 10px; color: #FF9C8F; }

/* --------------------------------------------------------------------------
   8. БЛОГ: список и статья
   -------------------------------------------------------------------------- */
.vgr .elementor-posts-container.elementor-grid { gap: 24px; }
.vgr .elementor-post .elementor-post__card {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: var(--vg-r-card);
	background: var(--vg-card);
	border: 1px solid var(--vg-line-soft);
	box-shadow: none;
	overflow: hidden;
	transition: border-color var(--vg-ease), transform var(--vg-ease);
}
.vgr .elementor-post:hover .elementor-post__card { border-color: rgba(8, 145, 216, .55); transform: translateY(-2px); }
.vgr .elementor-post .elementor-post__thumbnail__link { margin-bottom: 0; }
.vgr .elementor-post .elementor-post__thumbnail { padding-bottom: 0 !important; aspect-ratio: 16 / 10; background: #fff; }
.vgr .elementor-post .elementor-post__thumbnail img { position: static; transform: none; width: 100%; height: 100%; object-fit: cover; display: block; }
.vgr .elementor-post .elementor-post__text { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px 22px 22px; margin: 0; }
.vgr .elementor-post .elementor-post__title { font-size: 18px !important; line-height: 1.3 !important; margin-bottom: 12px; }
.vgr .elementor-post .elementor-post__title,
.vgr .elementor-post .elementor-post__title a { color: #fff !important; font-family: var(--vg-head); font-weight: 400; }
.vgr .elementor-post .elementor-post__title a:hover { color: var(--vg-orange) !important; }
.vgr .elementor-post .elementor-post__excerpt { flex: 1 1 auto; margin-bottom: 16px; }
.vgr .elementor-post .elementor-post__excerpt p {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: 0 !important;
	color: var(--vg-text-2) !important;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.vgr .elementor-post .elementor-post__read-more-wrapper { margin-top: auto; }
.vgr .elementor-post .elementor-post__read-more { color: #FF8A33 !important; font-size: 14px; font-weight: 500; text-transform: none; }
.vgr .elementor-post .elementor-post__read-more:hover { color: #FFB27A !important; }
.vgr .elementor-post .elementor-post__read-more::after { content: " \2192"; }

.vgr.vgr-plain .site-main { max-width: 860px; padding-left: 20px; padding-right: 20px; box-sizing: border-box; margin-left: auto; margin-right: auto; }
.vgr.vgr-plain .site-main .post-thumbnail { margin: 8px 0 28px; }
.vgr.vgr-plain .site-main .post-thumbnail img { display: block; width: 100%; max-height: 420px; object-fit: contain; border-radius: var(--vg-r-card); background: #fff; }
.vgr.vgr-plain .site-main .page-content { font-size: 17px; line-height: 1.68; color: rgba(255, 255, 255, .82); overflow-wrap: break-word; padding-bottom: 56px; }
.vgr.vgr-plain .site-main .page-content p,
.vgr.vgr-plain .site-main .page-content li { font-size: 17px; line-height: 1.68; color: rgba(255, 255, 255, .82); }
.vgr.vgr-plain .site-main .page-content p { margin: 0 0 1.05em; }
.vgr.vgr-plain .site-main .page-content ul,
.vgr.vgr-plain .site-main .page-content ol { margin: 0 0 1.1em; padding-left: 1.3em; }
.vgr.vgr-plain .site-main .page-content li { margin-bottom: .35em; }
.vgr.vgr-plain .site-main .page-content li::marker { color: var(--vg-orange); }
.vgr.vgr-plain .site-main .page-content h1,
.vgr.vgr-plain .site-main .page-content h2,
.vgr.vgr-plain .site-main .page-content h3,
.vgr.vgr-plain .site-main .page-content h4 { font-family: var(--vg-head); color: #fff; letter-spacing: -.01em; text-wrap: balance; overflow-wrap: break-word; }
.vgr.vgr-plain .site-main .page-content h1 { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; margin: 0 0 .7em; }
.vgr.vgr-plain .site-main .page-content h2 { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.22; font-weight: 400; margin: 1.7em 0 .6em; }
.vgr.vgr-plain .site-main .page-content h2 strong { font-weight: inherit; }
.vgr.vgr-plain .site-main .page-content h3 { font-size: clamp(19px, 2vw, 22px); line-height: 1.28; margin: 1.5em 0 .5em; }
.vgr.vgr-plain .site-main .page-content a { color: #FFA05C; text-underline-offset: 2px; }
.vgr.vgr-plain .site-main .page-content a:hover { color: var(--vg-orange); }
.vgr.vgr-plain .site-main .page-content strong { color: #fff; }
.vgr.vgr-plain .site-main .page-content img { border-radius: var(--vg-r-ctl); }
.vgr.vgr-plain .site-main .page-content blockquote { margin: 1.4em 0; padding: 14px 20px; border-left: 3px solid var(--vg-orange); background: rgba(255, 255, 255, .04); border-radius: 0 var(--vg-r-ctl) var(--vg-r-ctl) 0; }
.vgr.error404 .site-main .page-content { padding: 72px 0 96px; text-align: center; }
.vgr.error404 .site-main .page-content p { font-family: var(--vg-head); font-size: clamp(22px, 3vw, 32px); line-height: 1.25; color: #fff; }

/* заголовки из обычного редактора на страницах без конструктора (например, служебная «Корзина») */
.vgr .wp-block-heading,
.vgr .wp-block-post-title { overflow-wrap: break-word; }
.vgr:not(.elementor-page) .site-main .page-content .wp-block-heading,
.vgr:not(.elementor-page) .site-main .page-content .wp-block-post-title { font-size: clamp(22px, 2.4vw, 28px); line-height: 1.22; }

/* --------------------------------------------------------------------------
   9. ПОДВАЛ
   -------------------------------------------------------------------------- */
.vgr .elementor-location-footer .elementor-nav-menu .elementor-item { color: var(--vg-text); font-size: 15px; line-height: 1.3; }
.vgr .elementor-location-footer .elementor-nav-menu .elementor-item:hover,
.vgr .elementor-location-footer .elementor-nav-menu .elementor-item.elementor-item-active { color: var(--vg-orange); }
@media (max-width: 1024px) {
	/* в подвале на планшете и телефоне меню было спрятано за еле заметной кнопкой — показываем ссылки сразу */
	.vgr .elementor-location-footer .elementor-menu-toggle { display: none !important; }
	.vgr .elementor-location-footer .elementor-nav-menu--dropdown.elementor-nav-menu__container { display: none !important; }
	.vgr .elementor-location-footer .elementor-nav-menu--main { display: block !important; }
}
@media (max-width: 767px) {
	.vgr .elementor-location-footer .elementor-nav-menu--main .elementor-nav-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 6px; }
	.vgr .elementor-location-footer .elementor-nav-menu--main .elementor-item { padding: 10px 12px; }
}

/* --------------------------------------------------------------------------
   10. АДАПТИВ
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1340px) {
	/* на планшете и небольших ноутбуках содержимое прилипало к краям экрана */
	.vgr .elementor:not(.e-loop-item) > .elementor-top-section.elementor-section-boxed > .elementor-container { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 1024px) {
	.vgr .elementor-loop-container.elementor-grid { gap: 16px; }
	.vgr .section-card .col-left { max-width: 560px; margin: 0 auto; width: 100%; }
}
@media (max-width: 767px) {
	.vgr .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(27px, 7.6vw, 34px); }
	.vgr .elementor-widget-heading h2.elementor-heading-title,
	.vgr .elementor-element-0c8095e h2.elementor-heading-title,
	.vgr .elementor-element-302c488 h2.elementor-heading-title { font-size: clamp(22px, 6.2vw, 27px); }
	.vgr .e-loop-item .elementor-widget-theme-post-featured-image img { aspect-ratio: 4 / 3; max-height: 260px; }
	.vgr .e-loop-item > .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 14px 14px 20px; }
	.vgr .e-loop-item .elementor-widget-text-editor:not(.p-price) { font-size: 15px; }
	.vgr .e-loop-item .elementor-widget-button:last-child .elementor-button { min-width: 180px; min-height: 46px; }
	.vgr .section-card { margin: 20px 0 40px; padding-bottom: 40px; }
	.vgr .section-card .price span { font-size: 34px; }
	.vgr .perelinovka_tovarov-flex a { min-height: 42px; font-size: 13.5px; }
	.vgr .technical-specifications { margin-bottom: 40px; padding-bottom: 40px; }
	.vgr .technical-specifications .flex { gap: 28px; }
	.vgr .technical-specifications .container.opisanie { margin-top: 40px; }
	.vgr .technical-specifications table td { padding: 11px 12px; font-size: 14px; }
	.vgr .technical-specifications table td:first-child { width: 58%; }
	.vgr .widget-feedback { padding: 0 20px 22px; }
	.vgr .widget-feedback .images { margin: 0 -20px 18px; }
	.vgr .widget-product { padding: 20px; }
	.vgr.vgr-plain .site-main .page-content,
	.vgr.vgr-plain .site-main .page-content p,
	.vgr.vgr-plain .site-main .page-content li { font-size: 16px; line-height: 1.62; }
	.vgr.error404 .site-main .page-content { padding: 48px 0 64px; }
	.vgr .site-main .alignwide,
	.vgr .site-main .alignfull { margin-left: 0; margin-right: 0; max-width: 100%; width: auto; }
	.vgr .popup-block .block { padding: 34px 20px 22px; }
	.vgr .popup-block .title { font-size: 18px; padding: 0 22px; }
	.vgr .elementor-form .elementor-field-group.elementor-col-66,
	.vgr .elementor-form .elementor-field-group.elementor-col-30 { width: 100%; max-width: 100%; }

	/* таблицы в статьях на телефоне: прокрутка внутри таблицы, а не всей страницы */
	.vgr.vgr-plain .site-main .page-content table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; font-size: 14px; }
	.vgr.vgr-plain .site-main .page-content table > tbody { display: table; width: 100%; }
}
@media (max-width: 640px) {
	/* таблица цен на телефоне: название — отдельной строкой, цены — ровными колонками под шапкой */
	.vgr .section-price-new h2 { font-size: 19px; }
	.vgr .section-price-new table { display: block; margin-bottom: 40px; font-size: 13.5px; }
	.vgr .section-price-new table > tbody { display: block; }
	.vgr .section-price-new table tr { display: flex; flex-wrap: wrap; align-items: center; padding: 10px 12px; gap: 6px 10px; border-bottom: 1px solid var(--vg-line-soft); }
	.vgr .section-price-new table tr:last-child { border-bottom: 0; }
	.vgr .section-price-new table tbody > tr:nth-child(odd) { background: rgba(255, 255, 255, .028); }
	.vgr .section-price-new table tr:first-child { background: rgba(16, 24, 30, .35); align-items: flex-end; }
	.vgr .section-price-new table td,
	.vgr .section-price-new table th { display: block; padding: 0 !important; border: 0 !important; background: transparent !important; min-width: 0; }
	.vgr .section-price-new table td:first-child { flex: 0 0 40px; width: 40px; }
	.vgr .section-price-new table th:first-child { display: none; }
	.vgr .section-price-new .images { width: 40px; height: 40px; }
	.vgr .section-price-new table td:nth-child(2) { flex: 1 1 calc(100% - 50px); }
	.vgr .section-price-new table th:nth-child(2) { flex: 1 1 100%; }
	.vgr .section-price-new table td:nth-child(n+3),
	.vgr .section-price-new table th:nth-child(n+3) { flex: 1 1 0; text-align: left; white-space: normal; }
	.vgr .section-price-new table td:nth-child(n+3) { font-size: 14px; white-space: nowrap; }
	.vgr .section-price-new table th { font-size: 11px; }
	.vgr .section-price-new table th br { display: none; }
	.vgr .section-price-new .name { font-size: 14px; line-height: 1.35; }
}
@media (prefers-reduced-motion: reduce) {
	.vgr *, .vgr *::before, .vgr *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ==========================================================================
   11. «ОБРЕЗЫШИ» (v2, 12.10.2026) — всё, что не помещалось и срезалось краем
   экрана или блока. Принцип: ничего не прятать, а размещать (перенос, свой кегль
   под ширину, авто-высота, фото целиком). overflow:hidden как «лечение» не используется.
   ========================================================================== */

/* 11.1 Заголовки: длинное слово («Электрогенераторы», «Теплоизолированные») не уезжает за экран */
.vgr h1, .vgr h2, .vgr h3, .vgr h4 { overflow-wrap: break-word; }
.vgr .elementor-icon-list-text,
.vgr .elementor-button-text { overflow-wrap: break-word; min-width: 0; }
.vgr .elementor-icon-list-item > a { min-width: 0; max-width: 100%; }
@media (max-width: 767px) {
	.vgr .container > h1,
	.vgr .site-main > h1,
	.vgr .site-main .page-header h1,
	.vgr .elementor-widget-heading h1.elementor-heading-title {
		font-size: clamp(23px, 7.2vw, 34px) !important;
		line-height: 1.18 !important;
		overflow-wrap: break-word;
	}
	.vgr .elementor-widget-heading h2.elementor-heading-title,
	.vgr .elementor-element-0c8095e h2.elementor-heading-title,
	.vgr .elementor-element-302c488 h2.elementor-heading-title {
		font-size: clamp(21px, 6.2vw, 27px) !important;
		line-height: 1.2 !important;
	}
	/* плитки «Наша продукция»: текст не прижат к краю карточки */
	.vgr .elementor-widget-icon-box .elementor-icon-box-content,
	.vgr .elementor-widget-image-box .elementor-image-box-content { padding-left: 12px; padding-right: 12px; }
}

/* 11.2 Главный экран: фото линейки генераторов было крупнее экрана и срезалось с боков
   (на всех ширинах меньше ~1200). Теперь масштабируется по ширине — вся линейка видна. */
@media (max-width: 1279px) {
	.vgr .elementor-element.elementor-element-06c1f81:not(.elementor-motion-effects-element-type-background) {
		background-size: 112% auto !important;
		background-position: center top !important;
	}
}
@media (max-width: 1024px) {
	/* планшет и телефон: фото — отдельным слоем под текстом, верхний край растворён (без «шва») */
	.vgr .elementor-element.elementor-element-06c1f81:not(.elementor-motion-effects-element-type-background) { background-image: none !important; position: relative; }
	.vgr .elementor-element-06c1f81::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 40px;
		height: 58.9vw;
		background: url(../../uploads/2026/01/kartinka-verh.png) center center / 112% auto no-repeat;
		-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%);
		mask-image: linear-gradient(to bottom, transparent 0, #000 22%);
		pointer-events: none;
		z-index: 0;
	}
	.vgr .elementor-element-06c1f81 > .elementor-container { position: relative; z-index: 1; }
}
@media (max-width: 767px) {
	.vgr .elementor-element-06c1f81::before { bottom: 96px; }
	.vgr .elementor-element.elementor-element-34043aa { --spacer-size: 40vw !important; }
}

/* 11.3 Баннеры «Под ключ» и «Хотите покупать по лучшей цене»: предмет на фото срезался краем
   или уходил под плашку. Планшет — кадр сдвинут так, чтобы предмет был целиком рядом с плашкой;
   телефон — плашка сверху, под ней полоса с тем же фото, где предмет виден целиком. */
.vgr .elementor-element-525dcb6 .elementor-icon-list-text { white-space: nowrap; font-size: clamp(20px, 2.9vw, 30px) !important; }
@media (min-width: 768px) and (max-width: 1024px) {
	.vgr .elementor-element.elementor-element-1d3a47f:not(.elementor-motion-effects-element-type-background) { background-position: 67% center !important; }
	.vgr .elementor-element.elementor-element-46b1e1d:not(.elementor-motion-effects-element-type-background) { background-position: 64% center !important; }
}
@media (max-width: 1024px) {
	/* поле и кнопка формы — друг под другом: кнопка больше не вылезает из плашки */
	.vgr .elementor-element-a3b6418 .elementor-field-group { width: 100% !important; max-width: 100% !important; flex-basis: 100% !important; }
}
@media (max-width: 767px) {
	.vgr .elementor-element.elementor-element-1d3a47f:not(.elementor-motion-effects-element-type-background) {
		background-image: url(../../uploads/2025/12/banner-pod-klyuch.jpg), url(../../uploads/2025/12/banner-pod-klyuch.jpg) !important;
		background-size: 200% auto, cover !important;
		background-position: right bottom, left top !important;
		background-repeat: no-repeat !important;
		padding-bottom: 59.3vw !important;
	}
	.vgr .elementor-element.elementor-element-46b1e1d:not(.elementor-motion-effects-element-type-background) {
		background-image: url(../../uploads/2025/12/banner-price.jpg), url(../../uploads/2025/12/banner-price.jpg) !important;
		background-size: 185% auto, cover !important;
		background-position: right bottom, left top !important;
		background-repeat: no-repeat !important;
		padding-bottom: 73.5vw !important;
	}
	.vgr .elementor-element-525dcb6 .elementor-icon-list-text { font-size: clamp(21px, 6.6vw, 30px) !important; }
	.vgr .elementor-element-1bbf58e { font-size: clamp(18px, 5.6vw, 24px) !important; }
}

/* 11.4 Шапка на планшете: меню не помещалось в одну строку («Контакты» падало на вторую) */
@media (min-width: 768px) and (max-width: 1024px) {
	.vgr .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; }
	.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item { white-space: nowrap; padding-left: clamp(8px, 1.5vw, 18px) !important; padding-right: clamp(8px, 1.5vw, 18px) !important; }
}
@media (min-width: 768px) and (max-width: 880px) {
	.vgr .elementor-location-header .elementor-nav-menu--main .elementor-item { font-size: 14px; }
}

/* 11.5 Подвал на планшете: e-mail вылезал из колонки на кнопку, «Заказать звонок» ломалась на две строки */
@media (min-width: 768px) and (max-width: 1024px) {
	.vgr .elementor-element-31a1686 > .elementor-container > .elementor-element-0a95e6b { width: 22% !important; }
	.vgr .elementor-element-31a1686 > .elementor-container > .elementor-element-d1da209 { width: 15% !important; }
	.vgr .elementor-element-31a1686 > .elementor-container > .elementor-element-ea65c5a { width: 35% !important; }
	.vgr .elementor-element-31a1686 > .elementor-container > .elementor-element-4213677 { width: 28% !important; }
	.vgr .elementor-element-6d1f229 .elementor-button { padding-left: 16px !important; padding-right: 16px !important; }
}

/* 11.6 Контакты на планшете: адрес почты не помещался в карточку и наезжал на соседние — карточки 2×2 */
@media (min-width: 768px) and (max-width: 1024px) {
	.vgr .elementor-element-976abdc > .elementor-container { flex-wrap: wrap; }
	.vgr .elementor-element-976abdc > .elementor-container > .elementor-column { width: 50% !important; }
}
.vgr .elementor-element-9d088dd .elementor-icon-list-text { overflow-wrap: anywhere; }

/* 11.7 Блог: фото в карточках резались (cover) — показываются целиком на белой подложке;
   анонс обрывался на полуслове (ограничение 4 строками) — показывается полностью, карточки растут */
.vgr .elementor-post .elementor-post__thumbnail { background: #fff; }
.vgr .elementor-post .elementor-post__thumbnail img { position: static !important; transform: none !important; width: 100% !important; height: 100% !important; max-width: 100% !important; object-fit: contain; object-position: center; }
.vgr .elementor-post .elementor-post__excerpt p { display: block; -webkit-line-clamp: unset; overflow: visible; }

/* 11.8 Боковые блоки в карточке товара: фото товара — целиком */
.vgr .widget-product .images img { object-fit: contain; }

/* 11.9 Таблица цен на самых узких телефонах (320–350): три цены в строке слипались и вылезали */
@media (max-width: 350px) {
	.vgr .section-price-new table tr { padding-left: 10px; padding-right: 10px; gap: 6px 6px; }
	.vgr .section-price-new table td:nth-child(n+3) { font-size: 12px; letter-spacing: -.02em; min-width: 0; }
}

/* 11.10 Служебные страницы без конструктора: широкие блоки не шире экрана */
@media (max-width: 1340px) {
	.vgr .site-main .alignwide,
	.vgr .site-main .alignfull { margin-left: 0; margin-right: 0; max-width: 100%; width: auto; }
}

/* ==========================================================================
   12. ЖЁСТКИЕ КРАЯ ФОТО (v3, 13.10.2026) — фото лежало прямоугольником на
   градиентном фоне и выглядело обрезанным. Края растворяются в фоне (mask),
   ничего не прячется и не режется.
   ========================================================================== */

/* 12.1 Первый экран, компьютер: фото было фоном фиксированного размера 1440 px — на экранах шире
   по бокам читались вертикальные границы, снизу фото срезалось краем блока «ступенькой».
   Теперь фото — отдельный слой по центру, вписан по ширине, края растворены со всех сторон. */
@media (min-width: 1025px) {
	.vgr .elementor-element.elementor-element-06c1f81:not(.elementor-motion-effects-element-type-background) { background-image: none !important; position: relative; }
	.vgr .elementor-element-06c1f81::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: min(100%, 1440px);
		transform: translateX(-50%);
		background: url(../../uploads/2026/01/kartinka-verh.png) center top / 100% auto no-repeat;
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 9%, #000 82%, transparent 100%);
		-webkit-mask-composite: source-in;
		mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 9%, #000 82%, transparent 100%);
		mask-composite: intersect;
		pointer-events: none;
		z-index: 0;
	}
	.vgr .elementor-element-06c1f81 > .elementor-container { position: relative; z-index: 1; }
}
@media (max-width: 1024px) {
	/* планшет и телефон: к растворённому верху добавлен растворённый низ */
	.vgr .elementor-element-06c1f81::before {
		-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 84%, transparent 100%);
		mask-image: linear-gradient(to bottom, transparent 0, #000 22%, #000 84%, transparent 100%);
	}
}

/* 12.2 «Наши преимущества»: фото — прямоугольник с резкими краями и размытой полосой внизу,
   кнопка висела на его нижней границе. Края фото растворены, кнопка — целиком под фото. */
.vgr .elementor-element-0cc225e img,
.vgr .elementor-element-bc91633 img {
	/* овальная маска: генератор и надпись непрозрачны, светлый «пол» уходит в фон пятном света, без прямых кромок */
	-webkit-mask-image: radial-gradient(ellipse 49% 52% at 50% 44%, #000 72%, rgba(0, 0, 0, .38) 88%, transparent 100%), linear-gradient(to right, transparent 0, #000 21%, #000 79%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: radial-gradient(ellipse 49% 52% at 50% 44%, #000 72%, rgba(0, 0, 0, .38) 88%, transparent 100%), linear-gradient(to right, transparent 0, #000 21%, #000 79%, transparent 100%);
	mask-composite: intersect;
}
.vgr .elementor-element.elementor-element-f5e6b4b > .elementor-widget-container,
.vgr .elementor-element.elementor-element-100f9d4 > .elementor-widget-container { margin: -22px 0 24px !important; }

/* 12.3 Баннеры «Под ключ» и «Лучшая цена» на широких экранах: фон растягивался по ширине и
   генератор срезался сверху и снизу краем полосы. До 1430 px — кадр подобран так, чтобы предмет был
   целиком; шире — фото вписано по высоте целиком, а его края растворены в фоне страницы. */
@media (min-width: 1025px) and (max-width: 1429px) {
	.vgr .elementor-element.elementor-element-46b1e1d:not(.elementor-motion-effects-element-type-background) { background-position: center 85% !important; }
}
@media (min-width: 1430px) {
	.vgr .elementor-element.elementor-element-1d3a47f:not(.elementor-motion-effects-element-type-background),
	.vgr .elementor-element.elementor-element-46b1e1d:not(.elementor-motion-effects-element-type-background) { background-image: none !important; position: relative; }
	.vgr .elementor-element-1d3a47f::before,
	.vgr .elementor-element-46b1e1d::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		pointer-events: none;
		z-index: 0;
		-webkit-mask-composite: source-in;
		mask-composite: intersect;
	}
	.vgr .elementor-element-1d3a47f::before {
		left: 50%;
		transform: translateX(-50%);
		aspect-ratio: 1440 / 427;
		background: url(../../uploads/2025/12/banner-pod-klyuch.jpg) center / 100% 100% no-repeat;
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 9%, #000 91%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 8%, #000 92%, transparent 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 9%, #000 91%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 8%, #000 92%, transparent 100%);
	}
	.vgr .elementor-element-46b1e1d::before {
		right: max(0px, calc(50% - 720px));
		aspect-ratio: 1440 / 572;
		background: url(../../uploads/2025/12/banner-price.jpg) center / 100% 100% no-repeat;
		-webkit-mask-image: linear-gradient(to right, transparent 0, #000 34%, #000 93%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 8%, #000 94%, transparent 100%);
		mask-image: linear-gradient(to right, transparent 0, #000 34%, #000 93%, transparent 100%), linear-gradient(to bottom, transparent 0, #000 8%, #000 94%, transparent 100%);
	}
	.vgr .elementor-element-1d3a47f > .elementor-container,
	.vgr .elementor-element-46b1e1d > .elementor-container { position: relative; z-index: 1; }
}

/* 12.4 Блог: сюжетные фото 3:2 заполняют рамку (срез ~3% с каждой стороны, предмет цел) — без узких
   белых полос по бокам; узкий баннер-полоса лежит на тёмной подложке с растворёнными краями */
.vgr .elementor-post .elementor-post__thumbnail img[src*="-300x200."] { object-fit: cover; }
.vgr .elementor-post .elementor-post__thumbnail:has(img[src*="banner-pod-klyuch"]) { background: #1b2a36; }
.vgr .elementor-post .elementor-post__thumbnail img[src*="banner-pod-klyuch"] {
	-webkit-mask-image: linear-gradient(to bottom, transparent 26%, #000 40%, #000 60%, transparent 74%);
	mask-image: linear-gradient(to bottom, transparent 26%, #000 40%, #000 60%, transparent 74%);
}


/* --------------------------------------------------------------------------
   13. 16.10.2026 — ГАЛЕРЕЯ КАРТОЧКИ ТОВАРА
   У серии SEA в карточке 17 фото. Лента миниатюр — простая колонка без слайдера,
   поэтому она вытягивала блок до ~1600 px на десктопе и ~1900 px на телефоне,
   а большое фото висело в пустой белой рамке той же высоты. Цена и «Купить»
   уезжали далеко вниз. Фото не трогаем — ограничиваем ленту.
   -------------------------------------------------------------------------- */
@media (min-width: 1201px) {
	/* большое фото больше не растягивается под высоту ленты */
	.vgr .section-card .container > .col-left { align-items: flex-start; }
	.vgr .section-card .col-left .small {
		max-height: 486px;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: #2E485B transparent;
		padding-right: 3px;
	}
	.vgr .section-card .col-left .small::-webkit-scrollbar { width: 4px; }
	.vgr .section-card .col-left .small::-webkit-scrollbar-track { background: transparent; }
	.vgr .section-card .col-left .small::-webkit-scrollbar-thumb { background: #2E485B; border-radius: 4px; }
}
@media (max-width: 1200px) {
	/* на планшете и телефоне лента ложится в несколько рядов вместо одной колонки */
	.vgr .section-card .col-left .small {
		flex-direction: row;
		flex-wrap: wrap;
		width: auto;
		justify-content: flex-start;
		gap: 10px;
	}
	.vgr .section-card .col-left .small .slide { flex: 0 0 68px; width: 68px; height: 68px; }
}

/* ---------- 14. 18.10.2026: блок АВР — это опция к генератору, а не ещё одна модель в сетке ----------
   отделяем от кнопок моделей: отступ, подпись «Опция», пунктирная рамка; выбранная опция — сплошная зелёная, как раньше */
.vgr .section-card .add.avrselect {
	display: block;
	width: 100%;
	margin-top: 22px;
	border-style: dashed;
	border-color: #FFA05C;
	text-align: center;
}
.vgr .section-card .add.avrselect::before {
	content: "Опция к генератору";
	display: block;
	margin-bottom: 4px;
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #FFA05C;
}
.vgr .section-card .add.avrselect.active { border-style: solid; }
.vgr .section-card .add.avrselect.active::before { content: "Опция добавлена"; color: var(--vg-green); }


/* ---------- 15. 18.10.2026: «Наша продукция» — 8 плиток в два ряда, картинки одной высоты ---------- */
.vgr .elementor-element-9c8341e .elementor-widget-image img,
.vgr .elementor-element-de454ba .elementor-widget-image img { height: 150px; width: auto; max-width: 100%; object-fit: contain; }
@media (max-width: 767px) {
	.vgr .elementor-element-9c8341e .elementor-widget-image img,
	.vgr .elementor-element-de454ba .elementor-widget-image img { height: 160px; }
}
