/*
 * «el» — лёгкое обновление внешнего вида (03.10.2026).
 * Подключается после index.css (оригинальные стили сайта не тронуты). Цвета и раскладка — прежние;
 * обновлены шрифт и интервалы, скругления, тени, состояния при наведении, кнопки и поля форм.
 * Чтобы вернуть прежний вид — убрать подключение modern.css в index.php.
 */
:root {
	--el-purple: #5c1b53;
	--el-purple-2: #7b2a6f;
	--el-purple-soft: #f7f1f6;
	--el-red: #e30613;
	--el-text: #2b2630;
	--el-muted: #6f6874;
	--el-line: #ebe4ea;
	--el-radius: 10px;
	--el-shadow: 0 3px 14px rgba(60, 18, 55, .07);
	--el-shadow-hover: 0 10px 28px rgba(60, 18, 55, .16);
	--el-font: "PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
* { font-family: var(--el-font); }
body {
	color: var(--el-text);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
a, a:visited { text-decoration-thickness: 1px; text-underline-offset: 2px; }
::selection { background: rgba(123, 42, 111, .18); }

/* ---------- Шапка ---------- */
.container-1 {
	background-image: linear-gradient(120deg, rgba(40, 6, 46, .30) 0%, rgba(40, 6, 46, 0) 55%), url('images/top-bg.jpg');
	background-size: cover;
	background-position: center;
}
.container-1-3 p { margin-bottom: 6px; }
.container-1-3 a[href$="callback"] {
	display: inline-block;
	padding: 4px 14px;
	border: 1px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
	text-decoration: none !important;
	transition: background-color .2s, border-color .2s;
}
.container-1-3 a[href$="callback"]:hover { background-color: rgba(255, 255, 255, .15); border-color: #fff; }
#vmCartModule {
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .45);
	border-radius: 999px;
	padding: 6px 16px;
	margin-top: 6px;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

/* ---------- Главное меню ---------- */
.container-2 {
	background: linear-gradient(180deg, #f2141f 0%, #d60b16 100%);
	border-top: 1px solid rgba(255, 255, 255, .6);
	box-shadow: 0 3px 12px rgba(214, 11, 22, .22);
	position: relative;
	z-index: 2;
}
.menu-general { font-size: 16px; letter-spacing: .02em; }
.menu-general > * {
	border-radius: 999px;
	padding: 8px 18px;
	margin: 10px 4px;
	transition: background-color .2s, box-shadow .2s;
}
.menu-general > *:hover { background-color: rgba(255, 255, 255, .16); }
.menu-general > .active { border-radius: 999px; box-shadow: 0 2px 10px rgba(0, 0, 0, .14); }
.menu-general a { text-decoration: none !important; }
/* меню и телефон помещаются на ноутбучных экранах (раньше обрезались около 1280 px) */
@media (max-width: 1440px) {
	.menu-general { font-size: 15px; }
	.menu-general > * { padding: 7px 13px; margin: 10px 2px; }
}
/* только для широкой раскладки: на узких экранах у index.css свои правила для шапки */
@media (min-width: 1001px) and (max-width: 1440px) {
	.container-1-1 { padding-left: 24px; }
	.container-1-3 { padding-right: 24px; }
}
@media (max-width: 1200px) {
	.container-2 .menu-general { white-space: normal; }
	.menu-general > * { padding: 6px 11px; }
}

/* ---------- Карусель категорий ---------- */
.container-2-under { background: linear-gradient(180deg, #fff 0%, #faf7fa 100%); }
/* в index.css высота жёстко 150px — с отступами карточек обрезалась вторая строка подписи */
.vm-categories-wall-wrapper { height: 178px; margin-top: 12px; }
.vm-categories-wall-item a {
	display: block;
	margin: 4px 8px 10px;
	padding: 8px 6px 6px;
	border-radius: var(--el-radius);
	text-decoration: none !important;
	transition: background-color .2s, box-shadow .2s, transform .2s;
}
.vm-categories-wall-item a:hover {
	background: #fff;
	box-shadow: var(--el-shadow-hover);
	transform: translateY(-3px);
}
.vm-categories-wall-catname {
	padding: 0 14px;
	font-size: 14px;
	line-height: 1.3;
	color: var(--el-purple);
}
.vm-categories-wall-img { transition: transform .25s; }
.vm-categories-wall-item a:hover .vm-categories-wall-img { transform: scale(1.04); }

/* ---------- Левая колонка: рубрикатор, «Полезная информация» ---------- */
.widget-1 .group {
	border-radius: var(--el-radius);
	overflow: hidden;
	background: #fff;
	box-shadow: var(--el-shadow);
	border: 1px solid var(--el-line);
}
.widget-1 .group .level-1 {
	background: linear-gradient(135deg, var(--el-purple) 0%, var(--el-purple-2) 100%);
	border: 0;
	border-radius: 0;
	padding: 10px 16px;
	font-weight: 700;
	letter-spacing: .02em;
}
.widget-1 .level-2,
.widget-1 .level-2:last-child { border: 0; border-radius: 0; }
.widget-1 .level-2 .level-2-content {
	border-top: 1px solid var(--el-line);
	margin: 0;
	padding: 0;
}
.widget-1 .level-2 .level-2-content a {
	padding: 8px 14px 8px 30px;
	line-height: 1.35;
	transition: background-color .15s, color .15s;
	background-position: 14px 0.95em;
}
.widget-1 .level-2 .level-2-content a:hover,
.widget-1 .level-2.active .level-2-content a,
.container-menuitem-articles .widget-1 .level-2.for-articles .level-2-content a,
.container-menuitem-certs .widget-1 .level-2.for-certs .level-2-content a,
.container-menuitem-projects .widget-1 .level-2.for-projects .level-2-content a {
	background-color: var(--el-purple-soft);
	background-position: 12px 0.95em;
	color: var(--el-purple-2);
}

/* ---------- Содержимое ---------- */
.container-5-2 h1,
.container-5-2 .page-header h1 {
	font-weight: 700;
	letter-spacing: -.01em;
	color: #2a1d2b;
	line-height: 1.2;
}
.container-5-2 h2 { line-height: 1.25; }
.item-page [itemprop="articleBody"] p { margin-bottom: .8em; }
.item-page hr, .blog hr { border: 0; border-top: 1px solid var(--el-line); }
.blog .items-row .item {
	padding: 16px 20px 6px;
	margin-bottom: 16px;
	border: 1px solid var(--el-line);
	border-radius: var(--el-radius);
	box-shadow: var(--el-shadow);
}
.readmore .btn {
	border-radius: 8px;
	background: var(--el-purple-soft);
	border: 1px solid var(--el-line);
	color: var(--el-purple) !important;
	text-decoration: none !important;
	box-shadow: none;
	text-shadow: none;
}
.readmore .btn:hover { background: #fff; box-shadow: var(--el-shadow); }

/* слайдер баннеров на главной: без «хвоста» соседнего слайда */
.slider-2 { border-radius: var(--el-radius); overflow: hidden; box-shadow: var(--el-shadow); }
.slider-2 .slick-list, .slider-2 .slick-track { height: 100%; }
.slider-2 .slick-slide, .slider-2 .mod-image-links-item { height: 200px; }

/* ---------- Каталог: карточки товаров ---------- */
.browse-view .row { margin-left: 0; margin-right: 0; }
.browse-view .product.vm-col .spacer {
	margin: 0 6px 12px;
	padding: 14px 12px 12px;
	background: #fff;
	border: 1px solid var(--el-line);
	border-radius: var(--el-radius);
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.browse-view .product.vm-col .spacer:hover {
	border-color: transparent;
	box-shadow: var(--el-shadow-hover);
	transform: translateY(-2px);
}
.browse-view .vertical-separator, .browse-view .horizontal-separator { border: 0; }
.browse-view .vm-product-media-container img { border-radius: 6px; }
.vm-product-descr-container-1 > h2 a,
.vm-product-descr-container-0 > h2 a { text-decoration: none !important; }
.vm-product-descr-container-1 > h2 a:hover,
.vm-product-descr-container-0 > h2 a:hover { color: var(--el-purple-2); text-decoration: underline !important; }
.browse-view .product_s_desc { color: var(--el-muted); }

/* кнопки «Добавить в корзину», «Подробнее», «Отправить» */
span.addtocart-button input.addtocart-button,
span.addtocart-button input.notify-button,
input[type='submit'],
.vm-button-correct, .vm-button-correct:link, .vm-button-correct:visited {
	background: linear-gradient(180deg, var(--el-purple-2) 0%, var(--el-purple) 100%);
	border: 0;
	border-radius: 8px;
	color: #fff;
	box-shadow: 0 2px 8px rgba(92, 27, 83, .25);
	transition: filter .15s, box-shadow .15s, transform .1s;
	cursor: pointer;
}
span.addtocart-button input.addtocart-button:hover,
input[type='submit']:hover,
.vm-button-correct:hover { filter: brightness(1.12); box-shadow: 0 4px 14px rgba(92, 27, 83, .32); }
span.addtocart-button input.addtocart-button:active,
input[type='submit']:active { transform: translateY(1px); }
input[type='submit'] { padding: 8px 24px; }
div.vm-details-button a {
	border: 1px solid var(--el-line);
	border-radius: 8px;
	background: var(--el-purple-soft);
	color: var(--el-purple) !important;
	text-decoration: none !important;
	transition: background-color .15s, box-shadow .15s;
}
div.vm-details-button a:hover { background: #fff; box-shadow: var(--el-shadow); }
.quantity-input { border-radius: 6px; }

/* карточка товара */
.productdetails-view .vm-product-container {
	padding: 18px;
	border: 1px solid var(--el-line);
	border-radius: var(--el-radius);
	box-shadow: var(--el-shadow);
	margin-bottom: 20px;
}
.productdetails-view .main-image img { border-radius: 8px; }
.back-to-category a.product-details {
	border-radius: 999px !important;
	padding: 4px 14px !important;
	background: var(--el-purple-soft) !important;
	border: 1px solid var(--el-line) !important;
	text-decoration: none !important;
}

/* ---------- Формы ---------- */
.form-standard input[type='text'],
.form-standard textarea,
.inputbox, select.inputbox {
	border: 1px solid #dad1d8;
	border-radius: 8px;
	padding: 8px 12px;
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.form-standard input[type='text'] { height: auto; }
.form-standard input[type='text']:focus,
.form-standard textarea:focus,
.inputbox:focus {
	border-color: var(--el-purple-2);
	box-shadow: 0 0 0 3px rgba(123, 42, 111, .15);
	outline: 0;
}
.form-standard img[src*="get_captcha"] { border-radius: 6px; border: 1px solid #dad1d8; }

/* сообщения Joomla */
#system-message-container .alert { border-radius: var(--el-radius); margin: 16px 40px 0; }

/* ---------- Подвал ---------- */
.container-8 {
	background: linear-gradient(180deg, #4e1646 0%, #3d1037 100%);
	border-top: 3px solid var(--el-red);
}
.container-8 p { margin: 0 0 4px; opacity: .92; }
.container-8 a, .container-8 a:visited { color: #fff; }

/* ---------- Телефоны ---------- */
@media (max-width: 700px) {
	.menu-general > * { margin: 6px 2px; }
	.browse-view .product.vm-col .spacer { margin: 0 0 12px; }
	#system-message-container .alert { margin: 12px; }
}
