.btn--green {
    color: #fff;
    background: #00af54;
    box-shadow: 0 8px 20px rgba(0, 175, 84, .16);
}

.btn--green:hover {
    background: #009c4a;
}

.cost-page {
    background: #f8fafb;
}

.cost-hero {
    min-height: 365px;
    background: linear-gradient(90deg, rgba(247, 249, 250, .96) 0%, rgba(247, 249, 250, .78) 38%, rgba(247, 249, 250, .08) 72%), url("/assets/img/cars_gallery/pop-zeekr.jpg") 99% 99% / contain no-repeat;
}

.cost-page.moto .cost-hero {
    background: linear-gradient(90deg, rgba(247, 249, 250, .96) 0%, rgba(247, 249, 250, .78) 38%, rgba(247, 249, 250, .08) 72%), url("/assets/img/cars_gallery/pop-zeekr-moto.jpg") 99% 99% / contain no-repeat;
}

.cost-hero__inner {
    min-height: 365px;
    padding-top: 30px;
    position: relative;
}

.cost-hero__content {
    position: relative;
    z-index: 2;
}

.cost-hero h1 {
    margin: 0 0 16px;
    font-size: 49px;
    line-height: 1.1;
}

.cost-hero__content > p {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
}

.cost-hero__features {
    margin-top: 35px;
    display: grid;
    grid-template-columns: repeat(3, 225px);
    gap: 16px;
}

.cost-hero__features article {
    min-height: 72px;
    padding: 13px 17px;
    border: 1px solid #e5e8ec;
    border-radius: 10px;
    background: rgba(255, 255, 255, .9);
    display: flex;
    align-items: center;
    gap: 14px;
}

.feature-icon {
    font-size: 29px;
}

.feature-icon--fixedprice {
    width: 30px;
    height: 30px;
    background: url("/assets/img/icons/fixed-prices_g.png") center center / cover no-repeat;
    background-size: 26px;
}
.feature-icon--blue { color: #0879f9; }
.feature-icon--purple { color: #bd55ff; }

.cost-hero__features strong,
.cost-hero__features small {
    display: block;
}

.cost-hero__features strong {
    margin-bottom: 4px;
    font-size: 12px;
}

.cost-hero__features small {
    color: #6d7580;
    font-size: 10px;
}


.cost-workspace {
    padding: 32px 0;
}

.cost-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(430px, .92fr);
    gap: 28px;
    align-items: start;
}

.cost-form,
.cost-summary {
    border: 1px solid #e3e7ea;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 25px rgba(29, 41, 57, .035);
}

.cost-form {
    padding: 30px;
}

.cost-form fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.cost-form legend,
.cost-summary h2 {
    margin: 0 0 28px;
    padding: 0;
    font-size: 24px;
    font-weight: 700;
}

.cost-form .cost-payer {
    margin-bottom: 34px;
}

.cost-payer__options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.cost-payer__options label {
    min-width: 0;
    cursor: pointer;
}

.cost-payer__options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cost-payer__options label > span {
    min-height: 78px;
    padding: 15px 17px;
    border: 1px solid #dfe5e1;
    border-radius: 11px;
    background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: border-color .2s, background-color .2s, box-shadow .2s;
}

.cost-payer__options b,
.cost-payer__options small {
    display: block;
}

.cost-payer__options b {
    margin-bottom: 5px;
    font-size: 14px;
}

.cost-payer__options small {
    color: #727d76;
    line-height: 1.35;
}

.cost-payer__options input:checked + span {
    border-color: #00ad52;
    background: #f0faf5;
    box-shadow: 0 0 0 2px rgba(0, 173, 82, .08);
}

.cost-payer__options input:focus-visible + span {
    outline: 2px solid #0879f9;
    outline-offset: 2px;
}

.cost-payer__hint {
    margin: 11px 0 0;
    color: #6f7a73;
    font-size: 12px;
    line-height: 1.45;
}

.cost-customs-code {
    max-width: 390px;
    margin-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cost-customs-code[hidden] {
    display: none !important;
}

.cost-customs-code > span {
    font-size: 13px;
    font-weight: 600;
}

.cost-customs-code input {
    width: 100%;
    height: 50px;
    padding: 0 15px;
    border: 1px solid #dfe5e1;
    border-radius: 10px;
    background: #fff;
    font: inherit;
    letter-spacing: .08em;
}

.cost-customs-code input:focus {
    border-color: #00ad52;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 173, 82, .1);
}

.cost-customs-code small {
    color: #6f7a73;
    font-size: 12px;
    line-height: 1.45;
}

.cost-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 26px 28px;
}

.cost-fields label,
.choice-group {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cost-fields label > span,
.choice-group > span {
    font-size: 13px;
}

.cost-fields select,
.cost-fields input {
    width: 100%;
    height: 54px;
    padding: 0 40px 0 16px;
    border: 1px solid #dfe3e8;
    border-radius: 9px;
    background: #fff;
}

.cost-fields input {
    padding-right: 16px;
}

.cost-fields select:focus,
.cost-fields input:focus {
    border-color: #00aa54;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(0, 170, 84, .1);
}

.cost-manual-parameters {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #bfe6cf;
    border-radius: 14px;
    background: #f5fcf8;
}

.cost-manual-parameters__heading {
    margin-bottom: 17px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cost-manual-parameters__heading strong {
    color: #087b40;
    font-size: 15px;
}

.cost-manual-parameters__heading small {
    color: #6f7a73;
    line-height: 1.45;
}

.cost-manual-parameters [hidden] {
    display: none;
}

.cost-customs-suggestion-note {
    margin-top: -3px;
    color: #6f7a73;
    font-size: 11px;
    line-height: 1.45;
}

.cost-order-modal {
    position: fixed;
    z-index: 1200;
    inset: 0;
    padding: 24px;
    display: grid;
    place-items: center;
}

.cost-order-modal[hidden] {
    display: none;
}

.cost-order-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(8, 18, 14, .64);
    backdrop-filter: blur(4px);
}

.cost-order-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(650px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 32px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .25);
}

.cost-order-modal__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #f1f4f2;
    font-size: 25px;
    cursor: pointer;
}

.cost-order-modal__eyebrow {
    color: #00a651;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.cost-order-modal__dialog h2 {
    margin: 8px 42px 6px 0;
    font-size: 25px;
}

.cost-order-modal__dialog > p {
    margin: 0 0 22px;
    color: #69746e;
}

.cost-order-modal__fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.cost-order-modal label {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.cost-order-modal label > span {
    font-size: 12px;
    font-weight: 600;
}

.cost-order-modal input,
.cost-order-modal select,
.cost-order-modal textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid #dce4df;
    border-radius: 9px;
    background: #fff;
    font: inherit;
}

.cost-order-modal .cost-order-modal__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.cost-order-modal textarea {
    resize: vertical;
}

.cost-order-modal__comment {
    margin-top: 15px;
}

.cost-order-modal__consent {
    margin: 16px 0;
    flex-direction: row !important;
    align-items: flex-start;
}

.cost-order-modal__consent input {
    width: 18px;
    min-height: 18px;
    margin-top: 1px;
}

.cost-order-modal__status {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 9px;
    line-height: 1.45;
}

.cost-order-modal__status.is-success {
    color: #08743d;
    background: #eaf8f0;
}

.cost-order-modal__status.is-error {
    color: #a12b2b;
    background: #fff0f0;
}

body.cost-order-open {
    overflow: hidden;
}

@media (max-width: 620px) {
    .cost-order-modal {
        padding: 10px;
    }
    .cost-order-modal__dialog {
        max-height: calc(100vh - 20px);
        padding: 24px 18px;
        border-radius: 15px;
    }
    .cost-order-modal__fields {
        grid-template-columns: 1fr;
    }
}

.cost-selected-vehicle {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 22px;
    padding: 18px;
    border: 1px solid #e0e6e3;
    border-radius: 14px;
    background: linear-gradient(135deg, #fbfdfc, #f5faf7);
}

.cost-selected-vehicle__photo {
    min-height: 135px;
    border-radius: 11px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #8a949d;
}

.cost-selected-vehicle__photo img {
    width: 100%;
    height: 100%;
    min-height: 135px;
    object-fit: cover;
    object-position: bottom;
}

.cost-selected-vehicle__photo > span {
    font-size: 34px;
}

.cost-selected-vehicle__photo > small {
    margin-top: 6px;
}

.cost-selected-vehicle__heading {
    margin-bottom: 15px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cost-selected-vehicle__heading small {
    color: #77818a;
}

.cost-selected-vehicle__heading h2 {
    margin: 4px 0 0;
    font-size: 22px;
}

.cost-selected-vehicle__heading a {
    flex: 0 0 auto;
    color: #009c4a;
    font-size: 12px;
}

.cost-selected-vehicle__parameters {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 16px;
}

.cost-selected-vehicle__parameters div {
    min-width: 0;
}

.cost-selected-vehicle__parameters dt {
    margin-bottom: 3px;
    color: #7b8490;
    font-size: 11px;
}

.cost-selected-vehicle__parameters dd {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 13px;
    font-weight: 600;
}

.cost-selected-vehicle__mobile-price {
    display: none;
}

@media (max-width: 700px) {
    .cost-selected-vehicle__parameter--desktop,
    .china-price--selected-vehicle {
        display: none;
    }

    .cost-selected-vehicle__mobile-price {
        padding-top: 11px;
        border-top: 1px solid #dce6e0;
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 3px 12px;
    }

    .cost-selected-vehicle__mobile-price > span {
        color: #66736c;
        font-size: 10px;
        font-weight: 700;
    }

    .cost-selected-vehicle__mobile-price > div {
        display: flex;
        align-items: baseline;
        gap: 9px;
        grid-column: 2;
        grid-row: 1 / span 2;
        white-space: nowrap;
    }

    .cost-selected-vehicle__mobile-price strong {
        color: #101714;
        font-size: 18px;
    }

    .cost-selected-vehicle__mobile-price b {
        color: #69756e;
        font-size: 11px;
        font-weight: 600;
    }

    .cost-selected-vehicle__mobile-price small {
        color: #78847d;
        font-size: 8px;
    }
}

.choice-row {
    margin: 27px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}

.segmented-control {
    display: flex;
}

.segmented-control label {
    flex: 1;
}

.segmented-control input {
    position: absolute;
    opacity: 0;
}

.segmented-control label > span {
    height: 52px;
    margin-left: -1px;
    border: 1px solid #dfe3e8;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.segmented-control label:first-child > span {
    margin-left: 0;
    border-radius: 9px 0 0 9px;
}

.segmented-control label:last-child > span {
    border-radius: 0 9px 9px 0;
}

.segmented-control input:checked + span {
    z-index: 1;
    color: #009c4a;
    border-color: #00bf5a;
    background: #f0fbf5;
    position: relative;
}

.china-price {
    margin-top: 28px;
    padding: 20px;
    border: 1px solid #e0e4e8;
    border-radius: 10px;
}

.china-price > span,
.china-price small {
    display: block;
}

.china-price > span {
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 700;
}

.china-price div {
    display: flex;
    align-items: baseline;
    gap: 46px;
}

.china-price strong {
    font-size: 30px;
}

.china-price b {
    color: #68717d;
}

.china-price small {
    margin-top: 13px;
    color: #7b8490;
}

.cost-form .extra-options {
    margin-top: 34px;
}

.cost-summary__heading {
    margin-bottom: 28px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.cost-summary__heading h2 {
    margin: 5px 0 0;
}

.cost-summary__heading > div > span {
    display: inline-flex;
    padding: 5px 9px;
    border-radius: 20px;
    color: #087848;
    background: #eaf8f1;
    font-size: 11px;
    font-weight: 700;
}

.cost-summary__heading > small {
    margin-top: 4px;
    color: #68747c;
    text-align: right;
    font-size: 11px;
}

.cost-calculation-status {
    margin: 13px 0;
    padding: 12px 14px;
    border-radius: 9px;
    font-size: 11px;
    line-height: 1.45;
}

.cost-calculation-status.is-complete {
    color: #087848;
    background: #eaf8f1;
}

.cost-calculation-status.is-warning {
    color: #765711;
    background: #fff6df;
}

.cost-calculation-status strong {
    display: block;
}

.cost-calculation-status ul {
    margin: 6px 0 0;
    padding-left: 17px;
}

.cost-calculation-status li + li {
    margin-top: 4px;
}

.cost-form .cost-delivery-point {
    margin-top: 34px;
}

.cost-delivery-point > label {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 13px;
}

.cost-delivery-point select {
    width: 100%;
    height: 54px;
    padding: 0 40px 0 16px;
    border: 1px solid #dfe3e8;
    border-radius: 9px;
    background: #fff;
}

.cost-delivery-point__note {
    margin-top: 14px;
    padding: 13px 15px;
    border-radius: 9px;
    background: #eef9f3;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #4e6257;
    font-size: 12px;
    line-height: 1.45;
}

.cost-delivery-point__note i {
    color: #00a84f;
    font-style: normal;
    font-weight: 700;
}

.cost-delivery-point__note strong {
    margin-right: 7px;
    color: #17221c;
}

.cost-delivery-point__note em {
    font-style: normal;
}

.cost-delivery-point__empty {
    padding: 16px;
    border-radius: 9px;
    background: #fff6e5;
    color: #80611b;
    font-size: 13px;
}

.extra-options legend {
    margin-bottom: 22px;
}

.extra-options > label {
    min-height: 39px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: 13px;
}

.extra-options input {
    width: 18px;
    height: 18px;
    margin: 0 10px 0 0;
    vertical-align: middle;
    accent-color: #00af54;
}

.extra-options b {
    font-size: 12px;
}

.cost-form__submit {
    width: 100%;
    margin-top: 12px;
}

.cost-summary {
    padding: 30px 28px 22px;
    background: linear-gradient(145deg, #f7fff9, #fff);
}

.cost-summary__rows {
    margin-bottom: 21px;
    border: 1px solid #e1e7e4;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.cost-stage {
    min-height: 94px;
    padding: 16px 16px;
    border-bottom: 1px solid #e5e9e7;
    display: grid;
    grid-template-columns: 48px 30px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
}

.cost-stage:last-child { border-bottom: 0; }

.cost-stage__icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #eef7ff;
    display: grid;
    place-items: center;
}

.cost-stage__icon img {
    width: 27px;
    height: 27px;
    object-fit: contain;
}

.cost-stage--blue .cost-stage__icon img {
    filter: brightness(0) saturate(100%) invert(38%) sepia(92%) saturate(1922%) hue-rotate(190deg) brightness(91%) contrast(101%);
}

.cost-stage--green .cost-stage__icon img {
    filter: brightness(0) saturate(100%) invert(42%) sepia(76%) saturate(1235%) hue-rotate(108deg) brightness(85%) contrast(103%);
}

.cost-stage--purple .cost-stage__icon img {
    filter: brightness(0) saturate(100%) invert(31%) sepia(70%) saturate(1788%) hue-rotate(249deg) brightness(84%) contrast(95%);
}

.cost-stage__number {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    color: #087ee6;
    background: #e9f4ff;
    display: grid;
    place-items: center;
    font-size: 14px;
    font-weight: 800;
}

.cost-stage__heading strong,
.cost-stage__heading small {
    display: block;
}

.cost-stage__heading strong {
    font-size: 15px;
    line-height: 1.3;
}

.cost-stage__heading small {
    margin-top: 5px;
    color: #66727d;
    font-size: 11px;
    line-height: 1.4;
}

.cost-stage > b {
    font-size: 18px;
    white-space: nowrap;
}

.cost-stage--green .cost-stage__icon,
.cost-stage--green .cost-stage__number {
    color: #00a956;
    background: #eaf8f0;
}

.cost-stage--green > b { color: #00934b; }

.cost-stage--purple .cost-stage__icon,
.cost-stage--purple .cost-stage__number {
    color: #8c3bd1;
    background: #f5ecfc;
}

.cost-stage__details,
.cost-stage__included {
    grid-column: 1 / -1;
    margin-top: 2px;
    padding: 13px 15px;
    border-radius: 10px;
    background: linear-gradient(100deg, #f8fbf9, #fff);
}

.cost-stage__details div {
    min-height: 28px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
}

.cost-stage__details div::before,
.cost-stage__included span::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #00ad58;
    flex: 0 0 6px;
}

.cost-stage__details div span {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 8px;
}

.cost-stage__details div span::after {
    content: '';
    height: 1px;
    border-top: 1px dotted #c5cec9;
    flex: 1;
}

.cost-stage__details div b { white-space: nowrap; }

.cost-stage__included {
    color: #63506e;
    background: linear-gradient(100deg, #faf5fd, #fff);
    display: grid;
    gap: 7px;
    font-size: 10px;
}

.cost-stage__included strong {
    color: #7c2fbd;
    font-size: 11px;
}

.cost-stage__included span {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cost-stage__included span::before { background: #9947d7; }

.cost-row {
    min-height: 62px;
    border-bottom: 1px solid #e3eae6;
    display: grid;
    grid-template-columns: 32px 1fr auto;
    align-items: center;
    gap: 10px;
}

.cost-row__icon {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cost-row__icon img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.cost-row strong,
.cost-row small {
    display: block;
}

.cost-row strong {
    font-size: 13px;
    font-weight: 500;
}

.cost-row small {
    margin-top: 3px;
    color: #68717d;
    font-size: 10px;
}

.cost-row > b {
    font-size: 14px;
    white-space: nowrap;
}

.cost-total {
    padding: 19px 18px;
    border: 1px solid #dce3df;
    border-radius: 10px;
    background: #fff;
    transition: background .25s;
}

.cost-total.is-updated {
    background: #dff8ea;
}

.cost-total span,
.cost-total strong {
    display: block;
}

.cost-total span {
    margin-bottom: 6px;
    font-size: 16px;
    font-weight: 700;
}

.cost-total strong {
    font-size: 31px;
}

.cost-total span em {
    font-style: normal;
}

.cost-total > small {
    margin: -2px 0 8px;
    color: #68747c;
    display: block;
    font-size: 10px;
}

.cost-summary__date,
.cost-summary__hint {
    color: #747d88;
    font-size: 11px;
}

.cost-summary__date {
    margin: 13px 10px 8px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 13px;
}

.cost-summary__eur {
    padding-left: 13px;
    border-left: 1px solid #dce3df;
    color: #64716a;
}

.cost-summary__eur strong {
    color: #008f49;
}

.cost-summary__hint {
    margin: 0 10px;
    line-height: 1.6;
}

.cost-summary__actions {
    margin-top: 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.privacy-note {
    margin: 18px 0 0;
    color: #7b8490;
    text-align: center;
    font-size: 10px;
}

.cost-composition {
    padding: 0 0 65px;
}

.composition-panel {
    padding: 35px 25px 28px;
    border: 1px solid #e2e6ea;
    border-radius: 16px;
    background: #fff;
}

.composition-panel > h2 {
    margin: 0 0 27px;
    font-size: 27px;
}

.composition-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.composition-grid article {
    min-height: 125px;
    padding: 20px;
    border: 1px solid #e2e6ea;
    border-radius: 11px;
    display: flex;
    align-items: flex-start;
    gap: 17px;
}

.composition-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background-size: 32px !important
}

.composition-icon--car {
    background: #eaf4ff url("/assets/img/icons/car-price_b.png") center center / cover no-repeat;
}

.composition-icon--dlvry {
    background: #e7f9ef url("/assets/img/icons/delivery-in-china.png") center center / cover no-repeat;
}

.composition-icon--dlvry-ship {
    background: #e7f9ef url("/assets/img/icons/delivery-ship.png") center center / cover no-repeat;
}

.composition-icon--taxes {
    background: #fff3e4 url("/assets/img/icons/taxes_r.png") center center / cover no-repeat;
}

.composition-icon--customs {
    background: #fff3e4 url("/assets/img/icons/customs_r.png") center center / cover no-repeat;
}

.composition-icon--dlvry-toyou {
    background: #f4e9f9 url("/assets/img/icons/delivery-to-you_r.png") center center / cover no-repeat;
}

.composition-grid h3 {
    margin: 2px 0 8px;
    font-size: 15px;
}

.composition-grid p {
    margin: 0;
    color: #68717d;
    font-size: 12px;
    line-height: 1.6;
}

.fixed-price-banner {
    min-height: 98px;
    margin-top: 26px;
    padding: 18px 26px;
    border-radius: 10px;
    color: #096cba;
    display: flex;
    align-items: center;
    gap: 20px;
    background: linear-gradient(100deg, #edf8ff, #f7fcff);
}

.fixed-price-banner span {
    width: 50px;
    height: 50px;
    background: url("/assets/img/icons/fixed-prices_b.png") no-repeat 1% center / 50px;
}

.fixed-price-banner strong {
    font-size: 16px;
}

.fixed-price-banner p {
    margin: 6px 0 0;
    color: #516270;
    font-size: 12px;
}

.fixed-price-banner > b {
    margin-left: auto;
    font-size: 38px;
}

@media (max-width: 1100px) {
    .cost-layout {
        grid-template-columns: 1fr 1fr;
    }

    .cost-form,
    .cost-summary {
        padding: 24px 20px;
    }

    .cost-fields,
    .choice-row {
        gap: 20px 15px;
    }
}

@media (max-width: 900px) {
    .cost-hero {
        min-height: 540px;
    }

    .cost-hero__inner {
        min-height: 540px;
    }

    .cost-layout {
        grid-template-columns: 1fr;
    }

    .cost-summary {
        position: static;
    }

    .composition-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {
    .cost-hero {
        min-height: 600px;
        display: none;
    }

    .cost-hero__inner {
        min-height: 600px;
        padding-top: 25px;
    }

    .cost-hero h1 {
        font-size: 38px;
    }

    .cost-hero__content > p {
        font-size: 15px;
    }

    .cost-hero__content > p br {
        display: none;
    }

    .cost-hero__features {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .cost-hero__features article {
        min-height: 58px;
        padding: 9px 13px;
    }

    .cost-form legend,
    .cost-summary h2 {
        font-size: 21px;
    }

    .cost-fields,
    .choice-row {
        grid-template-columns: 1fr;
    }

    .cost-payer__options {
        grid-template-columns: 1fr;
    }

    .cost-selected-vehicle {
        grid-template-columns: 140px minmax(0, 1fr);
    }

    .cost-selected-vehicle__parameters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .choice-row {
        margin: 22px 0;
    }

    .china-price div {
        flex-direction: column;
        gap: 5px;
    }

    .extra-options > label {
        min-height: 50px;
    }

    .extra-options > label > span {
        max-width: 70%;
    }

    .cost-summary__actions {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .composition-panel {
        padding: 25px 16px 20px;
    }

    .composition-panel > h2 {
        font-size: 23px;
    }

    .composition-grid {
        grid-template-columns: 1fr;
    }

    .fixed-price-banner > b {
        display: none;
    }
}

@media (max-width: 580px) {
    .cost-stage {
        padding: 14px 12px;
        grid-template-columns: 42px 27px minmax(0, 1fr);
        gap: 8px;
    }

    .cost-stage__icon {
        width: 40px;
        height: 40px;
    }

    .cost-stage__icon img {
        width: 24px;
        height: 24px;
    }

    .cost-stage__number {
        width: 25px;
        height: 25px;
        font-size: 12px;
    }

    .cost-stage > b {
        grid-column: 3;
        font-size: 17px;
    }

    .cost-stage__details,
    .cost-stage__included {
        grid-column: 1 / -1;
        padding: 11px;
    }

    .cost-stage__details div {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
        padding: 6px 0;
        border-bottom: 1px dotted #d4dcd7;
    }

    .cost-stage__details div:last-child { border-bottom: 0; }
    .cost-stage__details div span::after { display: none; }
    .cost-stage__details div b { padding-left: 14px; }

    .cost-selected-vehicle {
        grid-template-columns: 1fr;
    }

    .cost-selected-vehicle__photo {
        min-height: 190px;
    }

    .cost-selected-vehicle__photo img {
        min-height: 190px;
        max-height: 230px;
    }

    .fixed-price-banner {
        gap: 10px;
        padding: 14px;
    }

    .fixed-price-banner span {
        width: 72px;
        height: 30px;
        background: url("/assets/img/icons/fixed-prices_b.png") no-repeat 1% center / 30px;
    }
}

@media (max-width: 430px) {
    .cost-hero h1 {
        font-size: 33px;
    }

    .cost-form,
    .cost-summary {
        padding: 22px 15px;
    }

    .cost-summary__heading {
        flex-direction: column;
    }

    .cost-summary__heading > small {
        text-align: left;
    }

    .segmented-control label > span {
        padding: 0 8px;
        font-size: 12px;
    }

    .cost-selected-vehicle {
        padding: 12px;
    }

    .cost-selected-vehicle__heading {
        flex-direction: column;
    }

    .cost-selected-vehicle__parameters {
        grid-template-columns: 1fr 1fr;
    }

    .cost-row {
        grid-template-columns: 26px 1fr;
        padding: 10px 0;
    }

    .cost-row > b {
        grid-column: 2;
    }

    .cost-total strong {
        font-size: 27px;
    }
}

/* Compact calculator for phones */
@media (max-width: 700px) {
    .cost-hero,
    .cost-hero__inner {
        min-height: 410px;
    }

    .cost-hero,
    .cost-page.moto .cost-hero {
        background-position: 70% 100%;
        background-size: auto 72%;
    }

    .cost-hero__inner {
        padding-top: 175px;
        padding-bottom: 12px;
        display: flex;
        align-items: flex-end;
    }

    .cost-hero__content {
        width: 100%;
        padding: 16px 14px 13px;
        border: 1px solid rgba(255, 255, 255, .75);
        border-radius: 17px;
        background: rgba(255, 255, 255, .91);
        box-shadow: 0 8px 28px rgba(24, 40, 32, .08);
        backdrop-filter: blur(7px);
    }

    .cost-hero h1 {
        margin-bottom: 7px;
        font-size: clamp(28px, 8.5vw, 35px);
        line-height: 1.05;
    }

    .cost-hero__content > p {
        font-size: 11px;
        line-height: 1.4;
    }

    .cost-hero__features {
        margin-top: 12px;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
    }

    .cost-hero__features article {
        min-width: 0;
        min-height: 51px;
        padding: 6px;
        border-radius: 9px;
        justify-content: center;
        gap: 5px;
    }

    .cost-hero__features .feature-icon {
        font-size: 21px;
        flex: 0 0 auto;
    }

    .cost-hero__features .feature-icon--fixedprice {
        width: 23px;
        height: 23px;
        background-size: 21px;
    }

    .cost-hero__features strong {
        margin: 0;
        font-size: 8px;
        line-height: 1.2;
    }

    .cost-hero__features small {
        display: none;
    }

    .cost-workspace {
        padding: 14px 0 26px;
    }

    .cost-layout {
        gap: 10px;
    }

    .cost-form,
    .cost-summary {
        padding: 15px 12px;
        border-radius: 13px;
        box-shadow: none;
    }

    .cost-form fieldset + fieldset {
        margin-top: 20px;
    }

    .cost-form legend,
    .cost-summary h2 {
        margin-bottom: 13px;
        font-size: 18px;
        line-height: 1.2;
    }

    .cost-form .cost-payer {
        margin-bottom: 20px;
    }

    .cost-payer__options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .cost-payer__options label > span {
        min-height: 61px;
        padding: 10px;
        border-radius: 9px;
    }

    .cost-payer__options b {
        font-size: 11px;
    }

    .cost-payer__options small,
    .cost-payer__hint {
        font-size: 8px;
        line-height: 1.35;
    }

    .cost-selected-vehicle {
        padding: 8px;
        grid-template-columns: 105px minmax(0, 1fr);
        gap: 10px;
        border-radius: 11px;
    }

    .cost-selected-vehicle__photo,
    .cost-selected-vehicle__photo img {
        min-height: 92px;
        max-height: 112px;
        border-radius: 8px;
    }

    .cost-selected-vehicle__heading {
        margin-bottom: 8px;
        flex-direction: column;
        gap: 3px;
    }

    .cost-selected-vehicle__heading small,
    .cost-selected-vehicle__heading a {
        font-size: 8px;
    }

    .cost-selected-vehicle__heading h2 {
        margin-top: 2px;
        font-size: 15px;
        line-height: 1.15;
    }

    .cost-selected-vehicle__parameters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px 8px;
    }

    .cost-selected-vehicle__parameters dt {
        font-size: 9px;
    }

    .cost-selected-vehicle__parameters dd {
        font-size: 11px;
    }

    .cost-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .cost-fields label,
    .cost-delivery-point > label {
        min-width: 0;
        gap: 5px;
        font-size: 9px;
    }

    .cost-fields select,
    .cost-fields input,
    .cost-delivery-point select {
        height: 43px;
        padding-left: 10px;
        font-size: 10px;
    }

    .cost-manual-parameters {
        margin-top: 11px;
        padding: 11px;
        border-radius: 10px;
    }

    .cost-manual-parameters__heading strong {
        font-size: 12px;
    }

    .cost-manual-parameters__heading small,
    .cost-customs-suggestion-note {
        font-size: 8px;
    }

    .choice-row {
        margin: 15px 0;
        gap: 10px;
    }

    .choice-group > span {
        font-size: 9px;
    }

    .segmented-control label > span {
        min-height: 39px;
        padding: 0 5px;
        font-size: 10px;
    }

    .china-price {
        margin-top: 13px;
        padding: 12px;
        border-radius: 10px;
    }

    .china-price > span,
    .china-price small {
        font-size: 8px;
    }

    .china-price div {
        margin-top: 5px;
        flex-direction: row;
        align-items: baseline;
        justify-content: space-between;
    }

    .china-price strong {
        font-size: 20px;
    }

    .china-price b {
        font-size: 11px;
    }

    .cost-form .cost-delivery-point {
        margin-top: 20px;
    }

    .cost-delivery-point__note {
        margin-top: 8px;
        padding: 9px 10px;
        font-size: 9px;
    }

    .cost-form__submit {
        min-height: 45px;
        margin-top: 10px;
        font-size: 12px;
    }

    .cost-summary__heading {
        margin-bottom: 13px;
        flex-direction: row;
        align-items: flex-end;
    }

    .cost-summary__heading > div > span,
    .cost-summary__heading > small {
        font-size: 8px;
    }

    .cost-summary__heading h2 {
        margin: 4px 0 0;
    }

    .cost-summary__rows {
        margin-bottom: 10px;
        border-radius: 11px;
    }

    .cost-stage {
        min-height: 0;
        padding: 11px 9px;
        grid-template-columns: 34px 20px minmax(0, 1fr) auto;
        gap: 6px;
    }

    .cost-stage__icon {
        width: 33px;
        height: 33px;
    }

    .cost-stage__icon img {
        width: 20px;
        height: 20px;
    }

    .cost-stage__number {
        width: 20px;
        height: 20px;
        font-size: 9px;
    }

    .cost-stage__heading strong {
        font-size: 11px;
    }

    .cost-stage__heading small {
        margin-top: 2px;
        font-size: 8px;
    }

    .cost-stage > b {
        grid-column: auto;
        font-size: 12px;
    }

    .cost-stage__details,
    .cost-stage__included {
        padding: 8px 9px;
        border-radius: 8px;
    }

    .cost-stage__details div {
        min-height: 23px;
        padding: 3px 0;
        flex-direction: row;
        align-items: center;
        font-size: 8px;
    }

    .cost-stage__details div span::after {
        display: block;
    }

    .cost-stage__details div b {
        padding-left: 0;
    }

    .cost-stage__included {
        gap: 4px;
        font-size: 8px;
    }

    .cost-stage__included strong {
        font-size: 9px;
    }

    .cost-total {
        padding: 12px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 2px 9px;
    }

    .cost-total span {
        margin: 0;
        font-size: 11px;
    }

    .cost-total > small {
        margin: 0;
        grid-column: 1;
        font-size: 8px;
    }

    .cost-total strong {
        grid-column: 2;
        grid-row: 1 / 3;
        font-size: clamp(19px, 5.8vw, 25px);
        white-space: nowrap;
    }

    .cost-summary__date {
        margin: 9px 2px 6px;
        font-size: 8px;
        gap: 3px 7px;
    }

    .cost-summary__eur {
        padding-left: 7px;
    }

    .cost-summary__hint {
        margin: 0 2px;
        font-size: 8px;
        line-height: 1.45;
    }

    .cost-summary__actions {
        margin-top: 13px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .cost-summary__actions .btn {
        min-height: 43px;
        padding: 0 7px;
        font-size: 10px;
    }

    .privacy-note {
        margin-top: 10px;
        font-size: 8px;
    }

    .cost-composition {
        display: none;
    }
}

@media (max-width: 380px) {
    .cost-selected-vehicle {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    .cost-selected-vehicle__photo,
    .cost-selected-vehicle__photo img {
        min-height: 82px;
    }

    .cost-stage {
        grid-template-columns: 30px 18px minmax(0, 1fr);
    }

    .cost-stage > b {
        grid-column: 3;
        padding-top: 2px;
    }

    .cost-total {
        grid-template-columns: 1fr;
    }

    .cost-total strong {
        grid-column: 1;
        grid-row: auto;
        margin-top: 5px;
    }
}

@media print {
    .site-header,
    .cost-hero,
    .cost-form,
    .cost-composition,
    .site-footer,
    .cost-summary__actions {
        display: none !important;
    }

    .cost-page,
    .cost-workspace {
        background: #fff;
    }

    .cost-layout {
        display: block;
    }

    .cost-summary {
        box-shadow: none;
    }
}
