/* ==================================================================
   Kelpie_v2 — Эксперт + форма, фронтенд
   «Закрытые» стили: блок изолирован от глобальных стилей сайта и темы.
   База зафиксирована через !important + сброс наследования, поэтому
   чистка/перетряска глобального CSS не должна ломать вид блока.
   Все правила скоупированы внутри .kbv2-ec.

   Брейкпоинты (адаптив, без горизонтального переполнения на 320/360/420):
     ≤768px — двухколоночная сетка схлопывается в 1 колонку, межблочный отступ снизу 56px;
     ≤560px — паддинги карточки меньше, телефон/кнопка мельче, всё на всю ширину;
     ≤420px — заголовок/телефон ещё мельче, минимальные паддинги, без overflow.
   ================================================================== */

/* ── Защитный сброс ───────────────────────────────────────────── */
.kbv2-ec,
.kbv2-ec *,
.kbv2-ec *::before,
.kbv2-ec *::after {
	box-sizing: border-box !important;
}

/* ── typography firewall: вернуть наследование голым элементам, чтобы темовые `p{font-size}` / `h*{}` не продавливали блок; классовые правила ниже всё равно выигрывают ── */
.kbv2-ec :where(p,h1,h2,h3,h4,h5,h6,ul,ol,li,blockquote,figure,figcaption,small,strong,em,b,i,span,a,button,input,label,textarea) { font-size: inherit; line-height: inherit; font-family: inherit; }


.kbv2-ec {
	--ec-ink:#16243B;
	--ec-ink-soft:#34425C;
	--ec-mute:#727C8C;
	--ec-paper:#FFFFFF;
	--ec-line:#E5E9F1;
	--ec-soft:#F4F7FB;
	--ec-orange:#FF7A2E;
	--ec-orange-deep:#EE5C0C;
	--ec-blue:#0088C4;
	--ec-blue-deep:#006F9F;
	--ec-grid:#D9E4F2;

	max-width:1200px !important;
	margin:0 auto 88px !important;
	padding:0 20px !important;
	font-family:'Manrope', system-ui, -apple-system, "Segoe UI", sans-serif !important;
	font-size:16px !important;
	line-height:1.5 !important;
	text-align:left !important;
	color:var(--ec-ink) !important;
	background:none !important;
}

/* Сброс наследуемых элементов */
.kbv2-ec h2,
.kbv2-ec p,
.kbv2-ec div,
.kbv2-ec span,
.kbv2-ec a { margin:0; padding:0; }
.kbv2-ec a { color:inherit !important; text-decoration:none !important; }
.kbv2-ec img { max-width:100% !important; height:auto !important; display:block !important; }

/* ── Карточка ─────────────────────────────────────────────────── */
.kbv2-ec__card{
	position:relative !important; overflow:hidden !important;
	background:var(--ec-paper) !important;
	border:1px solid var(--ec-line) !important;
	border-radius:28px !important;
	padding:38px 44px !important;
	box-shadow:0 1px 0 rgba(22,36,59,.03), 0 26px 52px -34px rgba(22,36,59,.22) !important;
}

/* ── Сетка 2 колонки ──────────────────────────────────────────── */
.kbv2-ec__grid{
	position:relative !important; z-index:1 !important;
	display:grid !important; grid-template-columns:1fr 1fr !important; gap:48px !important; align-items:start !important;
}

/* ── ЛЕВАЯ колонка: эксперт ───────────────────────────────────── */
.kbv2-ec__expert{ min-width:0 !important; }
.kbv2-ec__head{
	margin:0 0 24px !important; font-family:'Manrope', system-ui, sans-serif !important; font-weight:800 !important;
	font-size:28px !important; line-height:1.18 !important; letter-spacing:-.4px !important; color:var(--ec-ink) !important;
}
.kbv2-ec__head strong{ color:var(--ec-blue) !important; font-weight:800 !important; }

.kbv2-ec__person{ display:flex !important; align-items:center !important; gap:16px !important; }
.kbv2-ec__photo{
	flex:0 0 auto !important; width:84px !important; height:84px !important; border-radius:50% !important;
	overflow:hidden !important; background:var(--ec-soft) !important;
	border:1px solid var(--ec-line) !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
}
.kbv2-ec__photo-img{ width:100% !important; height:100% !important; object-fit:cover !important; object-position:top center !important; border-radius:50% !important; }
.kbv2-ec__photo-ph{ color:#AEB8C8 !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.kbv2-ec__photo-ph svg{ width:46px !important; height:46px !important; }

.kbv2-ec__pmeta{ min-width:0 !important; }
.kbv2-ec__pname{ font-family:'Manrope', system-ui, sans-serif !important; font-weight:800 !important; font-size:18px !important; line-height:1.25 !important; color:var(--ec-ink) !important; }
.kbv2-ec__prole{ font-family:'Manrope', system-ui, sans-serif !important; font-weight:600 !important; font-size:14px !important; line-height:1.35 !important; color:var(--ec-mute) !important; margin-top:4px !important; }

.kbv2-ec__phone{
	display:inline-flex !important; align-items:center !important; gap:11px !important;
	margin-top:24px !important; color:var(--ec-ink) !important;
}
.kbv2-ec__phone-ic{
	flex:0 0 auto !important; width:40px !important; height:40px !important; border-radius:50% !important;
	background:var(--ec-soft) !important; color:var(--ec-blue) !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
}
.kbv2-ec__phone-ic svg{ width:18px !important; height:18px !important; }
.kbv2-ec__phone-num{ font-family:'Manrope', system-ui, sans-serif !important; font-weight:900 !important; font-size:26px !important; line-height:1 !important; letter-spacing:-.5px !important; color:var(--ec-ink) !important; }

.kbv2-ec__hours{
	display:flex !important; align-items:center !important; gap:11px !important; margin-top:14px !important;
	font-family:'Manrope', system-ui, sans-serif !important; font-weight:600 !important; font-size:14px !important;
	line-height:1.4 !important; color:var(--ec-mute) !important;
}
.kbv2-ec__hours-ic{
	flex:0 0 auto !important; width:40px !important; height:40px !important; border-radius:50% !important;
	background:var(--ec-soft) !important; color:var(--ec-blue) !important;
	display:flex !important; align-items:center !important; justify-content:center !important;
}
.kbv2-ec__hours-ic svg{ width:18px !important; height:18px !important; color:var(--ec-blue) !important; }

/* описание под телефоном/часами */
.kbv2-ec__descr{
	margin:14px 0 0 !important; max-width:340px !important;
	font-family:'Manrope', system-ui, sans-serif !important; font-weight:500 !important;
	font-size:13.5px !important; line-height:1.55 !important; color:var(--ec-mute) !important;
}
.kbv2-ec__descr strong, .kbv2-ec__descr b{ color:var(--ec-ink) !important; font-weight:700 !important; }

/* ── ПРАВАЯ колонка: форма ────────────────────────────────────── */
.kbv2-ec__formcol{
	min-width:0 !important; background:var(--ec-soft) !important;
	border:1px solid var(--ec-line) !important; border-radius:20px !important; padding:28px 28px !important;
}
.kbv2-ec__form-title{ font-family:'Manrope', system-ui, sans-serif !important; font-weight:800 !important; font-size:20px !important; line-height:1.2 !important; color:var(--ec-ink) !important; margin:0 0 18px !important; }
.kbv2-ec__form{ display:flex !important; flex-direction:column !important; gap:12px !important; }

.kbv2-ec__input{
	width:100% !important; display:block !important;
	background:var(--ec-paper) !important; border:1px solid var(--ec-line) !important; border-radius:12px !important;
	padding:14px 16px !important; font-family:'Manrope', system-ui, sans-serif !important; font-weight:500 !important;
	font-size:15px !important; line-height:1.4 !important; color:var(--ec-ink) !important;
	-webkit-appearance:none !important; appearance:none !important;
	transition:border-color .16s, box-shadow .16s !important;
}
.kbv2-ec__input::placeholder{ color:var(--ec-mute) !important; opacity:1 !important; }
.kbv2-ec__input:focus{ outline:none !important; border-color:var(--ec-blue) !important; box-shadow:0 0 0 3px rgba(0,136,196,.14) !important; }
.kbv2-ec__textarea{ resize:vertical !important; min-height:88px !important; }

.kbv2-ec__btn{
	cursor:pointer !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; gap:11px !important;
	width:100% !important; margin-top:4px !important;
	background:linear-gradient(180deg,var(--ec-orange),var(--ec-orange-deep)) !important; color:#fff !important;
	font-family:'Manrope', system-ui, sans-serif !important; font-weight:800 !important; font-size:15px !important;
	padding:16px 30px !important; border:none !important; border-radius:999px !important;
	text-decoration:none !important;
	box-shadow:0 14px 30px -12px rgba(238,92,12,.55) !important;
	transition:transform .16s, box-shadow .16s, filter .16s !important;
}
.kbv2-ec__btn:hover{ color:#fff !important; transform:translateY(-2px) !important; filter:brightness(1.04) !important; box-shadow:0 18px 34px -12px rgba(238,92,12,.68) !important; }
.kbv2-ec__ar{ display:inline-block !important; transition:transform .16s !important; }
.kbv2-ec__btn:hover .kbv2-ec__ar{ transform:translateX(3px) !important; }

.kbv2-ec__consent{ margin:14px 0 0 !important; font-family:'Manrope', system-ui, sans-serif !important; font-weight:500 !important; font-size:12px !important; line-height:1.45 !important; color:var(--ec-mute) !important; }
.kbv2-ec__consent a{ color:var(--ec-blue) !important; text-decoration:underline !important; }

/* ── Адаптив ──────────────────────────────────────────────────── */
@media (max-width:768px){
	.kbv2-ec{ margin-bottom:56px !important; }
	.kbv2-ec__card{ padding:28px 24px !important; border-radius:22px !important; }
	.kbv2-ec__grid{ grid-template-columns:1fr !important; gap:28px !important; }
	.kbv2-ec__head{ font-size:24px !important; }
}

@media (max-width:560px){
	.kbv2-ec__card{ padding:22px 16px !important; border-radius:18px !important; }
	.kbv2-ec__head{ font-size:21px !important; margin-bottom:20px !important; }
	.kbv2-ec__formcol{ padding:20px 18px !important; }
	.kbv2-ec__phone-num{ font-size:23px !important; }
	.kbv2-ec__form-title{ font-size:18px !important; }
}

@media (max-width:420px){
	.kbv2-ec{ padding:0 14px !important; }
	.kbv2-ec__card{ padding:18px 13px !important; }
	.kbv2-ec__head{ font-size:19px !important; }
	.kbv2-ec__person{ gap:13px !important; }
	.kbv2-ec__photo{ width:72px !important; height:72px !important; }
	.kbv2-ec__phone-num{ font-size:21px !important; }
	.kbv2-ec__formcol{ padding:18px 14px !important; }
	.kbv2-ec__input{ padding:13px 14px !important; font-size:14px !important; }
	.kbv2-ec__btn{ padding:15px 22px !important; font-size:14px !important; }
}


/* === опциональная рамка с сеткой (тумблер в админке, по умолчанию выкл) === */
.kbv2-ec.is-framed { background:#fff !important; border:1px solid #E3E9F2 !important; border-radius:24px !important; padding:32px 34px !important; box-shadow:0 1px 0 rgba(22,36,59,.03), 0 26px 52px -34px rgba(22,36,59,.22) !important; overflow:hidden !important; position:relative !important; }
.kbv2-ec.is-framed > * { position:relative !important; z-index:1 !important; }
.kbv2-ec.is-framed::before { content:"" !important; position:absolute !important; inset:0 !important; pointer-events:none !important; z-index:0 !important; border-radius:24px !important; background-image:linear-gradient(#D9E4F2 1px,transparent 1px),linear-gradient(90deg,#D9E4F2 1px,transparent 1px) !important; background-size:34px 34px !important; opacity:.55 !important; -webkit-mask-image:radial-gradient(120% 130% at 92% 0%,#000 22%,transparent 66%) !important; mask-image:radial-gradient(120% 130% at 92% 0%,#000 22%,transparent 66%) !important; }
@media (max-width:768px){ .kbv2-ec.is-framed { padding:22px 18px !important; } }
