/* ==========================================================================
   Колесо-Центр: шапка і підвал
   ========================================================================== */

:root {
	--kc-black: #0b0b0f;
	--kc-black-2: #16161d;
	--kc-line-d: #2c2c36;
	--kc-indigo: #33208c;
	--kc-indigo-d: #1c1450;
	--kc-blue: #1f2fa6;
	--kc-green: #0b6b33;
	--kc-yellow: #f7b500;
	--kc-yellow-d: #e5a800;
	--kc-red: #e11d2a;
	--kc-ink: #15122b;
	--kc-muted: #6e6a86;
	--kc-grey: #ececf1;
	--kc-font: Roboto, 'Helvetica Neue', Arial, sans-serif;
	--kc-cond: 'Roboto Condensed', 'Arial Narrow', Roboto, Arial, sans-serif;
	--kc-sticky-h: 0px;
}

.kc-h *,
.kc-h *::before,
.kc-h *::after,
.kc-f *,
.kc-drawer *,
.kc-mbar * {
	box-sizing: border-box;
}

.kc-h ul,
.kc-f ul,
.kc-drawer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kc-h p,
.kc-f p,
.kc-drawer p {
	margin: 0;
}

.kc-ico {
	display: block;
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
}

html.kc-lock,
html.kc-lock body {
	overflow: hidden;
}

/* модуль зворотного дзвінка: власну кнопку ховаємо - її роль виконує плитка */
.kc-cb > .btn {
	display: none !important;
}


/* ==========================================================================
   Шапка (макет ТЗ: весь перший екран без прокрутки)
   Розміри на ПК рахуються від одиниці --u: 1 піксель макета 1672×941,
   вписаного у вікно (менша зі сторін). На телефоні --m: 1 піксель макета 390.
   ========================================================================== */

:root {
	--u: clamp(.6px, min(.0598vw, .1063vh), 1.2px);
	--m: clamp(.85px, .2564vw, 1.35px);
}

/* ширша сітка сторінки, як на макеті */
@media (min-width: 992px) {
	.container {
		max-width: calc(100vw - 40px);
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: min(1600px, calc(100vw - 48px));
	}
}

.kc-h {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 60;
	font-family: var(--kc-font);
	color: #fff;
}

.kc-h a:hover,
.kc-h a:focus {
	text-decoration: none;
}

.kc-main {
	position: relative;
	background: #000;
}

.kc-main__in {
	display: grid;
	grid-template-columns: calc(40 * var(--u)) calc(180 * var(--u)) minmax(0, 237fr) minmax(0, 186fr) minmax(0, 220fr) minmax(0, 191fr) minmax(0, 210fr) calc(76 * var(--u));
	grid-template-rows: calc(80 * var(--u)) calc(60 * var(--u));
	grid-template-areas:
		"burger logo phone search mobile cb map cart"
		"burger logo price price price price price price";
	gap: calc(11 * var(--u)) calc(12 * var(--u));
	align-items: stretch;
	padding-top: calc(18 * var(--u));
	padding-bottom: calc(10 * var(--u));
}

.kc-burger {
	grid-area: burger;
	align-self: start;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(40 * var(--u));
	height: calc(40 * var(--u));
	margin-top: calc(22 * var(--u));
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
}

.kc-burger .kc-ico {
	width: 100%;
	height: 100%;
	stroke-width: 2.6;
}

.kc-logo {
	grid-area: logo;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: calc(-14 * var(--u));
	margin-bottom: calc(-6 * var(--u));
}

.kc-logo img {
	display: block;
	max-width: 100%;
	max-height: calc(165 * var(--u));
	margin: 0 auto;
}

.kc-h .kc-logo__txt {
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: calc(26 * var(--u));
	line-height: 1;
	color: #fff;
	text-transform: uppercase;
	text-align: center;
}

/* ----- плитки ----- */

.kc-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: calc(12 * var(--u));
	min-width: 0;
	padding: 0 calc(14 * var(--u));
	border-radius: calc(8 * var(--u));
	font-family: var(--kc-cond);
	font-weight: 700;
	line-height: 1.12;
	transition: filter .15s, transform .15s;
}

.kc-tile:hover {
	filter: brightness(1.08);
	transform: translateY(-1px);
}

.kc-tile .kc-ico {
	width: calc(40 * var(--u));
	height: calc(40 * var(--u));
	stroke-width: 2.1;
}

.kc-tile__txt {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kc-tile__txt b {
	font-weight: 700;
	font-size: max(14px, calc(31 * var(--u)));
	white-space: nowrap;
	letter-spacing: -.01em;
}

.kc-tile__txt small {
	font-size: max(12px, calc(19 * var(--u)));
	font-weight: 700;
}

.kc-tile__txt > span {
	font-size: max(12px, calc(22 * var(--u)));
}

.kc-h .kc-tile--phone {
	grid-area: phone;
	background: var(--kc-blue);
	color: #fff;
}

.kc-h .kc-tile--search {
	grid-area: search;
	justify-content: flex-start;
	border: 1px solid #4a4a52;
	background: #0b0b0d;
	color: #fff;
}

.kc-tile--search .kc-tile__txt > span {
	max-width: 5.5em;
}

.kc-h .kc-tile--mobile {
	grid-area: mobile;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0 calc(10 * var(--u));
	padding: calc(6 * var(--u)) calc(12 * var(--u));
	background: var(--kc-yellow);
	color: #111;
}

.kc-tile--mobile .kc-ico {
	width: calc(50 * var(--u));
	height: calc(38 * var(--u));
}

.kc-tile--mobile .kc-tile__txt {
	display: contents;
}

.kc-tile--mobile .kc-tile__txt small {
	grid-column: 2;
	grid-row: 1;
	align-self: center;
	line-height: 1.05;
}

.kc-tile--mobile .kc-tile__txt b {
	grid-column: 1 / -1;
	justify-self: center;
	font-size: max(13px, calc(26 * var(--u)));
}

.kc-h .kc-tile--callback {
	grid-area: cb;
	background: #fff;
	color: #1733d6;
}

.kc-tile--callback .kc-tile__txt > span,
.kc-tile--map .kc-tile__txt > span {
	font-size: max(12px, calc(19.5 * var(--u)));
	line-height: 1.15;
}

.kc-h .kc-tile--map {
	grid-area: map;
	background: var(--kc-green);
	color: #fff;
}

.kc-h .kc-cart {
	grid-area: cart;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
}

.kc-cart .kc-ico {
	width: calc(66 * var(--u));
	height: calc(66 * var(--u));
	stroke-width: 1.7;
}

.kc-h #cart_counter {
	position: absolute;
	top: calc(-6 * var(--u));
	right: calc(-4 * var(--u));
	min-width: calc(34 * var(--u));
	height: calc(34 * var(--u));
	padding: 0 4px;
	border-radius: 999px;
	background: var(--kc-red);
	color: #fff;
	font-family: var(--kc-cond);
	font-size: max(12px, calc(22 * var(--u)));
	font-weight: 700;
	line-height: calc(34 * var(--u));
	text-align: center;
}

.kc-h #cart_counter.d-none {
	display: none;
}

/* ----- смужка «Актуальні ціни» ----- */

.kc-price {
	grid-area: price;
	position: relative;
	z-index: 5;
	min-width: 0;
}

.kc-price summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	height: 100%;
	padding: 0 calc(10 * var(--u)) 0 calc(24 * var(--u));
	border-radius: calc(6 * var(--u));
	background: #fff;
	color: #111;
	list-style: none;
	cursor: pointer;
}

.kc-price summary::-webkit-details-marker {
	display: none;
}

.kc-price__t {
	min-width: 0;
	overflow: hidden;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: max(14px, calc(27 * var(--u)));
	white-space: nowrap;
	text-overflow: ellipsis;
}

.kc-price__btn {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 4px;
	height: calc(42 * var(--u));
	padding: 0 calc(10 * var(--u)) 0 calc(16 * var(--u));
	border-radius: calc(5 * var(--u));
	background: var(--kc-yellow);
	color: #111;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: max(13px, calc(24 * var(--u)));
}

.kc-price__btn .kc-ico {
	width: 1em;
	height: 1em;
	stroke-width: 3;
	transform: rotate(-90deg);
	transition: transform .2s;
}

.kc-price[open] .kc-price__btn .kc-ico {
	transform: rotate(90deg);
}

.kc-price__body {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	display: flex;
	gap: 12px;
	padding: 16px 20px;
	border: 2px solid var(--kc-indigo);
	border-radius: 10px;
	background: #fff;
	color: var(--kc-ink);
	box-shadow: 0 18px 40px rgba(0, 0, 0, .3);
	font-size: 15px;
	line-height: 1.5;
}

.kc-price__body .kc-ico {
	color: var(--kc-indigo);
}

/* ----- пошук ----- */

.kc-search {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 6;
	padding: 14px 0;
	background: var(--kc-black-2);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
}

.kc-search[hidden] {
	display: none;
}

.kc-search__form {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 54px;
	padding: 0 6px 0 16px;
	border-radius: 10px;
	background: #fff;
	color: var(--kc-ink);
}

.kc-search__form .kc-ico {
	color: var(--kc-muted);
}

.kc-search__form input {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	border: 0;
	outline: none;
	background: transparent;
	color: var(--kc-ink);
	font-size: 17px;
}

.kc-search__form button[type="submit"] {
	height: 42px;
	padding: 0 20px;
	border: 0;
	border-radius: 8px;
	background: var(--kc-yellow);
	color: #1b1400;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: 17px;
	cursor: pointer;
}

.kc-search__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--kc-muted);
	cursor: pointer;
}

/* ----- меню (сірий рядок) ----- */

.kc-nav {
	position: relative;
	background: linear-gradient(#cfcfd3, #b5b5ba);
	color: #111;
}

.kc-nav .container {
	position: relative;
}

.kc-nav__list {
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0 calc(30 * var(--u));
	list-style: none;
}

.kc-nav__item {
	position: static;
}

.kc-h .kc-nav__link {
	display: flex;
	align-items: center;
	height: calc(74 * var(--u));
	padding: 0 calc(10 * var(--u));
	color: #111;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: max(16px, calc(34 * var(--u)));
	white-space: nowrap;
	transition: color .15s;
}

.kc-h .kc-nav__link:hover,
.kc-nav__item.is-open > .kc-nav__link,
.kc-nav__item.has-drop:hover > .kc-nav__link {
	color: var(--kc-indigo);
}

.kc-drop {
	position: absolute;
	top: 100%;
	left: 15px;
	right: 15px;
	z-index: 10;
	visibility: hidden;
	opacity: 0;
	padding: 22px 26px 18px;
	border-top: 3px solid var(--kc-indigo);
	border-radius: 0 0 14px 14px;
	background: #fff;
	box-shadow: 0 22px 44px rgba(21, 18, 43, .22);
	transform: translateY(6px);
	transition: opacity .15s, transform .15s, visibility 0s .15s;
}

.kc-nav__item.has-drop:hover > .kc-drop,
.kc-nav__item.is-open > .kc-drop,
.kc-nav__item.has-drop:focus-within > .kc-drop {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity .15s, transform .15s, visibility 0s;
}

.kc-drop__cols {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px 28px;
}

.kc-drop__cols--1 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kc-drop__cols--1 .kc-drop__col ul {
	columns: 3;
	column-gap: 28px;
}

.kc-drop__cols--1 .kc-drop__col {
	grid-column: 1 / -1;
}

.kc-drop__t {
	margin-bottom: 8px !important;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--kc-muted);
}

.kc-drop li {
	break-inside: avoid;
}

.kc-h .kc-drop li a {
	display: block;
	padding: 6px 0;
	color: var(--kc-ink);
	font-size: 15px;
	line-height: 1.3;
	transition: color .15s;
}

.kc-h .kc-drop li a:hover {
	color: var(--kc-indigo);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kc-h .kc-drop__all {
	display: inline-block;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #e6e3f2;
	color: var(--kc-indigo);
	font-weight: 700;
	font-size: 15px;
}

/* ==========================================================================
   Бургер-меню: два стовпці (розділи | послуги), без акордеонів (ТЗ п. 4.3)
   ========================================================================== */

.kc-drawer {
	position: fixed;
	inset: 0;
	z-index: 1050;
	font-family: var(--kc-font);
}

.kc-drawer[hidden] {
	display: none;
}

.kc-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	opacity: 0;
	transition: opacity .2s;
}

.kc-drawer__panel {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	display: grid;
	grid-template-columns: 36% 64%;
	width: min(860px, 100%);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	background: linear-gradient(90deg, #fff 36%, #0a7cf0 36%);
	box-shadow: 0 0 40px rgba(0, 0, 0, .35);
	transform: translateX(-102%);
	transition: transform .22s ease;
}

.kc-drawer.is-open .kc-drawer__overlay {
	opacity: 1;
}

.kc-drawer.is-open .kc-drawer__panel {
	transform: none;
}

.kc-drawer__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	color: #fff;
	cursor: pointer;
}

.kc-drawer__close .kc-ico {
	width: 26px;
	height: 26px;
	stroke-width: 2.4;
}

.kc-drawer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kc-bm__left {
	padding: 18px 18px 24px 22px;
	background: #fff;
}

.kc-bm__right {
	padding: 14px 26px 24px 24px;
	background: #0a7cf0;
}

.kc-bm__left li + li,
.kc-bm__right li + li {
	border-top: 1px solid;
}

.kc-bm__left li + li {
	border-color: #e5e7ee;
}

.kc-bm__right li + li {
	border-color: rgba(255, 255, 255, .28);
}

.kc-drawer .kc-bm__left a,
.kc-drawer .kc-bm__right a {
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 7px 0;
	font-weight: 700;
	line-height: 1.15;
	text-decoration: none;
}

.kc-drawer .kc-bm__left li a {
	color: #101828;
	font-size: 20px;
}

.kc-drawer .kc-bm__right li a {
	color: #fff;
	font-size: 19px;
}

.kc-drawer .kc-bm__left li a:hover {
	color: #0a7cf0;
}

.kc-drawer .kc-bm__right li a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.kc-drawer .kc-bm__title {
	min-height: 60px !important;
	padding-right: 56px !important;
	color: #fff !important;
	font-size: 38px !important;
}

.kc-bm__contacts {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 2px solid #101828;
}

.kc-drawer .kc-bm__contacts a {
	gap: 8px;
	min-height: 38px;
	color: #101828;
	font-size: 15px;
}

.kc-bm__contacts .kc-ico {
	width: 18px;
	height: 18px;
	color: #0a7cf0;
}

/* ==========================================================================
   Нижня панель на телефоні
   ========================================================================== */

.kc-mbar {
	display: none;
}

/* ==========================================================================
   Шапка на телефоні і планшеті (≤ 991px)
   ========================================================================== */

@media (max-width: 991px) {
	:root {
		--kc-sticky-h: 0px;
	}

	body {
		padding-bottom: calc(60px + env(safe-area-inset-bottom));
	}

	.kc-h {
		position: relative;
		top: auto !important;
	}

	.kc-nav {
		display: none;
	}

	.kc-main__in {
		position: relative;
		grid-template-columns: calc(92 * var(--m)) repeat(6, minmax(0, 1fr));
		grid-template-rows: calc(44 * var(--m)) calc(50 * var(--m)) calc(34 * var(--m));
		grid-template-areas:
			"logo phone phone phone search search cart"
			"logo mobile mobile cb cb map map"
			"logo price price price price price price";
		gap: calc(5 * var(--m));
		padding: calc(8 * var(--m)) calc(8 * var(--m));
	}

	.kc-burger {
		position: absolute;
		top: calc(4 * var(--m));
		left: calc(4 * var(--m));
		z-index: 2;
		width: calc(26 * var(--m));
		height: calc(26 * var(--m));
		margin: 0;
		border-radius: 4px;
		background: rgba(0, 0, 0, .6);
	}

	.kc-logo {
		margin: 0;
		padding-left: calc(14 * var(--m));
	}

	.kc-logo img {
		max-height: calc(112 * var(--m));
	}

	.kc-h .kc-logo__txt {
		font-size: calc(17 * var(--m));
	}

	.kc-tile {
		gap: calc(4 * var(--m));
		padding: 0 calc(5 * var(--m));
		border-radius: calc(6 * var(--m));
	}

	.kc-tile:hover {
		transform: none;
	}

	.kc-tile .kc-ico {
		width: calc(17 * var(--m));
		height: calc(17 * var(--m));
	}

	.kc-tile__txt b {
		font-size: calc(15 * var(--m));
	}

	.kc-tile__txt > span,
	.kc-tile__txt small,
	.kc-tile--callback .kc-tile__txt > span,
	.kc-tile--map .kc-tile__txt > span {
		font-size: calc(10.5 * var(--m));
		line-height: 1.1;
	}

	.kc-h .kc-tile--search {
		justify-content: center;
	}

	.kc-tile--search .kc-tile__txt > span {
		font-size: calc(11.5 * var(--m));
	}

	.kc-h .kc-tile--mobile {
		gap: calc(1 * var(--m)) calc(3 * var(--m));
		padding: calc(3 * var(--m)) calc(4 * var(--m));
	}

	.kc-tile--mobile .kc-ico {
		width: calc(19 * var(--m));
		height: calc(15 * var(--m));
	}

	.kc-tile--mobile .kc-tile__txt small {
		font-size: calc(9 * var(--m));
	}

	.kc-tile--mobile .kc-tile__txt b {
		font-size: calc(11.5 * var(--m));
		letter-spacing: -.02em;
	}

	.kc-tile--map .kc-tile__txt > span {
		overflow-wrap: anywhere;
	}

	.kc-cart .kc-ico {
		width: calc(32 * var(--m));
		height: calc(32 * var(--m));
	}

	.kc-h #cart_counter {
		top: calc(-2 * var(--m));
		right: calc(-4 * var(--m));
		min-width: calc(17 * var(--m));
		height: calc(17 * var(--m));
		padding: 0 2px;
		font-size: calc(11 * var(--m));
		line-height: calc(17 * var(--m));
	}

	.kc-price summary {
		gap: 6px;
		padding: 0 calc(4 * var(--m)) 0 calc(8 * var(--m));
		border-radius: calc(5 * var(--m));
	}

	.kc-price__t {
		font-size: calc(12.5 * var(--m));
	}

	.kc-price__btn {
		height: calc(25 * var(--m));
		padding: 0 calc(5 * var(--m)) 0 calc(8 * var(--m));
		font-size: calc(12 * var(--m));
	}

	.kc-price__body {
		left: calc(-100 * var(--m));
		font-size: 14px;
	}

	.kc-search {
		padding: 10px 0;
	}

	/* бургер на телефоні - на весь екран, два стовпці як на макеті */
	.kc-drawer__panel {
		width: 100%;
	}

	.kc-bm__left {
		padding: 10px 10px 90px 14px;
	}

	.kc-bm__right {
		padding: 8px 12px 90px 14px;
	}

	.kc-drawer .kc-bm__left a,
	.kc-drawer .kc-bm__right a {
		min-height: 44px;
		padding: 6px 0;
	}

	.kc-drawer .kc-bm__left li a {
		font-size: 16px;
	}

	.kc-drawer .kc-bm__right li a {
		font-size: 15.5px;
	}

	.kc-drawer .kc-bm__title {
		min-height: 52px !important;
		font-size: 28px !important;
	}

	.kc-drawer__close {
		top: 8px;
		right: 8px;
		width: 40px;
		height: 40px;
	}

	.kc-drawer .kc-bm__contacts a {
		font-size: 13px;
		gap: 5px;
	}

	.kc-bm__contacts .kc-ico {
		width: 15px;
		height: 15px;
	}

	/* нижня панель дій: Меню, Маршрут, Дзвінок, месенджери, Записатися */
	.kc-mbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1040;
		display: flex;
		gap: 4px;
		padding: 5px 6px calc(5px + env(safe-area-inset-bottom));
		background: #fff;
		box-shadow: 0 -6px 20px rgba(21, 18, 43, .14);
		font-family: var(--kc-font);
	}

	.kc-mbar a,
	.kc-mbar button {
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		min-width: 0;
		height: 50px;
		padding: 0;
		border: 0;
		border-radius: 10px;
		background: transparent;
		color: var(--kc-ink);
		font-size: 11px;
		font-weight: 700;
		text-decoration: none;
		cursor: pointer;
	}

	.kc-mbar a:hover,
	.kc-mbar a:focus {
		text-decoration: none;
	}

	.kc-mbar .kc-ico {
		width: 23px;
		height: 23px;
	}

	.kc-mbar__menu { background: #000 !important; color: #fff !important; }
	.kc-mbar__map { color: var(--kc-green) !important; }
	.kc-mbar__call { background: var(--kc-blue) !important; color: #fff !important; }
	.kc-mbar__viber { color: #6f4ccf !important; }
	.kc-mbar__telegram { color: #1f8fd0 !important; }
	.kc-mbar__whatsapp { color: #1c9e4f !important; }
	.kc-mbar__book { flex-grow: 1.3 !important; background: var(--kc-yellow) !important; color: #1b1400 !important; }
}

@media (max-width: 991px) and (min-width: 600px) {
	/* планшет: логотип і плитки пропорційно більші, але не гігантські */
	.kc-main__in {
		grid-template-columns: 120px repeat(6, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Підвал
   ========================================================================== */

.kc-f {
	font-family: var(--kc-font);
	color: #b9b7c8;
	background: #111018;
}

.kc-f a {
	color: inherit;
	transition: color .15s;
}

.kc-f a:hover,
.kc-f a:focus {
	color: #fff;
	text-decoration: none;
}




















/* ----- колонки ----- */

.kc-f__main {
	padding: 34px 0 26px;
}

.kc-f__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr));
	gap: 24px 28px;
}

.kc-f__logo {
	display: inline-block;
	max-width: 150px;
	margin-bottom: 12px;
}

.kc-f__logo img {
	display: block;
	max-width: 100%;
	max-height: 110px;
}

.kc-f__logo span {
	font-family: var(--kc-cond);
	font-size: 24px;
	font-weight: 700;
	color: #fff;
}

.kc-f__about {
	margin-bottom: 14px !important;
	font-size: 14px;
	line-height: 1.5;
}

.kc-f__row {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 14.5px;
	line-height: 1.45;
}

.kc-f__row .kc-ico {
	width: 20px;
	height: 20px;
	margin-top: 1px;
	color: var(--kc-yellow);
}

.kc-f__row a {
	display: block;
	color: #fff;
}

.kc-f__social {
	display: flex;
	gap: 10px;
	margin-top: 14px;
}

.kc-f .kc-f__social a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
}

.kc-f .kc-f__social a:hover {
	background: var(--kc-yellow);
	color: #1b1400;
}

.kc-f__col summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	color: #fff;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .03em;
	text-transform: uppercase;
	list-style: none;
	cursor: default;
}

.kc-f__col summary::-webkit-details-marker {
	display: none;
}

.kc-f__col summary .kc-ico {
	display: none;
}

.kc-f__col li a {
	display: block;
	padding: 5px 0;
	font-size: 14.5px;
	line-height: 1.35;
}

/* ----- низ ----- */

.kc-f__bottom {
	padding: 14px 0;
	background: #09080d;
	font-size: 13px;
}

.kc-f__bottom-in {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 20px;
}

.kc-f__legal {
	display: flex;
	gap: 18px;
}



/* ----- підвал: адаптив ----- */

@media (max-width: 1199px) {

	.kc-f__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}


	.kc-f__brand {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
		gap: 0 28px;
		align-items: start;
	}


	.kc-f__logo {
		grid-row: 1 / span 4;
	}


}

@media (max-width: 991px) {







	.kc-f__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}


	.kc-f__brand {
		grid-template-columns: auto minmax(0, 1fr);
	}
}

@media (max-width: 767px) {













	.kc-f__logo {
		max-width: 110px;
	}










	.kc-f__main {
		padding: 22px 0 10px;
	}


	.kc-f__grid {
		display: block;
	}


	.kc-f__brand {
		display: block;
		margin-bottom: 14px;
	}


	.kc-f__col {
		border-top: 1px solid rgba(255, 255, 255, .1);
	}


	.kc-f__col summary {
		margin: 0;
		min-height: 50px;
		cursor: pointer;
	}


	.kc-f__col summary .kc-ico {
		display: block;
		width: 20px;
		height: 20px;
		transition: transform .2s;
	}


	.kc-f__col[open] summary .kc-ico {
		transform: rotate(180deg);
	}


	.kc-f__col ul {
		padding-bottom: 12px;
	}


	.kc-f__bottom-in {
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kc-h *,
	.kc-f *,
	.kc-drawer * {
		transition: none !important;
	}
}

/* модуль підбору: його кнопка «Фільтр» прилипає під шапкою */
.kp--column .kp-mbar {
	top: calc(var(--kc-sticky-h) + 10px) !important;
}

/* ==========================================================================
   Блок довіри: відгуки Google, фото сервісу, контакти
   row  - головна, рядок під першим блоком (розміри від --u, як шапка)
   full - підвал інших сторінок (каруселі зі стрілками і крапками)
   ========================================================================== */

.kc-trust {
	font-family: var(--kc-font);
	color: #111;
}

.kc-trust *,
.kc-trust *::before,
.kc-trust *::after {
	box-sizing: border-box;
}

.kc-trust p {
	margin: 0;
}

.kc-trust a:hover,
.kc-trust a:focus {
	text-decoration: none;
}

.kc-stars {
	display: inline-flex;
	gap: 1px;
	color: #d6d3e3;
	line-height: 1;
}

.kc-stars i {
	font-style: normal;
}

.kc-stars i.on {
	color: #f5a623;
}

.kc-g {
	flex: 0 0 auto;
	width: 1.2em;
	height: 1.2em;
}

/* ----- каруселі ----- */

.kc-car__view {
	position: relative;
	min-width: 0;
}

.kc-car__track {
	display: grid;
	grid-auto-flow: column;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.kc-car__track::-webkit-scrollbar {
	display: none;
}

.kc-car__track > * {
	scroll-snap-align: start;
}

.kc-car__btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #111;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .22);
	cursor: pointer;
}

.kc-car__btn .kc-ico {
	width: 24px;
	height: 24px;
	stroke-width: 2.4;
}

.kc-car__btn--prev {
	left: -22px;
}

.kc-car__btn--prev .kc-ico {
	transform: rotate(180deg);
}

.kc-car__btn--next {
	right: -22px;
}

.kc-car__btn[disabled] {
	opacity: 0;
	pointer-events: none;
}

.kc-car__dots {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: 14px;
}

.kc-car__dots:empty {
	display: none;
}

.kc-car__dots button {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #b8b8c0;
	cursor: pointer;
}

.kc-car__dots button.is-on {
	background: var(--kc-red);
}

/* ----- відгуки ----- */

.kc-rv {
	min-width: 0;
}

.kc-rv__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
}

.kc-rv__t {
	font-family: var(--kc-cond);
	font-weight: 700;
}

.kc-rv__rate {
	font-weight: 700;
}

.kc-rv__cnt {
	color: #333;
}

.kc-trust .kc-rv__go {
	display: flex;
	margin-left: auto;
	color: var(--kc-red);
}

.kc-rvc {
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid #e6e6ec;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
}

.kc-rvc__who {
	display: flex;
	align-items: flex-start;
}

.kc-rvc__who > span:last-child {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kc-rvc__who b {
	font-weight: 700;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.kc-rvc__ava {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #1f2fa6, #33208c);
	color: #fff;
	font-weight: 700;
}

.kc-rvc__txt {
	font-weight: 700;
	line-height: 1.35;
}

.kc-rvc__ans {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 4px;
	margin-top: auto !important;
	border-top: 1px solid #ececf1;
	color: #1c2a6b;
	line-height: 1.35;
}

.kc-rvc__ans small {
	flex-basis: 100%;
	font-size: 1em;
}

.kc-rvc__ans .kc-g {
	margin-left: auto;
}

/* ----- фото ----- */

.kc-gl {
	min-width: 0;
}

.kc-gl__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.kc-gl__t {
	font-family: var(--kc-cond);
	font-weight: 700;
}

.kc-trust .kc-gl__more {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #111;
	font-weight: 500;
	white-space: nowrap;
}

.kc-gl__more .kc-ico {
	color: var(--kc-red);
}

.kc-trust .kc-glc {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 8px;
	background: linear-gradient(135deg, #1c1450, #33208c);
	color: #fff;
}

.kc-glc img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s;
}

.kc-glc:hover img {
	transform: scale(1.05);
}

.kc-glc::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .8) 100%);
}

.kc-glc__art {
	position: absolute;
	top: 18%;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, .3);
}

.kc-glc__art .kc-ico {
	width: 56px;
	height: 56px;
	stroke-width: 1.3;
}

.kc-glc__cap {
	position: absolute;
	left: 10px;
	right: 8px;
	bottom: 8px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: var(--kc-cond);
	font-weight: 700;
	line-height: 1.1;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

.kc-glc__cap .kc-ico {
	width: 1.25em;
	height: 1.25em;
}

/* ----- контакти ----- */

.kc-ct {
	display: grid;
	min-width: 0;
}

.kc-trust .kc-ct a {
	display: flex;
	align-items: center;
	border-radius: 8px;
	color: #fff;
	font-family: var(--kc-cond);
	font-weight: 700;
	line-height: 1.12;
	transition: filter .15s;
}

.kc-trust .kc-ct a:hover {
	filter: brightness(1.1);
}

.kc-ct a > span {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kc-ct small {
	font-size: .85em;
	font-weight: 700;
}

.kc-trust .kc-ct__map {
	background: #0b4a26;
}

.kc-ct__map b {
	text-transform: uppercase;
}

.kc-ct__msg {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kc-ct__msg > small {
	color: #fff;
	text-align: center;
	text-transform: uppercase;
}

.kc-trust .kc-ct__m--viber {
	background: linear-gradient(135deg, #5b2bb5, #3b1f86);
}

.kc-trust .kc-ct__m--telegram {
	background: linear-gradient(135deg, #1f6fe0, #1747b8);
}

.kc-trust .kc-ct__m--whatsapp {
	background: linear-gradient(135deg, #1c9e4f, #117a3b);
}

.kc-trust .kc-ct__phone {
	background: #0b1f8f;
}

.kc-trust .kc-ct__book {
	background: var(--kc-yellow);
	color: #111 !important;
}

.kc-ct__book b {
	text-transform: uppercase;
}

/* ===== row: головна (одиниця --u) ===== */

.kc-trust--row {
	display: grid;
	grid-template-columns: minmax(0, 590fr) minmax(0, 482fr) minmax(0, 528fr);
	gap: calc(10 * var(--u));
	align-items: stretch;
}

.kc-trust--norev {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.kc-trust--row .kc-rv,
.kc-trust--row .kc-gl {
	display: flex;
	flex-direction: column;
	gap: calc(12 * var(--u));
	padding: calc(14 * var(--u)) calc(12 * var(--u)) calc(12 * var(--u));
	border-radius: calc(8 * var(--u));
	background: #fff;
	box-shadow: 0 2px 14px rgba(0, 0, 0, .1);
}

.kc-trust--row .kc-rv__head {
	gap: calc(12 * var(--u));
	font-size: max(12px, calc(19 * var(--u)));
}

.kc-trust--row .kc-rv__t,
.kc-trust--row .kc-gl__t {
	font-size: max(14px, calc(21 * var(--u)));
}

.kc-trust--row .kc-rv__cnt {
	font-size: max(10px, calc(12.5 * var(--u)));
}

.kc-trust--row .kc-stars {
	font-size: max(11px, calc(18 * var(--u)));
}

.kc-trust--row .kc-rv__go .kc-ico {
	width: calc(30 * var(--u));
	height: calc(30 * var(--u));
	stroke-width: 2.4;
}

.kc-trust--row .kc-car__view {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.kc-trust--row .kc-car__track {
	flex: 1 1 auto;
	grid-auto-columns: calc((100% - 3 * 8 * var(--u)) / 4);
	gap: calc(8 * var(--u));
}

.kc-trust--row .kc-rvc {
	gap: calc(8 * var(--u));
	padding: calc(10 * var(--u)) calc(8 * var(--u));
	font-size: max(10px, calc(12 * var(--u)));
}

.kc-trust--row .kc-rvc__who {
	gap: calc(7 * var(--u));
}

.kc-trust--row .kc-rvc__ava {
	width: calc(36 * var(--u));
	height: calc(36 * var(--u));
	font-size: max(12px, calc(17 * var(--u)));
}

.kc-trust--row .kc-rvc__who small {
	font-size: .9em;
}

.kc-trust--row .kc-rvc__who .kc-stars {
	font-size: max(10px, calc(13 * var(--u)));
}

.kc-trust--row .kc-rvc__txt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.kc-trust--row .kc-rvc__ans {
	display: none;
}

.kc-trust--row .kc-gl__more {
	font-size: max(11px, calc(13 * var(--u)));
}

.kc-trust--row .kc-gl__more .kc-ico {
	width: calc(26 * var(--u));
	height: calc(26 * var(--u));
	stroke-width: 2.4;
}

.kc-trust--row .kc-glc {
	min-height: calc(130 * var(--u));
	border-radius: calc(6 * var(--u));
}

.kc-trust--row .kc-glc__cap {
	left: calc(8 * var(--u));
	bottom: calc(8 * var(--u));
	font-size: max(10px, calc(13 * var(--u)));
}

.kc-trust--row .kc-glc__art .kc-ico {
	width: calc(50 * var(--u));
	height: calc(50 * var(--u));
}

.kc-trust--row .kc-ct {
	display: flex;
	gap: calc(10 * var(--u));
	padding: calc(14 * var(--u));
	border-radius: calc(10 * var(--u));
	background: #000;
}

.kc-trust--row .kc-ct a {
	gap: calc(8 * var(--u));
	padding: calc(8 * var(--u));
	border-radius: calc(6 * var(--u));
	font-size: max(11px, calc(16 * var(--u)));
}

.kc-trust--row .kc-ct > * {
	flex: 1 1 0;
	min-width: 0;
}

.kc-trust--row .kc-ct__map,
.kc-trust--row .kc-ct__msg {
	flex-grow: 1.3;
}

.kc-trust--row .kc-ct__phone {
	flex-grow: 1;
}

.kc-trust--row .kc-ct__map,
.kc-trust--row .kc-ct__phone,
.kc-trust--row .kc-ct__book {
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.kc-trust--row .kc-ct__map > span,
.kc-trust--row .kc-ct__book > span {
	align-items: center;
}

.kc-trust--row .kc-ct a > .kc-ico {
	width: calc(40 * var(--u));
	height: calc(40 * var(--u));
}

.kc-trust--row .kc-ct__msg {
	gap: calc(8 * var(--u));
}

.kc-trust--row .kc-ct__msg > small {
	font-family: var(--kc-cond);
	font-size: max(10px, calc(14 * var(--u)));
}

.kc-trust--row .kc-ct__m {
	flex: 1 1 0;
}

.kc-trust--row .kc-ct__m .kc-ico {
	width: calc(34 * var(--u));
	height: calc(34 * var(--u));
}

.kc-trust--row .kc-ct small {
	font-size: max(10px, calc(13 * var(--u)));
}

/* ===== full: підвал ===== */

.kc-f__trust {
	padding: 26px 0 22px;
	background: #000;
}

.kc-trust--full .kc-trust__card {
	display: flex;
	flex-direction: column;
	gap: 26px;
	padding: 24px 32px 20px;
	border-radius: 10px;
	background: #fff;
}

.kc-trust--full .kc-rv__head {
	margin-bottom: 16px;
	font-size: 22px;
}

.kc-trust--full .kc-rv__t {
	font-size: 23px;
}

.kc-trust--full .kc-rv__cnt {
	font-size: 16px;
}

.kc-trust--full .kc-stars {
	font-size: 24px;
}

.kc-trust--full .kc-rv__go .kc-ico {
	width: 36px;
	height: 36px;
	stroke-width: 2.2;
}

.kc-trust--full .kc-rv .kc-car__track {
	grid-auto-columns: calc((100% - 4 * 12px) / 5);
	gap: 12px;
	padding: 2px 0 6px;
}

.kc-trust--full .kc-rvc {
	gap: 12px;
	padding: 16px 20px;
	font-size: 15px;
}

.kc-trust--full .kc-rvc__who {
	gap: 14px;
}

.kc-trust--full .kc-rvc__ava {
	width: 64px;
	height: 64px;
	font-size: 26px;
}

.kc-trust--full .kc-rvc__who b {
	font-size: 15px;
}

.kc-trust--full .kc-rvc__who .kc-stars {
	margin-top: 6px;
	font-size: 20px;
}

.kc-trust--full .kc-rvc__txt {
	font-size: 18px;
}

.kc-trust--full .kc-rvc__ans {
	padding-top: 12px;
	font-size: 14px;
}

.kc-trust--full .kc-rvc__ans .kc-g {
	width: 24px;
	height: 24px;
}

.kc-trust--full .kc-gl {
	display: grid;
	grid-template-columns: minmax(200px, 270px) minmax(0, 1fr);
	gap: 14px;
}

.kc-trust--full .kc-gl .kc-car__dots {
	grid-column: 2;
	margin-top: 0;
}

.kc-trust .kc-gl__book {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 16px;
	min-height: 240px;
	padding: 20px 24px;
	border-radius: 8px;
	background: var(--kc-yellow);
	color: #111;
	font-family: var(--kc-cond);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.25;
}

.kc-gl__bk {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.kc-gl__bk + .kc-gl__bk {
	padding-top: 16px;
	border-top: 1px solid rgba(0, 0, 0, .15);
}

.kc-gl__bk .kc-ico {
	width: 44px;
	height: 44px;
	stroke-width: 2;
}

.kc-trust--full .kc-gl .kc-car__track {
	grid-auto-columns: calc((100% - 3 * 14px) / 4);
	gap: 14px;
	height: 100%;
}

.kc-trust--full .kc-glc {
	min-height: 240px;
}

.kc-trust--full .kc-glc__cap {
	left: 20px;
	bottom: 18px;
	font-size: 22px;
}

.kc-trust--full .kc-glc__cap .kc-ico {
	display: none;
}

.kc-trust--full .kc-ct {
	display: flex;
	gap: 20px;
	margin-top: 14px;
}

.kc-trust--full .kc-ct a {
	flex: 1 1 0;
	min-width: 0;
}

.kc-trust--full .kc-ct__map {
	flex-grow: 1.25 !important;
}

.kc-trust--full .kc-ct__msg {
	display: contents;
}

.kc-trust--full .kc-ct a {
	gap: 18px;
	min-height: 108px;
	padding: 12px 26px;
	font-size: 26px;
}

.kc-trust--full .kc-ct a > .kc-ico {
	width: 50px;
	height: 50px;
}

.kc-trust--full .kc-ct__map b {
	font-size: 22px;
}

.kc-trust--full .kc-ct__map small {
	font-size: 20px;
}

.kc-trust--full .kc-ct__book small {
	font-size: 22px;
}

@media (max-width: 1399px) {
	.kc-trust--full .kc-rv .kc-car__track {
		grid-auto-columns: calc((100% - 3 * 12px) / 4);
	}

	.kc-trust--full .kc-ct a {
		padding: 10px 16px;
		font-size: 21px;
	}

	.kc-trust--full .kc-ct__map b,
	.kc-trust--full .kc-ct__map small,
	.kc-trust--full .kc-ct__book small {
		font-size: 17px;
	}
}

@media (max-width: 1199px) {
	.kc-trust--full .kc-ct {
		flex-wrap: wrap;
		gap: 12px;
	}

	.kc-trust--full .kc-ct a {
		flex-basis: 30%;
	}
}

/* ===== телефон і планшет ===== */

@media (max-width: 991px) {
	.kc-trust--row,
	.kc-trust--norev {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.kc-trust--row .kc-rv,
	.kc-trust--row .kc-gl {
		gap: 10px;
		padding: 12px 10px;
		border-radius: 10px;
	}

	.kc-trust--row .kc-rv__head,
	.kc-trust--full .kc-rv__head {
		gap: 6px 10px;
		font-size: 15px;
	}

	.kc-trust--row .kc-rv__t,
	.kc-trust--row .kc-gl__t,
	.kc-trust--full .kc-rv__t {
		font-size: 17px;
	}

	.kc-trust--row .kc-stars,
	.kc-trust--full .kc-stars {
		font-size: 15px;
	}

	.kc-trust--row .kc-rv__go .kc-ico,
	.kc-trust--full .kc-rv__go .kc-ico,
	.kc-trust--row .kc-gl__more .kc-ico {
		width: 24px;
		height: 24px;
	}

	.kc-trust--row .kc-car__track,
	.kc-trust--full .kc-rv .kc-car__track,
	.kc-trust--full .kc-gl .kc-car__track {
		grid-auto-columns: 68%;
		gap: 8px;
	}

	.kc-trust--row .kc-gl .kc-car__track,
	.kc-trust--full .kc-gl .kc-car__track {
		grid-auto-columns: 44%;
	}

	.kc-trust--row .kc-rvc,
	.kc-trust--full .kc-rvc {
		gap: 8px;
		padding: 10px 12px;
		font-size: 13px;
	}

	.kc-trust--row .kc-rvc__ava,
	.kc-trust--full .kc-rvc__ava {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.kc-trust--row .kc-rvc__who .kc-stars,
	.kc-trust--full .kc-rvc__who .kc-stars {
		margin-top: 2px;
		font-size: 13px;
	}

	.kc-trust--full .kc-rvc__txt {
		font-size: 14px;
	}

	.kc-trust--full .kc-rvc__ans {
		padding-top: 8px;
		font-size: 12px;
	}

	.kc-trust--row .kc-glc,
	.kc-trust--full .kc-glc {
		min-height: 120px;
	}

	.kc-trust--row .kc-glc__cap,
	.kc-trust--full .kc-glc__cap {
		left: 8px;
		bottom: 8px;
		font-size: 14px;
	}

	.kc-car__btn {
		display: none;
	}

	.kc-car__dots {
		gap: 10px;
		margin-top: 10px;
	}

	.kc-car__dots button {
		width: 9px;
		height: 9px;
	}

	.kc-trust--row .kc-ct,
	.kc-trust--full .kc-ct {
		display: grid;
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin: 0;
		padding: 10px;
		border-radius: 10px;
		background: #000;
	}

	.kc-trust--row .kc-ct__msg,
	.kc-trust--full .kc-ct__msg {
		display: contents;
	}

	.kc-trust--row .kc-ct__msg > small {
		display: none;
	}

	.kc-trust--row .kc-ct a,
	.kc-trust--full .kc-ct a {
		grid-column: auto;
		flex-direction: row;
		justify-content: flex-start;
		gap: 10px;
		min-height: 56px;
		padding: 8px 12px;
		font-size: 16px;
		text-align: left;
	}

	.kc-trust--row .kc-ct__map > span,
	.kc-trust--row .kc-ct__book > span {
		align-items: flex-start;
	}

	.kc-trust--row .kc-ct a > .kc-ico,
	.kc-trust--full .kc-ct a > .kc-ico,
	.kc-trust--row .kc-ct__m .kc-ico {
		width: 28px;
		height: 28px;
	}

	.kc-trust--row .kc-ct small,
	.kc-trust--full .kc-ct small,
	.kc-trust--full .kc-ct__map b,
	.kc-trust--full .kc-ct__map small,
	.kc-trust--full .kc-ct__book small {
		font-size: 13px;
	}

	.kc-trust--row .kc-ct__map,
	.kc-trust--full .kc-ct__map,
	.kc-trust--row .kc-ct__phone,
	.kc-trust--full .kc-ct__phone {
		grid-column: 1 / -1 !important;
	}

	.kc-f__trust {
		padding: 14px 0;
	}

	.kc-trust--full .kc-trust__card {
		gap: 16px;
		padding: 14px 12px;
	}

	.kc-trust--full .kc-gl {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.kc-trust--full .kc-gl .kc-car__dots {
		grid-column: 1;
	}

	.kc-trust .kc-gl__book {
		flex-direction: row;
		gap: 10px;
		min-height: 0;
		padding: 10px 12px;
		font-size: 15px;
	}

	.kc-gl__bk {
		flex: 1 1 0;
		align-items: center;
		gap: 8px;
	}

	.kc-gl__bk + .kc-gl__bk {
		padding: 0 0 0 10px;
		border-top: 0;
		border-left: 1px solid rgba(0, 0, 0, .15);
	}

	.kc-gl__bk .kc-ico {
		width: 26px;
		height: 26px;
	}
}

/* хлібні крихти на телефоні - один рядок, дрібно (перший екран) */
@media (max-width: 767px) {
	#page .breadcrumb {
		flex-wrap: nowrap;
		margin: 0 0 6px;
		padding: 4px 0;
		overflow-x: auto;
		font-size: 12.5px;
		white-space: nowrap;
		scrollbar-width: none;
	}

	#page .breadcrumb::-webkit-scrollbar {
		display: none;
	}

	#page .breadcrumb > li {
		flex: 0 0 auto;
	}
}


/* нижня панель на телефоні зʼявляється після прокрутки - не забирає місце в першого екрана */
@media (max-width: 991px) {
	.kc-mbar {
		transition: transform .2s;
	}

	:root:not(.kc-mbar-on) .kc-mbar {
		transform: translateY(110%);
	}

}

/* ==========================================================================
   30.09: рядок «Актуальні ціни по складу» у шапці прибрано -
   шапка в один рядок плиток (ПК) / два рядки (телефон), логотип трохи менший.
   Текст про ціни лишився на картці товару (модуль html.118).
   ========================================================================== */

.kc-main__in {
	grid-template-rows: calc(80 * var(--u));
	grid-template-areas: "burger logo phone search mobile cb map cart";
	padding-top: calc(14 * var(--u));
	padding-bottom: calc(14 * var(--u));
}

.kc-logo {
	margin-top: calc(-13 * var(--u));
	margin-bottom: calc(-13 * var(--u));
}

.kc-logo img {
	max-height: calc(106 * var(--u));
}

.kc-burger {
	align-self: center;
	margin-top: 0;
}

.kc-price {
	display: none;
}

/* бургер: два номери мобільного шиномонтажу з підписом */
.kc-drawer .kc-bm__contacts a.kc-bm__tel {
	align-items: flex-start;
	padding: 4px 0;
}

.kc-bm__tel .kc-ico {
	flex: 0 0 auto;
	margin-top: 3px;
}

.kc-bm__tel span {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kc-bm__tel small {
	color: #5b6275;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.25;
}

.kc-bm__tel b {
	font-size: 16px;
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 991px) {
	.kc-main__in {
		grid-template-rows: calc(44 * var(--m)) calc(50 * var(--m));
		grid-template-areas:
			"logo phone phone phone search search cart"
			"logo mobile mobile cb cb map map";
		padding: calc(8 * var(--m)) calc(8 * var(--m));
	}

	.kc-logo {
		margin: 0;
	}

	.kc-logo img {
		max-height: calc(99 * var(--m));
	}

	.kc-burger {
		align-self: auto;
	}

	.kc-bm__tel small {
		font-size: 11px;
	}

	.kc-bm__tel b {
		font-size: 14px;
	}
}

/* підвал на телефоні - без логотипа (побажання замовника 01.10) */
@media (max-width: 767px) {
	.kc-f__logo {
		display: none;
	}
}

/* підвал: блок «Відгуки / Тут вас будуть обслуговувати / Контакти» повністю білий,
   без чорної рамки навколо білої картки (побажання замовника 01.10) */
.kc-f__trust {
	border-top: 1px solid #e6e6ee;
	background: #fff;
}

.kc-trust--full .kc-trust__card {
	padding-left: 0;
	padding-right: 0;
	border-radius: 0;
}

@media (max-width: 767px) {
	.kc-trust--full .kc-trust__card {
		padding: 0;
	}
}

/* телефон / планшет: «Відкрити в картах / Viber / Telegram / Телефон» - частина темного підвалу:
   смуга кольору підвалу на всю ширину екрана, впритул до підвалу; від відгуків і фото -
   білий відступ, щоб блоки не злипались (побажання замовника 01.10) */
@media (max-width: 991px) {
	.kc-f__trust {
		padding-bottom: 0;
	}

	.kc-trust--full .kc-trust__card {
		padding-bottom: 0;
	}

	.kc-trust--full .kc-ct {
		margin-top: 22px;
		padding: 20px 0 14px;
		border-radius: 0;
		background: #111018;
		position: relative;
		z-index: 1;
		box-shadow: 0 0 0 100vmax #111018;
		clip-path: inset(0 -100vmax -2px);
	}

	.kc-f__trust + .kc-f__main {
		padding-top: 10px;
	}

	.kc-f__trust + .kc-f__main .kc-f__brand {
		padding-top: 16px;
		border-top: 1px solid rgba(255, 255, 255, .1);
	}
}

/* відгуки: картки ширші й вищі, вміщається більше тексту (побажання замовника 01.10) */
.kc-trust--row .kc-car__track {
	grid-auto-columns: calc((100% - 8 * var(--u)) / 2);
}

.kc-trust--row .kc-rvc__txt {
	-webkit-line-clamp: 5;
	font-weight: 600;
}

.kc-trust--full .kc-rv .kc-car__track {
	grid-auto-columns: calc((100% - 2 * 14px) / 3);
	gap: 14px;
}

.kc-trust--full .kc-rvc__txt {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
}

@media (max-width: 1399px) {
	.kc-trust--full .kc-rv .kc-car__track {
		grid-auto-columns: calc((100% - 2 * 12px) / 3);
		gap: 12px;
	}

	.kc-trust--full .kc-rvc__txt {
		font-size: 15px;
	}
}

@media (max-width: 991px) {
	.kc-trust--row .kc-rv .kc-car__track,
	.kc-trust--full .kc-rv .kc-car__track {
		grid-auto-columns: 88%;
		gap: 10px;
	}

	.kc-trust--row .kc-rvc,
	.kc-trust--full .kc-rvc {
		padding: 12px 14px;
	}

	.kc-trust--row .kc-rvc__txt {
		-webkit-line-clamp: 7;
		font-size: 14px;
	}

	.kc-trust--full .kc-rvc__txt {
		font-size: 14.5px;
	}
}

/* відгуки скрізь (підвал усіх сторінок) - як на головній: компактні картки однакової висоти,
   текст до 5 рядків із «…», без блоку відповіді (побажання замовника 01.10) */
.kc-trust--full .kc-rvc {
	gap: 10px;
	padding: 14px 16px;
}

.kc-trust--full .kc-rvc__ava {
	width: 48px;
	height: 48px;
	font-size: 20px;
}

.kc-trust--full .kc-rvc__who b {
	font-size: 15px;
}

.kc-trust--full .kc-rvc__who .kc-stars {
	margin-top: 4px;
	font-size: 16px;
}

.kc-trust--full .kc-rvc__txt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.kc-trust--full .kc-rvc__ans {
	display: none;
}

@media (max-width: 991px) {
	.kc-trust--full .kc-rvc {
		padding: 12px 14px;
	}

	.kc-trust--full .kc-rvc__ava {
		width: 40px;
		height: 40px;
		font-size: 18px;
	}

	.kc-trust--full .kc-rvc__txt {
		-webkit-line-clamp: 7;
		font-size: 14px;
	}
}

/* телефон: логотип більший на 30% (побажання замовника 08.10) -
   ширша колонка логотипа, плитки праворуч трохи вужчі; висота шапки та сама */
@media (max-width: 991px) {
	.kc-main__in {
		grid-template-columns: calc(115 * var(--m)) repeat(6, minmax(0, 1fr));
	}

	.kc-logo {
		padding-left: calc(12 * var(--m));
	}

	.kc-h .kc-tile--phone {
		gap: calc(3 * var(--m));
		padding: 0 calc(4 * var(--m));
	}

	.kc-tile--phone .kc-tile__txt b {
		font-size: calc(13.5 * var(--m));
		letter-spacing: -.01em;
		white-space: nowrap;
	}
}

/* ==========================================================================
   Відгуки Google (модуль «KC Відгуки Google», 08.10):
   фото автора, рядок «Відповідь власника» в картці, клік по картці - вікно з повним відгуком
   ========================================================================== */

.kc-rvc[data-kc-rv] {
	cursor: pointer;
	transition: box-shadow .15s, border-color .15s;
}

.kc-rvc[data-kc-rv]:hover {
	border-color: #c9cbe0;
	box-shadow: 0 6px 18px rgba(26, 21, 128, .12);
}

.kc-rvc[data-kc-rv]:focus-visible {
	outline: 2px solid #1a1580;
	outline-offset: 2px;
}

.kc-rvc__ava {
	position: relative;
	overflow: hidden;
}

.kc-rvc__ava img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.kc-trust .kc-rvc__own {
	display: block;
	margin: auto 0 0 !important;
	padding: 6px 9px;
	overflow: hidden;
	border-left: 3px solid #4285f4;
	border-radius: 0 6px 6px 0;
	background: #f3f6fc;
	color: #2b3350;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.kc-trust .kc-rvc__own .kc-g {
	width: 14px;
	height: 14px;
	margin-right: 5px;
	vertical-align: -2px;
}

.kc-trust .kc-rvc__own b {
	margin-right: 3px;
	font-weight: 700;
}

.kc-trust .kc-rvc__more {
	color: #1a1580;
	font-size: 13px;
	font-weight: 700;
}

.kc-trust .kc-rvc__txt + .kc-rvc__more {
	margin-top: auto;
}

/* ----- вікно з повним відгуком ----- */

.kc-rvp {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.kc-rvp[hidden] {
	display: none;
}

.kc-rvp__overlay {
	position: absolute;
	inset: 0;
	background: rgba(11, 11, 15, .6);
}

.kc-rvp__box {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
	max-width: 620px;
	max-height: calc(100vh - 32px);
	max-height: calc(100dvh - 32px);
	padding: 24px 26px;
	overflow: auto;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
	color: #1b1b22;
	font-family: var(--kc-font);
	animation: kc-rvp-in .18s ease-out;
}

@keyframes kc-rvp-in {
	from { opacity: 0; transform: translateY(12px) scale(.98); }
	to { opacity: 1; transform: none; }
}

.kc-rvp__x {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f1f6;
	color: #1b1b22;
	cursor: pointer;
}

.kc-rvp__x:hover {
	background: #e4e4ee;
}

.kc-rvp__x .kc-ico {
	width: 20px;
	height: 20px;
}

.kc-rvp__who {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-right: 44px;
}

.kc-rvp__who .kc-rvc__ava {
	width: 56px;
	height: 56px;
	font-size: 24px;
}

.kc-rvp__who > span:last-child {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.kc-rvp__who b {
	font-size: 17px;
	font-weight: 700;
}

.kc-rvp__who small {
	color: #6a6a78;
	font-size: 13px;
}

.kc-rvp__who .kc-stars {
	margin-top: 4px;
	font-size: 20px;
}

.kc-rvp__txt {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.55;
	white-space: pre-line;
	overflow-wrap: anywhere;
}

.kc-rvp__own {
	padding: 12px 14px;
	border-left: 3px solid #4285f4;
	border-radius: 0 10px 10px 0;
	background: #f3f6fc;
	font-size: 15px;
	line-height: 1.5;
}

.kc-rvp__own[hidden] {
	display: none;
}

.kc-rvp__own b {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 4px;
	color: #1c2a6b;
	font-size: 14px;
}

.kc-rvp__own .kc-g {
	width: 16px;
	height: 16px;
}

.kc-rvp__own div {
	white-space: pre-line;
	overflow-wrap: anywhere;
}

.kc-rvp__go {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	color: #1a1580;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.kc-rvp__go .kc-ico {
	width: 18px;
	height: 18px;
}

html.kc-rvp-open,
html.kc-rvp-open body {
	overflow: hidden;
}

@media (max-width: 767px) {
	.kc-rvp {
		align-items: flex-end;
		padding: 0;
	}

	.kc-rvp__box {
		max-width: none;
		max-height: 88vh;
		max-height: 88dvh;
		padding: 20px 18px 24px;
		border-radius: 16px 16px 0 0;
	}

	.kc-rvp__txt {
		font-size: 15px;
	}
}

/* ----- тексти з Word / Google Docs: таблиці й картинки не виходять за екран (обгортку .kc-tscroll додає kc_layout.js) ----- */

.kc-tscroll {
	max-width: 100%;
	margin: 0 0 16px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	background:
		linear-gradient(90deg, #fff 30%, rgba(255, 255, 255, 0)) left / 28px 100% no-repeat local,
		linear-gradient(270deg, #fff 30%, rgba(255, 255, 255, 0)) right / 28px 100% no-repeat local,
		radial-gradient(farthest-side at 0 50%, rgba(27, 21, 128, .2), rgba(27, 21, 128, 0)) left / 12px 100% no-repeat scroll,
		radial-gradient(farthest-side at 100% 50%, rgba(27, 21, 128, .2), rgba(27, 21, 128, 0)) right / 12px 100% no-repeat scroll;
}

.kc-tscroll > table {
	margin-bottom: 0;
}

#content img[width],
.kc-prose img {
	max-width: 100%;
	height: auto;
}

#content span[style*="inline-block"][style*="width"] {
	max-width: 100%;
	height: auto !important;
}

#content iframe,
#content video {
	max-width: 100%;
}

@media (max-width: 767px) {
	.kc-tscroll > table {
		width: 100% !important;
		height: auto !important;
		font-size: 12.5px;
		line-height: 1.3;
	}

	.kc-tscroll > table td,
	.kc-tscroll > table th {
		width: auto !important;
		height: auto !important;
		padding: 6px 3px !important;
	}

	.kc-tscroll > table td p,
	.kc-tscroll > table th p {
		margin: 0;
	}
}
