/* Конструктор тура (этап 5) в стиле бренда: тонкие линии, без рамок-коробок и теней. */

.mv-builder { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: clamp(32px, 5vw, 80px); align-items: start; }
@media (max-width: 899px) { .mv-builder { grid-template-columns: minmax(0, 1fr); } }

.mv-builder__summary {
	position: sticky; top: 16px;
	background: var(--mv-tint); border: 0; border-radius: 0; padding: 28px;
}
.mv-builder__summary h2 { margin-top: 0; font-size: 1.5rem; }
.mv-builder__summary [aria-busy="true"] { opacity: 0.5; }
.mv-builder__preset, .mv-builder__hotel-info, .mv-builder__disclaimer { font-family: var(--mv-font-display); font-weight: 300; font-size: 0.9375rem; }

.mv-step { border: 0; border-top: 1px solid var(--mv-line); margin: 0 0 40px; padding: 24px 0 0; min-width: 0; }
.mv-step[disabled] { opacity: 0.45; }
.mv-step legend { font-family: var(--mv-font-display); font-weight: 600; font-size: 1.25rem; padding: 0 16px 0 0; float: left; width: 100%; margin-bottom: 16px; }
.mv-step legend + * { clear: both; }

.mv-row { display: flex; flex-wrap: wrap; gap: 16px var(--mv-gutter); }
.mv-field { display: flex; flex-direction: column; gap: 4px; margin: 8px 0; flex: 1 1 160px; font-family: var(--mv-font-display); font-weight: 500; font-size: 0.8125rem; letter-spacing: 0.1em; text-transform: uppercase; }
.mv-field--narrow { flex: 0 1 120px; }
.mv-field input, .mv-field select, .mv-field textarea { text-transform: none; letter-spacing: normal; font-weight: 400; }
.mv-field output { padding: 8px 0; text-transform: none; letter-spacing: normal; }

.mv-options { display: grid; gap: 0; }
.mv-option { display: flex; gap: 16px; align-items: flex-start; border: 0; border-bottom: 1px solid var(--mv-line); border-radius: 0; padding: 16px 0; cursor: pointer; }
.mv-option:has(input:checked) { background: var(--mv-tint); box-shadow: -12px 0 0 var(--mv-tint), 12px 0 0 var(--mv-tint); }
.mv-option input, .mv-check input { accent-color: var(--mv-blue); width: 18px; height: 18px; margin-top: 4px; }
.mv-option__body { display: flex; flex-direction: column; }
.mv-option__desc { font-size: 0.9375rem; }
.mv-option__price { font-family: var(--mv-font-display); font-weight: 600; }
.mv-check { display: flex; gap: 12px; align-items: flex-start; margin: 12px 0; }

.mv-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.mv-field-error:empty, .mv-form-message:empty { display: none; }

.mv-summary { width: 100%; border-collapse: collapse; }
.mv-summary th, .mv-summary td { text-align: left; vertical-align: top; padding: 8px 0; border-bottom: 1px solid var(--mv-line); font-weight: 400; }
.mv-summary td { text-align: right; white-space: nowrap; padding-left: 8px; font-family: var(--mv-font-display); }
.mv-summary small { display: block; font-family: var(--mv-font-display); font-weight: 300; }
.mv-summary__line--offer td { color: var(--mv-magenta); }
.mv-summary__total th, .mv-summary__total td { font-family: var(--mv-font-display); font-weight: 700; font-size: 1.25rem; border-bottom: 0; padding-top: 16px; }

.mv-builder__summary .mv-button { width: 100%; margin-top: 20px; font-family: var(--mv-font-display); }
.mv-builder__summary .mv-button:disabled { opacity: 0.6; cursor: wait; }
