

/* Start:/local/templates/spgroup/components/bitrix/breadcrumb/.default/style.min.css?1714131616448*/
.bx-breadcrumb{margin:10px 0}.bx-breadcrumb i{color:#b5bdc2;line-height:13px;font-size:12px;vertical-align:middle;margin-right:5px}.bx-breadcrumb .bx-breadcrumb-item{float:left;margin-bottom:10px;white-space:nowrap;line-height:13px;vertical-align:middle;margin-right:10px}.bx-breadcrumb .bx-breadcrumb-item span{font-family:"Open Sans",Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:13px}.bx-breadcrumb .bx-breadcrumb-item a{border-bottom:0}
/* End */
/* /local/templates/spgroup/components/bitrix/breadcrumb/.default/style.min.css?1714131616448 */

/* ===== v28: устойчивая вёрстка верхней навигации (фикс «кривых» блоков) ===== */
/* Причина бага: float-блоки по 200px + border-right 1px = 1206px при контейнере 1200px,
   из-за чего 6-й блок («Плазменная резка») сваливался на вторую строку.
   Решение: flex-ряд, box-sizing border-box, единое выравнивание иконка+подпись. */
.navigation_upper > ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:stretch;
	margin:0;
	width:100%;
	box-sizing:border-box;
}
.navigation_upper > ul > li{
	float:none !important;
	width:200px !important;
	display:flex;
	box-sizing:border-box;
}
.navigation_upper > ul > li > a{
	display:flex !important;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	width:100%;
	height:140px !important;          /* хватает под 2-строчные подписи + иконку */
	padding:14px 8px 12px !important;
	box-sizing:border-box;
	line-height:1.15;
	text-align:center;
	overflow:hidden;
}
/* иконки (sprite .icon и индивидуальные .icon-*-new) — единый размер, отступ снизу */
.navigation_upper > ul > li > a > span{
	flex:0 0 72px;
	margin:0 0 6px !important;
}
/* стрелка раскрытия подменю — поверх, не влияет на поток */
.navigation_upper > ul > li.has-submenu > a > em{
	height:140px !important;
}

/* планшет: контейнер 960px → 3 блока в ряд (2 ряда по 3) */
@media screen and (max-width:1240px){
	.navigation_upper > ul > li{
		width:33.3333% !important;
		position:relative !important;
	}
}
/* телефон: 2 блока в ряд */
@media screen and (max-width:600px){
	.navigation_upper > ul > li{
		width:50% !important;
	}
	.navigation_upper > ul > li > a{
		height:128px !important;
		font-size:13px !important;
	}
}
/* ===== /v28 ===== */


/* ===== v29: мобильный брейкпоинт для шапки/подвала allplans.ru =====
   Причина бага: template.css сайта свёрстан только под десктоп (контейнер 1200px)
   и «планшет» (контейнер 960px при max-width:1240px). НИЖЕ 960px брейкпоинта нет —
   на телефоне .container оставался жёстко 960px, из-за чего шапка и подвал «уезжали»
   за экран и появлялась горизонтальная прокрутка (на живом сайте под телефон
   работает отдельное мобильное меню Bitrix, которого в статичном снимке нет).
   Решение: резиновый контейнер + перестроение шапки/подвала в один столбец.
   Оригинальный template.css НЕ трогаем — все правки только тут. */

/* v31 ФИКС: горизонтальную прокрутку гасим ТОЛЬКО на узких экранах (≤999px).
   РАНЬШЕ overflow-x:hidden стоял глобально на html,body — и именно из-за этого
   на десктопе перестал «прилипать» блок расчёта справа: любой ancestor с
   overflow≠visible становится scroll-контейнером, и position:sticky у .summary
   отсчитывается уже не от вьюпорта → сводка стала статичной. На десктопе
   горизонтального переполнения нет, поэтому overflow-x там не нужен.
   КЛЮЧЕВОЕ для мобилки: на html сайта стоит min-width:1000px (template.css) —
   из-за него страница на телефоне 1000px шириной и «едет». Снимаем ниже 1000px. */
@media screen and (max-width:999px){
	html,body{min-width:0 !important}
}
/* overflow-x гасим там, где сводка уже статична (≤980px = брейкпоинт .summary),
   чтобы не ломать sticky в узком десктопном диапазоне 981–999px. */
@media screen and (max-width:980px){
	html,body{overflow-x:hidden;max-width:100%}
}

@media screen and (max-width:959px){
	/* резиновый контейнер вместо фиксированных 960px */
	.container{
		width:100% !important;
		max-width:100% !important;
		padding:0 16px !important;
		box-sizing:border-box;
	}

	/* ----- Шапка: лого + адрес/почта + телефоны в колонку по центру ----- */
	.header{padding:16px 0 !important;text-align:center}
	.header_logo{
		float:none !important;
		display:inline-block !important;
		margin:0 0 14px 0 !important;
		max-width:100%;
	}
	.header_logo img{width:auto !important;max-width:260px;height:auto}

	.header_info,
	.header_phones{
		float:none !important;
		padding-left:0 !important;
		margin:0 0 10px 0 !important;
	}
	.header_info .entry,
	.header_phones .entry{
		float:none !important;
		margin:4px 0 !important;
		height:auto !important;
		text-align:center;
	}
	.header_info .entry{font-size:16px !important}
	.header_phones .entry{font-size:17px !important}
	.header_phones .entry p{margin:0 !important}

	/* блок «Калькуляторы» в шапке — по центру под телефонами */
	.header .calcs{
		float:none !important;
		width:auto !important;
		margin:10px auto 0 !important;
	}

	/* ----- Подвал: все колонки в один столбец ----- */
	.footer{height:auto !important}
	.footer-top_left,
	.footer-top_right,
	.footer-bottom_menu,
	.footer-bottom_info{float:none !important;width:auto !important}
	.footer-top_left .entry,
	.footer-top_right .entry{
		float:none !important;
		clear:none !important;
		margin:0 0 10px 0 !important;
		text-align:left !important;
		height:auto !important;
		line-height:1.4 !important;
	}
	.footer-bottom_menu .column,
	.footer-bottom_menu .column:first-child,
	.footer-bottom_menu .column:nth-child(2),
	.footer-bottom_menu .column:nth-child(3),
	.footer-bottom_menu .column:last-child{
		float:none !important;
		width:100% !important;
		margin:0 0 16px 0 !important;
	}
	.footer_karta_saita{text-align:left !important}
}

/* очень узкие экраны (≤360px) — чуть меньше лого и поля */
@media screen and (max-width:360px){
	.container{padding:0 12px !important}
	.header_logo img{max-width:220px}
}
/* ===== /v29 ===== */

/* ===== v33 — форма заявки ===== */
/* Красные звёздочки у обязательных полей */
.lead-form .req{color:#e53935;font-weight:700;margin-left:1px}

/* Якорь #lead: отступ под фиксированную синюю шапку сайта (.top-bar ~60px),
   чтобы при переходе по «Оставить заявку» меню не перекрывало заголовок формы */
#lead{scroll-margin-top:80px}
@media screen and (max-width:680px){
	#lead{scroll-margin-top:70px}
}
/* ===== /v33 ===== */

/* ===== v33 партия 2 — файлы, уведомления, экран «Спасибо» ===== */
/* Inline-ошибка формы (вместо браузерного alert) */
.lead-error{
	background:#fdecea;border:1px solid #f5c2bd;color:#b71c1c;
	border-radius:10px;padding:11px 14px;font-size:13.5px;line-height:1.45;font-weight:600;
}

/* Прикрепление файлов */
.file-field{gap:8px}
.file-field>label{font-size:13.5px;color:#3d4a60;font-weight:600}
.file-hint{font-weight:400;color:#8a93a3;font-size:12px}
.file-btn{
	display:inline-flex;align-items:center;gap:8px;align-self:flex-start;
	background:#eef3fe;color:#1f4fb0;border:1px dashed #9db8ec;border-radius:10px;
	padding:10px 16px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;transition:.16s;
}
.file-btn:hover{background:#e2ecfd;border-color:#6f95e2}
.file-btn svg{color:#1f4fb0}
.file-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.file-item{
	display:flex;align-items:center;gap:10px;
	background:#f6f8fc;border:1px solid #e3e9f3;border-radius:9px;padding:8px 12px;
}
.fi-name{flex:1;min-width:0;font-size:13.5px;color:#1d2b45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fi-size{font-size:12px;color:#8a93a3;white-space:nowrap}
.fi-remove{
	flex-shrink:0;background:none;border:0;color:#b0b8c6;font-size:15px;line-height:1;
	cursor:pointer;padding:2px 4px;border-radius:6px;transition:.15s;
}
.fi-remove:hover{color:#e53935;background:#fdecea}

/* Экран «Спасибо, заявка принята» */
.lead-success{text-align:center;padding:18px 6px 8px}
.ls-icon{
	width:74px;height:74px;border-radius:50%;margin:0 auto 18px;
	display:flex;align-items:center;justify-content:center;
	background:linear-gradient(135deg,#0f9d58,#19b56a);box-shadow:0 8px 22px rgba(15,157,88,.32);
}
.ls-title{font-size:24px;color:#0f9d58;margin:0 0 8px;font-weight:800}
.ls-num{font-size:15px;color:#3d4a60;margin:0 0 14px}
.ls-num b{color:#1d2b45}
.ls-text{font-size:14.5px;line-height:1.6;color:#3d4a60;max-width:460px;margin:0 auto 22px}
.ls-text b{color:#1d2b45}
.ls-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-ghost{
	display:inline-block;text-align:center;background:#fff;color:#1f4fb0;
	border:1.5px solid #c5d6f5;border-radius:12px;padding:13px 20px;
	font:inherit;font-weight:700;font-size:15px;cursor:pointer;transition:.16s;
}
.btn-ghost:hover{background:#eef3fe;border-color:#9db8ec}
@media screen and (max-width:680px){
	.ls-title{font-size:21px}
	.ls-actions{flex-direction:column}
	.ls-actions .btn-primary,.ls-actions .btn-ghost{width:100%}
}
/* ===== /v33 партия 2 ===== */
