/* Locations page + the homepage "our two venues" split section */

/* --- locations page ---------------------------------------------------- */

#locationsMain .location-page-section {
    padding-top: 3rem;
    /* anchored links (#slug) land below the fixed header */
    scroll-margin-top: 7rem;
}
/* clear break between the venues */
#locationsMain .location-page-section + .location-page-section {
    margin-top: 4rem;
    padding-top: 4rem;
    border-top: 2px solid var(--color4, #e4e4e4);
}

/* eyebrow nav above the page title */
#locationsMain .location-jumplinks {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.75rem;
    margin-bottom: 0.75rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

/* stacked mobile layout: image leads, give it room before the heading */
@media (max-width: 767px) {
    #locationsMain .location-figure { margin-bottom: 1.5rem; }
}

#locationsMain .location-tagline {
    font-size: 1.15rem;
    font-style: italic;
    margin-bottom: 0.25rem;
}
.location-capacity {
    color: var(--color2, #F28A2E);
    font-weight: 600;
    letter-spacing: 0.05em;
}

#locationsMain .location-lead-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0.75rem;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/* full-bleed carousel band, same proportions as the homepage's #gallerySection;
   the negative margin breaks it out of the section's container */
#locationsMain .location-gallery-band {
    position: relative;
    width: 100vw;
    height: 50vh;
    margin: 2.5rem 0 0 calc(50% - 50vw);
    background: var(--color1, #232327);
}
/* no footer bar on these carousels — the images get the full band height
   (2rem bottom breathing room mirrors the component's top padding) */
#locationsMain .location-gallery-band .gallery-footer { display: none; }
#locationsMain .location-gallery-band .gallery-image-container { height: calc(100% - 2rem); }
#locationsMain .location-gallery-band .gallery-image-container img {
    user-select: none;
    -webkit-user-drag: none;
}

/* --- homepage split section -------------------------------------------- */

#locationsIntro { padding-top: 1rem; }

#locationsIntro .locations-blurb {
    max-width: 44rem;
    margin-bottom: 1.5rem;
}

#locationsIntro .location-half {
    padding: 1.5rem clamp(1rem, 4vw, 3rem);
}
/* vertical divider echoing the hero's split */
@media (min-width: 768px) {
    #locationsIntro .location-half + .location-half {
        border-left: 2px solid var(--color4, #e4e4e4);
    }
}

#locationsIntro .location-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
}

#locationsIntro .location-desc {
    max-width: 30rem;
    margin: 0 auto 0.5rem;
}
