.tas-shell .tas-booking-price-bar {
    display: grid;
    grid-template-columns: minmax(0, max-content) 220px minmax(0, 1fr);
    gap: 4px 20px;
    align-items: center;
}
.tas-price-overview { min-width: 0; align-content: center; }
.tas-shell .tas-booking-price-bar > small { grid-column: 3; max-width: none; text-align: right; }
.tas-price-terms { display: grid; gap: 5px; }
.tas-shell .tas-booking-price-bar .tas-price-terms > span { font-size: 14px; line-height: 1.45; font-weight: 400; text-transform: none; color: var(--tas-muted); }
.tas-shell .tas-booking-price-bar .tas-price-terms > .tas-price-vat { font-size: 11px; line-height: 1.4; color: #625a43; }
.tas-shell .tas-price-journey {
    --tas-journey-duration: 12s;
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 280 / 136;
    align-self: center;
    isolation: isolate;
}
.tas-shell .tas-price-journey > .tas-journey-art {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 280 / 136;
    overflow: hidden;
    pointer-events: none;
}
.tas-shell .tas-price-journey .tas-journey-art [class^="tas-journey-"] {
    animation: var(--tas-motion-name) var(--tas-journey-duration, 12s) ease-in-out infinite !important;
    animation-play-state: running !important;
    transform-box: view-box;
}
.tas-journey-person { --tas-motion-name: tas-journey-person; transform-origin: 0 0; }
.tas-journey-bounce { --tas-motion-name: tas-journey-bounce; transform-origin: 0 0; }
.tas-journey-shadow { --tas-motion-name: tas-journey-shadow; transform-origin: 0 4px; }
.tas-journey-arm-left { --tas-motion-name: tas-journey-arm-left; transform-origin: 0 0; }
.tas-journey-arm-right { --tas-motion-name: tas-journey-arm-right; transform-origin: 0 0; }
.tas-journey-leg-left { --tas-motion-name: tas-journey-leg-left; transform-origin: -4px -15px; }
.tas-journey-leg-right { --tas-motion-name: tas-journey-leg-right; transform-origin: 4px -15px; }
.tas-journey-card { --tas-motion-name: tas-journey-card; opacity: 0; }
.tas-journey-taxi { --tas-motion-name: tas-journey-taxi; }
.tas-journey-chassis { --tas-motion-name: tas-journey-chassis; transform-origin: 74px 43px; }
.tas-journey-wheel { --tas-motion-name: tas-journey-wheel; transform-origin: 0 0; }
.tas-journey-door { --tas-motion-name: tas-journey-door; transform-origin: 0 0; }
.tas-journey-rider { --tas-motion-name: tas-journey-rider; opacity: 0; }
.tas-journey-sparkles { --tas-motion-name: tas-journey-sparkles; transform-origin: 45px 45px; }
.tas-journey-terminal { --tas-motion-name: tas-journey-terminal; opacity: 0; }
.tas-journey-receipt { --tas-motion-name: tas-journey-receipt; opacity: 0; }
.tas-journey-contactless { --tas-motion-name: tas-journey-contactless; opacity: 0; }
.tas-journey-speed { --tas-motion-name: tas-journey-speed; opacity: 0; }
.tas-journey-road { --tas-motion-name: tas-journey-road; }
.tas-pay-more { color: #415b4a; border-style: dashed; gap: 2px; }
.tas-pay-more > span { font-size: 14px; line-height: 1; font-weight: 500; }

@keyframes tas-journey-person {
    0%, 3% { opacity: 0; transform: translateX(0); }
    6%, 25% { opacity: 1; transform: translateX(0); }
    34%, 47% { opacity: 1; transform: translateX(24px); }
    54% { opacity: 1; transform: translateX(75px); }
    61% { opacity: 0; transform: translate(111px, -11px) scale(.7); }
    94% { opacity: 0; transform: translate(111px, -11px) scale(.7); }
    95%, 100% { opacity: 0; transform: translateX(0); }
}
@keyframes tas-journey-bounce {
    0%, 6%, 16%, 26%, 100% { transform: translateY(0) scale(1); }
    8%, 18% { transform: translateY(2px) scale(1.06, .94); }
    11%, 21% { transform: translateY(-20px) rotate(-6deg); }
    14%, 24% { transform: translateY(0) scale(1.05, .95); }
    29%, 32%, 50%, 53% { transform: translateY(-2px); }
    30.5%, 33.5%, 51.5%, 54.5% { transform: translateY(0); }
}
@keyframes tas-journey-shadow {
    0%, 3%, 60%, 100% { opacity: 0; }
    6%, 16%, 26% { opacity: .18; transform: scaleX(1); }
    11%, 21% { opacity: .08; transform: scaleX(.6); }
    34%, 47% { opacity: .18; transform: translateX(24px); }
    54% { opacity: .1; transform: translateX(75px); }
}
@keyframes tas-journey-arm-left {
    0%, 6%, 27%, 100% { transform: rotate(0deg); }
    11%, 21% { transform: rotate(142deg); }
    16% { transform: rotate(15deg); }
    30%, 51% { transform: rotate(28deg); }
    34%, 55% { transform: rotate(-25deg); }
}
@keyframes tas-journey-arm-right {
    0%, 6%, 27%, 50%, 100% { transform: rotate(0deg); }
    11%, 21% { transform: rotate(-140deg); }
    16% { transform: rotate(-15deg); }
    35%, 45% { transform: rotate(-85deg); }
    55% { transform: rotate(-60deg); }
}
@keyframes tas-journey-leg-left {
    0%, 6%, 27%, 35%, 48%, 57%, 100% { transform: rotate(0deg); }
    11%, 21% { transform: rotate(22deg); }
    29%, 33%, 50%, 54% { transform: rotate(24deg); }
    31%, 52%, 56% { transform: rotate(-24deg); }
}
@keyframes tas-journey-leg-right {
    0%, 6%, 27%, 35%, 48%, 57%, 100% { transform: rotate(0deg); }
    11%, 21% { transform: rotate(-22deg); }
    29%, 33%, 50%, 54% { transform: rotate(-24deg); }
    31%, 52%, 56% { transform: rotate(24deg); }
}
@keyframes tas-journey-card { 0%, 29%, 49%, 100% { opacity: 0; } 33%, 45% { opacity: 1; } }
@keyframes tas-journey-taxi {
    0%, 9% { transform: translateX(180px); }
    26%, 69% { transform: translateX(0); }
    72% { transform: translateX(-4px); }
    88%, 100% { transform: translateX(300px); }
}
@keyframes tas-journey-chassis {
    0%, 25%, 32%, 68%, 76%, 100% { transform: translateY(0) rotate(0deg); }
    27%, 71% { transform: translateY(1px) rotate(-1deg); }
    29%, 73% { transform: translateY(-1px) rotate(1deg); }
}
@keyframes tas-journey-wheel {
    0%, 9% { transform: rotate(0deg); }
    26%, 69% { transform: rotate(-540deg); }
    88%, 100% { transform: rotate(540deg); }
}
@keyframes tas-journey-door {
    0%, 46%, 68%, 100% { transform: skewY(0) scaleX(1); }
    52%, 61% { transform: skewY(-18deg) scaleX(-.8); }
}
@keyframes tas-journey-rider { 0%, 57%, 94%, 100% { opacity: 0; } 62%, 90% { opacity: 1; } }
@keyframes tas-journey-sparkles {
    0%, 5%, 29%, 100% { opacity: 0; transform: scale(.7); }
    11%, 21% { opacity: 1; transform: scale(1.05); }
    16% { opacity: .3; transform: scale(.9); }
}
@keyframes tas-journey-terminal { 0%, 23%, 58%, 100% { opacity: 0; } 29%, 51% { opacity: 1; } }
@keyframes tas-journey-receipt { 0%, 40%, 56%, 100% { opacity: 0; transform: translateY(14px); } 46%, 51% { opacity: 1; transform: translateY(0); } }
@keyframes tas-journey-contactless { 0%, 35%, 39%, 43%, 48%, 100% { opacity: 0; } 37%, 41%, 45% { opacity: 1; } }
@keyframes tas-journey-speed { 0%, 70%, 91%, 100% { opacity: 0; transform: translateX(0); } 75% { opacity: .65; } 85% { opacity: 0; transform: translateX(40px); } }
@keyframes tas-journey-road { 0%, 70% { stroke-dashoffset: 0; } 89%, 100% { stroke-dashoffset: 72; } }

@media (max-width: 900px) {
    .tas-shell .tas-booking-price-bar { grid-template-columns: minmax(0, 1fr) 220px; }
    .tas-shell .tas-booking-price-bar > small { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 560px) {
    .tas-shell .tas-booking-price-bar { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 16px; }
    .tas-price-overview { text-align: center; }
    .tas-shell .tas-price-journey { width: 100%; max-width: 220px; justify-self: center; }
    .tas-shell .tas-booking-price-bar strong { font-size: 23px; line-height: 1.25; }
    .tas-shell .tas-booking-price-bar > small { text-align: center; }
}
@media (max-width: 360px) {
    .tas-shell .tas-booking-price-bar { padding: 12px; }
    .tas-shell .tas-booking-price-bar strong { font-size: 21px; }
}
