/* Club page: native WordPress blocks; shared colours and fonts come from the theme. */
.club-page { overflow: clip; }
.club-hero { padding-block: var(--hero-padding-start, 64px) var(--hero-padding-end, 80px); }
.club-hero-columns,.club-story-columns,.club-music-columns,.club-bar-columns,.club-visit-columns {
    gap: clamp(var(--space-8), 6vw, 84px);
    margin-bottom: 0;
}
.club-title {
    font: 700 clamp(3.25rem, calc(5.6vw * var(--bn-text-scale, 1)), 5.25rem)/1.1 var(--display);
    letter-spacing: 0;
    margin: 0 0 30px;
}
.club-intro { max-width: 450px; color: var(--prose-ink); font-size: var(--text-lead); line-height: var(--leading-relaxed); margin-bottom: var(--space-8); }
.club-actions { gap: 14px; align-items: center; }
.club-hero-columns > .wp-block-column:last-child { align-self: flex-start; }
/* Match the two-line home heading and its note space; longer content can grow. */
@media (min-width: 782px) {
    .club-title { min-block-size: var(--hero-title-slot, 0px); }
    .club-intro { min-block-size: calc(var(--text-prose) * var(--leading-relaxed) * 3); }
}
@media (min-width: 901px) {
    .club-hero-columns > .wp-block-column:first-child { padding-block-end: var(--hero-note-space, 0px); }
}
/* In narrow columns the story link occupies the space of the home page note. */
@media (min-width: 782px) and (max-width: 900px) {
    .club-hero .club-actions { display: grid; justify-items: start; row-gap: calc(var(--hero-note-space, 41px) - 24px); }
    .club-hero .club-actions .club-button-quiet { display: flex; }
    .club-actions .club-button-quiet .wp-block-button__link { display: inline-flex; align-items: center; min-block-size: 24px; padding: 0; }
}
/* Existing native block buttons use the shared button base. */
.club-actions .wp-block-button__link {
    display: inline-block; border-radius: 0; padding: 15px 22px;
    font-family: var(--sans); font-weight: 600; line-height: var(--leading-control);
}
.club-exterior { margin: 0; position: relative; }
.club-exterior img {
    width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: 50% 55%;
    border: 1px solid var(--line);
}
.club-photo-note { color: var(--gold); font-size: var(--text-xs); letter-spacing: .12em; margin: 13px 0 0; text-align: right; }
.club-facts { border-block: 1px solid var(--line); padding-block: 29px; }
.club-facts-columns { gap: 30px; margin-bottom: 0; }
.club-facts-columns>.wp-block-column+ .wp-block-column { border-left: 1px solid var(--line); padding-left: var(--space-8); }
.club-fact-value { font: 700 clamp(var(--heading-lg), calc(4vw * var(--bn-text-scale, 1)), 3.25rem)/1.15 var(--display); color: var(--gold); margin-bottom: 7px; }
.club-fact-label { font-size: var(--text-sm); color: var(--muted); margin: 0; }
.club-story,.club-music,.club-visit { padding-block: 78px; }
.club-story-label { position: sticky; top: calc(var(--bn-header-height, 83px) + var(--bn-admin-offset, 0px) + 24px); }
.club-page h2 { font-family: var(--display); font-weight: var(--weight-display); font-size: clamp(2.125rem, calc(3.7vw * var(--bn-text-scale, 1)), 3.0625rem); letter-spacing: 0; line-height: 1.13; margin-bottom: var(--space-7); }
.club-page h3 { font-size: 1.6875rem; line-height: 1.25; margin: var(--space-9) 0 var(--space-4); color: var(--text); }
.club-copy p { margin-bottom: 23px; }
.club-copy p:last-child { margin-bottom: 0; }
.club-copy .eyebrow { color: var(--gold); font-size: var(--text-xs); margin-bottom: 22px; }
.club-copy h2 { color: var(--text); }
.club-music { border-top: 1px solid var(--line); }
.club-text-link { font-size: var(--text-control); font-weight: 600; margin-top: 27px; }
.club-text-link a { color: var(--gold); }
.club-listening { padding: clamp(var(--space-6), 3vw, var(--space-10)); background: var(--panel); border-top: 3px solid var(--gold); }
.club-listening h2 { font-size: clamp(var(--heading-md), calc(3.1vw * var(--bn-text-scale, 1)), 2.625rem); }
.club-listening h3 { font-size: var(--heading-sm); }
.club-listening p:not(.eyebrow) { font-size: var(--text-base); line-height: var(--leading-relaxed); color: var(--prose-ink); }
.club-listening p:last-child { margin-bottom: 0; }
.club-bar-section { padding-block: 68px; background: var(--panel); border-block: 1px solid var(--line); }
.club-bar-section h2 { font-size: clamp(2.375rem, calc(4.2vw * var(--bn-text-scale, 1)), 3.5625rem); }
.club-visit { padding-bottom: 88px; }
.club-visit-contact { padding: var(--space-7) 34px; border: 1px solid var(--line); font-size: var(--text-base); line-height: var(--leading-relaxed); }
.club-visit-contact h3 { margin-top: 0; }
.club-visit-contact p { margin-bottom: 17px; }
.club-visit-contact p:last-child { margin-bottom: 0; }
.club-visit-contact a { color: var(--gold); overflow-wrap: anywhere; }
.club-visit-contact .venue-hours { font-size: var(--text-control); }

@media (max-width: 1050px) and (min-width: 782px) {
    .club-hero-columns,.club-music-columns,.club-story-columns,.club-bar-columns,.club-visit-columns { gap: var(--space-8); }
    .club-title { font-size: clamp(2.5rem, calc(5.6vw * var(--bn-text-scale, 1)), 3.625rem); }
    .club-actions { gap: 6px; }
    .club-exterior img { aspect-ratio: 1; }
    .club-intro { font-size: var(--text-base); }
}
@media (max-width: 781px) {
    .club-hero-columns,.club-story-columns,.club-music-columns,.club-bar-columns,.club-visit-columns { gap: var(--space-7); }
    .club-title { font-size: clamp(2.8125rem, calc(10vw * var(--bn-text-scale, 1)), 4.0625rem); margin-bottom: 22px; }
    .club-intro { font-size: var(--text-prose); line-height: var(--leading-relaxed); margin-bottom: 26px; }
    .club-exterior img { aspect-ratio: 3 / 2; }
    .club-facts { padding-block: 23px; }
    .club-facts-columns { gap: 15px; }
    .club-facts-columns>.wp-block-column+ .wp-block-column { padding-left: 15px; }
    .club-fact-value { font-size: clamp(1.9375rem, calc(6vw * var(--bn-text-scale, 1)), 2.5625rem); }
    .club-fact-label { font-size: var(--text-xs); line-height: var(--leading-body); }
    .club-story,.club-music,.club-visit { padding-block: 44px; }
    .club-story-label { position: static; }
    .club-page h2 { font-family: var(--display); font-weight: var(--weight-display); font-size: 2.3125rem; margin-bottom: 22px; }
    .club-page h3 { font-size: 1.5625rem; margin-top: var(--space-7); }
    .club-copy { font-size: var(--text-base); line-height: var(--leading-relaxed); }
    .club-listening { padding: var(--space-7); }
    .club-bar-section { padding-block: 44px; }
    .club-bar-section h2 { font-size: 2.625rem; }
    .club-visit-contact { padding: var(--space-6); }
}

/* Reflow for the shared text-size setting. */
:root[data-bn-large-text="true"] .club-page .wp-block-columns { flex-direction: column; }
:root[data-bn-large-text="true"] .club-page .wp-block-column { flex-basis: auto !important; min-width: 0; width: 100%; }
:root[data-bn-large-text="true"] .club-facts-columns > .wp-block-column + .wp-block-column { border-left: 0; padding-left: 0; }
:root[data-bn-large-text="true"] .club-story-label { position: static; }

/* Reserve the complete photo area before decoding; preserve both typography choices. */
.club-exterior { aspect-ratio: 4 / 3; overflow: hidden; }
.club-exterior > .bn-picture { display: block; width: 100%; height: 100%; }
.club-page .club-exterior img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
@media (max-width: 1050px) and (min-width: 782px) { .club-exterior { aspect-ratio: 1; } }
@media (max-width: 781px) { .club-exterior { aspect-ratio: 3 / 2; } }
.club-donation { padding-block:var(--space-10); border-top:1px solid var(--line); }
.club-donation > p { max-width:68ch; font-size:var(--text-prose); line-height:var(--leading-prose); color:var(--prose-ink); margin-bottom:var(--space-5); overflow-wrap:anywhere; }
.club-donation > p:last-child { margin-bottom:0; }
