/* Itinerary timeline: the time rail stays readable while cards remain wide. */
.ai-guide__timeline {
    position: relative;
    isolation: isolate;
}
.ai-guide__icon-image[src*="place-marker"],
.ai-guide__icon-image[src*="walk.svg"],
.ai-guide__icon-image[src*="breakfast"],
.ai-guide__icon-image[src*="lunch"],
.ai-guide__icon-image[src*="dinner"],
.ai-guide__icon-image[src*="departure"],
.ai-guide__icon-image[src*="return"],
.ai-guide__icon-image[src*="bus.svg"] {
    filter: none !important;
}
.ai-guide__timeline::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 10px;
    bottom: 18px;
    left: 66px;
    border-left: 2px dashed #f0c6b5;
}
.ai-guide__timeline-time {
    z-index: 1;
}
.ai-guide__timeline-time::after {
    display: none !important;
}
.ai-guide__timeline-node {
    position: absolute;
    z-index: 3;
    top: 8px;
    right: -7px;
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 5px rgba(66, 56, 49, .16);
}
.ai-guide__timeline-node .ai-guide__icon-image {
    width: 21px;
    height: 21px;
}
.ai-guide__timeline-node--place {
    background: #fff;
}
.ai-guide__timeline-node--meal {
    top: 9px;
    width: 25px;
    height: 25px;
    border-color: #fff3ed;
    background: #fff3ed;
}
.ai-guide__timeline-node--meal .ai-guide__icon-image {
    width: 17px;
    height: 17px;
}
.ai-guide__meal-stop-card > .ai-guide__icon-tile {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
}
.ai-guide__meal-stop-card > .ai-guide__icon-tile .ai-guide__icon-image {
    width: 20px;
    height: 20px;
}
.ai-guide__segment summary {
    position: relative;
}
.ai-guide__segment-icon {
    display: grid;
    flex: 0 0 27px;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #fff0e8;
}
.ai-guide__segment-icon .ai-guide__icon-image {
    width: 18px;
    height: 18px;
}
.ai-guide__segment-details {
    border-top: 1px solid #edf0f2;
}
.ai-guide__journey-direction-icon {
    border: 1px solid rgba(40, 116, 87, .14);
}
.ai-guide__journey-leg + .ai-guide__journey-leg .ai-guide__journey-direction-icon {
    border-color: rgba(241, 107, 61, .16);
}
.ai-guide__journey-option-title .ai-guide__icon-image {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
}
@media (max-width: 540px) {
    .ai-guide__timeline::before { left: 39px; }
    .ai-guide__timeline-node { right: -7px; }
    .ai-guide__timeline-node--meal { right: -7px; }
}
