/* =========================================================
   Доработки 2026: cookie-баннер, чекбоксы согласия в CF7,
   информационные страницы, 404, ссылки в подвале.
   Подключается в header.php после style.css.
   ========================================================= */

/* ---------- Cookie-баннер ---------- */
.cookie-banner{
	position:fixed;left:50%;bottom:20px;z-index:8000;
	display:none;align-items:center;gap:24px;
	width:calc(100% - 40px);max-width:960px;box-sizing:border-box;
	padding:18px 24px;background:#fff;border-left:6px solid #5488e2;
	box-shadow:0 10px 40px rgba(0,0,0,.18);
	font-family:GothamPro,sans-serif;font-size:13px;line-height:1.5;color:#333;
	opacity:0;transform:translate(-50%,20px);transition:opacity .3s,transform .3s;
}
.cookie-banner.is-shown{display:flex;}
.cookie-banner.is-visible{opacity:1;transform:translate(-50%,0);}
.cookie-banner__text{flex:1;margin:0;}
.cookie-banner__text a{color:#4168ac;text-decoration:underline;}
.cookie-banner__text a:hover{text-decoration:none;}
.cookie-banner__actions{display:flex;gap:10px;flex:0 0 auto;}
.cookie-banner__btn{
	height:43px;padding:0 28px;border:0;border-radius:5px;cursor:pointer;
	background:linear-gradient(to bottom,#bbd65b 0%,#abc847 100%);
	box-shadow:0 6px 20px -3px rgba(188,220,74,.7);
	color:#fff;font:400 15px GothamPro,sans-serif;transition:opacity .2s,background-color .2s,border-color .2s;
}
.cookie-banner__btn:hover{opacity:.85;}
.cookie-banner__btn--secondary{
	background:#fff;box-shadow:none;color:#4168ac;border:1px solid #bacbe6;
}
.cookie-banner__btn--secondary:hover{opacity:1;border-color:#4168ac;}
@media (max-width:600px){
	.cookie-banner{flex-direction:column;align-items:stretch;gap:14px;bottom:10px;width:calc(100% - 20px);padding:16px;}
	.cookie-banner__actions{flex-direction:column;}
	.cookie-banner__btn{width:100%;}
}

/* ---------- Чекбоксы согласия в формах CF7 ---------- */
.form-accept{padding-top:10px;}
.form-accept > p{padding:0 !important;margin:0 !important;}
/* Чекбоксы сразу после ряда полей (главная, «О нас», контакты и т.п.): убираем лишние отступы */
.form_cols + .form-accept{padding-top:0;}
.form_cols:has(+ .form-accept){margin-bottom:0 !important;}
/* В попапах колонки идут друг под другом — отступ от кнопки до чекбоксов */
.win .form_cols + .form-accept{padding-top:22px;}
/* Квиз (шаг 5): чекбоксы под колонками полей, перед кнопкой */
.step_wrapper .form-accept{clear:both;padding:0 0 28px;}
/* Скрытое поле с названием услуги (тема прятала его только по id, а CF7 не дублирует id на странице) */
.wpcf7-form-control-wrap[data-name="services-link"],input[name="services-link"]{display:none !important;}
.form-accept .wpcf7-form-control-wrap{display:block;}
.form-accept .wpcf7-form-control-wrap + br{display:none;}
.form-accept .wpcf7-form-control-wrap ~ .wpcf7-form-control-wrap{margin-top:10px;}
.form_col:has(> .form-accept){float:none;clear:both;width:auto;margin-left:0;}
.wpcf7-acceptance .wpcf7-list-item{display:block;margin:0;}
.wpcf7-acceptance label{
	display:flex !important;align-items:flex-start;gap:10px;margin:0;padding:0;cursor:pointer;
	font-size:12px;line-height:1.45;color:#8f8f8f;text-align:left;
}
.wpcf7-acceptance input[type="checkbox"]{
	-webkit-appearance:none;-moz-appearance:none;appearance:none;
	flex:0 0 18px;width:18px !important;height:18px !important;margin:0 !important;padding:0;position:static;opacity:1;
	border:1px solid #bababa !important;border-radius:4px;background:#fff center/12px 12px no-repeat;cursor:pointer;
	transition:border-color .2s,background-color .2s,box-shadow .2s;
}
.wpcf7-acceptance input[type="checkbox"]:hover{border-color:#4168ac !important;}
.wpcf7-acceptance input[type="checkbox"]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(65,104,172,.25);}
.wpcf7-acceptance input[type="checkbox"]:checked{
	border-color:#4168ac !important;background-color:#4168ac;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.2l2.6 2.6L10 3.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.wpcf7-acceptance .wpcf7-list-item-label{flex:1;}
.wpcf7-acceptance .wpcf7-list-item-label::before,.wpcf7-acceptance .wpcf7-list-item-label::after{content:none;}
.wpcf7-acceptance a{color:#4168ac;text-decoration:underline;}
.wpcf7-acceptance a:hover{text-decoration:none;}
.wpcf7-form .wpcf7-submit:disabled{opacity:.5;cursor:not-allowed;}

/* ---------- Совместимость вёрстки форм с CF7 6.x ----------
   Новый CF7 оборачивает «подпись + поле» в <p> и ставит <br>,
   из-за чего поля в квизе съезжали по вертикали. */
.form_el > p{padding:0 !important;margin:0 !important;}
.form_el > p > br{display:none;}

/* ---------- Информационные страницы (page.php) ---------- */
.post--doc{max-width:900px;font-size:15px;line-height:1.6;}
.post--doc h2{display:block;min-height:0;padding:28px 0 8px;font-size:22px;line-height:1.3;}
.post--doc h3{padding:20px 0 4px;font-size:17px;line-height:1.35;}
.post--doc p{padding:8px 0 0;}
.post--doc ul,.post--doc ol{padding-left:0;margin:8px 0;}
.post--doc ol{padding-left:22px;}
.post--doc ol li{list-style:decimal;padding:3px 0;}
.post--doc ul li{padding:3px 0;}
.post--doc a{color:#4168ac;text-decoration:underline;}
.post--doc a:hover{text-decoration:none;}
.post--doc [id]{scroll-margin-top:20px;}

/* ---------- 404 ---------- */
.page-404{padding:90px 0 110px;background:#f7f8fa;}
.page-404__box{max-width:640px;margin:0 auto;text-align:center;}
.page-404__code{font-size:120px;line-height:1;font-weight:bold;color:#5488e2;letter-spacing:2px;}
.page-404__title{margin:18px 0 0;font-size:32px;line-height:1.25;font-weight:bold;color:#000;}
.page-404__title::before,.page-404__title::after{content:none !important;display:none !important;}
.page-404__title{padding:0 !important;}
.page-404__text{margin:16px 0 0;font-size:15px;line-height:1.6;color:#555;}
.page-404__links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:32px;}
.page-404__btn{
	display:inline-flex;align-items:center;justify-content:center;min-width:180px;height:46px;padding:0 28px;box-sizing:border-box;
	border-radius:5px;border:1px solid transparent;
	background:linear-gradient(to bottom,#bbd65b 0%,#abc847 100%);box-shadow:0 6px 20px -3px rgba(188,220,74,.7);
	color:#fff !important;font-size:15px;text-decoration:none !important;transition:opacity .2s,border-color .2s;
}
.page-404__btn:hover{opacity:.85;}
.page-404__btn--outline{background:#fff;box-shadow:none;border-color:#bacbe6;color:#4168ac !important;}
.page-404__btn--outline:hover{opacity:1;border-color:#4168ac;}
@media (max-width:600px){
	.page-404{padding:60px 0 70px;}
	.page-404__code{font-size:88px;}
	.page-404__title{font-size:24px;}
	.page-404__btn{width:100%;}
}

/* ---------- Ссылки на документы в подвале ---------- */
.footer_docs{margin-top:6px;font-size:12px;line-height:1.6;}
.footer_docs a,.footer_docs button{display:block;color:inherit;text-decoration:underline;}
.footer_docs button{padding:0;border:0;background:none;font:inherit;cursor:pointer;text-align:left;}
.footer_docs a:hover,.footer_docs button:hover{text-decoration:none;}
