/* ==========================================================================
   Page: Price calculator (page-templates/calculator.php)
   Figma: Calculator Desktop 519:28231, Tablet 519:44821, Mobile 519:45318
   ========================================================================== */
.page-calculator {
	--calc-line: #dee8ec;
	--calc-grey: #65777e;
	--calc-grey-2: #8c9fad;
	--calc-peach: rgba(255, 237, 213, .5);
}

/* ---------- Hero overrides ---------- */
.page-hero--calculator .page-hero__content { max-width: 680px; }
.page-hero--calculator .page-hero__title { max-width: 620px; }
.page-hero--calculator .page-hero__text { max-width: 640px; }

/* ==========================================================================
   Calculator block
   ========================================================================== */
.calc { position: relative; background: var(--c-bg-soft); padding-block: 84px; }
.calc__layout {
	display: grid;
	grid-template-columns: minmax(0, 800fr) minmax(0, 456fr);
	gap: 24px;
	align-items: start;
}

/* ---------- Form card ---------- */
.calc-form {
	display: flex; flex-direction: column; gap: 32px;
	padding: 40px; border-radius: var(--radius-l); background: #fff;
	min-width: 0;
}
.calc-step { display: flex; flex-direction: column; gap: 18px; min-width: 0; margin: 0; padding: 0; border: 0; }
.calc-divider { width: 100%; height: 1px; margin: 0; border: 0; background: var(--calc-line); }

.calc-step__head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.calc-step__num {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 28px; height: 28px; border-radius: 6px;
	background: var(--c-blue); color: #fff;
	font-family: var(--ff-mono); font-size: 13px; line-height: 13px;
	transition: background-color .3s var(--ease-out);
}
.calc-step__num.is-active { background: var(--c-orange); }
.calc-step__title { font-weight: 400; font-size: 22px; line-height: 28px; color: var(--c-blue); }
.calc-step__note { font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 15px; color: var(--calc-grey-2); }

/* Fields */
.calc-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.calc-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.calc-row--route { position: relative; }
.calc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.calc-label {
	font-weight: 500; font-size: 11px; line-height: 14px; letter-spacing: .8px; text-transform: uppercase;
	color: var(--calc-grey);
}
.calc-input {
	position: relative;
	display: flex; align-items: center; gap: 10px;
	min-height: 52px; padding: 0 16px;
	border: .8px solid var(--calc-line); border-radius: 8px; background: #fcfeff;
	color: var(--c-blue);
	transition: border-color .2s, box-shadow .2s;
}
.calc-input--white { background: #fff; border-width: 1px; }
.calc-input:hover { border-color: var(--c-blue-40); }
.calc-input:focus-within { border-color: var(--c-blue); box-shadow: 0 0 0 3px var(--c-blue-10); }
.calc-input input,
.calc-input select {
	flex: 1 1 auto; min-width: 0; width: 100%;
	height: 50px; padding: 0; border: 0; background: transparent; outline: 0;
	font-family: var(--ff-text); font-weight: 400; font-size: 15px; line-height: 22px; color: var(--c-blue);
	-webkit-appearance: none; appearance: none;
	border-radius: 0;
}
.calc-input input::placeholder { color: var(--calc-grey-2); opacity: 1; }
.calc-input input[type="number"]::-webkit-inner-spin-button,
.calc-input input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.calc-input input[type="number"] { -moz-appearance: textfield; }
.calc-input__icon { flex: none; width: 18px; height: 18px; color: var(--c-orange); }
.calc-input__chev { flex: none; width: 20px; height: 20px; color: var(--c-orange); pointer-events: none; }
.calc-input--select select { cursor: pointer; padding-right: 30px; margin-right: -30px; }
.calc-input--select .calc-input__chev { position: relative; z-index: 1; }
.calc-input .tk-form__error { position: absolute; left: 0; top: 100%; }
.calc-field .tk-form__error { margin-top: 0; }

/* Native date input: the whole field opens the picker, text rendered in our own format */
.calc-input--date input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; z-index: 2; }
.calc-input--date input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.calc-input__display { flex: 1 1 auto; min-width: 0; font-family: var(--ff-text); font-size: 15px; line-height: 22px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.no-js .calc-input--date input { position: static; opacity: 1; }
.no-js .calc-input__display { display: none; }

/* Swap button (between pick-up and delivery) */
.calc-swap {
	position: absolute; z-index: 2; left: 50%; top: 33px;
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; margin-left: -15px;
	border: .8px solid var(--calc-line); border-radius: 50%; background: #fff; color: var(--c-orange);
	transition: transform .35s var(--ease-out), border-color .2s, background-color .2s, color .2s;
}
.calc-swap .tk-icon { width: 16px; height: 16px; }
.calc-swap:hover { border-color: var(--c-orange); background: var(--c-orange); color: #fff; transform: rotate(180deg); }

/* Extra stop */
.calc-stop__remove { flex: none; display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; color: var(--calc-grey); }
.calc-stop__remove:hover { color: var(--c-orange); background: var(--c-blue-10); }
.calc-stop__remove .tk-icon { width: 14px; height: 14px; }
.calc-link {
	display: inline-flex; align-self: flex-start; align-items: center; gap: 6px;
	font-weight: 500; font-size: 13px; line-height: 17px; letter-spacing: .5px; text-transform: uppercase;
	color: var(--c-orange);
	transition: gap .25s var(--ease-out);
}
.calc-link .tk-icon { width: 16px; height: 16px; }
.calc-link:hover { gap: 9px; }
.calc-link[hidden] { display: none; }

/* Chips (pick-up mode, cargo type) */
.calc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.calc-chips[role="radiogroup"] { gap: 10px; }
.calc-chip { position: relative; display: inline-flex; cursor: pointer; }
.calc-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.calc-chip > span {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 7.2px 14px; border: .8px solid var(--calc-line); border-radius: 100px; background: #fff;
	font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 15px; color: var(--c-blue);
	white-space: nowrap;
	transition: background-color .2s, border-color .2s, color .2s;
}
.calc-chip--lg > span { padding: 9.2px 16px; font-size: 14px; line-height: 17px; }
.calc-chip .tk-icon { width: 16px; height: 16px; flex: none; }
.calc-chip:hover > span { border-color: var(--c-blue-40); }
.calc-chip input:checked + span { background: var(--c-blue); border-color: var(--c-blue); color: #fff; }
.calc-chip input:focus-visible + span { outline: 2px solid var(--c-orange); outline-offset: 2px; }

/* Vehicles */
.calc-vehicles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.calc-vehicle { position: relative; display: flex; cursor: pointer; min-width: 0; }
.calc-vehicle input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.calc-vehicle__box {
	display: flex; flex-direction: column; align-items: flex-start; gap: 4px; width: 100%;
	padding: 14px; border: .8px solid var(--calc-line); border-radius: 10px; background: #fff;
	transition: background-color .2s, border-color .2s, transform .25s var(--ease-out);
}
.calc-vehicle:hover .calc-vehicle__box { border-color: var(--c-blue-40); }
.calc-vehicle__icon, .calc-vehicle__img { width: 22px; height: 22px; color: var(--c-blue); flex: none; }
.calc-vehicle__name { font-weight: 500; font-size: 14px; line-height: 18px; color: var(--c-blue); white-space: nowrap; }
.calc-vehicle__cap { font-family: var(--ff-text); font-weight: 400; font-size: 11px; line-height: 13px; color: var(--calc-grey); white-space: nowrap; }
.calc-vehicle__price { font-weight: 400; font-size: 15px; line-height: 19px; color: var(--c-blue); white-space: nowrap; }
.calc-vehicle input:checked + .calc-vehicle__box { background: rgba(255, 237, 213, .3); border-color: var(--c-orange); }
.calc-vehicle input:checked + .calc-vehicle__box .calc-vehicle__icon,
.calc-vehicle input:checked + .calc-vehicle__box .calc-vehicle__price { color: var(--c-orange); }
.calc-vehicle input:focus-visible + .calc-vehicle__box { outline: 2px solid var(--c-orange); outline-offset: 2px; }
.calc-vehicles.is-auto .calc-vehicle__box { opacity: .75; }
.calc-vehicles.is-auto .calc-vehicle input:checked + .calc-vehicle__box { opacity: 1; }
.calc-hint { font-family: var(--ff-text); font-size: 13px; line-height: 18px; color: var(--c-orange); margin-top: -6px; }

/* Checkbox tiles (extras, "not sure") */
.calc-extras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.calc-check {
	position: relative; display: flex; align-items: center; gap: 10px; min-width: 0;
	padding: 12px 14px; border: .8px solid var(--calc-line); border-radius: 8px; background: #fff;
	font-family: var(--ff-text); font-weight: 400; font-size: 14px; line-height: 17px; color: var(--c-blue);
	cursor: pointer;
	transition: background-color .2s, border-color .2s;
}
.calc-check--inline { align-self: flex-start; }
.calc-check:hover { border-color: var(--c-blue-40); }
.calc-check input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.calc-check__box {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 18px; height: 18px; border: 1px solid var(--calc-grey-2); border-radius: 4px; background: #fff; color: #fff;
	transition: background-color .2s, border-color .2s;
}
.calc-check__box .tk-icon { width: 14px; height: 14px; opacity: 0; transform: scale(.6); transition: opacity .2s, transform .25s var(--ease-out); }
.calc-check:has(input:checked) { background: var(--calc-peach); border-color: var(--c-orange); }
.calc-check input:checked + .calc-check__box { background: var(--c-orange); border-color: var(--c-orange); }
.calc-check input:checked + .calc-check__box .tk-icon { opacity: 1; transform: none; }
.calc-check input:focus-visible + .calc-check__box { outline: 2px solid var(--c-orange); outline-offset: 2px; }

/* Contact step */
.calc-contact { display: flex; flex-direction: column; gap: 32px; }
.calc-contact[hidden] { display: none; }
.calc-contact.is-new { animation: calc-in .6s var(--ease-out); }
@keyframes calc-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.calc-contact .calc-step { gap: 18px; }
.calc-contact .calc-row + .calc-row { margin-top: 0; }

/* Submit row */
.calc-submit { display: flex; align-items: center; gap: 20px; }
.calc-submit__btn { min-height: 56px; padding: 18px 40px; flex: none; }
.calc-submit__btn .tk-icon { width: 18px; height: 18px; }
.calc-submit__btn [hidden] { display: none; }
.calc-submit__note { max-width: 320px; font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 19px; color: var(--calc-grey); }
.calc-form .tk-form__status { margin-top: -16px; }

/* ---------- Summary column ---------- */
.calc__aside { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 24px; min-width: 0; }

.calc-sum {
	display: flex; flex-direction: column; gap: 24px;
	padding: 32px; border-radius: var(--radius-l); background: var(--c-blue); color: #fff;
}
.calc-sum__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.calc-sum__title { font-weight: 400; font-size: 22px; line-height: 28px; color: #fff; }
.calc-sum__badge {
	display: inline-flex; align-items: center; gap: 8px; flex: none;
	padding: 7px 14px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 100px;
	font-family: var(--ff-text); font-weight: 400; font-size: 12px; line-height: 14px; color: #ccdbe0;
}
.calc-sum__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--c-orange); animation: calc-pulse 2s ease-in-out infinite; }
@keyframes calc-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .calc-sum__dot { animation: none; } }

.calc-sum__list { display: flex; flex-direction: column; gap: 10px; margin: 0; font-family: var(--ff-text); font-weight: 400; font-size: 14px; line-height: 17px; }
.calc-sum__list > div { display: flex; justify-content: space-between; gap: 16px; }
.calc-sum__list dt { flex: none; color: var(--c-on-dark); }
.calc-sum__list dd { margin: 0; min-width: 0; text-align: right; color: #fff; overflow-wrap: anywhere; }
.calc-sum__divider { width: 100%; height: 0; margin: 0; border: 0; border-top: .5px solid rgba(255, 255, 255, .3); }

.calc-sum__price-wrap { display: flex; flex-direction: column; gap: 4px; }
.calc-sum__label { font-weight: 400; font-size: 14px; line-height: 18px; letter-spacing: .5px; text-transform: uppercase; color: var(--c-orange); }
.calc-sum__price {
	font-weight: 300; font-size: 64px; line-height: 68px; letter-spacing: -1.5px; color: #fff;
	font-variant-numeric: tabular-nums;
	transition: opacity .2s;
}
.calc-sum__price.is-request { font-size: 40px; line-height: 48px; letter-spacing: -1px; }
.calc-sum__price.is-bump { animation: calc-bump .5s var(--ease-out); }
@keyframes calc-bump { 0% { opacity: .3; transform: translateY(6px); } 100% { opacity: 1; transform: none; } }
.calc-sum__note { font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 15px; color: var(--c-on-dark); }

.calc-sum__checks { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.calc-sum__checks li { display: flex; align-items: center; gap: 12px; font-family: var(--ff-text); font-weight: 400; font-size: 14px; line-height: 22px; }
.calc-sum__tick { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 20px; height: 20px; border-radius: 50%; background: #fff5e9; color: var(--c-orange); }
.calc-sum__tick .tk-icon { width: 10px; height: 8px; }

.calc-sum__btns { display: flex; flex-direction: column; gap: 15px; }
.calc-sum__btns .btn { min-height: 52px; padding: 16px 32px; }
.calc-sum__btns .btn .tk-icon { width: 18px; height: 18px; }
.calc-sum__btns .tk-btn-wa .tk-icon { width: 20px; height: 20px; }
.calc-sum__call { font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 16px; text-align: center; color: var(--c-on-dark); }
.calc-sum__call span { color: #fff; }
.calc-sum__call a { transition: color .2s; }
.calc-sum__call a:hover { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
.calc-sum.is-flash { animation: calc-flash .8s var(--ease-out); }
@keyframes calc-flash { 0% { box-shadow: 0 0 0 0 rgba(248, 62, 23, .6); } 100% { box-shadow: 0 0 0 16px rgba(248, 62, 23, 0); } }
.calc-sum.is-sent .calc-sum__label::after { content: " ✓"; }

/* Callback card */
.calc-cb {
	display: flex; flex-direction: column; gap: 16px;
	padding: 28px; border: 1px solid var(--calc-line); border-radius: var(--radius-l); background: #fff;
}
.calc-cb__head { display: flex; align-items: center; gap: 12px; }
.calc-cb__icon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 36px; height: 36px; border-radius: 8px; background: var(--c-orange); color: #fff; }
.calc-cb__icon .tk-icon { width: 17px; height: 17px; }
.calc-cb__title { font-weight: 400; font-size: 20px; line-height: 26px; color: var(--c-blue); }
.calc-cb__text { font-family: var(--ff-text); font-weight: 400; font-size: 14px; line-height: 21px; color: var(--calc-grey); }
.calc-cb__form { display: flex; flex-direction: column; gap: 16px; }
.calc-cb__form .calc-input__icon { width: 16px; height: 16px; }
.calc-cb__form .btn { min-height: 52px; padding: 16px 32px; }
.calc-cb__form .tk-form__status { margin-top: 0; }

/* Mobile/tablet sticky price bar */
.calc-bar { display: none; }

/* ==========================================================================
   Section heads (tariffs, factors)
   ========================================================================== */
.calc-tariffs, .calc-factors { padding-block: 96px; }
.calc-head { margin-bottom: 48px; }
.calc-head .section-head__main { gap: 16px; }
.calc-head .eyebrow { gap: 10px; font-size: 12px; line-height: 18px; letter-spacing: 1.5px; color: var(--c-navy); }
.calc-head__title { line-height: 51.84px; max-width: 720px; }
.calc-head .section-head__aside { width: 440px; gap: 14px; }
.calc-head__text { font-family: var(--ff-text); font-weight: 400; font-size: 16px; line-height: 24px; color: var(--calc-grey); }

/* ---------- Tariffs table ---------- */
.calc-table { display: flex; flex-direction: column; border-radius: 8px; overflow: hidden; background: #fff; }
.calc-table__head,
.calc-table__row {
	display: grid;
	grid-template-columns: minmax(0, 400fr) minmax(0, 200fr) minmax(0, 300fr) minmax(0, 180fr) minmax(112px, 136fr);
	align-items: center;
	padding: 16px 32px;
}
.calc-table__head { background: #f1fcff; }
.calc-table__head .calc-table__c { font-weight: 400; font-size: 14px; line-height: 18px; letter-spacing: .5px; text-transform: uppercase; color: var(--c-navy); }
.calc-table__row { padding-block: 22px; border-bottom: .7px solid var(--calc-line); transition: background-color .25s; }
.calc-table__row:last-child { border-bottom: 0; }
.calc-table__row:hover { background: var(--c-bg-soft); }
.calc-table__c { min-width: 0; }
.calc-table__c--veh { display: flex; align-items: center; gap: 14px; }
.calc-table__c--btn { display: flex; justify-content: flex-end; }
.calc-table__icon { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: 8px; background: var(--c-bg-soft); color: var(--c-blue); }
.calc-table__row:hover .calc-table__icon { background: #fff; }
.calc-table__icon .tk-icon, .calc-table__icon img { width: 22px; height: 22px; }
.calc-table__veh { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.calc-table__name { font-weight: 500; font-size: 17px; line-height: 22px; color: var(--c-blue); }
.calc-table__desc { font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 15px; color: var(--c-navy); }
.calc-table__price { font-weight: 300; font-size: 28px; line-height: 36px; color: var(--c-blue); white-space: nowrap; }
.calc-table__c--dims, .calc-table__c--load { font-family: var(--ff-text); font-weight: 400; font-size: 15px; line-height: 18px; color: var(--c-blue); }
.calc-table__mlabel { display: none; }
.calc-table__btn { min-height: 44px; padding: 12px 28px; }
.calc-tariffs__note { margin-top: 48px; font-family: var(--ff-text); font-weight: 400; font-size: 13px; line-height: 20px; color: var(--c-navy); }

/* ---------- Factors ---------- */
.calc-factors__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.calc-factor {
	display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
	padding: 28px; border-radius: 8px; background: #fff;
	transition: box-shadow .3s var(--ease-out), transform .3s var(--ease-out);
}
.calc-factor:hover { transform: translateY(-3px); box-shadow: 0 16px 32px -20px rgba(49, 43, 182, .35); }
.calc-factor__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 8px; background: var(--c-blue); color: #fff; }
.calc-factor__icon .tk-icon { width: 20px; height: 20px; }
.calc-factor__title { font-weight: 400; font-size: 20px; line-height: 26px; color: var(--c-blue); }
.calc-factor__text { max-width: 260px; font-family: var(--ff-text); font-weight: 400; font-size: 14px; line-height: 21px; color: var(--calc-grey); }

/* ==========================================================================
   Tablet 768–1199
   ========================================================================== */
@media (max-width: 1199px) {
	.calc { padding-block: 64px; }
	.calc__layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.calc__aside { position: static; }
	.calc-form { padding: 32px; }
	.calc-vehicles { gap: 8px; }
	.calc-vehicle__box { padding: 12px; }

	.calc-tariffs, .calc-factors { padding-block: 64px; }
	.calc-head { margin-bottom: 40px; }
	.calc-head__title { line-height: 1.1; }
	.calc-head .section-head__aside { width: 100%; max-width: 640px; }

	.calc-table__head,
	.calc-table__row { grid-template-columns: minmax(0, 1.55fr) minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, .75fr) auto; column-gap: 12px; padding-inline: 16px; }
	.calc-table__head .calc-table__c { font-size: 12px; line-height: 16px; }
	.calc-table__row { padding-block: 18px; }
	.calc-table__desc { white-space: normal; }
	.calc-table__price { font-size: 26px; }
	.calc-table__c--dims, .calc-table__c--load { font-size: 14px; }
	.calc-table__btn { padding: 12px 22px; }
	.calc-tariffs__note { margin-top: 32px; }

	.calc-factors__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.calc-factor__text { max-width: none; }

	/* sticky price bar while the summary is out of view */
	.calc-bar {
		position: fixed; z-index: 30; left: 0; right: 0; bottom: 0;
		display: flex; align-items: center; justify-content: space-between; gap: 16px;
		padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom));
		background: var(--c-blue); color: #fff;
		box-shadow: 0 -8px 24px -12px rgba(19, 15, 115, .5);
		transform: translateY(110%); transition: transform .35s var(--ease-out);
	}
	.calc-bar.is-visible { transform: none; }
	.calc-bar__text { display: flex; flex-direction: column; min-width: 0; }
	.calc-bar__label { font-size: 11px; line-height: 14px; letter-spacing: .5px; text-transform: uppercase; color: var(--c-orange); }
	.calc-bar__price { font-weight: 300; font-size: 28px; line-height: 32px; letter-spacing: -.6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.calc-bar__btn { flex: none; min-height: 44px; padding: 12px 22px; }
}

/* ==========================================================================
   Mobile < 768
   ========================================================================== */
@media (max-width: 767px) {
	.calc { padding-block: 40px 48px; }
	.calc-form { padding: 24px 16px; gap: 28px; border-radius: 12px; }
	.calc-step__title { font-size: 20px; }
	.calc-row, .calc-row--3 { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.calc-swap { left: auto; right: 12px; top: auto; bottom: 52px; margin: 0; transform: rotate(90deg); }
	.calc-swap:hover { transform: rotate(270deg); }
	.calc-vehicles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.calc-extras { display: flex; flex-direction: column; align-items: flex-start; }
	.calc-check { max-width: 100%; }
	.calc-submit { flex-direction: column; align-items: stretch; gap: 16px; }
	.calc-submit__btn { width: 100%; padding-inline: 24px; }
	.calc-submit__note { max-width: none; }
	.calc-sum { padding: 24px 20px; border-radius: 12px; }
	.calc-sum__title { font-size: 20px; }
	.calc-sum__list > div { gap: 12px; }
	.calc-sum__price { font-size: 48px; line-height: 54px; }
	.calc-sum__price.is-request { font-size: 32px; line-height: 38px; }
	.calc-sum__checks li { align-items: flex-start; line-height: 20px; }
	.calc-cb { padding: 24px 20px; border-radius: 12px; }

	.calc-tariffs, .calc-factors { padding-block: 48px; }
	.calc-head { margin-bottom: 32px; }

	.calc-table { gap: 0; background: transparent; border-radius: 0; }
	.calc-table__head { display: none; }
	.calc-table__row {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "veh price" "dims load" "btn btn";
		gap: 18px 12px; padding: 24px 0;
		border-bottom: .7px solid var(--calc-line);
	}
	.calc-table__row:hover { background: transparent; }
	.calc-table__c--veh { grid-area: veh; align-items: flex-start; }
	.calc-table__c--price { grid-area: price; align-self: start; }
	.calc-table__c--dims { grid-area: dims; }
	.calc-table__c--load { grid-area: load; text-align: right; align-self: end; }
	.calc-table__c--btn { grid-area: btn; }
	.calc-table__mlabel { display: inline; }
	.calc-table__c--dims .calc-table__mlabel { display: block; }
	.calc-table__btn { width: 100%; }
	.calc-table__desc { max-width: 170px; }
	.calc-tariffs__note { margin-top: 24px; }

	.calc-factors__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.calc-factor { padding: 24px; }

	.calc-bar__price { font-size: 24px; line-height: 28px; }
}

/* hidden attribute must win over component display values */
.calc [hidden] { display: none !important; }

/* Vehicle volume / pallets / loading sides */
.calc-vehicle__meta { display: block; margin-top: 3px; font-size: 11.5px; line-height: 15px; color: #7a78a8; }
.calc-vehicle__meta--load { margin-top: 1px; }
.calc-table__desc--load { display: block; margin-top: 2px; }
.calc-table__sub { display: block; margin-top: 2px; font-size: 13px; color: #7a78a8; }
