/* Day-by-day — Figma 8173:31634. */
.dod-day-by-day {
    --day-by-day-gold: #eab359;
    --day-by-day-violet: #491b48;
    --day-by-day-rail-width: 40px;
    --day-by-day-rail-gap: 24px;
    position: relative;
    padding: 56px var(--journey-page-gutter, 24px);
    background-size: cover;
    background-position: center;
    font-family: 'Avenir', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.dod-day-by-day > .container { width: 100%; max-width: 1280px; padding-inline: 0; }
.dod-day-by-day__inner { display: flex; flex-direction: column; gap: 40px; width: 100%; max-width: 845px; }
.dod-day-by-day .dod-day-by-day__pre-title { margin: 0; color: #7f521f; font-size: 1em; font-weight: 400; line-height: 1.5; text-transform: uppercase; }
.dod-day-by-day .dod-day-by-day__title { margin: 0; color: var(--day-by-day-violet); font-family: 'ogg-light', 'ogg-regular', serif; font-size: 3.5em; font-weight: 300; line-height: 1.2; overflow-wrap: anywhere; }
.dod-day-by-day__title strong { font-family: 'ogg-bold', serif; }

.dod-day-by-day__timeline { position: relative; width: 100%; }
.dod-day-by-day__rail { position: absolute; inset-block: 0; inset-inline-start: 0; width: var(--day-by-day-rail-width); pointer-events: none; }
.dod-day-by-day__marker { position: sticky; top: calc(50vh - 17px); display: flex; justify-content: center; height: 34px; }
.dod-day-by-day__marker img { display: block; flex: 0 0 34px; }
.dod-day-by-day__trace { position: absolute; inset-block-start: 17px; inset-inline-start: calc(50% - .5px); width: 1px; height: var(--day-by-day-progress, 0px); background: var(--day-by-day-gold); }

.dod-day-by-day__days { margin: 0; padding: 0; padding-inline-start: calc(var(--day-by-day-rail-width) + var(--day-by-day-rail-gap)); list-style: none; }
.dod-day-by-day__day { padding: 0; margin: 0; }
.dod-day-by-day__day + .dod-day-by-day__day { margin-top: 32px; }
.dod-day-by-day__day-content { box-sizing: border-box; padding-bottom: 60px; }
.dod-day-by-day__day-heading { display: block; list-style: none; cursor: pointer; }
.dod-day-by-day__day-heading::-webkit-details-marker { display: none; }
.dod-day-by-day__day-heading::marker { content: ''; }
.dod-day-by-day__day-heading:focus-visible { outline: 2px solid var(--day-by-day-violet); outline-offset: 6px; }
.dod-day-by-day__day-heading .dod-day-by-day__day-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.dod-day-by-day__day-title > span:first-child { min-width: 0; }
.dod-day-by-day__toggle { flex: 0 0 24px; color: inherit; font-family: 'Avenir', sans-serif; font-weight: 400; text-align: center; }
.dod-day-by-day__toggle::before { content: '+'; }
.dod-day-by-day__day-content[open] > .dod-day-by-day__day-heading .dod-day-by-day__toggle::before { content: '\2212'; }
.dod-day-by-day__day-content.is-closing > .dod-day-by-day__day-heading .dod-day-by-day__toggle::before { content: '+'; }
.dod-day-by-day__day-content > .dod-day-by-day__activities { margin-top: 24px; }
.dod-day-by-day .dod-day-by-day__day-label { margin: 0; color: #444; font-size: 1em; font-weight: 400; line-height: 1.5; }
.dod-day-by-day .dod-day-by-day__day-title { margin: 0; color: #481c48; font-family: 'ogg-bold', serif; font-size: 1.5em; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.dod-day-by-day__activities { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.dod-day-by-day__activity { display: grid; grid-template-columns: 160px minmax(0, 1fr); align-items: start; gap: 12px; }
.dod-day-by-day__activity--no-time { grid-template-columns: minmax(0, 1fr); }
.dod-day-by-day__time { color: #444; opacity: .8; overflow-wrap: anywhere; }
.dod-day-by-day .dod-day-by-day__description { margin: 0; color: #000; font-size: 1em; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
.dod-day-by-day__divider { display: block; max-width: 100%; height: 1px; }

/* Optional private journey layout; Standard keeps its existing geometry. */
.dod-day-by-day--image-right { padding: 120px max(24px, calc((100vw - 1280px) / 2)); background-color: #eedecf; }
.dod-day-by-day--image-right > .container { display: grid; grid-template-columns: minmax(0, 761fr) minmax(0, 411fr); gap: 108px; align-items: start; }
.dod-day-by-day--image-right .dod-day-by-day__inner { max-width: none; }
.dod-day-by-day.dod-day-by-day--image-right .dod-day-by-day__title { font-size: 56px; }
.dod-day-by-day--image-right .dod-day-by-day__day-title { font-family: 'ogg-medium', serif; font-weight: 500; }
.dod-day-by-day--image-right .dod-day-by-day__day-content { padding-bottom: 32px; }
.dod-day-by-day--image-right .dod-day-by-day__day-content > .dod-day-by-day__activities { margin-top: 12px; }
.dod-day-by-day__image { position: sticky; top: 120px; }
.dod-day-by-day__image img { display: block; width: 100%; aspect-ratio: 569/730; object-fit: cover; }
@media (max-width: 991px) and (min-width: 768px) {
    .dod-day-by-day--image-right > .container { gap: 40px; grid-template-columns: 1.7fr 1fr; }
    .dod-day-by-day.dod-day-by-day--image-right .dod-day-by-day__title { font-size: 44px; }
}

@media (min-width: 992px) {
    .dod-itinerary-content > .dod-day-by-day { padding-inline: 0; }
    .dod-day-by-day .dod-day-by-day__title { font-size: 2.75em; }
}

@media (max-width: 991px) {
    .dod-day-by-day { padding-inline: 24px; }
}

@media (max-width: 767px) {
    .dod-day-by-day.dod-day-by-day--image-right { padding: 40px 16px; --day-by-day-rail-gap: 12px; font-size: 14px; }
    .dod-day-by-day--image-right > .container { display: block; }
    .dod-day-by-day.dod-day-by-day--image-right .dod-day-by-day__title { font-size: 36px; }
    .dod-day-by-day--image-right .dod-day-by-day__day-title { font-size: 18px; }
    .dod-day-by-day--image-right .dod-day-by-day__inner { gap: 40px; }
    .dod-day-by-day--image-right .dod-day-by-day__day-content { padding-bottom: 24px; }
    .dod-day-by-day--image-right .dod-day-by-day__day + .dod-day-by-day__day { margin-top: 24px; }
    .dod-day-by-day__image { display: none; }
    .dod-day-by-day { padding-block: 40px; --day-by-day-rail-gap: 16px; }
    .dod-day-by-day__inner { gap: 32px; }
    .dod-day-by-day .dod-day-by-day__title { font-size: 2.5em; }
    .dod-day-by-day__activity { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .dod-day-by-day__activities { gap: 16px; }
    .dod-day-by-day__day-content { padding-bottom: 40px; }
}
