/* Страница доставки zv.market. Тестовая версия, /dostavka-test/ */

.zvd { padding-bottom: 46px; }

.zvd-lead {
	max-width: 900px;
	margin: 0 0 26px;
	font-size: 17px;
	line-height: 26px;
	color: #444;
}

.zvd-h2 {
	margin: 40px 0 18px;
	font-size: 24px;
	line-height: 30px;
	color: #222;
}

/* ---------- калькулятор ---------- */

.zvd-calc {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	gap: 0;
	border: 1px solid #ececec;
	border-radius: 8px;
	overflow: hidden;
}

.zvd-calc__form { padding: 26px 28px; }
.zvd-calc__title { margin-bottom: 20px; font-size: 20px; color: #222; }

/* поля в две колонки, чтобы блок не растягивался в длинный столбец */
.zvd-calc__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 4px 24px; }
.zvd-field[hidden] { display: none; }
@media (min-width: 992px) { .zvd-field--lift { grid-column: span 2; } }

.zvd-field { display: block; margin-bottom: 16px; }
.zvd-field__label {
	display: block; margin-bottom: 6px;
	font-size: 13px; color: #666;
}
.zvd-field input[type="number"] {
	width: 100%; max-width: 100%; height: 42px;
	padding: 0 12px;
	border: 1px solid #dcdcdc; border-radius: 5px;
	font-size: 16px; color: #222; background: #fff;
}
.zvd-field input[type="number"]:focus { border-color: #d24a43; outline: none; }
.zvd-field__hint { display: block; margin-top: 5px; font-size: 12px; color: #999; }

.zvd-toggle { display: flex; flex-wrap: wrap; gap: 8px; }
.zvd-toggle label {
	margin: 0; padding: 8px 14px;
	border: 1px solid #dcdcdc; border-radius: 5px;
	font-size: 14px; color: #444; cursor: pointer; font-weight: normal;
	transition: border-color .15s, color .15s;
}
.zvd-toggle label:hover { border-color: #b9b9b9; }
.zvd-toggle input { position: absolute; opacity: 0; width: 0; height: 0; }
.zvd-toggle label:has(input:checked) { border-color: #d24a43; color: #d24a43; }

.zvd-check { display: flex; align-items: center; gap: 10px; margin: 20px 0 0; font-weight: normal; cursor: pointer; }
.zvd-check input { width: 18px; height: 18px; accent-color: #d24a43; }
.zvd-muted { color: #999; }

/* результат */
.zvd-calc__result {
	padding: 26px 28px;
	background: #fafafa;
	border-left: 1px solid #ececec;
}
.zvd-result__car { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: #999; }
.zvd-result__sum { margin: 8px 0 18px; font-size: 38px; line-height: 44px; font-weight: bold; color: #222; }
.zvd-result__rows { font-size: 14px; line-height: 22px; color: #444; }
.zvd-result__rows div { display: flex; justify-content: space-between; gap: 14px; padding: 5px 0; }
.zvd-result__rows div + div { border-top: 1px dashed #e4e4e4; }
.zvd-result__rows span:last-child { white-space: nowrap; color: #222; }
.zvd-result__note {
	margin-top: 14px; padding: 10px 12px;
	border-radius: 5px; background: #fdf6f5; border: 1px solid #f0d9d7;
	font-size: 13px; line-height: 19px; color: #7a4b47;
}
.zvd-result__note:empty { display: none; }
.zvd-result__btn { margin-top: 18px; }
.zvd-result__disclaimer { margin-top: 14px; font-size: 12px; line-height: 18px; color: #999; }

/* ---------- тарифы ---------- */

.zvd-tariffs { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }

.zvd-tariff {
	padding: 22px 24px;
	border: 1px solid #ececec; border-radius: 8px; background: #fff;
}
.zvd-tariff__name { font-size: 17px; color: #222; margin-bottom: 10px; }
.zvd-tariff__price { font-size: 26px; font-weight: bold; color: #222; }
.zvd-tariff__price span { font-size: 13px; font-weight: normal; color: #999; }
.zvd-tariff__limits { margin: 6px 0 14px; font-size: 13px; color: #666; }
.zvd-tariff__list { margin: 0; padding: 0; list-style: none; }
.zvd-tariff__list li {
	position: relative; padding: 6px 0 6px 20px;
	font-size: 14px; line-height: 20px; color: #444;
}
.zvd-tariff__list li:before {
	content: "" !important; position: absolute; left: 0; top: 13px;
	width: 6px; height: 6px; border-radius: 50%; background: #c9c9c9;
}
.zvd-plus:before { background: #3aa93a !important; }
.zvd-minus:before { background: #d24a43 !important; }

/* ---------- разгрузка ---------- */

.zvd-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; }

.zvd-card {
	padding: 22px 24px;
	border: 1px solid #ececec; border-radius: 8px; background: #fff;
}
.zvd-card__title { margin-bottom: 14px; font-size: 17px; color: #222; }

.zvd-table { width: 100%; border-collapse: collapse; }
.zvd-table td { padding: 9px 0; font-size: 15px; line-height: 22px; color: #444; vertical-align: top; }
.zvd-table td:last-child { text-align: right; color: #222; white-space: nowrap; }
.zvd-table tr + tr td { border-top: 1px solid #f0f0f0; }

.zvd-example {
	margin-top: 16px; padding: 12px 14px;
	border-radius: 5px; background: #fafafa; border: 1px solid #ececec;
	font-size: 14px; line-height: 21px; color: #444;
}

.zvd-list { margin: 0; padding: 0; list-style: none; }
.zvd-list li {
	position: relative; padding: 7px 0 7px 20px;
	font-size: 15px; line-height: 22px; color: #444;
}
.zvd-list li:before {
	content: "" !important; position: absolute; left: 0; top: 15px;
	width: 6px; height: 6px; border-radius: 50%; background: #c9c9c9;
}

/* ---------- важно знать ---------- */

.zvd-notes { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px; }
@media (min-width: 992px) { .zvd-notes { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.zvd-note {
	padding: 18px 20px;
	border: 1px solid #ececec; border-left: 3px solid #9aa0a6;
	border-radius: 6px; background: #fff;
}
.zvd-note__title { margin-bottom: 6px; font-size: 15px; font-weight: bold; color: #222; }
.zvd-note__text { font-size: 14px; line-height: 21px; color: #5b5b5b; }

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

.zvd-cta {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 16px;
	margin-top: 34px; padding: 22px 24px;
	border: 1px solid #ececec; border-radius: 8px; background: #fafafa;
}
.zvd-cta__text { font-size: 16px; color: #222; }
.zvd-cta__actions { display: flex; gap: 10px; flex-wrap: wrap; padding-right: 56px; }

@media (max-width: 991px) {
	.zvd-calc { grid-template-columns: minmax(0, 1fr); }
	.zvd-calc__result { border-left: 0; border-top: 1px solid #ececec; }
	.zvd-calc__form, .zvd-calc__result { padding: 20px; }
	.zvd-h2 { font-size: 20px; margin: 30px 0 14px; }
	.zvd-result__sum { font-size: 32px; line-height: 38px; }
	.zvd-lead { font-size: 15px; line-height: 23px; }
}
