﻿/***************************************
	Theme Name: Mpk
	Theme URI: 
	Description: NoDeadLine development
	Author: MolodoyYarik
	Author URI: https://nodeadline.ru/
	Version: 1.1
	Tags: 
	License: 
	License URI:
***************************************/

@import url('./engine/www/styles/main.css');

.__ymDebugger {
	display: none;
}

/* ==== Правки ТЗ 2026-07 ==== */

/* Первый экран: минималистичное фото с лёгкой тенью */
.first .first__img {
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
	object-fit: cover;
	display: block;
}

/* Плавающая ненавязчивая панель связи (звонок + мессенджеры) */
.float-contacts {
	position: fixed;
	right: 18px;
	bottom: 24px;
	z-index: 900;
	display: flex;
	flex-direction: column;
	gap: .6rem;
}
.float-contacts__btn {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .16);
	padding: 13px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.float-contacts__btn:hover {
	transform: translateY(-2px) scale(1.05);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
}
.float-contacts__btn svg {
	width: 100%;
	height: 100%;
}
.float-contacts__btn--call {
	background: #fff;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .16);
}
.float-contacts__btn--call svg,
.float-contacts__btn--call svg * {
	color: #ff1a28;
	fill: #ff1a28;
}
.float-contacts__btn--call:hover {
	box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
}
@media (max-width: 599px) {
	.float-contacts {
		right: 12px;
		bottom: 16px;
		gap: .5rem;
	}
	.float-contacts__btn {
		width: 46px;
		height: 46px;
		padding: 11px;
	}
}

/* Верхняя строка-уведомление — благородный графит вместо агрессивного красного */
.header .header__noty {
	background-color: #1b2a33;
}
.header .header__noty span {
	color: #fff;
	opacity: .92;
	letter-spacing: .02em;
}

/* Блок телефона в шапке — сдержанно, красный только как тонкий акцент */
.header .header__tel-block {
	background: #fff;
	border: 1px solid var(--input-border-color);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .06);
	padding: .45rem .9rem .45rem .45rem;
}
.header .header__tel-icon {
	background: rgba(255, 26, 40, .10);
	width: 42px;
	height: 42px;
	border-radius: 10px;
}
.header .header__tel-icon svg {
	color: var(--button-color);
	fill: var(--button-color);
	width: 20px;
	height: 20px;
}
.header .header__tel {
	color: var(--text-color);
	font-weight: 600;
}
.header .header__tel-form {
	color: var(--text-sub-color);
	font-weight: 500;
	transition: color var(--enter);
}
.header .header__tel-form:hover {
	color: var(--button-color);
}

/* Соц-иконки в шапке — премиальные круглые кнопки */
.header .header__social {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .08);
	padding: 9px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.header .header__social:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .14);
}
.header .header__social svg {
	width: 100%;
	height: 100%;
}

/* Блок услуг под первым экраном — единый стиль */
.first .first__service .first__elem {
	gap: .7rem;
}
.first .first__service .first__elem > svg {
	width: 2rem;
	height: 2rem;
	margin-right: 0;
	color: var(--text-color);
}
.first .first__service .first__elem > span,
.first .first__service .first__elem .link span {
	font-size: var(--fz-1);
	font-weight: 500;
	color: var(--text-color);
}
.first .first__service .first__elem .link {
	display: flex;
	align-items: center;
	gap: .5rem;
	transition: color var(--enter);
}
.first .first__service .first__elem .link:hover span {
	color: var(--button-color);
}
.first .first__service .first__elem .link svg {
	width: 1.1rem;
	height: 1.1rem;
	color: var(--button-color);
}
.first .first__service .first__elem--partner .link span {
	color: var(--text-color);
}
.first__elem--partner .link {
	font-weight: 500;
}

/* Наши объекты: единый премиальный вид карточек */
.portfolio .portfolio__swiper-slide img {
	border-radius: 16px;
	height: 320px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .12);
	filter: saturate(1.06) contrast(1.03);
	transition: transform .35s ease, box-shadow .35s ease;
}
.portfolio .portfolio__swiper-slide a {
	display: block;
	overflow: hidden;
	border-radius: 16px;
}
.portfolio .portfolio__swiper-slide a:hover img {
	transform: scale(1.03);
	box-shadow: 0 22px 54px rgba(0, 0, 0, .18);
}

/* П.3: зум фото каталога */
.catalog__zoom {
	position: relative;
	display: block;
	width: 100%;
	cursor: zoom-in;
}
.catalog__zoom-icon {
	position: absolute;
	right: .5rem;
	bottom: .5rem;
	width: 2.25rem;
	height: 2.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background-color: rgba(0, 0, 0, .55);
	border-radius: 50%;
	opacity: 0;
	transition-duration: var(--enter);
	pointer-events: none;
}
.catalog__zoom:hover .catalog__zoom-icon {
	opacity: 1;
}
/* Плавный зум фото товара при наведении */
.catalog__zoom {
	overflow: hidden;
	border-radius: 8px;
}
.catalog__zoom img {
	display: block;
	width: 100%;
	transition: transform .45s ease;
	will-change: transform;
}
.catalog__zoom:hover img {
	transform: scale(1.09);
}
.catalog__swiper-slide {
	background: #fff;
}
.catalog__zoom img {
	object-fit: contain;
	background: #fff;
}

/* Кнопка «Подробнее» выровнена по нижнему краю карточек */
.catalog .catalog__elem {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.catalog .catalog__elem .catalog__btn {
	margin-top: auto;
}

/* П.6: названия цветов в карточках */
.catalog .catalog__color-block {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .4rem;
	padding: .5rem;
}
.catalog .catalog__color {
	width: auto !important;
	height: auto !important;
	padding: .2rem .25rem !important;
	gap: .25rem;
	margin: 0 !important;
	background-color: #fff;
	justify-content: flex-start;
	overflow: hidden;
	cursor: pointer;
}
.catalog .catalog__color > span {
	flex: 0 0 auto;
	width: 1rem !important;
	height: 1rem !important;
	border-radius: 4px;
}
.catalog .catalog__color_active > span {
	width: 1rem !important;
	height: 1rem !important;
}
.catalog__color-name {
	font-size: 10.5px;
	line-height: 1.1;
	font-style: normal;
	color: var(--text-color);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Блок «Почему выгодно» — премиальные фото-плитки */
.sale .sale__elem img {
	height: 210px;
	object-fit: cover;
	object-position: center;
	border-radius: 14px;
	width: 100%;
}

/* П.8: кнопка «Стать партнер» */
.first__elem--partner .link {
	color: var(--text-color);
	font-weight: 500;
}

/* Значки чата в блоке «Заказать под ключ» — компактнее и премиальнее */
.lead .lead__right img {
	height: auto;
	width: clamp(120px, 12vw, 160px);
	top: 50%;
	transform: translateY(-50%);
	right: calc(2rem + 230px);
	filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .22));
}

/* Блок «Получить прайс» — выравнивание и премиальный вид */
.price .price__block {
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	align-items: stretch;
}
.price .price__right {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f6f4f1 0%, #ece8e2 100%);
	border-radius: 20px;
	padding: 2rem;
	overflow: hidden;
}
.price .price__right img {
	position: relative;
	z-index: 1;
	height: auto;
	max-height: 380px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	border-radius: 8px;
	filter: drop-shadow(0 22px 44px rgba(0, 0, 0, .28));
	transform: rotate(-2deg);
	transition: transform .4s ease;
}
.price .price__right img:hover {
	transform: rotate(0deg) scale(1.02);
}
.price .price__form {
	box-shadow: 0 16px 40px rgba(0, 0, 0, .08);
}

/* Сертификаты — компактные карточки с зумом по клику */
.certs .certs__swiper-slide {
	padding: .75rem;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
	transition: transform .3s ease, box-shadow .3s ease;
}
.certs .certs__swiper-slide img {
	height: 300px;
	object-fit: contain;
	object-position: center;
	cursor: zoom-in;
}
.certs .certs__swiper-slide a {
	display: block;
	position: relative;
}
.certs .certs__swiper-slide a::after {
	content: '';
	position: absolute;
	right: .5rem;
	bottom: .5rem;
	width: 2rem;
	height: 2rem;
	background: rgba(0, 0, 0, .55) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M10 4a6 6 0 104.9 9.5l4.3 4.3 1.4-1.4-4.3-4.3A6 6 0 0010 4zm0 2a4 4 0 110 8 4 4 0 010-8zm-1 1v2H7v2h2v2h2v-2h2V9h-2V7H9z' fill='white'/%3E%3C/svg%3E") center/1.1rem no-repeat;
	border-radius: 50%;
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.certs .certs__swiper-slide:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, .14);
}
.certs .certs__swiper-slide:hover a::after {
	opacity: 1;
}

/* Контакты + карта в футере — премиальная раскладка */
.footer__top {
	display: grid;
	grid-template-columns: minmax(320px, 420px) 1fr;
	gap: 2.5rem;
	margin-bottom: 2.5rem;
	align-items: stretch;
}
.footer__contacts {
	background: #f6f4f1;
	border-radius: 20px;
	padding: 2rem;
	display: flex;
	flex-direction: column;
}
.footer .footer__contacts .footer__logo {
	margin-bottom: 1.75rem;
}
.footer__contacts-list {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
}
.footer__contact {
	display: flex;
	align-items: flex-start;
	gap: .9rem;
}
.footer__contact-ico {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 12px;
	color: var(--main-color);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .06);
}
.footer__contact-ico svg {
	width: 22px;
	height: 22px;
}
.footer__contact-body {
	display: flex;
	flex-direction: column;
}
.footer__contact-label {
	font-size: .76rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--text-sub-color);
	margin-bottom: .15rem;
}
.footer__contact-value {
	font-size: 1rem;
	color: var(--text-color);
	font-weight: 500;
	line-height: 1.35;
}
a.footer__contact-value {
	transition: color var(--enter);
}
a.footer__contact-value:hover {
	color: var(--main-color);
}
.footer__contacts-btns {
	display: flex;
	gap: .75rem;
	margin-top: auto;
}
.footer__social-round {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
	padding: 11px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.footer__social-round:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
}
.footer__social-round svg {
	width: 100%;
	height: 100%;
}
.footer .footer__top .footer__map {
	height: auto;
	min-height: 440px;
	margin-bottom: 0;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .10);
}
@media (max-width: 900px) {
	.footer__top {
		grid-template-columns: 1fr;
	}
	.footer .footer__top .footer__map {
		min-height: 320px;
	}
}

/* Подвал: компактный мелкий текст */
.footer .footer__bot .footer__data a,
.footer .footer__bot .footer__data span {
	font-size: 11px;
	line-height: 1.35;
}
.footer .footer__bot .footer__data a:not(:last-child),
.footer .footer__bot .footer__data span:not(:last-child) {
	margin-bottom: .35rem;
}

/* Выпадающие списки — компактный шрифт, гармонично с полями формы */
form label select,
form select,
.price__form select,
.kwiz__elem select {
	font-family: 'geologica', system-ui, sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: var(--text-color);
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
}

/* ====== Мобильные правки (до 899px — все телефоны и планшеты) ====== */
@media (max-width: 899px) {
	html {
		max-width: 100%;
	}
	body,
	.body {
		overflow-x: hidden;
		overflow-y: visible;
		max-width: 100%;
	}

	/* Шапка: лого целиком, без перекрытия hero ::before */
	.body {
		overflow-x: hidden;
		overflow-y: visible;
	}
	.header {
		position: relative;
		z-index: 10;
		padding-top: .5rem;
		padding-bottom: .65rem;
		overflow: visible;
	}
	.header .wrapper,
	.header .header__block,
	.header .header__logo,
	.header .header__logo div {
		overflow: visible;
	}
	.header .header__noty {
		padding: .35rem .65rem;
		margin-bottom: .65rem;
		border-radius: 12px;
	}
	.header .header__noty span {
		font-size: 9px;
		line-height: 1.35;
		letter-spacing: 0;
		white-space: normal;
	}
	.header .header__block {
		align-items: center;
		min-height: 44px;
		height: auto;
		padding-top: 2px;
		padding-bottom: 2px;
		gap: .5rem;
	}
	.header .header__logo {
		align-items: center;
		gap: .55rem;
		min-width: 0;
		min-height: 40px;
	}
	.header .header__logo svg {
		width: 52px;
		height: 40px;
		flex-shrink: 0;
		display: block;
		overflow: visible !important;
	}
	.header .header__logo-title {
		font-size: 20px;
		line-height: 1.35;
		padding-top: 1px;
	}
	.header .header__logo-descr {
		display: none;
	}
	.header .header__contacts {
		display: none !important;
	}
	.first::before {
		display: none !important;
		content: none !important;
	}

	/* Прайс: одна колонка, каталог на всю ширину без пустой рамки */
	.price .price__block {
		grid-template-columns: 1fr !important;
	}
	.price .price__right {
		min-height: 0 !important;
		height: auto !important;
		padding: 0 !important;
		background: none !important;
		order: 2;
		display: block;
		overflow: visible !important;
	}
	.price .price__right img {
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
		height: auto !important;
		object-fit: contain !important;
		object-position: center !important;
		transform: none !important;
		position: relative !important;
		top: 0 !important;
		right: 0 !important;
		z-index: 1;
		border-radius: 16px;
		display: block;
		filter: none;
		/* запас снизу, чтобы плавающие кнопки не перекрывали каталог */
		margin-bottom: 84px !important;
	}
	.price .price__right img:hover {
		transform: none !important;
	}

	/* Каталог: «Скачать весь каталог» — в конец, компактная горизонтальная карточка */
	.catalog .catalog__block {
		grid-template-columns: 1fr !important;
	}
	.catalog .catalog__promo {
		order: 100;
		min-height: 0 !important;
		padding: 1rem !important;
		grid-column: 1 / -1;
		border-width: 2px;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: .5rem;
	}
	.catalog .catalog__promo span {
		flex: 1 1 55%;
		font-size: 1rem !important;
		margin-bottom: 0 !important;
		text-align: left;
	}
	.catalog .catalog__promo svg {
		width: 3rem !important;
		height: 3rem !important;
		opacity: .85;
		flex-shrink: 0;
	}
	.catalog .catalog__promo img {
		position: static !important;
		z-index: 0 !important;
		max-height: 88px !important;
		width: auto !important;
		margin: 0 !important;
		object-fit: contain;
		bottom: auto;
		right: auto;
	}
	.catalog .catalog__color-block {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.catalog .catalog__color-name {
		font-size: 9px;
	}
}

@media (max-width: 599px) {
	.float-contacts {
		right: 12px;
		bottom: 16px;
		gap: .5rem;
	}
	.float-contacts__btn {
		width: 46px;
		height: 46px;
		padding: 11px;
	}
}
