/* Обратный звонок: кнопки в каталоге и на карточке, модальное окно,
   липкая панель звонка на телефоне. Все классы с префиксом cb-, чтобы
   ничего не пересекалось со styles.less. Акцент — @color_link сайта. */

.cb-btn{
	display:inline-block;
	margin:0;
	padding:11px 20px;
	border:1px solid #033309;
	border-radius:3px;
	background:#fff;
	color:#033309;
	font:600 15px/1.2 inherit;
	text-align:center;
	text-transform:none;
	letter-spacing:normal;
	text-decoration:none;
	cursor:pointer;
	transition:background .15s,color .15s;
}
.cb-btn:hover,
.cb-btn:focus{background:#033309;color:#fff}
.cb-btn--wide{display:block;width:100%;margin-top:10px}
.cb-btn--small{padding:7px 12px;font-size:13px;font-weight:400}
.cb-btn svg{width:15px;height:15px;margin-right:7px;vertical-align:-2px;fill:currentColor}

.cb-note{margin:6px 0 0;color:#777;font-size:12.5px;line-height:1.4}

/* --- модальное окно ------------------------------------------------------- */
.cb-open{overflow:hidden}
.cb-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999999999}
.cb-modal[hidden]{display:none}
.cb-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(6,20,10,.62)}
.cb-window{
	position:relative;
	max-width:420px;
	margin:6vh auto 0;
	background:#fff;
	border-radius:4px;
	box-shadow:0 10px 40px rgba(0,0,0,.35);
	max-height:88vh;
	overflow-y:auto;
}
.cb-body{padding:26px 26px 22px}
.cb-x{
	position:absolute;top:6px;right:8px;
	width:34px;height:34px;padding:0;
	border:0;background:none;color:#8a958d;
	font:300 28px/34px Arial,sans-serif;cursor:pointer;
}
.cb-x:hover{color:#033309}
.cb-body h2{margin:0 0 8px;font-size:22px;line-height:1.2;color:#033309}
.cb-lead{margin:0 0 18px;color:#555;font-size:14px;line-height:1.5}

.cb-field{display:block;margin-bottom:13px}
.cb-field span{display:block;margin-bottom:5px;font-size:13px;color:#555}
.cb-field input{
	display:block;width:100%;box-sizing:border-box;
	padding:11px 12px;
	border:1px solid #c9d2cb;border-radius:3px;
	background:#fff;color:#3d3d3d;font-size:16px;
}
.cb-field input:focus{border-color:#033309;outline:2px solid rgba(3,51,9,.18);outline-offset:0}

/* приманка для ботов — убираем из потока, но не display:none */
.cb-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.cb-err{margin:0 0 12px;padding:9px 11px;background:#fdecea;border-left:3px solid #b3261e;color:#8c1d18;font-size:13.5px}
.cb-err[hidden]{display:none}

.cb-submit{
	display:block;width:100%;margin-top:4px;padding:13px 16px;
	border:0;border-radius:3px;background:#033309;color:#fff;
	font:600 16px/1.2 inherit;text-transform:none;letter-spacing:normal;cursor:pointer;
}
.cb-submit:hover{background:#04490d}
.cb-submit[disabled]{opacity:.6;cursor:default}

.cb-policy{margin:12px 0 0;color:#8a8a8a;font-size:11.5px;line-height:1.45}
.cb-policy a{color:#8a8a8a;text-decoration:underline}

.cb-ok{text-align:center;padding:10px 0 4px}
.cb-ok[hidden]{display:none}
.cb-ok strong{display:block;margin-bottom:8px;font-size:19px;color:#033309}
.cb-ok p{margin:0;color:#555;font-size:14px;line-height:1.5}
.cb-ok a{color:#033309;font-weight:600;white-space:nowrap}

/* --- липкая панель на телефоне -------------------------------------------- */
.cb-bar{display:none}

@media (max-width:900px){
	.cb-bar{
		display:flex;
		position:fixed;left:0;right:0;bottom:0;z-index:999999999;
		background:#033309;
		box-shadow:0 -2px 10px rgba(0,0,0,.25);
	}
	.cb-bar > *{
		flex:1 1 50%;
		display:flex;align-items:center;justify-content:center;gap:8px;
		min-height:52px;padding:8px 10px;
		border:0;background:none;
		color:#fff;font:600 15px/1.2 inherit;text-transform:none;letter-spacing:normal;text-decoration:none;
		cursor:pointer;
	}
	.cb-bar-call{background:#04490d}
	.cb-bar svg{width:17px;height:17px;fill:currentColor;flex:0 0 auto}
	body{padding-bottom:56px}
	/* оба элемента сайта прибиты к низу — поднимаем над панелью */
	body #back_top{bottom:66px}
	body .cookie_policy{bottom:56px}
	.cb-window{margin:0;max-width:none;min-height:100%;border-radius:0}
	.cb-body{padding:22px 18px 26px}
}
