.content-post-section-nav { top: 0; z-index: 1020; }
.content-post-section-nav .nav-link { border-bottom: 2px solid #fff; }
.content-post-section-nav .nav-link.active { border-bottom-color: #000; }
@media (min-width: 1024px) {
    body.content-post-page:not(.has-home-hero) { padding-top: 0; }
    body.content-post-page .vpt-header { position: relative; left: auto; transform: none; }
}

.content-post-hero-title {
    margin: 0 0 1rem;
    text-align: left !important;
    line-height: 1.25;
}

.content-post-meta-description {
    margin: 0 0 1rem;
    color: var(--vpt-text);
    line-height: 1.5;
}

/* One 2:1 thumbnail column: hero width = (6W + 4g) / 7. */
.content-post-hero-media #slideShowPostVPT {
    --post-gallery-gap: 16px;
    --post-gallery-hero-column: calc(85.714285714% + 9.142857143px);
}

.content-post-summary-layout {
    --post-gallery-gap: 16px;
    --post-hero-column: calc(60% + 6.4px);
}

.content-post-gallery-grid {
    display: grid;
    grid-template-columns: var(--post-gallery-hero-column) minmax(0, 1fr);
    gap: var(--post-gallery-gap);
    align-items: start;
}

.content-post-gallery-grid .slide-hero,
.content-post-gallery-grid .slide-thumbnails,
.content-post-gallery-grid .content-post-thumbnail {
    min-width: 0;
}

.content-post-gallery-grid .slide-hero > button,
.content-post-gallery-grid .slide-hero > button > img,
.content-post-gallery-grid .slide-thumb-wrapper,
.content-post-gallery-grid .slide-thumb-wrapper img {
    display: block;
    width: 100%;
    aspect-ratio: 2 / 1;
}

.content-post-gallery-grid .slide-hero > button > img,
.content-post-gallery-grid .slide-thumb-wrapper img {
    height: auto;
    object-fit: cover;
}

.content-post-gallery-grid .slide-hero {
    position: relative;
}

.content-post-gallery-grid .slide-thumb-wrapper {
    height: auto;
    cursor: pointer;
    background: var(--vpt-dark-bg, #111);
}

.content-post-gallery-grid .slide-thumb-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .4);
    opacity: 1;
    pointer-events: none;
    transition: opacity .2s ease;
}

.content-post-gallery-grid .slide-thumb-wrapper:hover::after,
.content-post-gallery-grid .slide-thumb-wrapper:focus-visible::after,
.content-post-gallery-grid .slide-thumb-wrapper[aria-pressed="true"]::after {
    opacity: 0;
}

.content-post-gallery-grid .slide-thumb-wrapper[aria-pressed="true"] {
    outline: 2px solid var(--bs-primary-bg);
    outline-offset: -2px;
}

.content-post-gallery-grid button:focus-visible {
    outline: 2px solid var(--bs-primary-bg);
    outline-offset: 2px;
}

.content-post-thumbnail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--post-gallery-gap);
}

.content-post-summary-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem var(--post-gallery-gap);
}

.content-post-summary-layout > .content-post-intro,
.content-post-summary-layout > .content-post-trip-block {
    min-width: 0;
    width: 100%;
    max-width: none;
    margin: 0;
}

.content-post-intro-heading,
.content-post-intro-copy {
    display: contents;
}

.content-post-trip-block .trip-calendar-container {
    width: 100%;
    margin: 0;
}

.content-post-trip-block .trip-calendar-panel {
    margin: 0;
    padding: 0;
    background: transparent;
}

.content-post-trip-block .trip-list-area {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.content-post-trip-block .trip-list-area:has(> :first-child:nth-last-child(2)) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 52rem;
    margin-inline: auto;
}

.content-post-trip-block .trip-list-area:has(> :only-child[data-trip-row]) {
    grid-template-columns: minmax(0, 1fr);
    max-width: 60rem;
    margin-inline: auto;
}

.content-post-trip-block .trip-list-area > .trip-list-entry {
    min-width: 0;
}

.content-post-trip-block .trip-list-area:has(> :first-child:nth-last-child(2)) {
    row-gap: 1rem;
}

.content-post-trip-block .trip-compact-main {
    min-width: 0;
}

.content-post-trip-block .trip-compact-price {
    margin-top: .3rem;
    color: #171717;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.25;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .content-post-summary-layout:has(> .content-post-intro + .content-post-trip-block):not(:has(.trip-list-area > :nth-child(3))) {
        grid-template-columns: var(--post-hero-column) minmax(0, 1fr);
    }

    .content-post-summary-layout:has(> .content-post-intro + .content-post-trip-block):not(:has(.trip-list-area > :nth-child(3))) .trip-list-area {
        grid-template-columns: minmax(0, 1fr);
        max-width: none;
        margin: 0;
    }

}

@media (min-width: 992px) {
    .content-post-summary-layout:has(> .content-post-trip-block .trip-list-area > :only-child) > .content-post-intro {
        display: contents;
    }

    .content-post-summary-layout:has(> .content-post-trip-block .trip-list-area > :only-child) .content-post-intro-heading {
        display: block;
        grid-column: 1;
        grid-row: 1;
        min-width: 0;
    }

    .content-post-summary-layout:has(> .content-post-trip-block .trip-list-area > :only-child) > .content-post-trip-block {
        grid-column: 2;
        grid-row: 1;
        align-self: center;
    }

    .content-post-summary-layout:has(> .content-post-trip-block .trip-list-area > :only-child) .content-post-intro-copy {
        display: block;
        grid-column: 1 / -1;
        grid-row: 2;
        min-width: 0;
    }

    .content-post-summary-layout:has(> .content-post-intro + .content-post-trip-block):not(:has(.trip-list-area > :nth-child(3))) {
        grid-template-columns: minmax(0, 1fr) minmax(0, 35%);
    }

    .content-post-summary-layout:has(> .content-post-intro + .content-post-trip-block):not(:has(.trip-list-area > :nth-child(3))) .trip-list-area {
        grid-template-columns: minmax(0, 1fr);
        max-width: none;
        margin: 0;
    }

}

@media (max-width: 991.98px) {
    .content-post-gallery-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: .65rem;
    }

    .content-post-thumbnail-grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: clamp(4px, 1.5vw, 8px);
    }

    .content-post-trip-block .trip-list-area {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .content-post-hero-title {
        width: 100%;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
    }
    .content-post-hero-title[data-fit="0"] { font-size: 1.5rem !important; }
    .content-post-hero-title[data-fit="1"] { font-size: 1.3rem !important; }
    .content-post-hero-title[data-fit="2"] { font-size: 1.1rem !important; }
    .content-post-hero-title[data-fit="3"] { font-size: .95rem !important; }
    .content-post-hero-title[data-fit="4"] { font-size: .8rem !important; }
    .content-post-hero-title[data-fit="5"] { font-size: .7rem !important; }
    .content-post-hero-title[data-fit="6"] { font-size: .6rem !important; }
    .content-post-hero-title[data-fit="7"] { font-size: .5rem !important; }
    .content-post-gallery-grid .slide-thumbnails {
        display: none;
    }

    .content-post-trip-block .trip-list-area,
    .content-post-trip-block .trip-list-area:has(> :first-child:nth-last-child(2)) {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 1rem;
    }

}

#mapModal .dialog-body { padding: 0; }
#mapModal .map-container { position: relative; width: 100%; height: 410px; overflow: hidden; }
#mapModal .map-container iframe { position: absolute; top: -70px; left: 0; width: 100%; height: 480px; border: 0; }
@media (max-width: 768px) {
    #mapModal { width: calc(100% - 24px); max-width: calc(100% - 24px); }
    #mapModal .map-container { height: min(65dvh, 560px); }
    #mapModal .map-container iframe { top: -70px; height: calc(100% + 70px); }
}
