.payment-info-page {
        color: #454649;
}

.payment-document .payment-intro .legal-meta {
        margin-bottom: 0;
}

/* Region tariff catalogue (templates/partials/price-catalog.php). */
.price-catalog__nav {
        display: flex;
        gap: 8px;
        margin: 0 0 22px;
        padding: 0 0 6px;
        overflow-x: auto;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        scrollbar-color: #cfaa77 #eeeeef;
}

/* Doubled class: outranks the shared .legal-document link colour. */
.price-catalog .price-catalog__tab {
        display: flex;
        flex: 0 0 auto;
        min-width: 128px;
        min-height: 44px;
        padding: 9px 18px;
        flex-direction: column;
        justify-content: center;
        color: #454649;
        background: #fff;
        border: 1px solid #dedee2;
        text-decoration: none;
        scroll-snap-align: start;
        transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

.price-catalog .price-catalog__tab:hover,
.price-catalog .price-catalog__tab:focus,
.price-catalog .price-catalog__tab.is-active {
        color: #0f0f18;
        border-color: #cfaa77;
        background: #eeeeef;
        text-decoration: none;
}

.price-catalog .price-catalog__tab.is-active {
        box-shadow: inset 0 -2px #cfaa77;
}

.price-catalog__tab:focus-visible {
        outline: 2px solid #cfaa77;
        outline-offset: 3px;
}

.price-catalog__tab-city {
        font-size: 15px;
        line-height: 20px;
        font-weight: 500;
}

.price-catalog__tab-country {
        margin-top: 1px;
        color: #828486;
        font-size: 12px;
        line-height: 16px;
        font-weight: 300;
}

.price-region {
        scroll-margin-top: 110px;
}

.price-region + .price-region {
        margin-top: 36px;
}

.price-catalog.is-enhanced .price-region + .price-region {
        margin-top: 0;
}

.price-catalog.is-enhanced .price-region:not(.is-active) {
        display: none;
}

.price-region__header {
        margin-bottom: 12px;
}

.price-region__title {
        margin: 0 0 4px;
        color: #0f0f18;
        font-size: 20px;
        line-height: 28px;
        font-weight: 400;
}

.price-catalog.is-enhanced .price-region__title {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
}

.price-region__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 2px 18px;
        margin: 0;
        color: #828486;
        font-size: 13px;
        line-height: 20px;
        font-weight: 300;
}

.price-table {
        width: 100%;
        margin: 0;
        background: #fff;
        border: 1px solid #dedee2;
        border-top: 2px solid #cfaa77;
        border-collapse: collapse;
}

.price-table thead tr {
        background: #0f0f18;
}

.price-table thead th {
        padding: 12px 16px;
        color: #fff;
        background: #0f0f18;
        font-size: 14px;
        line-height: 18px;
        font-weight: 400;
        text-align: right;
        vertical-align: bottom;
}

.price-table thead th:first-child {
        text-align: left;
}

.price-table__column,
.price-table__code {
        display: block;
}

.price-table__code {
        margin-top: 2px;
        color: #c5c8d0;
        font-size: 12px;
        line-height: 16px;
        font-weight: 300;
}

.price-table tbody tr + tr {
        border-top: 1px solid #eeeeef;
}

.price-table tbody th,
.price-table tbody td {
        padding: 12px 16px;
        vertical-align: middle;
}

.price-table tbody th {
        text-align: left;
        font-weight: 400;
}

.price-table__vehicle {
        display: flex;
        gap: 14px;
        align-items: center;
}

.price-table__vehicle img {
        flex: 0 0 auto;
        width: 92px;
        height: 42px;
        object-fit: contain;
}

.price-table__model,
.price-table__detail {
        display: block;
}

.price-table__model {
        color: #0f0f18;
        font-size: 15px;
        line-height: 20px;
}

.price-table__detail {
        margin-top: 2px;
        color: #828486;
        font-size: 13px;
        line-height: 18px;
        font-weight: 300;
}

.price-table td {
        color: #0f0f18;
        text-align: right;
        white-space: nowrap;
}

.price-table td strong {
        display: block;
        font-size: 16px;
        line-height: 22px;
        font-weight: 500;
}

.price-table td small {
        display: block;
        color: #828486;
        font-size: 12px;
        line-height: 16px;
        font-weight: 300;
}

.price-table td.is-empty {
        color: #b9bbbf;
}

.price-region__extras {
        margin-top: 16px;
        padding: 14px 16px;
        background: #fff;
        border: 1px solid #dedee2;
}

.price-region__extras h4 {
        margin: 0 0 6px;
        color: #828486;
        font-size: 12px;
        line-height: 16px;
        font-weight: 500;
        letter-spacing: .06em;
        text-transform: uppercase;
}

/* Element + class selectors outrank the shared legal list indentation. */
.price-catalog ul.price-extras {
        margin: 0;
        padding: 0;
        list-style: none;
}

.price-extras li {
        display: flex;
        gap: 16px;
        align-items: center;
        justify-content: space-between;
        margin: 0;
        padding: 8px 0 0;
}

.price-catalog .price-extras li + li {
        margin-top: 8px;
        border-top: 1px solid #eeeeef;
}

.price-extras__name {
        color: #0f0f18;
        font-size: 15px;
        line-height: 20px;
}

.price-extras__price {
        text-align: right;
        white-space: nowrap;
}

.price-extras__price strong {
        display: block;
        color: #0f0f18;
        font-size: 16px;
        line-height: 22px;
        font-weight: 500;
}

.price-extras__price small {
        display: block;
        color: #828486;
        font-size: 12px;
        line-height: 16px;
        font-weight: 300;
}

.rates-section__actions {
        display: flex;
        gap: 22px;
        align-items: center;
        margin-top: 30px;
}

.rates-section__actions .button {
        min-width: 190px;
        margin: 0;
        text-align: center;
}

.rates-section__payment-link {
        color: #454649;
        font-weight: 400;
        text-decoration: underline;
        text-underline-offset: 4px;
}

.rates-section__payment-link:hover,
.rates-section__payment-link:focus {
        color: #3c46dc;
}

.payment-details {
        padding: 34px 36px;
        background: #eeeeef;
}

.payment-document .payment-contact {
        margin-top: 0;
}

/* On /price/ the tariff block is followed by the price policy document. */
.price-rates {
        margin-bottom: 56px;
}

.payment-details__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 48px;
}

.payment-details__section h3 {
        margin-bottom: 14px;
        color: #0f0f18;
        font-size: 20px;
        line-height: 28px;
        font-weight: 400;
        text-wrap: pretty;
}

.payment-details__section p {
        max-width: 66ch;
        margin-bottom: 16px;
        color: #454649;
        font-size: 15px;
        line-height: 1.72;
        overflow-wrap: anywhere;
        text-wrap: pretty;
}

.payment-details__section p:last-child {
        margin-bottom: 0;
}

.payment-details__section strong {
        display: block;
        margin-bottom: 4px;
        color: #0f0f18;
        font-weight: 500;
}

.payment-details__section a {
        font-weight: 400;
}

.payment-details__help {
        padding-top: 2px;
}

.payment-details__notice {
        display: flex;
        gap: 14px;
        align-items: center;
        margin-top: 34px;
        padding-top: 28px;
        border-top: 1px solid #d2d2d6;
}

.payment-details__notice img {
        flex: 0 0 auto;
        margin-top: 0;
}

.payment-details__notice p {
        margin: 0;
}

.payment-contact {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 40px;
        align-items: center;
        margin-top: 30px;
        padding: 30px 34px;
        color: #454649;
        background: #fff;
        border: 1px solid #dedee2;
        border-top-color: #cfaa77;
}

.payment-contact h3 {
        margin-bottom: 6px;
        color: #0f0f18;
        font-size: 20px;
        line-height: 28px;
        font-weight: 400;
        text-wrap: pretty;
}

.payment-contact p {
        margin: 0;
        color: #454649;
        text-wrap: pretty;
}

.payment-contact__links {
        color: #0f0f18;
        text-align: right;
        white-space: nowrap;
}

.payment-contact__links a {
        color: #0f0f18;
        font-weight: 400;
}

.payment-contact__links a:hover,
.payment-contact__links a:focus {
        color: #3c46dc;
}

.visually-hidden {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
}

@media (max-width: 767px) {
        .price-rates {
                margin-bottom: 36px;
        }

        .price-catalog__nav {
                margin-right: -20px;
                margin-bottom: 16px;
                padding-right: 20px;
        }

        .price-catalog .price-catalog__tab {
                min-width: 0;
                padding: 8px 14px;
        }

        /* One block per vehicle: the cells list their own column label. */
        .price-table,
        .price-table tbody,
        .price-table tr,
        .price-table tbody th,
        .price-table td {
                display: block;
        }

        .price-table {
                border: 0;
                background: transparent;
        }

        .price-table thead {
                position: absolute;
                width: 1px;
                height: 1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
        }

        /* Services form a two-column grid of tiles under the vehicle name. */
        .price-table tbody tr {
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                background: #fff;
                border: 1px solid #dedee2;
                border-top: 2px solid #cfaa77;
        }

        .price-table tbody tr + tr {
                margin-top: 12px;
                border-top: 2px solid #cfaa77;
        }

        .price-table tbody th {
                grid-column: 1 / -1;
                padding: 12px 14px;
                background: #eeeeef;
        }

        .price-table__vehicle img {
                width: 72px;
                height: 33px;
        }


        .price-table tbody td {
                padding: 10px 14px 11px;
                text-align: left;
                white-space: normal;
                border-top: 1px solid #eeeeef;
        }

        .price-table tbody td:nth-of-type(even) {
                border-left: 1px solid #eeeeef;
        }

        .price-table tbody td:last-child:nth-of-type(odd) {
                grid-column: 1 / -1;
        }

        .price-table td::before {
                content: attr(data-label);
                display: block;
                margin-bottom: 2px;
                color: #828486;
                font-size: 12px;
                line-height: 16px;
                font-weight: 300;
        }

        .price-table td strong,
        .price-table td small {
                display: inline;
                white-space: nowrap;
        }

        .price-table td small {
                margin-left: 6px;
        }

        .rates-section__actions {
                flex-wrap: wrap;
                gap: 16px 20px;
                margin-top: 22px;
        }

        .rates-section__actions .button {
                flex: 1 1 190px;
        }

        .payment-details {
                padding: 28px 22px;
        }

        .payment-details__notice {
                align-items: flex-start;
        }

        .payment-details__notice img {
                margin-top: 2px;
        }

        .payment-details__grid {
                grid-template-columns: 1fr;
                gap: 28px;
        }

        .payment-details__section + .payment-details__section {
                padding-top: 26px;
                border-top: 1px solid #d2d2d6;
        }

        .payment-contact {
                grid-template-columns: 1fr;
                gap: 22px;
                padding: 28px 24px;
        }

        .payment-contact__links {
                text-align: left;
        }
}

@media (min-width: 768px) and (max-width: 991px) {
        .price-table__vehicle img {
                display: none;
        }

        .price-table thead th,
        .price-table tbody th,
        .price-table tbody td {
                padding-right: 12px;
                padding-left: 12px;
        }

        .payment-details__grid {
                grid-template-columns: 1fr;
                gap: 32px;
        }

        .payment-contact {
                grid-template-columns: 1fr;
                gap: 22px;
                align-items: start;
        }

        .payment-contact__links {
                text-align: left;
        }
}

@media (max-width: 420px) {
		.payment-contact {
			margin-right: -20px;
			margin-left: -20px;
			padding-right: 16px;
			padding-left: 16px;
		}

}

@media (prefers-reduced-motion: reduce) {
        .price-catalog__tab {
                transition: none;
        }
}

@media print {
        .price-catalog .price-region,
        .price-catalog.is-enhanced .price-region:not(.is-active) {
                display: block;
                break-inside: avoid;
                margin-top: 24px;
        }

        .price-catalog.is-enhanced .price-region__title {
                position: static;
                width: auto;
                height: auto;
                margin: 0 0 4px;
                overflow: visible;
                clip: auto;
        }

        .price-table__vehicle img,
        .payment-contact {
                display: none;
        }

        .price-table thead th {
                color: #0f0f18;
                background: transparent;
        }

        .payment-details {
                padding: 0;
                background: transparent;
        }
}
