/*
 * Phần bán hàng: /bang-gia/, /tu-van/, /chinh-sach-bao-mat/.
 * Dùng biến --vs-* và lớp chung (.vs-btn, .vs-card, .vs-chip, .vs-input…) của base.css; ở đây chỉ bố cục riêng.
 * Viết cho điện thoại trước; vùng bấm ≥ 44px. Focus (:focus-visible), .vs-sr, scroll-padding cho neo: base.css lo.
 * Dùng --vs-hdr-h (cao thanh đầu dính) và --vs-dock-h (thanh nổi Gọi · Zalo dưới 960px) của base.css.
 */

/* ---------- Tiện ích */
.vs-nowrap { white-space: nowrap; }
.vs-sales .vs-price { white-space: nowrap; font-variant-numeric: tabular-nums; }

.vs-eyebrow {
	margin: 0 0 6px;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--vs-primary);
}
.vs-section--tight { padding-top: 8px; }
.vs-code {
	display: inline-block;
	padding: 0 6px;
	border-radius: 6px;
	background: var(--vs-bg);
	color: var(--vs-muted);
	font-size: .75rem;
	font-weight: 600;
	line-height: 1.6;
	vertical-align: 1px;
}

/* ---------- Đầu trang con */
.vs-sales-hero { padding-bottom: 8px; }
.vs-sales-hero .vs-lead { max-width: 760px; }
.vs-jump {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}
.vs-jump a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--vs-line);
	border-radius: 999px;
	background: var(--vs-card);
	color: var(--vs-ink);
	font-weight: 600;
	text-decoration: none;
}
.vs-jump a:hover { border-color: var(--vs-primary); color: var(--vs-primary); }

/* ---------- Danh sách có dấu ✓ */
.vs-ticks {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 10px;
}
.vs-ticks li {
	position: relative;
	padding-left: 28px;
	line-height: 1.5;
}
.vs-ticks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .3em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--vs-soft);
	box-shadow: inset 0 0 0 1.5px var(--vs-primary);
}
.vs-ticks li::after {
	content: "";
	position: absolute;
	left: 7.5px;
	top: calc(.3em + 4px);
	width: 4px;
	height: 7px;
	border: solid var(--vs-primary);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.vs-ticks--sm { gap: 8px; font-size: .9375rem; }

/* ---------- Gói nền */
.vs-base {
	display: grid;
	gap: 20px;
	padding: 20px;
	border: 1px solid var(--vs-line);
}
.vs-base__head .vs-h2 { margin: 0 0 4px; }
.vs-base__price { margin: 0 0 8px; font-size: 1.75rem; font-weight: 700; color: var(--vs-deep); }
.vs-base__head .vs-muted { margin: 0; }
@media (min-width: 900px) {
	.vs-base { grid-template-columns: 300px 1fr; gap: 32px; padding: 28px; }
	.vs-base__list { grid-template-columns: 1fr 1fr; column-gap: 28px; }
}

/* ---------- Thẻ gói */
.vs-pkgs {
	display: grid;
	gap: 16px;
	margin-top: 20px;
}
@media (min-width: 720px) { .vs-pkgs { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1140px) { .vs-pkgs { grid-template-columns: repeat(4, 1fr); } }

.vs-pkg {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	border: 1px solid var(--vs-line);
}
.vs-pkg.is-popular {
	border: 2px solid var(--vs-primary);
	box-shadow: 0 10px 28px rgb(0 53 128 / .12);
}
.vs-pkg > * { margin: 0; }
.vs-pkg__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
.vs-pkg__name { margin: 0; }
.vs-pkg__fit { color: var(--vs-muted); font-size: .9375rem; line-height: 1.45; min-height: 2.9em; }
.vs-pkg__price { font-size: 1.625rem; font-weight: 700; color: var(--vs-deep); line-height: 1.2; }
.vs-pkg__list { font-size: .875rem; color: var(--vs-ink); }
.vs-pkg__days {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--vs-bg);
	font-size: .875rem;
	line-height: 1.45;
}
.vs-pkg__ic { flex: none; margin-top: 1px; color: var(--vs-primary); }
.vs-pkg__inc { flex: 1; }
.vs-pkg__inc-title { margin: 4px 0 10px; font-weight: 600; }
.vs-pkg__inc .vs-muted { margin: 0; font-size: .9375rem; }
.vs-pkg__tpl { font-size: .875rem; line-height: 1.6; }
.vs-pkg__tpl .vs-chip { vertical-align: 1px; }
.vs-pkg__cta { margin-top: 6px; }

/* Chip "Phổ biến": base.css có kiểu chung, đây chỉ đảm bảo đọc rõ nếu base chưa có. */
.vs-pkg .vs-chip--popular {
	flex: none;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--vs-accent);
	color: var(--vs-ink);
	font-size: .75rem;
	font-weight: 700;
}

/* ---------- Tự chọn tính năng */
.vs-calc {
	display: grid;
	gap: 16px;
	margin-top: 20px;
	align-items: start;
}
@media (min-width: 960px) {
	.vs-calc { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; }
}
.vs-calc__list { display: grid; gap: 16px; }
.vs-calc__base {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 12px;
	padding: 14px 16px;
	border-radius: var(--vs-radius);
	background: var(--vs-soft);
}
.vs-calc__base .vs-calc__desc { grid-column: 1 / -1; }

.vs-calc__group {
	margin: 0;
	padding: 8px 16px 12px;
	border: 1px solid var(--vs-line);
	border-radius: var(--vs-radius);
	background: var(--vs-card);
	min-width: 0;
}
.vs-calc__legend {
	padding: 0 6px;
	margin-left: -6px;
	font-weight: 700;
	font-size: 1rem;
	color: var(--vs-deep);
}
.vs-calc__item {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	min-height: 44px;
	padding: 12px 8px;
	margin: 0 -8px;
	border-radius: 10px;
	cursor: pointer;
}
.vs-calc__item + .vs-calc__item { border-top: 1px solid var(--vs-line); }
.vs-calc__item:has(input:checked) { background: var(--vs-soft); }
.vs-calc__item--step { cursor: default; flex-wrap: wrap; align-items: center; }
.vs-calc__check {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	accent-color: var(--vs-primary);
	cursor: pointer;
}
.vs-calc__txt {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 12px;
}
.vs-calc__name { font-weight: 600; line-height: 1.4; }
.vs-calc__price { font-weight: 600; color: var(--vs-deep); text-align: right; }
.vs-calc__desc {
	grid-column: 1 / -1;
	color: var(--vs-muted);
	font-size: .875rem;
	line-height: 1.45;
}
.vs-calc__item--step .vs-calc__txt { flex-basis: 220px; grid-template-columns: 1fr; }
.vs-calc__item--step .vs-calc__price { text-align: left; font-size: .875rem; }
.vs-calc__group--sm { padding: 6px 14px 8px; }
.vs-calc__group--sm .vs-calc__item { padding: 10px 8px; }

/* Bộ tăng giảm số ngôn ngữ: nút − / + chỉ hiện khi có JS, không JS vẫn gõ số được. */
.vs-stepper {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: auto;
}
.vs-stepper__btn {
	width: 44px;
	height: 44px;
	border: 1px solid var(--vs-line);
	border-radius: 10px;
	background: var(--vs-card);
	color: var(--vs-ink);
	font-size: 1.375rem;
	line-height: 1;
	cursor: pointer;
}
.vs-stepper__btn[hidden] { display: none; }
.vs-stepper__btn:hover { border-color: var(--vs-primary); color: var(--vs-primary); }
.vs-stepper__btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.vs-stepper__input.vs-input,
.vs-stepper__input {
	width: 64px;
	min-height: 44px;
	text-align: center;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}
.vs-stepper__input::-webkit-inner-spin-button,
.vs-stepper__input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* Ô tạm tính: điện thoại dính đáy màn hình (trên thanh nổi), máy tính dính bên phải. */
.vs-calc__sum {
	position: sticky;
	bottom: calc(var(--vs-dock-h, 64px) + env(safe-area-inset-bottom, 0px) + 8px);
	z-index: 5;
	display: grid;
	gap: 8px;
	padding: 14px 16px;
	border: 1px solid var(--vs-line);
	border-radius: var(--vs-radius);
	background: var(--vs-card);
	box-shadow: 0 -6px 24px rgb(11 26 51 / .12);
}
@media (min-width: 960px) {
	.vs-calc__sum {
		top: calc(var(--vs-hdr-h, 64px) + 16px);
		bottom: auto;
		gap: 12px;
		padding: 20px;
		box-shadow: 0 8px 24px rgb(11 26 51 / .08);
	}
}
.vs-calc__sum > * { margin: 0; }
.vs-calc__sum-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
}
.vs-calc__sum-label { margin: 0; font-weight: 600; color: var(--vs-muted); }
.vs-calc__total {
	margin: 0;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--vs-deep);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
@media (min-width: 960px) { .vs-calc__total { font-size: 1.875rem; } }
.vs-calc__total--sm { font-size: 1.25rem; }
.vs-calc__count { font-size: .875rem; color: var(--vs-muted); }
.vs-calc__hint {
	padding: 10px 12px;
	border-left: 4px solid var(--vs-accent);
	border-radius: 8px;
	background: #FFF8E6;
	color: var(--vs-ink);
	font-size: .9375rem;
	line-height: 1.45;
}
/* Rỗng thì thu về 0 nhưng vẫn nằm trong cây truy cập, để vùng aria-live đọc được khi có câu gợi ý. */
.vs-calc__hint:empty { padding: 0; border: 0; }
.vs-calc__hint a { font-weight: 600; color: var(--vs-deep); }
.vs-calc__actions { display: grid; gap: 8px; justify-items: center; }
.vs-calc__actions [hidden] { display: none; }
.vs-calc__note { margin: 12px 0 0; font-size: .875rem; }
/* Điện thoại: ô dính đáy chỉ giữ tổng tiền, gợi ý và nút gửi cho gọn; bỏ chọn từng ô vẫn được. */
@media (max-width: 959.98px) {
	.vs-calc__sum .vs-calc__count,
	.vs-calc__sum [data-vs-reset] { display: none; }
}

/* ---------- Lưu ý */
.vs-notes {
	display: grid;
	gap: 16px;
	margin-top: 20px;
}
@media (min-width: 720px) { .vs-notes { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1140px) { .vs-notes { grid-template-columns: repeat(4, 1fr); } }
.vs-note { padding: 18px; border: 1px solid var(--vs-line); }
.vs-note p { margin: 8px 0 0; line-height: 1.55; }
.vs-note__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 1.0625rem;
}
.vs-note__ic { color: var(--vs-primary); flex: none; }

/* ---------- Bảng so sánh (cuộn ngang trong khung, trang không cuộn ngang) */
.vs-compare {
	/* relative: chữ ẩn .vs-sr (absolute) trong ô bảng phải nằm trong khung cuộn, không đẩy rộng cả trang. */
	position: relative;
	margin-top: 20px;
	overflow-x: auto;
	border: 1px solid var(--vs-line);
	border-radius: var(--vs-radius);
	background: var(--vs-card);
	-webkit-overflow-scrolling: touch;
}
.vs-compare__table {
	width: 100%;
	min-width: 680px;
	border-collapse: separate;
	border-spacing: 0;
	font-size: .9375rem;
}
.vs-compare__table th,
.vs-compare__table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--vs-line);
	text-align: center;
	vertical-align: middle;
}
.vs-compare__table th[scope="row"],
.vs-compare__table thead th:first-child {
	position: sticky;
	left: 0;
	z-index: 1;
	text-align: left;
	font-weight: 500;
	background: var(--vs-card);
	min-width: 190px;
	box-shadow: 1px 0 0 var(--vs-line);
}
.vs-compare__table thead th {
	background: var(--vs-bg);
	font-weight: 700;
	white-space: nowrap;
}
.vs-compare__table thead th:first-child { background: var(--vs-bg); }
.vs-compare__table thead a { color: var(--vs-deep); text-decoration: none; }
.vs-compare__table thead a:hover { text-decoration: underline; }
.vs-compare__price { display: block; font-weight: 500; font-size: .8125rem; color: var(--vs-muted); }
.vs-compare__group th {
	padding-top: 14px;
	text-align: left;
	font-weight: 700;
	color: var(--vs-deep);
	background: var(--vs-soft);
}
.vs-compare__group th[scope="colgroup"] { position: static; }
.vs-compare__table tfoot th,
.vs-compare__table tfoot td { background: var(--vs-bg); border-bottom: 0; }
.vs-compare__table tfoot th[scope="row"] { font-weight: 700; background: var(--vs-bg); }
.vs-yes { color: var(--vs-call); font-weight: 700; font-size: 1.0625rem; }
.vs-no { color: var(--vs-muted); }
.vs-compare__hint { margin: 8px 0 0; font-size: .8125rem; }
@media (min-width: 720px) { .vs-compare__hint { display: none; } }

/* ---------- Dải kêu gọi cuối trang */
.vs-cta-band {
	display: grid;
	gap: 16px;
	padding: 24px;
	background: var(--vs-deep);
	color: var(--vs-primary-ink);
}
.vs-cta-band .vs-h2 { margin: 0 0 6px; color: inherit; }
.vs-cta-band p { margin: 0; color: #DCE7F7; }
.vs-cta-band__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.vs-cta-band { --vs-focus: var(--vs-accent); }
@media (min-width: 900px) {
	.vs-cta-band { grid-template-columns: 1fr auto; align-items: center; padding: 32px; }
}

/* ---------- Trang tư vấn */
.vs-lead-layout {
	display: grid;
	gap: 20px;
	align-items: start;
}
@media (min-width: 1000px) {
	.vs-lead-layout { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; }
	.vs-lead-aside { position: sticky; top: calc(var(--vs-hdr-h, 64px) + 16px); }
}
.vs-lead-aside { display: grid; gap: 16px; }
.vs-lead-form { display: grid; gap: 16px; }

.vs-step { padding: 20px; border: 1px solid var(--vs-line); display: grid; gap: 18px; }
@media (min-width: 720px) { .vs-step { padding: 24px; } }
.vs-step__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--vs-ink);
}
.vs-step__num {
	display: inline-grid;
	place-items: center;
	flex: none;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--vs-primary);
	color: var(--vs-primary-ink);
	font-size: 1rem;
	font-weight: 700;
}

.vs-sales .vs-field { display: grid; gap: 6px; margin: 0; min-width: 0; }
.vs-fieldset { padding: 0; border: 0; }
.vs-field__label { padding: 0; font-weight: 600; }
.vs-field__hint { margin: 0; font-size: .875rem; color: var(--vs-muted); line-height: 1.45; }
.vs-field__error {
	margin: 0;
	font-size: .875rem;
	font-weight: 600;
	color: var(--vs-danger, #B42318);
}
.vs-sales [aria-invalid="true"] { border-color: var(--vs-danger, #B42318); box-shadow: 0 0 0 1px var(--vs-danger, #B42318); }
.vs-req { font-weight: 500; font-size: .8125rem; color: var(--vs-muted); }
.vs-sales .vs-input { width: 100%; min-height: 48px; }
.vs-sales textarea.vs-input { min-height: 110px; resize: vertical; }

.vs-lead-2col { display: grid; gap: 16px; }
@media (min-width: 640px) { .vs-lead-2col { grid-template-columns: 1fr 1fr; } }

/* Thẻ chọn: radio thật vẫn hiện (rõ trạng thái cả khi bật chế độ tương phản cao), viền thẻ đổi màu khi chọn. */
.vs-opts { display: grid; gap: 8px; }
/* Hai cột ngay trên điện thoại (≥ 320px) cho form ngắn lại. */
.vs-opts--cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 136px), 1fr)); }
.vs-opts--chips { grid-template-columns: repeat(auto-fill, minmax(min(100%, 136px), 1fr)); }
@media (min-width: 720px) { .vs-opts--cards { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); } }
.vs-opt {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 10px 14px;
	border: 1.5px solid var(--vs-line);
	border-radius: 12px;
	background: var(--vs-card);
	line-height: 1.35;
	cursor: pointer;
}
.vs-opt input {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--vs-primary);
	cursor: pointer;
}
.vs-opt:hover { border-color: var(--vs-primary); }
.vs-opt:has(input:checked) {
	border-color: var(--vs-primary);
	background: var(--vs-soft);
	box-shadow: inset 0 0 0 1px var(--vs-primary);
	font-weight: 600;
}

.vs-lead-feat {
	border: 1px solid var(--vs-line);
	border-radius: var(--vs-radius);
	background: var(--vs-bg);
}
.vs-lead-feat__sum {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	min-height: 48px;
	padding: 10px 16px;
	font-weight: 600;
	cursor: pointer;
	list-style-position: inside;
}
.vs-lead-feat__sum .vs-muted { font-weight: 400; }
.vs-lead-feat__body { display: grid; gap: 12px; padding: 0 12px 14px; }
.vs-lead-feat__sum-box {
	display: grid;
	gap: 6px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--vs-card);
	border: 1px solid var(--vs-line);
}
.vs-lead-feat__sum-box > * { margin: 0; }

.vs-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 44px;
	line-height: 1.5;
	cursor: pointer;
}
.vs-consent__label input {
	flex: none;
	width: 22px;
	height: 22px;
	margin: 2px 0 0;
	accent-color: var(--vs-primary);
}
.vs-lead-submit { min-height: 52px; font-size: 1.0625rem; }
.vs-lead-submit[aria-disabled="true"] { opacity: .7; cursor: progress; }
.vs-lead-privacy { text-align: center; }

/* Bẫy bot: người thật không thấy, không tab tới. */
.vs-hp {
	position: absolute !important;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.vs-alert {
	margin-bottom: 16px;
	padding: 16px 18px;
	border-radius: var(--vs-radius);
	border: 1px solid #F4C7C3;
	border-left: 5px solid var(--vs-danger, #B42318);
	background: #FEF3F2;
	color: var(--vs-ink);
}
.vs-alert:focus { outline: 3px solid var(--vs-danger, #B42318); outline-offset: 2px; }
.vs-alert__title { margin: 0 0 6px; font-weight: 700; color: #912018; }
.vs-alert ul { margin: 0; padding-left: 20px; }
.vs-alert li + li { margin-top: 4px; }
.vs-alert__note { margin: 8px 0 0; font-size: .875rem; color: var(--vs-muted); }

.vs-lead-done {
	padding: 28px 22px;
	border: 1px solid var(--vs-line);
	text-align: center;
}
.vs-lead-done > * { margin: 0 auto 12px; max-width: 560px; }
.vs-lead-done__ic {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #E6F4EC;
	color: var(--vs-call);
	font-size: 1.75rem;
	font-weight: 700;
}
.vs-lead-done__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 20px auto;
}

.vs-lead-contact,
.vs-lead-next { padding: 20px; border: 1px solid var(--vs-line); display: grid; gap: 10px; }
.vs-lead-contact > *,
.vs-lead-next > * { margin: 0; }
.vs-lead-contact .vs-btn { display: flex; align-items: center; justify-content: center; gap: 8px; }
.vs-lead-contact__mail { font-size: .875rem; overflow-wrap: anywhere; }

.vs-next {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: vs-next;
	display: grid;
	gap: 14px;
}
.vs-next li {
	position: relative;
	padding-left: 40px;
	counter-increment: vs-next;
	display: grid;
	gap: 2px;
	line-height: 1.45;
}
.vs-next li::before {
	content: counter(vs-next);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--vs-soft);
	color: var(--vs-deep);
	font-weight: 700;
	font-size: .875rem;
}
.vs-next span { color: var(--vs-muted); font-size: .9375rem; }

/* ---------- Chính sách bảo mật */
.vs-policy__wrap { max-width: 860px; }
.vs-policy__toc { padding: 18px 20px; border: 1px solid var(--vs-line); margin-bottom: 28px; }
.vs-policy__toc .vs-h3 { margin: 0 0 8px; }
.vs-policy__toc ol { margin: 0; padding-left: 22px; columns: 1; }
@media (min-width: 640px) { .vs-policy__toc ol { columns: 2; column-gap: 32px; } }
.vs-policy__toc li { break-inside: avoid; }
.vs-policy__toc a { display: inline-block; padding: 6px 0; min-height: 32px; }
.vs-policy__body { line-height: 1.65; }
.vs-policy__body section + section { margin-top: 32px; }
.vs-policy__body .vs-h2 { font-size: 1.375rem; margin: 0 0 10px; }
.vs-policy__body ul { padding-left: 22px; }
.vs-policy__body li + li { margin-top: 6px; }
.vs-policy__facts { list-style: none; padding-left: 0 !important; }
.vs-policy__facts li { padding-left: 14px; border-left: 3px solid var(--vs-line); }
.vs-policy__body code {
	padding: 1px 6px;
	border-radius: 6px;
	background: var(--vs-bg);
	font-size: .875em;
	overflow-wrap: anywhere;
}
.vs-credits__table { min-width: 560px; }
.vs-credits__table th[scope="row"] { min-width: 150px; }
.vs-credits__table td { text-align: left; }

/* ---------- Chuyển động: chỉ khi người dùng không tắt hiệu ứng */
@media (prefers-reduced-motion: no-preference) {
	.vs-jump a,
	.vs-opt,
	.vs-stepper__btn,
	.vs-calc__item { transition: border-color .15s ease, background-color .15s ease, color .15s ease; }
}

@media (forced-colors: active) {
	.vs-opt:has(input:checked) { outline: 2px solid Highlight; }
	.vs-calc__hint { border: 1px solid CanvasText; }
}

@media print {
	.vs-calc__sum { position: static; box-shadow: none; }
	.vs-jump, .vs-cta-band, .vs-lead-aside { display: none; }
}
