/* ==========================================================================
   Главная — секции ниже баннера (по next.png).
   local/templates/vepr/css/home.css
   ========================================================================== */

.hsec{ margin:0 0 64px; font-family:'Manrope',"Segoe UI",system-ui,-apple-system,Arial,sans-serif; }

/* заголовок секции: слева тайтл + справа интро */
.hsec__head{
	display:grid;
	grid-template-columns:1.05fr 1fr;
	gap:48px;
	align-items:start;
	margin-bottom:52px;
}
/* заголовок секции: слева тайтл + справа ссылка */
.hsec__bar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px 24px;
	flex-wrap:wrap;
	margin-bottom:32px;
}
.hsec__title{ min-width:0; }
.hsec__link{ max-width:100%; }
.hsec__title{
	margin:0;
	font-size:30px;
	line-height:1.22;
	font-weight:700;
	color:#16181c;
	letter-spacing:-.01em;
	text-wrap:balance;
}
.hsec__title span{ color:#e53533; }
.hsec__lead{
	margin:6px 0 0;
	font-size:15px;
	line-height:1.7;
	color:#5a5b5c;
}
.hsec__link{
	display:inline-flex; align-items:center; gap:8px; flex:none;
	font-size:14px; font-weight:600; color:#16181c; text-decoration:none;
	transition:color .15s ease;
}
.hsec__link:hover{ color:#e53533; }
.hsec__link svg{ width:16px; height:16px; }

/* комбинированный блок: решения + проекты в один ряд */
.combo{ display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.combo__col{ min-width:0; }
.combo .hsec__bar{ margin-bottom:22px; }
.combo .hsec__title{ font-size:26px; }
.combo .proj-grid{ grid-template-columns:1fr 1fr; gap:20px; }
.combo .proj-card__img{ height:210px; }
.combo .sol-grid{ grid-template-columns:1fr 1fr; gap:16px; }
.combo .sol-grid .sol-card:nth-child(3){ grid-column:1 / -1; }

/* ==========================================================================
   Секция 1 — бенто-сетка категорий (подкатегории кликабельны)
   ========================================================================== */
.mcat-grid{
	display:grid; grid-template-columns:repeat(4, 1fr);
	grid-template-rows:repeat(3, minmax(190px, auto));
	gap:22px;
}

.mcat-card{
	position:relative;
	min-height:236px;
	padding:26px 28px;
	background:#fff;
	border:1px solid #ecedef;
	border-radius:16px;
	overflow:hidden;
	transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.mcat-card:hover{
	border-color:#e53533;
	box-shadow:0 18px 32px -22px rgba(229,53,51,.5);
	transform:translateY(-2px);
}
/* бенто-раскладка по референсу cat.png: 4 колонки × 3 ряда,
   широкие: электроагрегаты и контейнеры; высокие: запчасти (1-2) и башни (2-3) */
.mcat-card--elektroagregaty{ grid-column:1 / 3; grid-row:1; }
.mcat-card--motopompy{ grid-column:3; grid-row:1; }
.mcat-card--zapasnye-chasti{ grid-column:4; grid-row:1 / 3; }
.mcat-card--svetovye-bashni{ grid-column:1; grid-row:2 / 4; }
.mcat-card--industrialnye-dvigateli{ grid-column:2; grid-row:2; }
.mcat-card--bloki_avtomatiki{ grid-column:3; grid-row:2; }
.mcat-card--sudovoe-oborudovanie{ grid-column:2; grid-row:3; }
.mcat-card--konteynery{ grid-column:3 / 5; grid-row:3; }

/* двигатели: 8 брендов в 2 колонки, как в референсе */
.mcat-card--industrialnye-dvigateli .mcat-card__sub{
	display:block; column-count:2; column-gap:16px; max-width:68%;
}
.mcat-card--industrialnye-dvigateli .mcat-card__sub li{ margin-bottom:11px; break-inside:avoid; }

/* высокие карточки: картинка внизу, без агрессивного сдвига за край */
.mcat-card--zapasnye-chasti .mcat-card__img,
.mcat-card--svetovye-bashni .mcat-card__img{
	right:-30px; bottom:-20px; height:52%; width:auto; transform:none;
}
.mcat-card--zapasnye-chasti .mcat-card__title,
.mcat-card--zapasnye-chasti .mcat-card__sub,
.mcat-card--svetovye-bashni .mcat-card__title,
.mcat-card--svetovye-bashni .mcat-card__sub{ max-width:100%; }

/* заголовок = ссылка на категорию, растянутая на всю карточку (stretched link) */
.mcat-card__title{
	display:block;
	font-size:19px;
	font-weight:600;
	line-height:1.25;
	max-width:58%;
	color:#16181c;
	text-decoration:none;
	transition:color .15s ease;
}
.mcat-card__title::after{ content:""; position:absolute; inset:0; z-index:1; }
.mcat-card:hover .mcat-card__title{ color:#e53533; }

.mcat-card__cnt{
	position:relative; z-index:2;
	display:block; margin-top:8px;
	font-size:13px; color:#9598a0;
}

/* подкатегории — поверх stretched-link, отдельные ссылки */
.mcat-card__sub{
	position:relative; z-index:2;
	list-style:none; margin:16px 0 0; padding:0;
	display:flex; flex-direction:column; gap:11px;
	max-width:60%;
}
.mcat-card__sub li a{
	font-size:13.5px; line-height:1.3; color:#5a5b5c; text-decoration:none;
	transition:color .15s ease;
}
.mcat-card__sub li a:hover{ color:#e53533; }

.mcat-card__img{
	position:absolute;
	right:-150px;
	bottom:-100px;
	width:100%;
	height:100%;
	max-width:none;
	max-height:none;
	object-fit:contain;
	transform:scale(1.1);
	pointer-events:none;
	z-index:0;
}

/* ==========================================================================
   Секция 2 — «Отраслевые решения»
   ========================================================================== */
.sol-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:20px; }
.sol-card{
	position:relative;
	display:flex; flex-direction:column; gap:14px; align-items:stretch;
	padding:16px;
	background:#fff; border:1px solid #ecedef; border-radius:16px;
	text-decoration:none; color:#16181c;
	transition:border-color .16s ease, box-shadow .16s ease;
}
.sol-card:hover{ border-color:#e53533; box-shadow:0 16px 28px -22px rgba(229,53,51,.45); }
.sol-card__img{
	width:60px; height:60px; flex:none;
	border-radius:10px; object-fit:cover; background:#f2f3f5;
}
.sol-card__img--empty{ display:block; }
.sol-card__txt{
	font-size:14px; line-height:1.4; font-weight:500;
	padding-right:26px; color:#16181c;
}
.sol-card__arrow{
	position:absolute; top:14px; right:14px;
	color:#c3c6cc; transition:color .15s ease;
}
.sol-card:hover .sol-card__arrow{ color:#e53533; }
.sol-card__arrow svg{ width:18px; height:18px; display:block; }

/* ==========================================================================
   Секция 3 — «Реализованные проекты»
   ========================================================================== */
.proj-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:24px; }
.proj-card{ display:block; text-decoration:none; color:#16181c; }
.proj-card__img{
	display:block; height:280px; border-radius:16px;
	background:#e9ebee no-repeat center center; background-size:cover;
}
.proj-card__cap{ display:block; margin-top:16px; }
.proj-card__name{ display:block; font-size:14px; line-height:1.5; color:#202020; font-weight:500; }
.proj-card__sub{ display:block; font-size:15px; line-height:1.5; color:#5a5b5c; margin-top:2px; }

/* ==========================================================================
   Секция 4 — «Наше производство»
   ========================================================================== */
.prod-media{
	display:grid;
	grid-template-columns:1.7fr 1.25fr 0.9fr;
	grid-template-rows:205px 125px;
	gap:16px;
}
.prod-tile{
	border-radius:16px;
	background:#e9ebee no-repeat center center; background-size:cover;
}
.prod-tile--0{ grid-column:1; grid-row:1 / 3; }   /* завод — крупно, во всю высоту */
.prod-tile--1{ grid-column:2; grid-row:1; }         /* лазерная резка — центр сверху */
.prod-tile--2{ grid-column:3; grid-row:1 / 3; }     /* генераторы — справа во всю высоту */
.prod-note{ grid-column:2; grid-row:2; display:flex; align-items:center; gap:12px; margin:0; }
.prod-iso{
	flex:none; display:inline-grid; place-items:center;
	width:44px; height:44px; border-radius:50%;
	border:2px solid #e53533; color:#e53533;
	font-size:12px; font-weight:800; letter-spacing:.03em;
}
.prod-note__txt{ font-size:16px; line-height:1.5; color:#5a5b5c; }

/* ==========================================================================
   Секция 5 — «Сервисное обслуживание»
   ========================================================================== */
/* заголовок сервис-блока: 2 строки + ссылка над 3-й колонкой */
.hsec--serv .hsec__bar{
	display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;
	align-items:end;
}
.hsec--serv .hsec__title{ grid-column:1 / 3; }
.hsec--serv .hsec__title span{ display:block; }
.hsec--serv .hsec__link{ grid-column:3 / -1; justify-self:end; align-self:end; }

.serv-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.serv-card{
	display:flex; align-items:flex-start; gap:14px;
	padding:22px 24px;
	background:#fff; border:1px solid #ecedef; border-radius:16px;
	text-decoration:none; color:#16181c;
	transition:border-color .16s ease, box-shadow .16s ease;
}
.serv-card:hover{ border-color:#e53533; box-shadow:0 14px 26px -20px rgba(229,53,51,.4); }
.serv-card__ic{ flex:none; color:#e53533; line-height:0; }
.serv-card__ic svg{ width:26px; height:26px; display:block; }
.serv-card__txt{ font-size:14px; line-height:1.4; font-weight:500; }

/* ==========================================================================
   Секция — «География поставок»
   ========================================================================== */
.geo{
	display:grid;
	grid-template-columns:1fr 1.25fr;
	gap:48px;
	align-items:center;
}
.geo__text .main-page_title{
	margin:0 0 18px;
	font-size:30px; font-weight:700; line-height:1.22;
	color:#16181c; letter-spacing:-.01em;
}
.geo__text .content_block{ margin:0 0 26px; }
.geo__text .content_block p{
	margin:0;
	font-size:15px; line-height:1.7; color:#5a5b5c;
}
.geo__text .btn.link_block{
	display:inline-flex; align-items:center; justify-content:center;
	background:#e53533; color:#fff;
	padding:14px 30px; border-radius:10px;
	font-size:15px; font-weight:600; text-decoration:none;
	transition:background .15s ease;
}
.geo__text .btn.link_block:hover{ background:#c72c2a; color:#fff; }
.geo__map{
	border-radius:16px; overflow:hidden; border:1px solid #ecedef;
	background:#f6f7f8;
}
.geo__map #map{ height:430px !important; width:100%; }

/* ==========================================================================
   Адаптив
   ========================================================================== */
@media (max-width:992px){
	.hsec__head{ grid-template-columns:1fr; gap:16px; }
	.hsec__title{ font-size:25px; }
	.mcat-grid{ grid-template-columns:repeat(2, 1fr); grid-template-rows:none; }
	.mcat-grid > .mcat-card{ grid-column:auto; grid-row:auto; }
	.mcat-grid > .mcat-card--elektroagregaty,
	.mcat-grid > .mcat-card--konteynery{ grid-column:span 2; }
	.mcat-grid > .mcat-card .mcat-card__img{ right:-150px; bottom:-100px; height:100%; width:100%; transform:scale(1.1); }
	.mcat-card__title, .mcat-card__sub{ max-width:64%; }
	.serv-grid{ grid-template-columns:repeat(2, 1fr); }
	.combo{ grid-template-columns:1fr; gap:44px; }
	.geo{ grid-template-columns:1fr; gap:28px; }
	.geo__map #map{ height:340px !important; }
}
@media (max-width:600px){
	.combo .proj-grid, .combo .sol-grid{ grid-template-columns:1fr; }
	.proj-grid{ grid-template-columns:1fr; }
	.proj-card__img{ height:220px; }
	.prod-media{ grid-template-columns:1fr; grid-template-rows:none; }
	.prod-tile--0, .prod-tile--1, .prod-tile--2{ grid-column:1 / -1; grid-row:auto; }
	.prod-note{ grid-column:1 / -1; grid-row:auto; }
	.prod-tile{ min-height:190px; }
	.serv-grid{ grid-template-columns:1fr; }
	.serv-card{ min-height:0; padding:18px 20px; }
	.mcat-grid{ grid-template-columns:1fr; }
	.mcat-grid > .mcat-card{ grid-column:span 1; }
	.mcat-card{ min-height:180px; }
	.mcat-card__title, .mcat-card__sub{ max-width:70%; }
	.sol-grid{ grid-template-columns:1fr; }
	.sol-card__txt{ font-size:14px; }

	/* мобилка: ссылка «Подробнее» — ПОСЛЕ контента (Заголовок → Контент → Ссылка) */
	.hsec--prod > .container,
	.hsec--serv > .container,
	.combo__col{ display:flex; flex-direction:column; }
	.hsec--prod > .container > .hsec__bar,
	.hsec--serv > .container > .hsec__bar,
	.combo__col > .hsec__bar{ display:contents; }
	.hsec--prod .hsec__title,
	.hsec--serv .hsec__title,
	.combo__col .hsec__title{ order:1; margin-bottom:28px; }
	.hsec--prod .prod-media,
	.hsec--serv .serv-grid,
	.combo__col .sol-grid,
	.combo__col .proj-grid{ order:2; }
	.hsec--prod .hsec__link,
	.hsec--serv .hsec__link,
	.combo__col .hsec__link{ order:3; margin-top:28px; align-self:start; }
}

/* ==========================================================================
   География поставок — минималистичная векторная карта РФ (вместо Яндекс-карты)
   ========================================================================== */
.geo-rf{ background:linear-gradient(160deg,#f6f8fa,#eef1f4); border:1px solid #ecedef; border-radius:16px; overflow:hidden; }
.geo-rf__inner{ position:relative; padding:20px 24px 56px; }
.geo-rf__img{ display:block; width:100%; aspect-ratio:1024 / 540; height:auto; object-fit:contain; }
.geo-rf__pt{ position:absolute; width:9px; height:9px; transform:translate(-50%,-50%); }
.geo-rf__pt i{ position:absolute; inset:0; border-radius:50%; background:#e53533; box-shadow:0 0 0 3px rgba(229,53,51,.15); }
.geo-rf__pt::after{ content:""; position:absolute; inset:-4px; border-radius:50%; border:1px solid rgba(229,53,51,.35); animation:geoPulse 2.4s ease-out infinite; }
@keyframes geoPulse{ 0%{ transform:scale(.6); opacity:.9 } 100%{ transform:scale(2.2); opacity:0 } }
.geo-rf__badge{ position:absolute; left:50%; bottom:18px; transform:translateX(-50%); background:#fff; border:1px solid #ecedef; border-radius:99px; padding:9px 20px; font-size:14px; font-weight:600; color:#16181c; box-shadow:0 10px 24px -14px rgba(16,18,28,.4); white-space:nowrap; }
.geo-rf__badge b{ color:#e53533; }
@media (prefers-reduced-motion:reduce){ .geo-rf__pt::after{ animation:none; } }
@media (max-width:600px){ .geo-rf__inner{ padding:14px 14px 50px; } .geo-rf__badge{ font-size:12.5px; padding:8px 14px; } }
