@import url('https://fonts.googleapis.com/css2?family=Onest:wght@400;500;600;700;800&display=swap');

/* ============================================================
   ACB Life — тема для страниц /ru/ (онлайн-оформление, кабинет).
   Накладывается ПОВЕРХ базового CSS движка через переопределения.
   Палитра и типографика — как на лендинге.
   Подключается последним в shadow/template/template1/header_ru.php
   ============================================================ */

:root{
	--acb-yellow:#FFD200;
	--acb-dark:#14161A;
	--acb-blue:#2B6CE6;
	--acb-bg:#F3F2EF;
	--acb-card:#fff;
	--acb-border:#E7E6E1;
	--acb-input:#FBFBF9;
	--acb-muted:#6E6E73;
	--acb-red:#D7263D;
}

/* ---- Базовое ---- */
body.calc{
	background:var(--acb-bg)!important;
	font-family:'Onest',system-ui,sans-serif!important;
	color:var(--acb-dark)!important;
	-webkit-font-smoothing:antialiased;
}
body.calc *{font-family:'Onest',system-ui,sans-serif}
body.calc a{color:var(--acb-blue);text-decoration:none}
body.calc a:hover{text-decoration:underline}
body.calc hr{border:none;border-top:1px solid #ECEBE6;margin:24px 0}

/* ---- Контейнер / отступы ---- */
body.calc .calc__container{max-width:880px;margin-left:auto;margin-right:auto;padding-top:28px;padding-bottom:48px}

/* ---- Заголовок страницы ---- */
body.calc .title{
	font-family:'Onest',sans-serif!important;
	font-weight:800!important;
	color:var(--acb-dark)!important;
	letter-spacing:-.02em!important;
}
body.calc h3.title,body.calc .title.center{font-size:30px!important;line-height:1.15!important}
body.calc .center{text-align:center}

/* ---- Логотип на странице входа ---- */
body.calc .center img{max-height:46px;width:auto}

/* ---- Верхнее меню кабинета ---- */
body.calc .menu{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
body.calc .menu .button{margin:0!important}

/* ---- Карточка ---- */
body.calc .calc__card{
	background:var(--acb-card)!important;
	border:1px solid #EFEEEA!important;
	border-radius:20px!important;
	box-shadow:0 10px 34px rgba(20,20,30,.06)!important;
	padding:32px!important;
}

/* ---- Индикатор шагов ---- */
body.calc .calc__steps{
	display:flex;
	gap:12px;
	justify-content:center;
	margin:0 0 26px;
	padding:0;
}
body.calc .calc__step{
	width:46px;height:46px;
	display:flex;align-items:center;justify-content:center;
	border-radius:50%;
	background:#fff;
	border:1.5px solid var(--acb-border);
	color:var(--acb-muted);
	font-weight:800;font-size:17px;
	cursor:pointer;
	transition:background .15s,color .15s,border-color .15s;
}
body.calc .calc__step:hover{border-color:var(--acb-yellow)}
body.calc .calc__step.calc__step_right{
	background:var(--acb-yellow)!important;
	border-color:var(--acb-yellow)!important;
	color:var(--acb-dark)!important;
	cursor:default;
}

/* ---- Поля формы ---- */
body.calc .calc__label{
	font-family:'Onest',sans-serif!important;
	font-size:14px!important;
	font-weight:700!important;
	color:var(--acb-dark)!important;
	display:block;
	margin:0;
}
body.calc .control{margin-bottom:10px;}
body.calc .control__input,
body.calc .control__input_textarea,
body.calc select.control__input,
body.calc input.dateInp,
body.calc .dateInp{
	font-family:'Onest',sans-serif!important;
	width:100%!important;
	box-sizing:border-box!important;
	border:1.5px solid var(--acb-border)!important;
	background:var(--acb-input)!important;
	border-radius:12px!important;
	padding:13px 16px!important;
	font-size:15px!important;
	color:var(--acb-dark)!important;
	box-shadow:none!important;
	transition:border-color .15s;
}
body.calc .control__input:focus,
body.calc .control__input_textarea:focus,
body.calc select.control__input:focus,
body.calc .dateInp:focus{
	border-color:var(--acb-yellow)!important;
	outline:none!important;
	background:#fff!important;
}
body.calc .control__input_textarea{min-height:110px!important;resize:vertical}
body.calc select.control__input{
	appearance:none;-webkit-appearance:none;-moz-appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236E6E73' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")!important;
	background-repeat:no-repeat!important;
	background-position:right 14px center!important;
	padding-right:40px!important;
}
body.calc .control__help{font-size:12.5px!important;color:var(--acb-muted)!important;display:inline-block;margin-top:4px}
body.calc .control__help:empty {
	display:none;
}

/* ---- Чекбоксы / радио-группы ---- */
body.calc .checkbox-group{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
body.calc .checkbox-group li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:#3A3C42}
body.calc input[type="checkbox"],
body.calc input[type="radio"]{accent-color:var(--acb-yellow);width:18px;height:18px;cursor:pointer}

/* ---- Загрузка файлов ---- */
body.calc .fileUpload-outerWrap{
	border:1.5px dashed var(--acb-border)!important;
	background:var(--acb-input)!important;
	border-radius:12px!important;
	padding:14px 16px!important;
}
body.calc .fileUpload-outerWrap:hover{border-color:var(--acb-yellow)!important}

/* ---- Кнопки ---- */
body.calc .button{
	font-family:'Onest',sans-serif!important;
	display:inline-flex;align-items:center;justify-content:center;gap:7px;
	font-weight:700!important;
	font-size:14px!important;
	line-height:1!important;
	padding:9px 16px!important;
	border:none!important;
	border-radius:10px!important;
	box-shadow:none!important;
	cursor:pointer;
	text-decoration:none!important;
	transition:filter .15s,background .15s,color .15s;
}
/* основная (жёлтая) */
body.calc .button_green{background:var(--acb-yellow)!important;color:var(--acb-dark)!important}
body.calc .button_green:hover,body.calc .button_green:focus{filter:brightness(.96)!important;color:var(--acb-dark)!important}
body.calc .button_green.active{background:var(--acb-dark)!important;color:#fff!important}
/* вторичная (нейтральная) */
body.calc .button_red{background:#fff!important;color:var(--acb-dark)!important;border:1.5px solid var(--acb-border)!important;position:relative;z-index:1;margin:0;}
body.calc .button_red:has(~.fileUpload-outerWrap) {pointer-events:none;}
body.calc .button_red:hover,body.calc .button_red:focus{background:var(--acb-bg)!important;color:var(--acb-dark)!important}
/* кнопка выхода — мягкий красный акцент */
body.calc #logout_btn{color:var(--acb-red)!important;border-color:#F0D2D5!important}
body.calc #logout_btn:hover{background:#FCEDEE!important}
body.calc .link{color:var(--acb-blue)!important;cursor:pointer}

/* ---- Индикатор загрузки ---- */
body.calc .loading{display:none;align-items:center;gap:10px;color:var(--acb-muted);font-size:14px;font-weight:600;margin-top:12px}
body.calc .loading img{height:20px;width:auto}

/* ---- Таблицы ---- */
body.calc .table{background:#fff;border-radius:14px;overflow:hidden;border:1px solid #EFEEEA;border-collapse:separate;border-spacing:0}
body.calc .table th{background:var(--acb-bg)!important;color:var(--acb-dark)!important;font-weight:700!important;font-size:13.5px!important;padding:12px 14px!important;border:none!important}
body.calc .table td{padding:12px 14px!important;color:#3A3C42!important;font-size:14px!important;border:none!important;border-top:1px solid #F0EFEA!important}

/* ---- Модальные заголовки ---- */
body.calc .modal__heading,body.calc .modal__title{font-family:'Onest',sans-serif!important;font-weight:800!important;color:var(--acb-dark)!important}
body.calc .modal__subtitle{color:var(--acb-muted)!important}

/* ---- Ion.RangeSlider (если используется в расчёте) ---- */
body.calc .irs-bar,body.calc .irs-bar-edge{background:var(--acb-yellow)!important;border-color:var(--acb-yellow)!important}
body.calc .irs-slider,body.calc .irs-handle{border:5px solid var(--acb-yellow)!important;background:#fff!important;border-radius:50%!important;box-shadow:0 2px 8px rgba(0,0,0,.18)!important}
body.calc .irs-from,body.calc .irs-to,body.calc .irs-single{background:var(--acb-dark)!important}

/* ---- Адаптив ---- */
@media (max-width:600px){
	body.calc .calc__card{padding:22px 18px!important;border-radius:16px!important}
	body.calc h3.title,body.calc .title.center{font-size:24px!important}
	body.calc .calc__steps{gap:8px}
	body.calc .calc__step{width:40px;height:40px;font-size:15px}
	body.calc .menu{justify-content:center}
	body.calc .menu .button{flex:1 1 auto}
	body.calc .calc__label{padding-top:0;margin-bottom:6px}
}

/* ---- Компактные фильтры (список заявок) ---- */
body.calc .filtr{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px}
body.calc .filtr .control__input,
body.calc .filtr .dateInp{
	width:auto!important;
	min-width:150px;
	padding:9px 14px!important;
	font-size:14px!important;
	border-radius:10px!important;
}
body.calc .filtr select.control__input{padding-right:34px!important;background-position:right 12px center!important}
body.calc .filtr .dateS{display:inline-flex;align-items:center;gap:6px;color:var(--acb-muted);font-size:13px}
body.calc .filtr .dateInp{min-width:118px}
body.calc .filtr .search{display:flex;align-items:center;gap:8px;margin-left:auto;flex:1 1 300px;max-width:560px}
body.calc .filtr .search .control__input{flex:1 1 auto;width:100%!important;min-width:0}
body.calc .filtr .search .button{flex:none}
body.calc .filtr .clear{display:none}
@media (max-width:760px){
	body.calc .filtr{flex-direction:column;align-items:stretch}
	body.calc .filtr .control__input,body.calc .filtr .dateInp{width:100%!important;min-width:0}
	body.calc .filtr .dateS{justify-content:space-between}
	body.calc .filtr .search{margin-left:0;max-width:none}
}
