/* Single tour WordPress bridge: keep dynamic editor content inside the source-template visual system. */
.tour-single-page {
    --single-tour-ink: #171717;
    --single-tour-text: #5d5d5d;
    --single-tour-surface: #f7f7f5;
    --single-tour-warm: #fffaf5;
    --single-tour-border: #e8e8e4;
}

.tour-single-page .tour-overview-copy,
.tour-single-page .tour-editor-content,
.tour-single-page .tour-itinerary-intro {
    color: var(--single-tour-text);
    font-size: 1rem;
    line-height: 1.7;
}

.tour-single-page .tour-overview-copy > :last-child,
.tour-single-page .tour-editor-content > :last-child,
.tour-single-page .tour-itinerary-intro > :last-child,
.tour-single-page .tour-trip-detail-item > div > :last-child {
    margin-bottom: 0;
}

.tour-single-page .tour-editor-content img {
    height: auto;
    border-radius: 7px;
}

.tour-single-page .tour-editor-content a:not(.btn) {
    color: #b90201;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.tour-single-page .tour-editor-content a:not(.btn):hover {
    color: #f10100;
}

/* Single tour route: preserve the source sequence while allowing long ACF values to scroll safely. */
.tour-single-page .tour-route-locations {
    overflow-x: auto;
    scrollbar-color: var(--single-tour-border) transparent;
}

.tour-single-page .tour-route-locations > * {
    flex: 0 0 auto;
}

/* Single tour itinerary: support ACF slogans, detail icons and day galleries. */
.tour-single-page .tour-itinerary-intro {
    margin-bottom: 1.5rem;
}

.tour-single-page .tour-itinerary-slogan {
    margin: 0 0 1rem;
    color: var(--single-tour-ink);
    font-family: "Metromedium", "Roboto", sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
}

.tour-single-page .tour-itinerary-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 1.5rem;
}

.tour-single-page .tour-itinerary-gallery a,
.tour-single-page .tour-itinerary-gallery img {
    display: block;
    width: 100%;
    border-radius: 7px;
}

.tour-single-page .tour-itinerary-gallery a {
    overflow: hidden;
}

.tour-single-page .tour-itinerary-gallery img {
    aspect-ratio: 4 / 3;
    height: 100%;
    object-fit: cover;
}

/* Single tour packing: normalize legacy ACF lists without overriding the source inclusions design. */
.tour-single-page .tour-packing-card .tour-editor-content ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.tour-single-page .tour-packing-card .tour-editor-content li {
    position: relative;
    margin-bottom: 0.75rem;
    padding-left: 1.65rem;
}

.tour-single-page .tour-packing-card .tour-editor-content li::before {
    position: absolute;
    top: 0.16rem;
    left: 0;
    color: #f10100;
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    content: "\f058";
}

/* Single tour legacy lodging: align the former editor field with the source lodging card. */
.tour-single-page .tour-legacy-lodging {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(220px, 0.7fr);
    gap: 1.5rem;
    align-items: center;
}

.tour-single-page .tour-legacy-lodging > img {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 7px;
    object-fit: cover;
}

/* Single tour gallery: use the one registered mediano crop consistently. */
.tour-single-page .tour-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.tour-single-page .tour-photo-grid a,
.tour-single-page .tour-photo-grid img {
    display: block;
    width: 100%;
    border-radius: 7px;
}

.tour-single-page .tour-photo-grid a {
    overflow: hidden;
}

.tour-single-page .tour-photo-grid img {
    aspect-ratio: 4 / 3;
    height: 100%;
    object-fit: cover;
}

/* Single tour interaction: maintain visible keyboard focus across the custom navigation and media. */
.tour-single-page :is(.tour-floating-link, .tour-floating-book, .tour-itinerary-expand, .tour-itinerary-gallery a, .tour-photo-grid a):focus-visible {
    outline: 3px solid rgba(241, 1, 0, 0.34);
    outline-offset: 3px;
}

@media (max-width: 767.98px) {
    /* Single tour mobile: stack image-heavy ACF blocks without changing the source component styling. */
    .tour-single-page .tour-itinerary-gallery,
    .tour-single-page .tour-photo-grid {
        grid-template-columns: 1fr;
    }

    .tour-single-page .tour-legacy-lodging {
        grid-template-columns: 1fr;
    }
}
