/* ==========================================================================
   GS Venue Blocks — base.css
   Venue Layout v3 base: page wrapper, section dividers, eyebrow + h2, prose
   styling for block output, footer strip, responsive base.
   Every block stylesheet depends on this one.
   ========================================================================== */

/* ── PAGE WRAPPER ── */
.gs-venue {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #111;
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 24px;
    line-height: 1.6;
}
.gs-venue *,
.gs-venue *::before,
.gs-venue *::after { box-sizing: border-box; }

/* ── SECTION WRAPPERS (emitted by section wrapper around each acf/gs-* block) ── */
.gs-venue__section {
    padding: 40px 0;
    border-bottom: 1px solid #e0e0e0;
}
.gs-venue__section:last-child { border-bottom: none; }

/* Eyebrow label — small-caps above each h2 */
.gs-venue__section-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #000;
    margin: 0 0 8px;
}

/* Section h2 title */
.gs-venue__section-title {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #000;
    margin: 0 0 24px;
}

/* ── BLOCK PROSE (inside .gs-venue__body, i.e. Gutenberg block output) ── */
.gs-venue__body p {
    font-size: 15px;
    color: #111;
    line-height: 1.7;
    margin: 0 0 16px;
}
.gs-venue__body ul,
.gs-venue__body ol {
    font-size: 15px;
    color: #111;
    margin: 0 0 16px 20px;
}
.gs-venue__body a {
    color: #111;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.gs-venue__body a:hover { color: #000; }
.gs-venue__body h3 {
    font-size: 17px;
    font-weight: 700;
    color: #000;
    margin: 24px 0 8px;
}

/* Generic prose wrapper used by some block callbacks */
.gs-venue__text { font-size: 15px; color: #111; line-height: 1.7; }
.gs-venue__text p { margin: 0 0 16px; }
.gs-venue__text p:last-child { margin-bottom: 0; }

/* ── FOOTER STRIP ── */
.gs-venue__footer {
    padding: 32px 0;
    border-top: 1px solid #e0e0e0;
    margin-top: 8px;
}
.gs-venue__footer-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-size: 13px;
    color: #111;
}
.gs-venue__footer-row a { color: #111; text-decoration: underline; }

/* ── RESPONSIVE BASE ── */
@media (max-width: 640px) {
    .gs-venue { padding: 0 16px; }
    .gs-venue__section { padding: 32px 0; }
}
