/* /tour: static, wrapping grids; cards remain available without JavaScript. */
.vl-landing--grid .tour-grid-wrap,
.vl-landing--grid .tour-row .vn-row-head {
    width: 100%;
    max-width: 1200px;
    min-width: 0;
    margin-inline: auto;
    padding-inline: 18px;
}

.tour-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.tour-card-grid > * {
    width: 100%;
    min-width: 0;
    max-width: none;
    overflow-wrap: anywhere;
}

.tour-card-grid .vl-offer-media {
    height: auto;
    aspect-ratio: 3 / 2;
}

.tour-card-grid .vl-offer-foot {
    flex-wrap: wrap;
}

.tour-row {
    padding-bottom: 28px;
}

.tour-row-title {
    margin: 0;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.tour-row.vn-row--dark .tour-row-title,
.tour-row.vn-row--dark .tour-more > summary {
    color: #fff;
}

.tour-card-grid .vn-card-title {
    font-size: 1rem;
    line-height: 1.35;
}

.tour-card-grid .vn-card-meta,
.tour-card-grid .vn-card-price {
    font-size: .875rem;
}

.tour-more > summary {
    width: fit-content;
    max-width: 100%;
    margin: 20px auto 0;
    padding: 12px 18px;
    border: 1px solid currentColor;
    border-radius: var(--vl-radius-field);
    color: var(--vl-navy);
    font-weight: 700;
    cursor: pointer;
    overflow-wrap: anywhere;
}

.tour-more > summary:focus-visible {
    outline: 3px solid var(--vl-lime);
    outline-offset: 3px;
}

.tour-more[open] > summary {
    margin-bottom: 20px;
}

@media (min-width: 576px) {
    .tour-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .tour-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .vl-landing--grid .tour-grid-wrap,
    .vl-landing--grid .tour-row .vn-row-head {
        padding-inline: 24px;
    }
}
