/* Подвал сайта — премиум-футер (референс «Футер»). Рендер: [kvdoc_footer].
   Палитра бренда kvdoc: ink #192D51, indigo #6275DD, coral #FF8562. */

/* Футер — во всю ширину (full-bleed), контент внутри центрируется до 1240px. */
.vbft-outer { background: var(--wp--preset--color--ink, #192D51); }

.vbft {
	width: 100%;
	background: var(--wp--preset--color--ink, #192D51);
	color: #fff;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--base, "Golos Text"), system-ui, sans-serif;
	line-height: 1.5;
}
.vbft a { color: inherit; text-decoration: none; }

/* ── COLUMNS ───────────────────────────────────────────── */
.vbft-cols {
	max-width: 1240px;
	margin-inline: auto;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
	gap: 48px;
	padding: clamp(32px, 4vw, 52px) clamp(20px, 4vw, 40px);
}
.vbft-col__h {
	font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif;
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #6f7d99;
	margin-bottom: 14px;
}

/* nav-списки (Клиника, Направления) */
.vbft-nav { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.vbft-nav li { margin: 0; }
.vbft-link, .vbft-nav a {
	display: inline-block;
	color: #94a0b8;
	font-size: 14px;
	line-height: 1;
	padding: 7px 0;
	transition: color .15s, padding-left .15s;
}
.vbft-link:hover, .vbft-nav a:hover { color: #fff; padding-left: 5px; }
.vbft-link--accent { color: var(--wp--preset--color--brand, #6275DD); font-weight: 600; }
.vbft-link--accent:hover { color: #fff; }

/* бренд + контакты */
.vbft-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.vbft-logo { display: flex; align-items: center; flex: none; }
.vbft-logo__img { height: 46px; width: auto; display: block; }
.vbft-brand__txt { display: flex; flex-direction: column; line-height: 1.15; }
.vbft-brand__name { font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif; font-weight: 700; font-size: 18px; }
.vbft-brand__sub { font-size: 11px; color: #94a0b8; letter-spacing: .04em; margin-top: 2px; }

.vbft-phone {
	display: block;
	font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif;
	font-weight: 800;
	font-size: 26px;
	margin-bottom: 6px;
}
.vbft-phone:hover { color: var(--wp--preset--color--accent, #FF8562); }
.vbft-contacts { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: #94a0b8; line-height: 1.7; margin-bottom: 18px; }
.vbft-contacts a:hover { color: #fff; }

.vbft-status {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	background: rgba(255, 255, 255, .06);
	border-radius: 12px;
	padding: 10px 14px;
	margin-bottom: 20px;
	font-size: 13px;
	color: #dbe2ee;
}
.vbft-status__dot { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.vbft-status--open .vbft-status__dot { background: var(--wp--preset--color--success, #2FA56A); box-shadow: 0 0 0 4px rgba(47, 165, 106, .2); }
.vbft-status--closed .vbft-status__dot { background: #8893a8; box-shadow: 0 0 0 4px rgba(136, 147, 168, .18); }

.vbft-socs { display: flex; gap: 10px; flex-wrap: wrap; }
.vbft-soc {
	width: 42px; height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	display: flex; align-items: center; justify-content: center;
	color: #fff;
	transition: background .2s, transform .2s;
}
.vbft-soc:hover { background: var(--wp--preset--color--brand, #6275DD); transform: translateY(-3px); }
.vbft-soc__txt { font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif; font-weight: 700; font-size: 13px; }

/* график (по филиалам) */
.vbft-sched { display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.vbft-sched__b { font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif; font-weight: 600; font-size: 13px; color: #cdd6e6; margin-top: 8px; }
.vbft-sched__b:first-child { margin-top: 0; }
.vbft-sched__row { display: flex; justify-content: space-between; font-size: 14px; }
.vbft-sched__d { color: #94a0b8; }
.vbft-sched__h { font-weight: 600; }
.vbft-sched__h.is-off { color: #67738c; font-weight: 400; }

/* рейтинг-карточки */
.vbft-rates { display: flex; gap: 8px; margin-bottom: 8px; }
.vbft-reviews { font-size: 12px; color: #94a0b8; margin-bottom: 16px; }
.vbft-rate { flex: 1; background: rgba(255, 255, 255, .06); border-radius: 12px; padding: 12px 14px; }
.vbft-rate__n { font-family: var(--wp--preset--font-family--heading, "Onest"), system-ui, sans-serif; font-weight: 800; font-size: 18px; }
.vbft-rate__n span { color: var(--wp--preset--color--accent, #FF8562); }
.vbft-rate__l { font-size: 11px; color: #94a0b8; margin-top: 2px; }

/* карта */
.vbft-map { position: relative; display: block; width: 100%; height: 120px; border-radius: 14px; overflow: hidden; }
.vbft-map__frame { width: 100%; height: 100%; border: 0; filter: grayscale(.3); pointer-events: none; }
.vbft-map__hint {
	position: absolute; inset: auto 0 0 0;
	background: linear-gradient(to top, rgba(25, 45, 81, .92), rgba(25, 45, 81, 0));
	color: #fff; font-size: 12px; font-weight: 600;
	padding: 18px 12px 8px;
	opacity: 0; transition: opacity .2s;
}
.vbft-map:hover .vbft-map__hint { opacity: 1; }

/* ── LEGAL ─────────────────────────────────────────────── */
.vbft-legal { border-top: 1px solid rgba(255, 255, 255, .1); padding-block: 24px; }
.vbft-legal__in { max-width: 1240px; margin-inline: auto; padding-inline: clamp(20px, 4vw, 40px); }
.vbft-disclaimer {
	background: rgba(255, 133, 98, .1);
	border: 1px solid rgba(255, 133, 98, .25);
	border-radius: 12px;
	padding: 14px 18px;
	margin-bottom: 22px;
	font-size: 13px;
	color: #f1d9cf;
	line-height: 1.5;
}
.vbft-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.vbft-copy { font-size: 12px; color: #6f7d99; line-height: 1.6; max-width: 720px; }
.vbft-policy { display: flex; gap: 22px; flex-wrap: wrap; }
.vbft-policy a { font-size: 12px; color: #6f7d99; }
.vbft-policy a:hover { color: #fff; }

/* ── АДАПТИВ ────────────────────────────────────────────── */
@media (max-width: 980px) {
	.vbft-cols { grid-template-columns: 1fr 1fr; gap: 32px; }
	.vbft-col--brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.vbft { border-radius: 20px; }
	.vbft-cols { grid-template-columns: 1fr; }
	.vbft-bottom { flex-direction: column; align-items: flex-start; }
}
