/*
 * "Pulse" (sports club or gym): dark and full of energy. A full-width action photo with a huge uppercase
 * headline, one electric lime accent, condensed Oswald headings over Inter, programmes as photo cards with a
 * filter, the week's timetable a day at a time, membership plans and coaches. Sharp, confident corners.
 */
:root {
    --bz-bg: var(--pf-bg, #0c0d0f);
    --bz-soft: #15171a;
    --bz-card: #17191c;
    --bz-ink: var(--pf-ink, #f5f6f2);
    --bz-text: #a6aaa2;
    --bz-mute: #73776f;
    --bz-line: rgba(255, 255, 255, .1);
    --bz-accent: var(--primary-color, #c6f432);
    --bz-on-accent: #0c0d0f;
    --bz-dark: #000000;
    --bz-radius: 6px;
    --bz-head: "Oswald", "Arial Narrow", Arial, sans-serif;
}

body[data-pf-site] { font-family: "Inter", "Helvetica Neue", Arial, sans-serif; background: var(--bz-bg) !important; }
html body[data-pf-site] h1, html body[data-pf-site] h2, html body[data-pf-site] h3, html body[data-pf-site] .sx-h1 { font-family: var(--bz-head) !important; font-weight: 600 !important; text-transform: uppercase; letter-spacing: .01em; }
body[data-pf-site] .header_wrap, body[data-pf-site] .header_wrap .bottom_header, body[data-pf-site] .header_wrap .middle-header { background: #000 !important; border-color: rgba(255, 255, 255, .08) !important; }
body[data-pf-site] .header_wrap .nav-link { color: #fff !important; font-weight: 700 !important; }
/* The menu on a computer: bold spaced capitals at a readable size (the phone drawer keeps its own size). */
@media (min-width: 992px) { html body[data-pf-site] .header_wrap .bottom_header .navbar-nav:not(.attr-nav) > li > .nav-link { font-size: 14px !important; letter-spacing: .08em !important; text-transform: uppercase !important; } }
body[data-pf-site] .header_wrap .nav-link:hover, body[data-pf-site] .header_wrap .active > .nav-link { color: var(--bz-accent) !important; }
body[data-pf-site] footer, body[data-pf-site] footer .footer_top, body[data-pf-site] footer .bottom_footer { background: #000 !important; }

.bz-btn { border-radius: 4px; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; }
.bz-btn-line { border-color: var(--bz-ink); color: var(--bz-ink) !important; }
.bz-kicker { display: inline-flex; align-items: center; gap: 10px; }
.bz-kicker::before { content: ""; width: 28px; height: 3px; background: var(--bz-accent); }

/* Big part headings with a faint huge word behind. */
html body[data-pf-site] .bz-head h2 { font-size: clamp(40px, 5.4vw, 76px) !important; line-height: .96 !important; }
.bz-section:nth-of-type(even) { background: var(--bz-soft); }

/* Programmes: tall photo cards with the words over the photo. */
.bz-programs-sport .bz-program { min-height: 440px; justify-content: flex-end; background: #000; }
.bz-programs-sport .bz-program-pic { position: absolute; inset: 0; aspect-ratio: auto; }
.bz-programs-sport .bz-program-pic::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 0, 0, .9), transparent 60%); }
.bz-programs-sport .bz-program-copy { position: relative; padding: 26px; }
.bz-programs-sport .bz-program-copy strong { color: #fff; font-size: 30px; text-transform: uppercase; }
.bz-programs-sport .bz-program-copy span { color: rgba(255, 255, 255, .72); }
.bz-programs-sport .bz-program-copy b { color: var(--bz-accent); text-transform: uppercase; letter-spacing: .08em; font-size: 12.5px; }

/* Timetable rows with a lime time. */
.bz-days button { border-radius: 4px; text-transform: uppercase; letter-spacing: .06em; font-size: 12.5px; }
.bz-slot { border-left: 3px solid transparent; border-radius: 4px; }
.bz-slot:hover { border-left-color: var(--bz-accent); }
.bz-slot strong { font-family: var(--bz-head); font-size: 20px; text-transform: uppercase; }

/* Plans: the popular one in lime. */
.bz-plan { border-radius: 6px; }
.bz-plan.is-featured { background: var(--bz-accent); color: rgba(12, 13, 15, .75); }
html body[data-pf-site] .bz-plan.is-featured h3, .bz-plan.is-featured .bz-plan-price strong { color: #0c0d0f !important; }
.bz-plan.is-featured .bz-plan-badge { background: #0c0d0f; color: var(--bz-accent); }
.bz-plan.is-featured li { border-color: rgba(12, 13, 15, .15); }
.bz-plan.is-featured li::before { color: #0c0d0f; }
.bz-plan.is-featured .bz-btn-accent { border-color: #0c0d0f; background: #0c0d0f; color: var(--bz-accent) !important; }

/* Coaches: black and white until pointed at. */
.bz-person-pic img { filter: grayscale(1); transition: filter .4s ease; }
.bz-person:hover .bz-person-pic img { filter: none; }
.bz-person { text-align: left; }
.bz-person-role { text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }

/* The request form on dark. */
.bz-request-grid { border: 1px solid var(--bz-line); box-shadow: none; }
.bz-fields input, .bz-fields select, .bz-fields textarea { color-scheme: dark; }
.bz-cta-band { background: var(--bz-accent); color: rgba(12, 13, 15, .75); }
html body[data-pf-site] .bz-cta-band h2 { color: #0c0d0f !important; }
.bz-cta-band h2 em { color: #0c0d0f; text-decoration: underline; }
.bz-cta-band .bz-btn-accent { border-color: #0c0d0f; background: #0c0d0f; color: var(--bz-accent) !important; }
html body[data-pf-site] .bz-plan.is-featured li, html body[data-pf-site] .bz-plan.is-featured p, html body[data-pf-site] .bz-cta-band p { color: #0c0d0f !important; }

/* The header: the name in the theme's typeface and its main action (site.css .pf-brand-name, .pf-header-cta). */
html body[data-pf-site] { --pf-brand-font: var(--bz-head); --pf-brand-size: 27px; --pf-brand-weight: 700; --pf-brand-case: uppercase; --pf-brand-tracking: .01em; --pf-cta-case: uppercase; --pf-cta-tracking: .06em; --pf-cta-ink: #0c0d0f; }
