/**
 * Beach Vibes Volleyball — Frontend Styles
 *
 * Specificity: prefix all Kadence rules with "html body" + !important
 * to permanently beat Kadence-generated styles.
 */


/* 1. Design Tokens */

:root {
    --bvv-orange:       #FF7800;
    --bvv-orange-hover: #F06000;
    --bvv-orange-dark:  #D84818;
    --bvv-teal:         #30A8A8;
    --bvv-teal-mid:     #1A8888;
    --bvv-teal-dark:    #006078;
    --bvv-ink:          #001818;
    --bvv-ink-muted:    #2E454C;
    --bvv-ink-subtle:   #7A8C92;
    --bvv-sand:         #FFF0D8;
    --bvv-sand-light:   #FFF8EC;
    --bvv-white:        #FFFFFF;

    --bvv-font-display: "Anton", Impact, sans-serif;
    --bvv-font-sans:    "Archivo", system-ui, sans-serif;
    --bvv-font-black:   "Archivo Black", "Archivo", sans-serif;
    --bvv-font-script:  "Caveat", cursive;

    /* Fluid type scale */
    --bvv-text-sm:      13px;
    --bvv-text-md:      16px;
    --bvv-text-lg:      20px;
    --bvv-text-xl:      clamp(22px, 3vw, 32px);
    --bvv-text-2xl:     clamp(28px, 4vw, 42px);
    --bvv-text-3xl:     clamp(40px, 6vw, 72px);
    --bvv-text-h1:      clamp(48px, 8vw, 96px);
    --bvv-text-display: clamp(56px, 10vw, 125px);

    /* Spacing */
    --bvv-space-1: 4px;
    --bvv-space-2: 8px;
    --bvv-space-3: 12px;
    --bvv-space-4: 16px;
    --bvv-space-5: 24px;
    --bvv-space-6: 32px;
    --bvv-space-7: 48px;
    --bvv-space-8: 64px;
    --bvv-space-9: 96px;

    --bvv-radius-sm:   8px;
    --bvv-radius-md:   16px;
    --bvv-radius-lg:   32px;
    --bvv-radius-pill: 999px;

    --bvv-shadow-sm:    0 2px 6px  rgba(0, 24, 24, 0.08);
    --bvv-shadow-md:    0 6px 16px rgba(0, 24, 24, 0.10);
    --bvv-shadow-lg:    0 14px 32px rgba(0, 24, 24, 0.14);
    --bvv-shadow-brand: 0 12px 28px rgba(255, 120, 0, 0.30);
    --bvv-shadow-teal:  0 12px 28px rgba(48, 168, 168, 0.30);
}


/* 2. Header & Navigation */

html body #masthead,
html body #masthead .site-header-row-container-inner,
html body .site-main-header-wrap .site-header-row-container-inner,
html body .site-header-row-container-inner {
    border:        none !important;
    border-bottom: none !important;
    box-shadow:    none !important;
    outline:       none !important;
}

html body .site-branding img.custom-logo {
    height: 60px !important;
    width:  auto !important;
    display: block !important;
}

html body .main-navigation .primary-menu-container > ul > li.menu-item > a {
    font-family:  "Archivo", sans-serif !important;
    font-weight:  600 !important;
    color:        var(--bvv-ink) !important;
    padding-left:  10px !important;
    padding-right: 10px !important;
    text-decoration: none !important;
}

html body .main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
html body .main-navigation .primary-menu-container > ul > li.current-menu-item > a {
    color:      var(--bvv-orange) !important;
    background: transparent !important;
}

/* Remove body bottom spacing */
html body .site-main   { margin-bottom: 0 !important; padding-bottom: 0 !important; }
html body .content-area { margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* Hide "Register Now" from desktop nav — we have the header button */
/* Target by menu item ID and by position to be unambiguous */
@media (min-width: 1025px) {
    html body .primary-menu-container .menu-item:last-child,
    html body #primary-menu .menu-item:last-child,
    html body #site-navigation .menu-item:last-child,
    html body li#menu-item-301 {
        display: none !important;
    }
}

/* Mobile nav — Register Now visible and styled as orange pill button */
/* Scoped to ≤1024px so it never leaks into the desktop nav */
@media (max-width: 1024px) {
    html body #mobile-drawer .menu-item:last-child,
    html body #mobile-site-navigation .menu-item:last-child,
    html body #mobile-menu .menu-item:last-child,
    html body .mobile-navigation .menu-item:last-child {
        display: block !important;
    }

    html body #mobile-drawer .menu-item:last-child a,
    html body #mobile-site-navigation .menu-item:last-child a,
    html body #mobile-menu .menu-item:last-child a,
    html body .mobile-navigation .menu-item:last-child a {
        display:          inline-block !important;
        width:            auto !important;
        background-color: var(--bvv-orange) !important;
        color:            var(--bvv-white) !important;
        font-family:      "Archivo", sans-serif !important;
        font-weight:      800 !important;
        font-size:        13px !important;
        letter-spacing:   0.06em !important;
        text-transform:   uppercase !important;
        padding:          10px 24px !important;
        border-radius:    var(--bvv-radius-pill) !important;
        margin-top:       8px !important;
        text-decoration:  none !important;
    }

    html body #mobile-drawer .menu-item:last-child a:hover,
    html body #mobile-site-navigation .menu-item:last-child a:hover,
    html body #mobile-menu .menu-item:last-child a:hover,
    html body .mobile-navigation .menu-item:last-child a:hover {
        background-color: var(--bvv-orange-hover) !important;
    }
}


/* 3. Hero */

/* Prevent horizontal scroll caused by oversized headings */
html body .wp-block-cover {
    overflow-x: hidden !important;
}

html body .wp-block-cover .wp-block-cover__inner-container {
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Hero headings — tight poster stack on all screens */
html body .wp-block-cover .wp-block-heading {
    margin-top:    0 !important;
    margin-bottom: 0 !important;
    line-height:   0.88 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

/* The flex group that wraps the four h1s — kill all internal spacing */
html body .wp-container-core-group-is-layout-f4318c89 {
    gap:            0 !important;
    row-gap:        0 !important;
    padding-top:    0 !important;
    padding-bottom: 0 !important;
    margin-top:     0 !important;
    margin-bottom:  0 !important;
}

/* Zero out any WP-injected spacing between the heading children */
html body .wp-container-core-group-is-layout-f4318c89 > * {
    margin-top:    0 !important;
    margin-bottom: 0 !important;
}

/* Pill badge sits just above the stack — keep a small gap below it only */
html body .wp-container-core-group-is-layout-f4318c89 > p:first-child {
    margin-bottom: 12px !important;
}

/* Hero spacing — even on large screens */
@media (min-width: 1025px) {
    /* Equal top/bottom padding so the hero content sits centred vertically */
    html body .wp-block-cover {
        padding-top:    clamp(40px, 5vw, 72px) !important;
        padding-bottom: clamp(40px, 5vw, 72px) !important;
    }

    /* Even gap between heading group → tagline → button row */
    html body .wp-block-cover .wp-block-cover__inner-container {
        gap: 14px !important;
    }

    /* Badge → "Summer" heading — slightly more breathing room */
    html body .wp-container-core-group-is-layout-f4318c89 > p:first-child {
        margin-bottom: 24px !important;
    }

    /* Keep the heading words themselves tightly stacked */
    html body .wp-container-core-group-is-layout-f4318c89 {
        gap:     0 !important;
        row-gap: 0 !important;
    }
}

/* Script tagline row — allow wrapping */
html body .wp-container-core-group-is-layout-32758bab {
    flex-wrap: wrap !important;
    gap: 0 6px !important;
}

html body .bvv-tagline-phrase {
    margin-top:    0 !important;
    margin-bottom: 0 !important;
    display:       inline !important;
}

/* Hero button row */
html body .wp-container-core-group-is-layout-0dfbf163 {
    flex-wrap:      wrap !important;
    gap:            12px !important;
    align-items:    flex-start !important;
    justify-content: flex-start !important;
}


/* 4. Info Strip */

html body .bvv-info-strip {
    overflow:    visible !important;
    flex-wrap:   nowrap !important;
}

/* The strip is built with sibling .wp-block-columns children */
html body .bvv-info-strip > .wp-block-columns {
    flex:          1 1 0 !important;
    min-width:     0 !important;
    border-right:  1px solid rgba(255, 255, 255, 0.25) !important;
    padding:       16px 20px !important;
    align-items:   center !important;
    overflow:      visible !important;
}

html body .bvv-info-strip > .wp-block-columns:last-child {
    border-right:  none !important;
    overflow:      visible !important;
}


/* 5. Block Styles & Buttons */

html body .is-style-bvv-card {
    background-color: var(--bvv-white) !important;
    border-radius:    var(--bvv-radius-lg) !important;
    padding:          32px 28px !important;
    box-shadow:       var(--bvv-shadow-md) !important;
    transition:       transform 0.2s ease, box-shadow 0.2s ease !important;
    height:           100% !important;
}
html body .is-style-bvv-card:hover {
    transform:  translateY(-4px) !important;
    box-shadow: var(--bvv-shadow-lg) !important;
}

html body .is-style-bvv-dark-section {
    background-color: var(--bvv-ink) !important;
    color:            var(--bvv-sand) !important;
    border-radius:    var(--bvv-radius-lg) !important;
    padding:          48px 40px !important;
}
html body .is-style-bvv-dark-section :is(h1, h2, h3, h4, h5, h6, p) {
    color: var(--bvv-sand) !important;
}
html body .is-style-bvv-dark-section a {
    color:           var(--bvv-orange) !important;
    text-decoration: none !important;
}

/* Eyebrow label */
html body .is-style-bvv-eyebrow {
    font-family:     "Archivo", sans-serif !important;
    font-size:       11px !important;
    font-weight:     700 !important;
    letter-spacing:  0.16em !important;
    text-transform:  uppercase !important;
    color:           var(--bvv-teal-dark) !important;
    margin-bottom:   8px !important;
}

/* Script style — keeps its palette color from the block */
html body .is-style-bvv-script {
    font-family:  "Caveat", cursive !important;
    font-size:    clamp(28px, 4vw, 48px) !important;
    font-weight:  700 !important;
    line-height:  1.05 !important;
}

/* Pill badges */
html body .is-style-bvv-pill-teal,
html body .is-style-bvv-pill-orange {
    display:         inline-block !important;
    font-family:     "Archivo", sans-serif !important;
    font-size:       13px !important;
    font-weight:     700 !important;
    letter-spacing:  0.10em !important;
    text-transform:  uppercase !important;
    padding:         7px 14px !important;
    border-radius:   var(--bvv-radius-pill) !important;
    color:           var(--bvv-white) !important;
    white-space:     nowrap !important;
}
html body .is-style-bvv-pill-teal   { background-color: var(--bvv-teal)   !important; }
html body .is-style-bvv-pill-orange { background-color: var(--bvv-orange) !important; }

/* Kadence step buttons */
html body .kb-buttons-wrap .kb-button,
html body .kb-buttons-wrap a.kb-button {
    transition: transform 0.15s ease, background-color 0.15s ease !important;
}
html body .kb-buttons-wrap .kb-button:hover,
html body .kb-buttons-wrap a.kb-button:hover {
    transform: translateY(-2px) !important;
}

/* Secondary (teal) step button */
html body .kb-buttons-wrap .kb-button.button-style-secondary,
html body .kb-buttons-wrap a.kb-button.button-style-secondary,
html body .kb-buttons-wrap .kb-button.button-style-secondary:link,
html body .kb-buttons-wrap .kb-button.button-style-secondary:visited {
    background-color: var(--bvv-teal)  !important;
    color:            var(--bvv-white) !important;
    border-color:     var(--bvv-teal)  !important;
}
html body .kb-buttons-wrap .kb-button.button-style-secondary:hover,
html body .kb-buttons-wrap .kb-button.button-style-secondary:focus {
    background-color: var(--bvv-teal-mid) !important;
    border-color:     var(--bvv-teal-mid) !important;
    color:            var(--bvv-white)    !important;
    transform:        translateY(-2px)    !important;
}

/* WP core buttons */
html body .wp-block-button__link {
    transition: transform 0.15s ease, background-color 0.15s ease !important;
}
html body .wp-block-button__link:hover {
    transform: translateY(-2px) !important;
}

/* Teal button */
html body .is-style-bvv-teal .wp-block-button__link {
    background-color: var(--bvv-teal)  !important;
    color:            var(--bvv-white) !important;
}
html body .is-style-bvv-teal .wp-block-button__link:hover {
    background-color: var(--bvv-teal-mid) !important;
}

/* Ghost / outline button */
html body .is-style-bvv-ghost .wp-block-button__link,
html body .is-style-bvv-outline .wp-block-button__link {
    background-color: transparent !important;
    color:            var(--bvv-white) !important;
    border:           2px solid rgba(255, 255, 255, 0.7) !important;
}
html body .is-style-bvv-ghost .wp-block-button__link:hover,
html body .is-style-bvv-outline .wp-block-button__link:hover {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color:            var(--bvv-white) !important;
    border-color:     var(--bvv-white) !important;
}


/* 6. Feature Cards Section */

/* 4-column card row — wrap gracefully */
html body .wp-container-core-columns-is-layout-e0b3eb5f {
    align-items: stretch !important;
}

html body .wp-container-core-columns-is-layout-e0b3eb5f > .wp-block-column {
    display:        flex !important;
    flex-direction: column !important;
}

/* Stat badge groups inside "The Numbers" card */
html body .wp-container-core-group-is-layout-b16ad781,
html body .wp-container-core-group-is-layout-41f9fede {
    flex:       1 1 auto !important;
    min-width:  0 !important;
}

/* Numbers card — 2×2 stat grid on large screens.
   :has(> .wp-block-group + .wp-block-group) matches the inner container that
   holds consecutive stat groups (the 4 stats), not the card's own inner wrap. */
@media (min-width: 1025px) {
    html body .is-style-bvv-card .wp-block-group__inner-container:has(> .wp-block-group + .wp-block-group) {
        display:               grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap:                   8px !important;
        align-items:           stretch !important;
    }
}


/* 7. How It Works */

html body .wp-container-core-columns-is-layout-c328bb5f {
    align-items: flex-start !important;
}

/* Step paragraphs — comfortable reading size on all screens */
html body .wp-container-core-columns-is-layout-c328bb5f p {
    font-size:   16px !important;
    line-height: 1.65 !important;
    color:       var(--bvv-ink-muted) !important;
}

/* Step h5 headings — bump up to match */
html body .wp-container-core-columns-is-layout-c328bb5f h5.wp-block-heading {
    font-size:   17px !important;
    line-height: 1.3 !important;
}


/* 8. Schedule / Coming Soon cards */

/* Two-panel row — stack naturally at tablet */
html body .wp-container-core-columns-is-layout-ed2ce5b3 {
    align-items: stretch !important;
}

html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column {
    min-width: 0 !important;
}

/* Thursday heading columns — keep heading + button on same row */
html body .wp-container-core-columns-is-layout-9d6595d7 {
    align-items: center !important;
    flex-wrap:   wrap !important;
}


/* 9. FAQ Section */

/* Outer FAQ section wrapper — horizontal padding on all screens */
html body .wp-elements-a246bc8be6f60c6bfd779dfdd74e3f11 {
    padding-left:  clamp(20px, 5vw, 80px) !important;
    padding-right: clamp(20px, 5vw, 80px) !important;
    box-sizing:    border-box !important;
    overflow:      hidden !important;
}

/* Prevent the alignfull accordion container from bleeding past the padding */
html body .wp-container-core-group-is-layout-8cd669b9 > .alignfull {
    margin-left:  0 !important;
    margin-right: 0 !important;
    width:        100% !important;
    max-width:    100% !important;
}

/* Inner flex row that holds the accordion */
html body .wp-container-core-group-is-layout-94bc23d7 {
    justify-content: center !important;
    width:           100% !important;
    max-width:       100% !important;
    padding-left:    0 !important;
    padding-right:   0 !important;
}

/* Accordion — never exceed its container */
html body .kt-accordion-wrap,
html body .wp-block-kadence-accordion {
    width:      100% !important;
    max-width:  100% !important;
    box-sizing: border-box !important;
}


/* 10. CTA Band */

/* The orange gradient CTA column */
html body .wp-container-core-columns-is-layout-0010fc35 {
    flex-wrap: wrap !important;
}

html body .wp-container-core-columns-is-layout-0010fc35 > .wp-block-column {
    min-width: 280px !important;
}


/* 11. Footer */

html body .widget_nav_menu .widget-title {
    font-family:   "Archivo Black", sans-serif !important;
    font-size:     30px !important;
    font-weight:   400 !important;
    color:         #fca852 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 16px !important;
}

html body .widget_nav_menu .menu li a {
    font-family:     "Archivo", sans-serif !important;
    font-size:       18px !important;
    font-weight:     400 !important;
    color:           var(--bvv-orange) !important;
    text-decoration: none !important;
    display:         block !important;
    padding:         3px 0 !important;
    line-height:     1.6 !important;
}
html body .widget_nav_menu .menu li a:hover { color: var(--bvv-orange-hover) !important; }
html body .widget_nav_menu .menu li        { margin-bottom: 2px !important; }

html body .footer-widget1 h5.wp-block-heading {
    font-family:    "Archivo", sans-serif !important;
    font-size:      11px !important;
    font-weight:    700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color:          var(--bvv-orange) !important;
    margin-bottom:  8px !important;
}

html body .footer-widget1 p {
    color:      var(--bvv-sand) !important;
    font-size:  16px !important;
    line-height: 1.7 !important;
    max-width:  300px !important;
}

html body .site-footer-bottom-wrap {
    border-top:  1px solid rgba(255, 240, 216, 0.1) !important;
    padding-top: 16px !important;
}

html body .site-copyright-inner,
html body .site-copyright-inner p {
    color:     rgba(255, 240, 216, 0.5) !important;
    font-size: 12px !important;
}

html body .site-copyright-inner a {
    color:           rgba(255, 240, 216, 0.5) !important;
    text-decoration: none !important;
}
html body .site-copyright-inner a:hover { color: var(--bvv-orange) !important; }


/* 12. Gravity Forms */

html body .gform_wrapper .bvv-field input,
html body .gform_wrapper .bvv-field select,
html body .gform_wrapper .bvv-field textarea {
    font-family:      "Archivo", sans-serif !important;
    font-size:        15px !important;
    color:            var(--bvv-ink) !important;
    background-color: var(--bvv-white) !important;
    border:           1.5px solid rgba(0, 24, 24, 0.20) !important;
    border-radius:    var(--bvv-radius-sm) !important;
    padding:          12px 16px !important;
    width:            100% !important;
    transition:       border-color 0.15s ease !important;
}
html body .gform_wrapper .bvv-field input:focus,
html body .gform_wrapper .bvv-field select:focus,
html body .gform_wrapper .bvv-field textarea:focus {
    outline:      none !important;
    border-color: var(--bvv-teal) !important;
}

html body .gform_wrapper .bvv-field label {
    font-family:    "Archivo", sans-serif !important;
    font-size:      13px !important;
    font-weight:    700 !important;
    letter-spacing: 0.04em !important;
    color:          var(--bvv-ink) !important;
    margin-bottom:  6px !important;
    display:        block !important;
}

html body .gform_wrapper .gform_submit_button {
    font-family:    "Archivo", sans-serif !important;
    font-size:      13px !important;
    font-weight:    800 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    background-color: var(--bvv-orange) !important;
    color:          var(--bvv-white) !important;
    border:         none !important;
    border-radius:  var(--bvv-radius-pill) !important;
    padding:        14px 32px !important;
    cursor:         pointer !important;
    transition:     background-color 0.15s ease, transform 0.15s ease !important;
}
html body .gform_wrapper .gform_submit_button:hover {
    background-color: var(--bvv-orange-hover) !important;
    transform:        translateY(-2px) !important;
}

/* BVV form class */
html body .bvv-form .gform_title {
    font-family:   "Archivo Black", sans-serif !important;
    font-size:     24px !important;
    color:         var(--bvv-ink) !important;
    margin-bottom: 8px !important;
}
html body .bvv-form .gform_description {
    font-family:   "Archivo", sans-serif !important;
    font-size:     15px !important;
    color:         var(--bvv-ink-muted) !important;
    margin-bottom: 24px !important;
}
html body .bvv-form .gfield_label {
    font-family:    "Archivo", sans-serif !important;
    font-size:      13px !important;
    font-weight:    700 !important;
    letter-spacing: 0.04em !important;
    color:          var(--bvv-ink) !important;
    margin-bottom:  6px !important;
}

html body .bvv-form input[type="text"],
html body .bvv-form input[type="email"],
html body .bvv-form input[type="tel"],
html body .bvv-form input[type="number"],
html body .bvv-form input[type="url"],
html body .bvv-form select,
html body .bvv-form textarea {
    font-family:      "Archivo", sans-serif !important;
    font-size:        15px !important;
    color:            var(--bvv-ink) !important;
    background-color: var(--bvv-white) !important;
    border:           1.5px solid rgba(0, 24, 24, 0.20) !important;
    border-radius:    8px !important;
    padding:          12px 16px !important;
    width:            100% !important;
    transition:       border-color 0.15s ease !important;
}
html body .bvv-form input:focus,
html body .bvv-form select:focus,
html body .bvv-form textarea:focus {
    outline:      none !important;
    border-color: var(--bvv-teal) !important;
}

html body .bvv-form .gform_submit_button,
html body .bvv-form input[type="submit"] {
    font-family:      "Archivo", sans-serif !important;
    font-size:        13px !important;
    font-weight:      800 !important;
    letter-spacing:   0.06em !important;
    text-transform:   uppercase !important;
    background-color: var(--bvv-orange) !important;
    color:            var(--bvv-white) !important;
    border:           none !important;
    border-radius:    var(--bvv-radius-pill) !important;
    padding:          14px 32px !important;
    cursor:           pointer !important;
    transition:       background-color 0.15s ease, transform 0.15s ease !important;
    width:            auto !important;
}
html body .bvv-form .gform_submit_button:hover,
html body .bvv-form input[type="submit"]:hover {
    background-color: var(--bvv-orange-hover) !important;
    transform:        translateY(-2px) !important;
}

html body .bvv-form .gfield_required             { color: var(--bvv-orange) !important; }
html body .bvv-form .validation_message,
html body .bvv-form .gfield_description.validation_message {
    color:       #B82105 !important;
    font-size:   13px !important;
    font-family: "Archivo", sans-serif !important;
    margin-top:  4px !important;
}
html body .bvv-form .gform_confirmation_message {
    font-family:      "Archivo", sans-serif !important;
    font-size:        16px !important;
    color:            var(--bvv-teal-dark) !important;
    font-weight:      600 !important;
    padding:          20px !important;
    background-color: var(--bvv-sand-light) !important;
    border-radius:    8px !important;
    border-left:      4px solid var(--bvv-teal) !important;
}





/* 13. Responsive — Tablet landscape (≤1024px) */

@media (max-width: 1024px) {

    /* Info strip: 2-column grid */
    html body .bvv-info-strip {
        flex-wrap:   wrap !important;
        flex-direction: row !important;
    }
    html body .bvv-info-strip > .wp-block-columns {
        flex:      1 1 calc(50% - 1px) !important;
        min-width: calc(50% - 1px) !important;
        border:    none !important;
        padding:   14px 16px !important;
    }

    /* Feature cards: 2-up */
    html body .wp-container-core-columns-is-layout-e0b3eb5f {
        flex-wrap:     wrap !important;
        padding-left:  var(--bvv-space-5) !important;
        padding-right: var(--bvv-space-5) !important;
    }
    html body .wp-container-core-columns-is-layout-e0b3eb5f > .wp-block-column {
        flex:      1 1 calc(50% - 1em) !important;
        min-width: calc(50% - 1em) !important;
    }

    /* How It Works: 2-up */
    html body .wp-container-core-columns-is-layout-c328bb5f {
        flex-wrap:     wrap !important;
        padding-left:  var(--bvv-space-5) !important;
        padding-right: var(--bvv-space-5) !important;
    }
    html body .wp-container-core-columns-is-layout-c328bb5f > .wp-block-column {
        flex:      1 1 calc(50% - 1em) !important;
        min-width: calc(50% - 1em) !important;
    }

    /* Thursday / Tuesday panels: stack */
    html body .wp-container-core-columns-is-layout-ed2ce5b3 {
        flex-direction: column !important;
        padding-left:   var(--bvv-space-5) !important;
        padding-right:  var(--bvv-space-5) !important;
    }
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column {
        width:      100% !important;
        flex-basis: 100% !important;
        max-width:  100% !important;
    }

    html body .is-style-bvv-dark-section {
        padding:       32px 24px !important;
        border-radius: 20px !important;
    }
}


/* 14. Responsive — Tablet portrait (≤768px) */

@media (max-width: 768px) {

    /* Info strip: single column */
    html body .bvv-info-strip > .wp-block-columns {
        flex:      1 1 100% !important;
        min-width: 100% !important;
        border:    none !important;
        padding:   12px 16px !important;
    }

    /* Hero: scale down */
    html body .wp-block-cover {
        padding-top:    var(--bvv-space-7) !important;
        padding-bottom: var(--bvv-space-7) !important;
        padding-right:  var(--bvv-space-5) !important;
        padding-left:   var(--bvv-space-5) !important;
        min-height:     0 !important;
    }

    /* Override the inline style="font-size:125px" on hero h1s */
    html body .wp-block-cover .wp-block-heading[style*="font-size"] {
        font-size: clamp(48px, 14vw, 80px) !important;
        line-height: 0.88 !important;
    }

    html body .wp-block-cover .is-style-bvv-script {
        font-size: clamp(24px, 7vw, 40px) !important;
    }

    /* Feature cards: single column */
    html body .wp-container-core-columns-is-layout-e0b3eb5f > .wp-block-column {
        flex:      1 1 100% !important;
        min-width: 100% !important;
    }

    /* How It Works: single column */
    html body .wp-container-core-columns-is-layout-c328bb5f > .wp-block-column {
        flex:      1 1 100% !important;
        min-width: 100% !important;
    }

    /* FAQ padding */
    html body .wp-container-core-group-is-layout-94bc23d7 {
        padding-left:  var(--bvv-space-4) !important;
        padding-right: var(--bvv-space-4) !important;
    }

    /* Header button smaller */
    html body #main-header .header-button.button-size-custom {
        padding: 10px 24px !important;
        font-size: 14px !important;
    }
}


/* 15. Responsive — Mobile (≤480px) */

@media (max-width: 480px) {

    /* Hero headings */
    html body .wp-block-cover .wp-block-heading,
    html body .wp-block-cover .wp-block-heading[style*="font-size"] {
        font-size:     clamp(40px, 13vw, 60px) !important;
        line-height:   0.86 !important;
        margin-bottom: 0 !important;
    }

    html body .wp-block-cover {
        padding: var(--bvv-space-6) var(--bvv-space-4) !important;
    }

    /* Hide tagline script row on small screens — saves vertical space */
    html body .wp-container-core-group-is-layout-32758bab {
        display: none !important;
    }

    /* Pill badge */
    html body .is-style-bvv-pill-teal,
    html body .is-style-bvv-pill-orange {
        font-size: 10px !important;
        padding:   5px 11px !important;
    }

    /* Hero buttons — stack vertically */
    html body .wp-container-core-group-is-layout-0dfbf163 {
        flex-direction:  column !important;
        align-items:     flex-start !important;
        gap:             10px !important;
    }
    html body .wp-block-cover .wp-block-button__link {
        font-size: 13px !important;
        padding:   11px 22px !important;
    }

    /* Dark section cards */
    html body .is-style-bvv-dark-section {
        border-radius: 16px !important;
        padding:       24px 18px !important;
    }

    /* Thursday / Tuesday cards */
    html body .wp-container-core-group-is-layout-55a48b49,
    html body .wp-container-core-group-is-layout-c34a2cb2 {
        border-radius: 20px !important;
        padding:       24px 18px !important;
    }

    /* Thursday / Tuesday headings — match COMPETITIVE size (~32-36px) */
    html body .wp-container-core-group-is-layout-55a48b49 h2,
    html body .wp-container-core-group-is-layout-c34a2cb2 h2,
    html body .wp-container-core-group-is-layout-55a48b49 h2[style*="font-size"],
    html body .wp-container-core-group-is-layout-c34a2cb2 h2[style*="font-size"],
    /* stable fallback — Tuesday is always the last column in ed2ce5b3 */
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h1.wp-block-heading,
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h2.wp-block-heading,
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child .wp-block-heading,
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h1[style*="font-size"],
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h2[style*="font-size"] {
        font-size:     clamp(26px, 7.5vw, 34px) !important;
        line-height:   1.05 !important;
        word-break:    break-word !important;
        overflow-wrap: break-word !important;
    }
    /* also set the Kadence custom property so adv-heading blocks scale too */
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child {
        --kb-adv-heading-fs: clamp(26px, 7.5vw, 34px) !important;
    }

    /* Tuesday card column — fix right-side overflow */
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column {
        overflow:   hidden !important;
        box-sizing: border-box !important;
    }
    html body .wp-container-core-group-is-layout-c34a2cb2 {
        width:      100% !important;
        max-width:  100% !important;
        box-sizing: border-box !important;
        overflow:   hidden !important;
    }

    /* Thursday heading + button row — stack */
    html body .wp-container-core-columns-is-layout-9d6595d7 {
        flex-direction: column !important;
        align-items:    flex-start !important;
    }
    html body .wp-container-core-columns-is-layout-9d6595d7 > .wp-block-column {
        width: 100% !important;
    }
    /* "View Full Schedule" button — left align on mobile */
    html body .wp-container-core-buttons-is-layout-168917ad {
        justify-content: flex-start !important;
        margin-top:      var(--bvv-space-3) !important;
    }

    /* FAQ heading */
    html body .wp-elements-a246bc8be6f60c6bfd779dfdd74e3f11 h3 {
        font-size: clamp(22px, 7vw, 32px) !important;
    }

    /* How It Works — step headings and body copy */
    html body .wp-container-core-columns-is-layout-c328bb5f h5.wp-block-heading {
        font-size:   16px !important;
        line-height: 1.3 !important;
    }
    html body .wp-container-core-columns-is-layout-c328bb5f p {
        font-size:   15px !important;
        line-height: 1.6 !important;
    }
    /* Step number buttons — smaller on mobile */
    html body .wp-container-core-columns-is-layout-c328bb5f .kb-button.kt-btn-size-xlarge {
        font-size:  18px !important;
        min-width:  44px !important;
        min-height: 44px !important;
        padding:    8px 16px !important;
    }

    /* Dark schedule cards (Thursday / Tuesday) — body paragraphs */
    html body .wp-container-core-group-is-layout-55a48b49 p,
    html body .wp-container-core-group-is-layout-c34a2cb2 p {
        font-size:   14px !important;
        line-height: 1.5 !important;
    }
    html body .wp-container-core-group-is-layout-55a48b49 h5.wp-block-heading,
    html body .wp-container-core-group-is-layout-c34a2cb2 h5.wp-block-heading {
        font-size:   13px !important;
        letter-spacing: 0.12em !important;
    }

    /* CTA band */
    html body .wp-container-core-columns-is-layout-0010fc35 {
        flex-direction: column !important;
        padding:        var(--bvv-space-7) var(--bvv-space-5) !important;
    }
    html body .wp-container-core-columns-is-layout-0010fc35 h3 {
        font-size: clamp(26px, 8vw, 38px) !important;
    }
    /* "Registration Now Open" ghost button text */
    html body .wp-container-core-columns-is-layout-0010fc35 .is-style-bvv-ghost .wp-block-button__link,
    html body .wp-container-core-columns-is-layout-0010fc35 .wp-block-button__link[style*="font-size"] {
        font-size:   13px !important;
        padding:     9px 16px !important;
        white-space: normal !important;
        text-align:  center !important;
        line-height: 1.4 !important;
    }

    /* "Got questions" footer col */
    html body .wp-container-core-columns-is-layout-514ef67d {
        flex-direction: column !important;
        text-align:     center !important;
        gap:            8px !important;
    }

    /* General section padding tightening */
    html body .wp-block-group:not(.bvv-info-strip) {
        padding-left:  max(var(--bvv-space-4), 4vw) !important;
        padding-right: max(var(--bvv-space-4), 4vw) !important;
    }

    /* Kadence step buttons — center on mobile */
    html body .kb-buttons-wrap {
        justify-content: center !important;
    }

    /* Logo size on mobile */
    html body .site-branding img.custom-logo {
        height: 48px !important;
    }

    /* Feature cards padding tighter */
    html body .is-style-bvv-card {
        padding: 24px 20px !important;
    }
}


/* 16. Responsive — Small phones (≤400px) */

@media (max-width: 400px) {

    html body .wp-block-cover .wp-block-heading,
    html body .wp-block-cover .wp-block-heading[style*="font-size"] {
        font-size: clamp(34px, 12vw, 46px) !important;
    }

    /* How It Works — even tighter on tiny screens */
    html body .wp-container-core-columns-is-layout-c328bb5f h5.wp-block-heading {
        font-size: 15px !important;
    }
    html body .wp-container-core-columns-is-layout-c328bb5f p {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    /* Thursday / Tuesday headings — smallest phones */
    html body .wp-container-core-group-is-layout-55a48b49 h2,
    html body .wp-container-core-group-is-layout-c34a2cb2 h2,
    html body .wp-container-core-group-is-layout-55a48b49 h2[style*="font-size"],
    html body .wp-container-core-group-is-layout-c34a2cb2 h2[style*="font-size"],
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h1.wp-block-heading,
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h2.wp-block-heading,
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child .wp-block-heading,
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h1[style*="font-size"],
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child h2[style*="font-size"] {
        font-size:   clamp(24px, 7vw, 30px) !important;
        line-height: 1.05 !important;
    }
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child {
        --kb-adv-heading-fs: clamp(24px, 7vw, 30px) !important;
    }

    /* CTA ghost button */
    html body .wp-container-core-columns-is-layout-0010fc35 .is-style-bvv-ghost .wp-block-button__link,
    html body .wp-container-core-columns-is-layout-0010fc35 .wp-block-button__link[style*="font-size"] {
        font-size: 12px !important;
        padding:   8px 14px !important;
    }

    html body .is-style-bvv-pill-teal,
    html body .is-style-bvv-pill-orange {
        font-size: 9px !important;
        padding:   4px 9px !important;
    }

    html body .wp-block-cover .wp-block-button__link {
        font-size: 12px !important;
        padding:   10px 18px !important;
    }

    html body .site-branding img.custom-logo {
        height: 42px !important;
    }

    /* Reduce card border radius on tiny screens */
    html body .is-style-bvv-card {
        border-radius: 16px !important;
        padding:       20px 16px !important;
    }
}

/* 17. Register Page — page-id-246 */

/* Page heading "Get Into the Game" */
html body.page-id-246 h2.wp-block-heading {
    font-size:   clamp(28px, 6vw, 56px) !important;
    line-height: 1.15 !important;
}

/* Script tagline "Pick the league..." */
html body.page-id-246 .is-style-bvv-script {
    font-size:   clamp(18px, 4vw, 32px) !important;
    line-height: 1.2 !important;
}

/* Outer content area — horizontal breathing room on ALL screens */
html body.page-id-246 .entry-content-wrap {
    padding-left:  clamp(16px, 4vw, 48px) !important;
    padding-right: clamp(16px, 4vw, 48px) !important;
    box-sizing:    border-box !important;
}

/* Infobox columns wrapper — consistent side padding */
html body.page-id-246 .wp-container-core-group-is-layout-5384dc6e {
    padding-left:  clamp(16px, 4vw, 40px) !important;
    padding-right: clamp(16px, 4vw, 40px) !important;
    box-sizing:    border-box !important;
    width:         100% !important;
    overflow:      hidden !important;
}

/* Kadence Infobox cards: stack on mobile */
html body.page-id-246 .wp-container-core-columns-is-layout-2d85a6ef {
    flex-direction: column !important;
    flex-wrap:      wrap !important;
    gap:            32px !important;
    width:          100% !important;
}

html body.page-id-246 .wp-container-core-columns-is-layout-2d85a6ef > .wp-block-column {
    width:      100% !important;
    max-width:  100% !important;
    flex-basis: 100% !important;
    padding-left:  0 !important;
    padding-right: 0 !important;
}

/* Infobox card wrapper */
html body.page-id-246 .kt-blocks-info-box-link-wrap {
    width:      100% !important;
    max-width:  100% !important;
    box-sizing: border-box !important;
    margin-top: 50px !important;
}

/* Infobox h2 title — the biggest offender */
html body.page-id-246 .kt-blocks-info-box-title {
    font-size:   clamp(22px, 5vw, 36px) !important;
    line-height: 1.2 !important;
    font-family: "Archivo Black", sans-serif !important;
    word-break:  break-word !important;
}

/* Infobox body text */
html body.page-id-246 .kt-blocks-info-box-text {
    font-size:   15px !important;
    line-height: 1.6 !important;
}

/* Infobox CTA button */
html body.page-id-246 .kt-blocks-info-box-learnmore {
    font-size: 14px !important;
    padding:   10px 28px !important;
}

/* "Don't have a team yet?" section */
html body.page-id-246 .wp-container-core-columns-is-layout-39f45e07 > .wp-block-column {
    padding-left:  clamp(16px, 5vw, 80px) !important;
    padding-right: clamp(16px, 5vw, 80px) !important;
}

html body.page-id-246 .wp-container-core-columns-is-layout-39f45e07 h2.wp-block-heading {
    font-size:   clamp(26px, 6vw, 48px) !important;
    line-height: 1.15 !important;
}

/* On tablet+ the two cards sit side by side */
@media (min-width: 641px) {
    html body.page-id-246 .wp-container-core-columns-is-layout-2d85a6ef {
        flex-direction: row !important;
        flex-wrap:      nowrap !important;
    }
    html body.page-id-246 .wp-container-core-columns-is-layout-2d85a6ef > .wp-block-column {
        flex-basis: calc(50% - 1em) !important;
        width:      calc(50% - 1em) !important;
    }
}

@media (max-width: 640px) {
    html body.page-id-246 .kt-blocks-info-box-title {
        font-size: clamp(20px, 5.5vw, 28px) !important;
    }
    html body.page-id-246 h2.wp-block-heading {
        font-size: clamp(24px, 7vw, 36px) !important;
    }
    html body.page-id-246 .wp-container-core-columns-is-layout-39f45e07 h2.wp-block-heading {
        font-size: clamp(22px, 7vw, 32px) !important;
    }
}

@media (max-width: 400px) {
    html body.page-id-246 .kt-blocks-info-box-title {
        font-size: 20px !important;
    }
    html body.page-id-246 h2.wp-block-heading {
        font-size: clamp(22px, 7vw, 28px) !important;
    }
}

/* 18. Inner Page Hero Titles (entry-hero h1) */

/* Base — scale the entry-hero h1 fluidly on all screens */
html body .entry-hero h1,
html body .entry-hero h1.wp-block-heading {
    font-size:     clamp(28px, 5vw, 56px) !important;
    line-height:   1.15 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
    hyphens:       auto !important;
}

/* Tablet landscape */
@media (max-width: 1024px) {
    html body .entry-hero h1,
    html body .entry-hero h1.wp-block-heading {
        font-size: clamp(26px, 5vw, 44px) !important;
    }
}

/* Tablet portrait */
@media (max-width: 768px) {
    html body .entry-hero h1,
    html body .entry-hero h1.wp-block-heading {
        font-size: clamp(24px, 6vw, 38px) !important;
    }
}

/* Mobile */
@media (max-width: 480px) {
    html body .entry-hero h1,
    html body .entry-hero h1.wp-block-heading {
        font-size:   clamp(22px, 7vw, 32px) !important;
        line-height: 1.2 !important;
        hyphens:     none !important;
    }
    /* Give the hero header container some horizontal padding */
    html body .entry-hero .entry-header {
        padding-left:  20px !important;
        padding-right: 20px !important;
        box-sizing:    border-box !important;
    }
}

/* Small phones */
@media (max-width: 400px) {
    html body .entry-hero h1,
    html body .entry-hero h1.wp-block-heading {
        font-size: clamp(20px, 7vw, 28px) !important;
    }
}

/* Also fix the Register page card titles which still break on mobile */
@media (max-width: 480px) {
    html body.page-id-246 .kt-blocks-info-box-title {
        font-size:  clamp(18px, 5vw, 24px) !important;
        hyphens:    none !important;
        word-break: normal !important;
    }
}

/* 19. Gravity Forms page titles & content-area h1s on mobile */

/* The GF form title and any bare h1 inside the content wrap */
html body .entry-content h1,
html body .entry-content .gform_title,
html body .gform_wrapper .gform_title,
html body .gform_wrapper h1 {
    font-size:     clamp(24px, 5vw, 56px) !important;
    line-height:   1.15 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
    html body .entry-content h1,
    html body .entry-content .gform_title,
    html body .gform_wrapper .gform_title,
    html body .gform_wrapper h1 {
        font-size: clamp(22px, 6vw, 36px) !important;
    }
}

@media (max-width: 480px) {
    html body .entry-content h1,
    html body .entry-content .gform_title,
    html body .gform_wrapper .gform_title,
    html body .gform_wrapper h1 {
        font-size:   clamp(20px, 6.5vw, 28px) !important;
        line-height: 1.2 !important;
    }
    /* Ensure the form wrapper has horizontal padding so title doesn't hug edges */
    html body .entry-content-wrap {
        padding-left:  16px !important;
        padding-right: 16px !important;
        box-sizing:    border-box !important;
    }
}

@media (max-width: 400px) {
    html body .entry-content h1,
    html body .entry-content .gform_title,
    html body .gform_wrapper .gform_title,
    html body .gform_wrapper h1 {
        font-size: clamp(18px, 6vw, 24px) !important;
    }
}

/* 20. Gravity Forms — section headings (h3) inside forms */

html body .gform_wrapper h3,
html body .gform_wrapper .gsection_title,
html body .gform_wrapper .gform_page_title {
    font-size:     clamp(20px, 4vw, 36px) !important;
    line-height:   1.2 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

@media (max-width: 768px) {
    html body .gform_wrapper h3,
    html body .gform_wrapper .gsection_title,
    html body .gform_wrapper .gform_page_title {
        font-size: clamp(18px, 5vw, 28px) !important;
    }
}

@media (max-width: 480px) {
    html body .gform_wrapper h3,
    html body .gform_wrapper .gsection_title,
    html body .gform_wrapper .gform_page_title {
        font-size:   clamp(17px, 5.5vw, 24px) !important;
        line-height: 1.25 !important;
    }
}

@media (max-width: 400px) {
    html body .gform_wrapper h3,
    html body .gform_wrapper .gsection_title,
    html body .gform_wrapper .gform_page_title {
        font-size: clamp(16px, 5vw, 22px) !important;
    }
}

/* 21. Gravity Forms — mobile form layout fixes */

/* Form container — tight horizontal padding, especially on mobile */
html body .gform_wrapper {
    padding-left:  clamp(4px, 2vw, 24px) !important;
    padding-right: clamp(4px, 2vw, 24px) !important;
    box-sizing:    border-box !important;
    width:         100% !important;
    max-width:     100% !important;
}

/* All field inputs stretch full width */
html body .gform_wrapper input[type="text"],
html body .gform_wrapper input[type="email"],
html body .gform_wrapper input[type="tel"],
html body .gform_wrapper input[type="number"],
html body .gform_wrapper input[type="url"],
html body .gform_wrapper select,
html body .gform_wrapper textarea {
    width:      100% !important;
    max-width:  100% !important;
    box-sizing: border-box !important;
    font-size:  15px !important;
    padding:    12px 14px !important;
}

/* Field list and individual field items */
html body .gform_wrapper .gform_fields,
html body .gform_wrapper .gfield {
    width:      100% !important;
    max-width:  100% !important;
    box-sizing: border-box !important;
}

/* Field labels */
html body .gform_wrapper .gfield_label {
    font-size:     14px !important;
    font-weight:   700 !important;
    margin-bottom: 4px !important;
    display:       block !important;
}

/* Field descriptions (e.g. "Womens 4's or Co-ed 4's") */
html body .gform_wrapper .gfield_description {
    font-size:   13px !important;
    line-height: 1.5 !important;
    color:       var(--bvv-ink-muted) !important;
    margin-bottom: 8px !important;
}

/* Checkbox & radio list — full width, no overflow */
html body .gform_wrapper .gfield_checkbox,
html body .gform_wrapper .gfield_radio {
    width:      100% !important;
    max-width:  100% !important;
    padding:    0 !important;
    margin:     0 !important;
}

/* Each checkbox/radio item row */
html body .gform_wrapper .gfield_checkbox li,
html body .gform_wrapper .gfield_radio li {
    display:     flex !important;
    align-items: flex-start !important;
    gap:         10px !important;
    margin-bottom: 12px !important;
    width:       100% !important;
}

/* Checkbox/radio input — fixed size, no shrink */
html body .gform_wrapper .gfield_checkbox li input[type="checkbox"],
html body .gform_wrapper .gfield_radio li input[type="radio"] {
    flex-shrink: 0 !important;
    width:       20px !important;
    height:      20px !important;
    margin-top:  2px !important;
    accent-color: var(--bvv-orange) !important;
}

/* Checkbox/radio label — wraps cleanly */
html body .gform_wrapper .gfield_checkbox li label,
html body .gform_wrapper .gfield_radio li label {
    font-size:   14px !important;
    line-height: 1.5 !important;
    flex:        1 !important;
    cursor:      pointer !important;
}

/* Submit button — full width on mobile, proper sizing */
@media (max-width: 480px) {
    html body .gform_wrapper .gform_footer,
    html body .gform_wrapper .gform_page_footer {
        padding-top: 8px !important;
    }
    html body .gform_wrapper input[type="submit"],
    html body .gform_wrapper .gform_submit_button {
        width:       100% !important;
        font-size:   14px !important;
        padding:     14px 24px !important;
        letter-spacing: 0.06em !important;
    }
}

/* 22. Navbar — equal vertical spacing, logo & items aligned */

/* Header row — flex centre everything vertically */
html body .site-main-header-inner-wrap {
    align-items:  center !important;
    padding-top:    12px !important;
    padding-bottom: 12px !important;
    min-height:     80px !important;
}

/* Both left and right sections vertically centred */
html body .site-header-section {
    align-items: center !important;
    display:     flex !important;
}

/* Logo container — remove any extra margin/padding pushing it up */
html body .site-branding {
    display:     flex !important;
    align-items: center !important;
    padding:     0 !important;
    margin:      0 !important;
}

html body .site-branding a.brand {
    display:     flex !important;
    align-items: center !important;
    gap:         12px !important;
}

/* Logo image — vertically centred, no extra space */
html body .site-branding img.custom-logo {
    display:        block !important;
    height:         56px !important;
    width:          auto !important;
    margin:         0 !important;
    padding:        0 !important;
    vertical-align: middle !important;
    position:       static !important;
    top:            auto !important;
}

/* Force the branding wrapper to fill the full header height and centre */
html body .site-header-section-left,
html body .site-header-section-left .site-header-item,
html body .site-header-section-left .site-branding,
html body .site-header-section-left .site-branding a.brand {
    display:     flex !important;
    align-items: center !important;
    height:      100% !important;
    margin:      0 !important;
    padding:     0 !important;
}

/* Force the right section and its children to also fill and centre */
html body .site-header-section-right,
html body .site-header-section-right .site-header-item,
html body .site-header-section-right .header-button-wrap,
html body .site-header-section-right .header-button-inner-wrap {
    display:     flex !important;
    align-items: center !important;
    height:      100% !important;
}

/* Site title text — vertically centred next to logo */
html body .site-branding .site-title,
html body .site-branding .site-title-wrap {
    display:     flex !important;
    align-items: center !important;
    margin:      0 !important;
    padding:     0 !important;
    line-height: 1 !important;
}

/* Nav items — vertically centred */
html body .main-navigation,
html body .header-navigation,
html body .primary-menu-container {
    display:     flex !important;
    align-items: center !important;
}

html body .main-navigation .primary-menu-container > ul {
    display:     flex !important;
    align-items: center !important;
    margin:      0 !important;
    padding:     0 !important;
}

html body .main-navigation .primary-menu-container > ul > li.menu-item {
    display:     flex !important;
    align-items: center !important;
}

/* Register Now button — vertically centred */
html body .header-button-wrap,
html body .header-button-inner-wrap {
    display:     flex !important;
    align-items: center !important;
}

/* 23. Thank-you pages — team registration & waiver signed */

html body.page-id-122 .wp-block-columns {
    flex-wrap:   wrap !important;
    margin-top:  var(--bvv-space-6) !important;
    margin-bottom: var(--bvv-space-6) !important;
    padding-left:  var(--bvv-space-5) !important;
    padding-right: var(--bvv-space-5) !important;
    box-sizing:  border-box !important;
    width:       100% !important;
    max-width:   100% !important;
}

/* The column inside — override the 4× 81px inline padding */
html body.page-id-122 .wp-block-column {
    width:          100% !important;
    max-width:      100% !important;
    flex-basis:     100% !important;
    box-sizing:     border-box !important;
    padding-top:    var(--bvv-space-6) !important;
    padding-right:  var(--bvv-space-5) !important;
    padding-bottom: var(--bvv-space-6) !important;
    padding-left:   var(--bvv-space-5) !important;
    overflow:       visible !important;
}

/* Headings */
html body.page-id-122 h3.wp-block-heading {
    font-size:     clamp(24px, 6vw, 42px) !important;
    line-height:   1.2 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

html body.page-id-122 h4.wp-block-heading {
    font-size:     clamp(18px, 4vw, 28px) !important;
    line-height:   1.3 !important;
    word-break:    break-word !important;
}

/* List items — override the inline font-size:24px */
html body.page-id-122 .wp-block-list li,
html body.page-id-122 ol li {
    font-size:     clamp(15px, 4vw, 20px) !important;
    line-height:   1.6 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

/* Waiver signed page h1 ("Waiver Signed!") */
html body .entry-content h1.wp-block-heading,
html body .single-content h1.wp-block-heading {
    font-size:     clamp(28px, 7vw, 56px) !important;
    line-height:   1.15 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

/* Body paragraphs on these pages */
html body .entry-content p,
html body .single-content p {
    font-size:     clamp(15px, 3.5vw, 18px) !important;
    line-height:   1.65 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

@media (max-width: 480px) {
    html body.page-id-122 .wp-block-columns {
        padding-left:  var(--bvv-space-4) !important;
        padding-right: var(--bvv-space-4) !important;
    }
    html body.page-id-122 .wp-block-column {
        padding-right: var(--bvv-space-4) !important;
        padding-left:  var(--bvv-space-4) !important;
    }
    html body .entry-content h1.wp-block-heading,
    html body .single-content h1.wp-block-heading {
        font-size: clamp(26px, 7vw, 40px) !important;
    }
}

/* 24. Thank-you page — "Sign the waiver" link always orange */

html body.page-id-122 #waiverLink,
html body.page-id-122 a[href*="waiver"],
html body.page-id-122 .wp-block-list a,
html body.page-id-122 ol li a {
    color:           var(--bvv-orange) !important;
    text-decoration: underline !important;
}

html body.page-id-122 #waiverLink:hover,
html body.page-id-122 a[href*="waiver"]:hover,
html body.page-id-122 .wp-block-list a:hover,
html body.page-id-122 ol li a:hover {
    color: var(--bvv-orange-hover) !important;
}

/* 25. Waiver signed thank-you page (/thank-you-waiver/) */

/* Target by slug class Kadence adds, and by URL-based body class */
html body.page-template-default .entry-content h1,
html body.page-template-default .entry-content h2,
html body.single-content h1,
html body.single-content h2 {
    font-size:     clamp(26px, 6vw, 52px) !important;
    line-height:   1.2 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

/* Paragraphs — comfortable reading size, no overflow */
html body.page-template-default .entry-content p {
    font-size:     clamp(15px, 3.5vw, 18px) !important;
    line-height:   1.65 !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
    max-width:     100% !important;
}

/* Buttons / Copy Waiver Link */
html body.page-template-default .entry-content .wp-block-button__link,
html body.page-template-default .entry-content a.wp-block-button__link {
    font-size:  14px !important;
    padding:    12px 28px !important;
    white-space: normal !important;
    text-align:  center !important;
    word-break:  break-word !important;
}

/* Mobile: tighten everything further */
@media (max-width: 480px) {
    html body.page-template-default .entry-content h1,
    html body.page-template-default .entry-content h2 {
        font-size: clamp(22px, 7vw, 34px) !important;
    }

    html body.page-template-default .entry-content p {
        font-size: 15px !important;
    }

    /* Content wrap padding — keep text away from screen edges */
    html body.page-template-default .entry-content-wrap {
        padding-left:  16px !important;
        padding-right: 16px !important;
        box-sizing:    border-box !important;
    }
}

@media (max-width: 400px) {
    html body.page-template-default .entry-content h1,
    html body.page-template-default .entry-content h2 {
        font-size: clamp(20px, 7vw, 28px) !important;
    }
}

/* 26. Waiver signed page — fix 182px-wide column caused by */

/* The column is 182×894 because padding is eating all the width.
   Target the exact class combination shown in the inspector. */
html body .wp-block-column.is-vertically-aligned-center.is-layout-flow,
html body .wp-block-column.is-vertically-aligned-center {
    width:          100% !important;
    max-width:      100% !important;
    flex-basis:     100% !important;
    box-sizing:     border-box !important;
    padding-top:    var(--bvv-space-6) !important;
    padding-right:  var(--bvv-space-5) !important;
    padding-bottom: var(--bvv-space-6) !important;
    padding-left:   var(--bvv-space-5) !important;
    overflow:       visible !important;
    min-width:      0 !important;
}

/* Parent columns wrapper — also strip its huge padding */
html body .wp-block-columns:has(.wp-block-column.is-vertically-aligned-center) {
    padding-left:  var(--bvv-space-5) !important;
    padding-right: var(--bvv-space-5) !important;
    flex-wrap:     wrap !important;
    box-sizing:    border-box !important;
    width:         100% !important;
    max-width:     100% !important;
}

@media (max-width: 480px) {
    html body .wp-block-column.is-vertically-aligned-center.is-layout-flow,
    html body .wp-block-column.is-vertically-aligned-center {
        padding-right: var(--bvv-space-4) !important;
        padding-left:  var(--bvv-space-4) !important;
    }

    html body .wp-block-columns:has(.wp-block-column.is-vertically-aligned-center) {
        padding-left:  var(--bvv-space-4) !important;
        padding-right: var(--bvv-space-4) !important;
    }
}

/* 27. Waiver signed page — spacing, title & paragraph sizing */

/* Large screens: more left margin, bigger title & paragraph */
@media (min-width: 1025px) {
    html body .wp-block-column.is-vertically-aligned-center.is-layout-flow,
    html body .wp-block-column.is-vertically-aligned-center {
        padding-left:   clamp(60px, 8vw, 120px) !important;
        padding-right:  clamp(40px, 5vw, 80px) !important;
        padding-top:    var(--bvv-space-8) !important;
        padding-bottom: var(--bvv-space-8) !important;
    }

    html body .wp-block-columns:has(.wp-block-column.is-vertically-aligned-center) {
        padding-left:  0 !important;
        padding-right: 0 !important;
    }

    /* Bigger "Waiver Signed!" title on desktop */
    html body .wp-block-column.is-vertically-aligned-center h1,
    html body .wp-block-column.is-vertically-aligned-center h1.wp-block-heading {
        font-size:   clamp(48px, 5vw, 72px) !important;
        line-height: 1.1 !important;
    }

    /* Bigger paragraph on desktop */
    html body .wp-block-column.is-vertically-aligned-center p {
        font-size:   clamp(18px, 1.8vw, 22px) !important;
        line-height: 1.7 !important;
        max-width:   560px !important;
    }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
    html body .wp-block-column.is-vertically-aligned-center.is-layout-flow,
    html body .wp-block-column.is-vertically-aligned-center {
        padding-left:   40px !important;
        padding-right:  40px !important;
        padding-top:    var(--bvv-space-7) !important;
        padding-bottom: var(--bvv-space-7) !important;
    }
}

/* Mobile: reduce top/bottom margin */
@media (max-width: 768px) {
    html body .wp-block-column.is-vertically-aligned-center.is-layout-flow,
    html body .wp-block-column.is-vertically-aligned-center {
        padding-top:    var(--bvv-space-5) !important;
        padding-bottom: var(--bvv-space-5) !important;
        padding-left:   var(--bvv-space-5) !important;
        padding-right:  var(--bvv-space-5) !important;
    }

    html body .wp-block-columns:has(.wp-block-column.is-vertically-aligned-center) {
        margin-top:    var(--bvv-space-4) !important;
        margin-bottom: var(--bvv-space-4) !important;
    }
}

@media (max-width: 480px) {
    html body .wp-block-column.is-vertically-aligned-center.is-layout-flow,
    html body .wp-block-column.is-vertically-aligned-center {
        padding-top:    var(--bvv-space-4) !important;
        padding-bottom: var(--bvv-space-4) !important;
        padding-left:   var(--bvv-space-4) !important;
        padding-right:  var(--bvv-space-4) !important;
    }

    html body .wp-block-columns:has(.wp-block-column.is-vertically-aligned-center) {
        margin-top:    var(--bvv-space-3) !important;
        margin-bottom: var(--bvv-space-3) !important;
    }
}

/* 28. Waiver signed page — page-id-119 — precise fix */

/* Outer columns wrapper */
html body.page-id-119 .wp-block-columns {
    margin-top:     var(--bvv-space-7) !important;
    margin-bottom:  var(--bvv-space-7) !important;
    padding-top:    0 !important;
    padding-right:  0 !important;
    padding-bottom: 0 !important;
    padding-left:   0 !important;
    flex-wrap:      wrap !important;
    box-sizing:     border-box !important;
    width:          100% !important;
}

/* Inner column */
html body.page-id-119 .wp-block-column {
    padding-top:    var(--bvv-space-6) !important;
    padding-bottom: var(--bvv-space-6) !important;
    padding-left:   clamp(24px, 6vw, 100px) !important;
    padding-right:  clamp(24px, 4vw, 60px) !important;
    width:          100% !important;
    max-width:      100% !important;
    flex-basis:     100% !important;
    box-sizing:     border-box !important;
}

/* "Waiver Signed!" h2 */
html body.page-id-119 h2.wp-block-heading {
    font-size:     clamp(28px, 5vw, 56px) !important;
    line-height:   1.15 !important;
    margin-bottom: var(--bvv-space-4) !important;
}

/* Paragraph */
html body.page-id-119 p.has-large-font-size,
html body.page-id-119 p {
    font-size:     clamp(16px, 2vw, 20px) !important;
    line-height:   1.65 !important;
    max-width:     560px !important;
}

/* Mobile: tighter top/bottom */
@media (max-width: 768px) {
    html body.page-id-119 .wp-block-columns {
        margin-top:    var(--bvv-space-5) !important;
        margin-bottom: var(--bvv-space-5) !important;
    }
    html body.page-id-119 .wp-block-column {
        padding-top:    var(--bvv-space-5) !important;
        padding-bottom: var(--bvv-space-5) !important;
        padding-left:   var(--bvv-space-5) !important;
        padding-right:  var(--bvv-space-5) !important;
    }
}

@media (max-width: 480px) {
    html body.page-id-119 .wp-block-columns {
        margin-top:    var(--bvv-space-4) !important;
        margin-bottom: var(--bvv-space-4) !important;
    }
    html body.page-id-119 .wp-block-column {
        padding-top:    var(--bvv-space-4) !important;
        padding-bottom: var(--bvv-space-4) !important;
        padding-left:   var(--bvv-space-4) !important;
        padding-right:  var(--bvv-space-4) !important;
    }
    html body.page-id-119 h2.wp-block-heading {
        font-size: clamp(24px, 7vw, 36px) !important;
    }
    html body.page-id-119 p.has-large-font-size,
    html body.page-id-119 p {
        font-size: 16px !important;
        max-width: 100% !important;
    }
}

/* 29. Desktop / large screen fixes */

/* info strip — equal-width columns */
html body .bvv-info-strip > .wp-block-columns {
    flex:       1 1 0 !important;
    min-width:  0 !important;
    max-width:  none !important;
}

/* feature cards — equal height rows */
html body .wp-container-core-columns-is-layout-e0b3eb5f {
    align-items: stretch !important;
}
html body .wp-container-core-columns-is-layout-e0b3eb5f > .wp-block-column {
    display:        flex !important;
    flex-direction: column !important;
}
html body .wp-container-core-columns-is-layout-e0b3eb5f > .wp-block-column .is-style-bvv-card {
    flex:    1 1 auto !important;
    height:  100% !important;
}

/* how it works — paragraph size on desktop */
@media (min-width: 1025px) {
    html body .wp-container-core-columns-is-layout-c328bb5f p {
        font-size:   16px !important;
        line-height: 1.65 !important;
    }
    html body .wp-container-core-columns-is-layout-c328bb5f h5.wp-block-heading {
        font-size:   17px !important;
        line-height: 1.3 !important;
    }
}

/* Thursday / Tuesday cards — balanced sizing and gap */
@media (min-width: 1025px) {
    html body .wp-container-core-columns-is-layout-ed2ce5b3 {
        gap:         2rem !important;
        align-items: stretch !important;
    }
    /* Thursday: 58%, Tuesday: 38%, sensible proportions */
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:first-child {
        flex-basis: 58% !important;
        max-width:  58% !important;
    }
    html body .wp-container-core-columns-is-layout-ed2ce5b3 > .wp-block-column:last-child {
        flex-basis: 38% !important;
        max-width:  38% !important;
    }
    /* Both cards stretch to equal height */
    html body .wp-container-core-group-is-layout-55a48b49,
    html body .wp-container-core-group-is-layout-c34a2cb2 {
        height: 100% !important;
    }
}

/* FAQ accordion — wider on large screens */
@media (min-width: 1025px) {
    html body .wp-elements-a246bc8be6f60c6bfd779dfdd74e3f11 {
        padding-left:  clamp(40px, 6vw, 100px) !important;
        padding-right: clamp(40px, 6vw, 100px) !important;
    }
    html body .kt-accordion-wrap {
        max-width: 960px !important;
        margin-left:  auto !important;
        margin-right: auto !important;
    }
}

/* footer — balanced 3-column layout */
@media (min-width: 1025px) {
    html body .site-top-footer-inner-wrap {
        display:         grid !important;
        grid-template-columns: 2fr 1fr 1fr !important;
        align-items:     start !important;
        gap:             40px !important;
    }
    html body .site-footer-top-section-1,
    html body .site-footer-top-section-2,
    html body .site-footer-top-section-3 {
        width:     100% !important;
        max-width: 100% !important;
    }
}

/* "Got questions?" — reduce top padding */
html body .wp-container-core-columns-is-layout-514ef67d > .wp-block-column > .wp-block-group {
    padding-top: var(--bvv-space-7) !important;
}

/* max-width cap on very wide screens */
@media (min-width: 1440px) {
    html body .wp-block-cover__inner-container,
    html body .bvv-info-strip,
    html body .wp-container-core-group-is-layout-46c9467a,
    html body .wp-container-core-cover-is-layout-fcc72f54 {
        max-width: 1400px !important;
        margin-left:  auto !important;
        margin-right: auto !important;
    }
}

/* 30. Info strip — compact sizing on all screens, tighter on desktop */

/* Strip container — compact height */
html body .bvv-info-strip {
    padding-top:    12px !important;
    padding-bottom: 12px !important;
}

/* Each column — tighter padding */
html body .bvv-info-strip > .wp-block-columns {
    padding: 12px 20px !important;
}

/* Icon size */
html body .bvv-info-strip .kb-svg-icon-wrap svg {
    width:  18px !important;
    height: 18px !important;
}
html body .bvv-info-strip .kb-svg-icon-wrap {
    font-size:     18px !important;
    margin-bottom: 6px !important;
}

/* Label (LOCATION, NIGHT, etc.) */
html body .bvv-info-strip p.has-small-font-size {
    font-size:      11px !important;
    letter-spacing: 0.10em !important;
    line-height:    1.3 !important;
    margin-bottom:  2px !important;
}

/* Value text (Melrose Community Club, etc.) */
html body .bvv-info-strip p.has-theme-palette-9-color,
html body .bvv-info-strip .wp-block-column p:last-child {
    font-size:   13px !important;
    line-height: 1.4 !important;
}

/* Desktop — even more compact */
@media (min-width: 1025px) {
    html body .bvv-info-strip {
        padding-top:    10px !important;
        padding-bottom: 10px !important;
    }
    html body .bvv-info-strip > .wp-block-columns {
        padding: 10px 24px !important;
    }
    html body .bvv-info-strip p.has-small-font-size {
        font-size: 10px !important;
    }
    html body .bvv-info-strip p.has-theme-palette-9-color,
    html body .bvv-info-strip .wp-block-column p:last-child {
        font-size: 13px !important;
    }
}

/* 31. Thursday / Tuesday cards — centred in their section */

html body .wp-container-core-columns-is-layout-ed2ce5b3 {
    justify-content: center !important;
    max-width:       1100px !important;
    margin-left:     auto !important;
    margin-right:    auto !important;
}

/* 32. Info strip — full width, text on fewer lines */

/* Strip must be full viewport width, no max-width constraint */
html body .bvv-info-strip {
    width:     100% !important;
    max-width: none !important;
    padding-left:  0 !important;
    padding-right: 0 !important;
}

/* Each column — allow text to breathe horizontally */
html body .bvv-info-strip > .wp-block-columns {
    flex:      1 1 0 !important;
    min-width: 0 !important;
    padding:   16px 20px !important;
    white-space: normal !important;
}

/* Prevent value text from wrapping on desktop */
@media (min-width: 1025px) {
    html body .bvv-info-strip > .wp-block-columns {
        padding: 16px 28px !important;
    }
    html body .bvv-info-strip p {
        white-space: nowrap !important;
        font-size:   13px !important;
        line-height: 1.4 !important;
    }
    html body .bvv-info-strip p.has-small-font-size {
        font-size:   10px !important;
        white-space: nowrap !important;
    }
}

/* Tablet — allow wrapping but keep font readable */
@media (max-width: 1024px) {
    html body .bvv-info-strip p {
        white-space: normal !important;
        font-size:   12px !important;
    }
}

/* 33. Info strip — increased font sizes */

@media (min-width: 1025px) {
    /* Orange label titles (LOCATION, NIGHT, FORMAT, etc.) */
    html body .bvv-info-strip p.has-small-font-size,
    html body .bvv-info-strip p.has-theme-palette-1-color {
        font-size:      12px !important;
        letter-spacing: 0.12em !important;
        font-weight:    700 !important;
    }

    /* White value text */
    html body .bvv-info-strip p.has-theme-palette-9-color {
        font-size:   15px !important;
        line-height: 1.4 !important;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    html body .bvv-info-strip p.has-small-font-size,
    html body .bvv-info-strip p.has-theme-palette-1-color {
        font-size:   11px !important;
        font-weight: 700 !important;
    }
    html body .bvv-info-strip p.has-theme-palette-9-color {
        font-size: 13px !important;
    }
}

/* 34. Info strip — mobile fix (undo nowrap, sensible sizes) */

@media (max-width: 768px) {
    /* Allow normal wrapping on mobile */
    html body .bvv-info-strip p,
    html body .bvv-info-strip p.has-small-font-size,
    html body .bvv-info-strip p.has-theme-palette-1-color,
    html body .bvv-info-strip p.has-theme-palette-9-color {
        white-space: normal !important;
    }

    /* 2-column grid on tablet/mobile */
    html body .bvv-info-strip {
        flex-wrap: wrap !important;
    }
    html body .bvv-info-strip > .wp-block-columns {
        flex:      1 1 calc(50% - 1px) !important;
        min-width: calc(50% - 1px) !important;
        border:    none !important;
        padding:   14px 16px !important;
    }

    /* Font sizes */
    html body .bvv-info-strip p.has-small-font-size,
    html body .bvv-info-strip p.has-theme-palette-1-color {
        font-size:   10px !important;
        font-weight: 700 !important;
    }
    html body .bvv-info-strip p.has-theme-palette-9-color {
        font-size:   13px !important;
        line-height: 1.4 !important;
    }
}

@media (max-width: 480px) {
    /* Single column on small phones */
    html body .bvv-info-strip > .wp-block-columns {
        flex:      1 1 100% !important;
        min-width: 100% !important;
        border:    none !important;
        padding:   12px 16px !important;
    }
}

/* 35. Info strip — tighter height, last item not clipped */

/* Reduce overall strip vertical padding */
html body .bvv-info-strip {
    padding-top:    0 !important;
    padding-bottom: 0 !important;
    overflow:       visible !important;
}

/* Each column — vertically compact, no clipping */
html body .bvv-info-strip > .wp-block-columns {
    padding:    20px 20px !important;
    overflow:   visible !important;
    min-width:  0 !important;
}

/* Last column — ensure it doesn't clip */
html body .bvv-info-strip > .wp-block-columns:last-child {
    padding-right: 24px !important;
    overflow:      visible !important;
}

/* All paragraphs in strip — no overflow clipping */
html body .bvv-info-strip p {
    overflow:    visible !important;
    text-overflow: unset !important;
}

@media (min-width: 1025px) {
    html body .bvv-info-strip > .wp-block-columns {
        padding: 18px 24px !important;
    }
    html body .bvv-info-strip > .wp-block-columns:last-child {
        padding-right: 28px !important;
    }
}

/* 36. Mobile improvements — overflow prevention, footer stacking, */

/* Prevent horizontal scroll on every screen size */
html body {
    overflow-x: hidden !important;
}

/* ---- Footer: stack columns on mobile / tablet ---- */
@media (max-width: 768px) {
    html body .site-top-footer-inner-wrap {
        display:        flex !important;
        flex-direction: column !important;
        gap:            28px !important;
        padding-left:   var(--bvv-space-5) !important;
        padding-right:  var(--bvv-space-5) !important;
        box-sizing:     border-box !important;
    }

    html body .site-footer-top-section-1,
    html body .site-footer-top-section-2,
    html body .site-footer-top-section-3 {
        width:     100% !important;
        max-width: 100% !important;
    }

    html body .footer-widget1 p {
        max-width: 100% !important;
    }

    html body .widget_nav_menu .widget-title {
        font-size:     24px !important;
        margin-bottom: 10px !important;
    }
}

/* ---- FAQ / Kadence accordion — touch-friendly targets & readable text ---- */
html body .kt-accordion-header-btn {
    padding-top:    16px !important;
    padding-bottom: 16px !important;
    font-size:      clamp(14px, 3.5vw, 17px) !important;
    line-height:    1.4 !important;
    min-height:     48px !important;
}

html body .kt-accordion-pane p,
html body .kt-accordion-panel-inner p,
html body .kt-accordion-pane-inner p {
    font-size:   clamp(14px, 3.5vw, 16px) !important;
    line-height: 1.65 !important;
}

@media (max-width: 480px) {
    html body .kt-accordion-header-btn {
        font-size:      14px !important;
        padding-top:    14px !important;
        padding-bottom: 14px !important;
    }

    html body .kt-accordion-pane p,
    html body .kt-accordion-panel-inner p,
    html body .kt-accordion-pane-inner p {
        font-size: 14px !important;
    }
}

/* ---- Buttons — 44 px minimum tap target ---- */
html body .wp-block-button__link {
    min-height:  44px !important;
    display:     inline-flex !important;
    align-items: center !important;
}

html body .kb-buttons-wrap .kb-button {
    min-height: 44px !important;
}

/* ---- Section vertical rhythm — tighter top/bottom on small screens ---- */
@media (max-width: 480px) {
    html body .wp-block-group:not(.bvv-info-strip) {
        padding-top:    var(--bvv-space-6) !important;
        padding-bottom: var(--bvv-space-6) !important;
    }
}

/* ---- All content images — always fluid width ---- */
/* .wp-block-cover img is intentionally excluded: the cover block renders
   its background as an <img> that needs height:100% to fill the block.
   Forcing height:auto exposes the overlay colour behind it. */
html body .entry-content img,
html body .wp-block-image img {
    max-width: 100% !important;
    height:    auto !important;
}

/* 36. Info strip — comprehensive responsive fix */

/* Base: strip is always full width, dark bg, no overflow */
html body .bvv-info-strip {
    width:          100vw !important;
    max-width:      100vw !important;
    margin-left:    0 !important;
    margin-right:   0 !important;
    padding:        0 !important;
    overflow:       visible !important;
    box-sizing:     border-box !important;
}

/* Override inline padding on the WP columns wrappers */
html body .bvv-info-strip .wp-container-core-columns-is-layout-18375ce7,
html body .bvv-info-strip .wp-container-core-columns-is-layout-73edab2d {
    padding: 0 !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
}

/* Each inner column cell */
html body .bvv-info-strip .wp-block-column {
    padding-top:    16px !important;
    padding-bottom: 16px !important;
    padding-left:   20px !important;
    padding-right:  20px !important;
    overflow:       visible !important;
    min-width:      0 !important;
    white-space:    nowrap !important;
}

/* Orange label */
html body .bvv-info-strip .wp-block-column p.has-theme-palette-1-color {
    font-size:      11px !important;
    font-weight:    700 !important;
    letter-spacing: 0.12em !important;
    line-height:    1.3 !important;
    margin:         0 0 3px 0 !important;
    white-space:    nowrap !important;
}

/* White value */
html body .bvv-info-strip .wp-block-column p.has-theme-palette-9-color {
    font-size:   14px !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    margin:      0 !important;
    white-space: nowrap !important;
}

/* Icons */
html body .bvv-info-strip .kb-svg-icon-wrap {
    font-size:     16px !important;
    margin-bottom: 5px !important;
}

/* Dividers handled by border-right on .bvv-info-strip > .wp-block-columns in Section 4 */

/* desktop ≥1025px */
@media (min-width: 1025px) {
    html body .bvv-info-strip {
        display:         flex !important;
        flex-direction:  row !important;
        flex-wrap:       nowrap !important;
        align-items:     stretch !important;
        justify-content: space-between !important;
    }
    html body .bvv-info-strip .wp-block-column {
        padding: 20px 28px 20px 24px !important;
    }
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-1-color {
        font-size: 11px !important;
    }
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-9-color {
        font-size: 14px !important;
    }
}

/* tablet ≤1024px */
@media (max-width: 1024px) {
    html body .bvv-info-strip {
        display:        flex !important;
        flex-direction: row !important;
        flex-wrap:      wrap !important;
        padding:        0 !important;
    }
    /* Force 3 items per row — target the outer .wp-block-columns wrappers */
    html body .bvv-info-strip > .wp-block-columns {
        flex:      0 0 33.333% !important;
        width:     33.333% !important;
        min-width: 33.333% !important;
        max-width: 33.333% !important;
        border:    none !important;
        box-sizing: border-box !important;
    }
    html body .bvv-info-strip .wp-container-core-columns-is-layout-18375ce7,
    html body .bvv-info-strip .wp-container-core-columns-is-layout-73edab2d {
        flex:      0 0 33.333% !important;
        width:     33.333% !important;
        min-width: 33.333% !important;
        max-width: 33.333% !important;
        border:    none !important;
        box-sizing: border-box !important;
    }
    html body .bvv-info-strip .wp-block-column,
    html body .bvv-info-strip .wp-block-column.is-vertically-aligned-center {
        white-space:    normal !important;
        padding:        10px 14px !important;
        padding-top:    10px !important;
        padding-bottom: 10px !important;
    }
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-1-color,
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-9-color {
        white-space: normal !important;
    }
    html body .bvv-info-strip .kb-svg-icon-wrap {
        font-size:     14px !important;
        margin-bottom: 3px !important;
    }
}

/* mobile ≤600px */
@media (max-width: 600px) {
    html body .bvv-info-strip {
        display:   grid !important;
        grid-template-columns: 1fr 1fr !important;
        flex-wrap: wrap !important;
        gap:       0 !important;
    }
    html body .bvv-info-strip .wp-container-core-columns-is-layout-18375ce7,
    html body .bvv-info-strip .wp-container-core-columns-is-layout-73edab2d {
        flex:          1 1 50% !important;
        min-width:     50% !important;
        border:        none !important;
    }
    html body .bvv-info-strip .wp-block-column,
    html body .bvv-info-strip .wp-block-column.is-vertically-aligned-center {
        padding:        10px 14px !important;
        padding-top:    10px !important;
        padding-bottom: 10px !important;
        white-space:    normal !important;
    }
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-9-color {
        font-size:   13px !important;
        white-space: normal !important;
    }
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-1-color {
        white-space: normal !important;
    }

}

/* 37. Info strip — fix right-edge clipping on last item */

/* Remove overflow hidden from any ancestor inside the strip */
html body .bvv-info-strip,
html body .bvv-info-strip .wp-block-group__inner-container,
html body .bvv-info-strip > * {
    overflow:   visible !important;
    max-width:  none !important;
}

/* Reduce padding so 5 items fit without the last one clipping */
@media (min-width: 1025px) {
    html body .bvv-info-strip .wp-block-column {
        padding-left:  24px !important;
        padding-right: 20px !important;
    }
    /* Give the last column a bit of right padding buffer */
    html body .bvv-info-strip .wp-container-core-columns-is-layout-73edab2d:last-child .wp-block-column {
        padding-right: 24px !important;
    }
}

/* Also ensure the strip's own container doesn't restrict width */
html body .wp-container-core-group-is-layout-9cee2d50 {
    overflow:  visible !important;
    max-width: none !important;
    width:     100% !important;
}

/* 38. Info strip — force full width, fix last item clip */

/* The strip's inner group container is capped by Kadence at 1290px — break it out */
html body .bvv-info-strip,
html body .bvv-info-strip .wp-block-group__inner-container,
html body .wp-container-core-group-is-layout-9cee2d50 {
    width:      100% !important;
    max-width:  100% !important;
    overflow:   visible !important;
    padding:    0 !important;
    margin:     0 !important;
    box-sizing: border-box !important;
}

/* Each top-level column wrapper — equal flex, visible overflow */
html body .bvv-info-strip > .wp-block-columns {
    overflow:   visible !important;
    flex-shrink: 1 !important;
    min-width:   0 !important;
}

/* Last column — no border, full right padding so text doesn't hit the edge */
html body .bvv-info-strip > .wp-block-columns:last-child {
    padding-right: 28px !important;
}

/* Inner wp-block-column — allow text to breathe, no clipping */
html body .bvv-info-strip .wp-block-column,
html body .bvv-info-strip .wp-block-column.is-vertically-aligned-center {
    overflow:    visible !important;
    white-space: nowrap !important;
    padding:     16px 20px !important;
    /* Override the huge inline padding-top/bottom from core-block-supports */
    padding-top:    16px !important;
    padding-bottom: 16px !important;
}

/* Tighten the strip height — zero out the outer group's own padding */
html body .wp-block-group.bvv-info-strip[style] {
    padding-top:    0 !important;
    padding-bottom: 0 !important;
    min-height:     0 !important;
}

/* 39. Info strip — first column aligns with hero content left edge */

@media (min-width: 1025px) {
    html body .bvv-info-strip > .wp-block-columns:first-child .wp-block-column {
        padding-left: clamp(60px, 6.3vw, 81px) !important;
    }
}

/* 40. Info strip — tablet 3-per-row using CSS grid on inner container */

@media (min-width: 481px) and (max-width: 1024px) {
    /* Override the inline justify-content:space-between on the group layout class */
    html body .bvv-info-strip .wp-block-group__inner-container,
    html body .wp-container-core-group-is-layout-9cee2d50 {
        display:               grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        width:                 100% !important;
        max-width:             100% !important;
        padding:               0 !important;
        gap:                   0 !important;
    }

    /* Each .wp-block-columns child fills its grid cell */
    html body .bvv-info-strip .wp-block-group__inner-container > .wp-block-columns,
    html body .wp-container-core-group-is-layout-9cee2d50 > .wp-block-columns {
        width:     100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        border:    none !important;
    }

    /* Tighter cell padding */
    html body .bvv-info-strip .wp-block-column,
    html body .bvv-info-strip .wp-block-column.is-vertically-aligned-center {
        padding:        10px 14px !important;
        padding-top:    10px !important;
        padding-bottom: 10px !important;
        white-space:    normal !important;
    }
}

/* 41. Info strip tablet — align left edge with hero, tighter padding */

@media (min-width: 481px) and (max-width: 1024px) {
    html body .bvv-info-strip .wp-block-group__inner-container,
    html body .wp-container-core-group-is-layout-9cee2d50 {
        padding-left:  clamp(24px, 4vw, 48px) !important;
        padding-right: clamp(24px, 4vw, 48px) !important;
    }

    html body .bvv-info-strip .wp-block-column,
    html body .bvv-info-strip .wp-block-column.is-vertically-aligned-center {
        padding:        8px 12px !important;
        padding-top:    8px !important;
        padding-bottom: 8px !important;
    }

    html body .bvv-info-strip .wp-block-column p.has-theme-palette-1-color {
        font-size: 10px !important;
    }
    html body .bvv-info-strip .wp-block-column p.has-theme-palette-9-color {
        font-size: 13px !important;
    }
}

/* 42. Info strip — padding top and bottom */

html body .bvv-info-strip {
    padding-top:    20px !important;
    padding-bottom: 20px !important;
}

@media (max-width: 1024px) {
    html body .bvv-info-strip {
        padding-top:    16px !important;
        padding-bottom: 16px !important;
    }
}

@media (max-width: 480px) {
    html body .bvv-info-strip {
        padding-top:    12px !important;
        padding-bottom: 12px !important;
    }
}

/* 44. Fix: stat-badge gap in "The numbers" card + */

/* ---- Numbers card — remove unintended §36 section-rhythm padding ----------
   The wp-block-group rule in §36 adds padding-top/bottom: 32px to ALL
   .wp-block-group elements on mobile, including the stat-badge row containers
   nested inside .is-style-bvv-card. Zero those out here.              ---- */
@media (max-width: 480px) {
    html body .is-style-bvv-card .wp-block-group,
    html body .is-style-bvv-card [class*="wp-container-core-group"] {
        padding-top:    0 !important;
        padding-bottom: 0 !important;
    }
}

/* ---- Numbers card — card height auto + robust inner-group flex fix --------
   The dynamic class names (b16ad781 / 41f9fede) may not match after block
   edits. Use [class*="wp-container-core-group"] as a stable fallback.
   height:auto stops the card stretching to fill its parent column.    ---- */
@media (max-width: 768px) {
    html body .is-style-bvv-card {
        height: auto !important;
    }
    html body .is-style-bvv-card [class*="wp-container-core-group"] {
        flex: 0 0 auto !important;
    }
}

/* ---- Thursday / Tuesday Night heading — comprehensive override ------------
   Covers h1/h2/h3, any .wp-block-heading, and Kadence's custom property
   (--kb-adv-heading-fs) so the heading scales down regardless of how Kadence
   stores the font size.
   line-height: 1.15 gives each line comfortable breathing room.       ---- */
@media (max-width: 480px) {
    html body .is-style-bvv-dark-section {
        --kb-adv-heading-fs: clamp(22px, 6vw, 30px);
    }
    html body .is-style-bvv-dark-section h1.wp-block-heading,
    html body .is-style-bvv-dark-section h2.wp-block-heading,
    html body .is-style-bvv-dark-section h3.wp-block-heading,
    html body .is-style-bvv-dark-section .wp-block-heading {
        font-size:   clamp(22px, 6vw, 30px) !important;
        line-height: 1.15 !important;
        word-break:  break-word !important;
    }
}

@media (max-width: 400px) {
    html body .is-style-bvv-dark-section {
        --kb-adv-heading-fs: clamp(18px, 6vw, 24px);
    }
    html body .is-style-bvv-dark-section h1.wp-block-heading,
    html body .is-style-bvv-dark-section h2.wp-block-heading,
    html body .is-style-bvv-dark-section h3.wp-block-heading,
    html body .is-style-bvv-dark-section .wp-block-heading {
        font-size:   clamp(18px, 6vw, 24px) !important;
        line-height: 1.15 !important;
    }
}

/* 43. Tablet improvements — footer two-row layout & heading scale */

/* ---- Footer: brand full-width on top, League + Connect below ---- */
/*
   Desktop (≥1025px): single-row 2fr 1fr 1fr grid  →  section 29
   Mobile  (≤768px) : single column stack           →  section 36
   Tablet  (769–1024px): two-row grid               →  here
*/
@media (min-width: 769px) and (max-width: 1024px) {
    html body .site-top-footer-inner-wrap {
        display:               grid !important;
        grid-template-columns: 1fr 1fr !important;
        grid-template-areas:
            "brand  brand"
            "league connect" !important;
        gap:           40px 48px !important;
        padding-left:  var(--bvv-space-7) !important;
        padding-right: var(--bvv-space-7) !important;
        box-sizing:    border-box !important;
        align-items:   start !important;
    }

    html body .site-footer-top-section-1 {
        grid-area: brand !important;
        width:     100% !important;
    }

    html body .site-footer-top-section-2 {
        grid-area: league !important;
        width:     100% !important;
    }

    html body .site-footer-top-section-3 {
        grid-area: connect !important;
        width:     100% !important;
    }

    /* Branding paragraph — no artificial max-width at tablet */
    html body .footer-widget1 p {
        max-width: 100% !important;
    }

    /* Widget headings (Volleyball / League / Connect) */
    html body .widget_nav_menu .widget-title {
        font-size:     26px !important;
        margin-bottom: 12px !important;
    }

    /* Footer nav link size */
    html body .widget_nav_menu .menu li a {
        font-size: 16px !important;
    }
}

/* ---- FAQ section heading — fluid at tablet ---- */
@media (min-width: 769px) and (max-width: 1024px) {
    html body .wp-elements-a246bc8be6f60c6bfd779dfdd74e3f11 h3 {
        font-size:   clamp(26px, 4vw, 36px) !important;
        line-height: 1.1 !important;
    }
}

/* ---- CTA "Don't Miss Your Spot" h3 — fluid at tablet ---- */
@media (min-width: 769px) and (max-width: 1024px) {
    html body .wp-container-core-columns-is-layout-0010fc35 h3 {
        font-size:   clamp(28px, 5vw, 44px) !important;
        line-height: 1.1 !important;
    }
}

/* ---- "Got questions?" footer section — centre-stack on tablet ---- */
@media (min-width: 769px) and (max-width: 1024px) {
    html body .wp-container-core-columns-is-layout-514ef67d {
        flex-direction: column !important;
        text-align:     center !important;
        gap:            8px !important;
    }
}

/* 45. Full-site responsive audit */

/* A. GLOBAL CONTENT TYPOGRAPHY & PADDING */

/* Fluid paragraph text for every inner page */
html body .entry-content p,
html body .single-post .entry-content p {
    font-size:     clamp(15px, 1.8vw, 17px) !important;
    line-height:   1.7 !important;
    max-width:     72ch !important;
    word-break:    break-word !important;
    overflow-wrap: break-word !important;
}

/* Fluid list items */
html body .entry-content ul li,
html body .entry-content ol li {
    font-size:   clamp(15px, 1.8vw, 17px) !important;
    line-height: 1.65 !important;
}

/* Fluid headings in content pages (lower specificity — specific page rules win) */
html body .entry-content h2 { font-size: clamp(20px, 3.5vw, 36px) !important; line-height: 1.2 !important; }
html body .entry-content h3 { font-size: clamp(18px, 2.8vw, 28px) !important; line-height: 1.25 !important; }
html body .entry-content h4 { font-size: clamp(16px, 2.2vw, 22px) !important; line-height: 1.3 !important; }

@media (max-width: 768px) {
    html body .entry-content h2 { font-size: clamp(18px, 5.5vw, 28px) !important; }
    html body .entry-content h3 { font-size: clamp(16px, 4.5vw, 22px) !important; }
    html body .entry-content h4 { font-size: clamp(15px, 4vw, 18px) !important; }
    html body .entry-content p,
    html body .entry-content ul li,
    html body .entry-content ol li {
        font-size:  15px !important;
        max-width:  100% !important;
    }
}

/* Safe horizontal padding for all inner-page content wraps */
html body .entry-content-wrap {
    padding-left:  clamp(16px, 4vw, 40px) !important;
    padding-right: clamp(16px, 4vw, 40px) !important;
    box-sizing:    border-box !important;
}

/* All images inside content — fluid width */
html body .entry-content img,
html body .wp-block-image img,
html body .wp-block-media-text img {
    max-width: 100% !important;
    height:    auto !important;
}

/* B. HOME PAGE — section headings at tablet / large screen */

/* "COMPETITIVE. FRIENDLY. LOUD." and similar large section h2/h3
   that sit above card grids — keep them in proportion at every size */
@media (max-width: 1024px) {
    html body .wp-block-group:not(.bvv-info-strip):not(.is-style-bvv-dark-section):not(.is-style-bvv-card) > h2.wp-block-heading,
    html body .wp-block-group:not(.bvv-info-strip):not(.is-style-bvv-dark-section):not(.is-style-bvv-card) > h3.wp-block-heading {
        font-size:   clamp(22px, 4.5vw, 40px) !important;
        line-height: 1.1 !important;
        word-break:  break-word !important;
    }
}

@media (max-width: 768px) {
    html body .wp-block-group:not(.bvv-info-strip):not(.is-style-bvv-dark-section):not(.is-style-bvv-card) > h2.wp-block-heading,
    html body .wp-block-group:not(.bvv-info-strip):not(.is-style-bvv-dark-section):not(.is-style-bvv-card) > h3.wp-block-heading {
        font-size: clamp(20px, 6vw, 32px) !important;
    }
}

/* Feature-cards and How-It-Works column gap on large screens */
@media (min-width: 1025px) {
    html body .wp-container-core-columns-is-layout-e0b3eb5f { gap: 24px !important; }
    html body .wp-container-core-columns-is-layout-c328bb5f { gap: 32px !important; }
}

/* C. NAVIGATION — mobile hamburger tap target & drawer */

@media (max-width: 1024px) {
    /* Hamburger toggle — minimum 44 × 44 px tap target */
    html body .kadence-mobile-header-toggle,
    html body .menu-toggle,
    html body [class*="mobile-toggle"],
    html body [class*="toggle-button"] {
        min-width:       44px !important;
        min-height:      44px !important;
        display:         flex !important;
        align-items:     center !important;
        justify-content: center !important;
    }

    /* Mobile drawer inner padding */
    html body .mobile-header-section-inner,
    html body .kadence-mobile-nav-wrap {
        padding: var(--bvv-space-5) !important;
    }

    /* Mobile nav links — full-width, comfortable tap height */
    html body [class*="mobile-navigation"] a,
    html body .mobile-header-navigation a {
        display:     block !important;
        padding-top:    12px !important;
        padding-bottom: 12px !important;
        font-size:      16px !important;
    }
}

/* D. REGISTER PAGE (246) — tablet two-column layout */

@media (min-width: 769px) and (max-width: 1024px) {
    html body.page-id-246 .entry-content-wrap {
        padding-left:  clamp(24px, 5vw, 48px) !important;
        padding-right: clamp(24px, 5vw, 48px) !important;
    }

    html body.page-id-246 h2.wp-block-heading {
        font-size:   clamp(28px, 5vw, 48px) !important;
        line-height: 1.15 !important;
    }

    html body.page-id-246 .is-style-bvv-script {
        font-size: clamp(20px, 3.5vw, 30px) !important;
    }

    /* Info-box cards — keep side-by-side on tablet */
    html body.page-id-246 .wp-container-core-columns-is-layout-2d85a6ef {
        flex-direction: row !important;
        flex-wrap:      nowrap !important;
        gap:            24px !important;
    }
    html body.page-id-246 .wp-container-core-columns-is-layout-2d85a6ef > .wp-block-column {
        flex-basis: calc(50% - 12px) !important;
        max-width:  calc(50% - 12px) !important;
    }

    /* Kadence info-box title */
    html body.page-id-246 .kt-blocks-info-box-title {
        font-size:   clamp(20px, 3vw, 30px) !important;
        line-height: 1.2 !important;
    }

    /* Info-box body text */
    html body.page-id-246 .kt-blocks-info-box-text {
        font-size:   15px !important;
        line-height: 1.6 !important;
    }

    /* "Don't have a team?" section */
    html body.page-id-246 .wp-container-core-columns-is-layout-39f45e07 h2.wp-block-heading {
        font-size: clamp(24px, 4.5vw, 40px) !important;
    }
}

/* E. THANK-YOU PAGES (122, 119) — tablet spacing & typography */

@media (min-width: 769px) and (max-width: 1024px) {
    /* Registration thank-you (122) */
    html body.page-id-122 .wp-block-columns {
        padding-left:  var(--bvv-space-6) !important;
        padding-right: var(--bvv-space-6) !important;
        flex-wrap:     wrap !important;
    }
    html body.page-id-122 .wp-block-column {
        padding-left:  var(--bvv-space-6) !important;
        padding-right: var(--bvv-space-6) !important;
    }
    html body.page-id-122 h3.wp-block-heading {
        font-size: clamp(24px, 4vw, 38px) !important;
    }
    html body.page-id-122 .wp-block-list li,
    html body.page-id-122 ol li {
        font-size: clamp(15px, 2.5vw, 18px) !important;
    }

    /* Waiver signed (119) */
    html body.page-id-119 .wp-block-columns {
        margin-top:    var(--bvv-space-6) !important;
        margin-bottom: var(--bvv-space-6) !important;
    }
    html body.page-id-119 .wp-block-column {
        padding-left:  clamp(32px, 5vw, 60px) !important;
        padding-right: clamp(24px, 4vw, 40px) !important;
        padding-top:   var(--bvv-space-6) !important;
        padding-bottom: var(--bvv-space-6) !important;
    }
    html body.page-id-119 h2.wp-block-heading {
        font-size: clamp(26px, 4vw, 42px) !important;
    }
    html body.page-id-119 p {
        font-size: clamp(15px, 2vw, 18px) !important;
    }
}

/* F. GRAVITY FORMS — tablet field & button sizing */

@media (min-width: 769px) and (max-width: 1024px) {
    html body .gform_wrapper {
        padding-left:  clamp(16px, 3vw, 32px) !important;
        padding-right: clamp(16px, 3vw, 32px) !important;
    }
    html body .gform_wrapper input[type="text"],
    html body .gform_wrapper input[type="email"],
    html body .gform_wrapper input[type="tel"],
    html body .gform_wrapper input[type="number"],
    html body .gform_wrapper input[type="url"],
    html body .gform_wrapper select,
    html body .gform_wrapper textarea {
        font-size:  15px !important;
        padding:    12px 14px !important;
        max-width:  100% !important;
        box-sizing: border-box !important;
    }
    html body .gform_wrapper .gfield_label {
        font-size: 14px !important;
    }
    html body .gform_wrapper .gform_submit_button,
    html body .gform_wrapper input[type="submit"] {
        font-size: 13px !important;
        padding:   13px 32px !important;
    }
}

/* G. INNER PAGES & ARCHIVE — entry-hero tablet, blog layout */

/* Entry-hero tablet improvement */
@media (min-width: 769px) and (max-width: 1024px) {
    html body .entry-hero h1,
    html body .entry-hero h1.wp-block-heading {
        font-size:   clamp(28px, 5vw, 48px) !important;
        line-height: 1.15 !important;
    }
    html body .entry-hero .entry-header {
        padding-left:  clamp(24px, 5vw, 48px) !important;
        padding-right: clamp(24px, 5vw, 48px) !important;
    }
}

/* Archive / blog listing pages */
html body .blog .entry,
html body .archive .entry,
html body .search-results .entry {
    max-width:  100% !important;
    box-sizing: border-box !important;
}

html body .blog .entry-title a,
html body .archive .entry-title a,
html body .search-results .entry-title a {
    font-size:   clamp(18px, 3vw, 32px) !important;
    line-height: 1.25 !important;
}

html body .blog .entry-summary p,
html body .archive .entry-summary p {
    font-size:   15px !important;
    line-height: 1.65 !important;
}

@media (max-width: 768px) {
    html body .blog .hentry,
    html body .archive .hentry {
        padding-left:  var(--bvv-space-5) !important;
        padding-right: var(--bvv-space-5) !important;
    }
    html body .blog .entry-title a,
    html body .archive .entry-title a {
        font-size: clamp(16px, 5vw, 24px) !important;
    }
}

/* 404 & error pages */
html body .error-404 .page-title,
html body .error-404 h1.wp-block-heading {
    font-size:   clamp(28px, 6vw, 56px) !important;
    line-height: 1.15 !important;
}
html body .error-404 .entry-content p {
    font-size:   clamp(15px, 2vw, 18px) !important;
    line-height: 1.65 !important;
}

/* H. FOOTER BOTTOM BAR — mobile centring */

@media (max-width: 768px) {
    html body .site-footer-bottom-wrap .site-container,
    html body .site-footer-bottom-wrap .container,
    html body .site-footer-bottom-inner {
        display:        flex !important;
        flex-direction: column !important;
        align-items:    center !important;
        text-align:     center !important;
        gap:            6px !important;
    }
    html body .site-copyright-inner,
    html body .site-copyright-inner p {
        text-align: center !important;
    }
    html body .footer-html-inner,
    html body .site-footer-bottom-wrap .footer-navigation {
        text-align: center !important;
    }
}

/* I. LARGE SCREENS (≥1440px) — content max-width caps */

@media (min-width: 1440px) {
    /* Inner page content — stop text lines becoming unreadably wide */
    html body .entry-content-wrap {
        max-width:    1200px !important;
        margin-left:  auto !important;
        margin-right: auto !important;
    }
    /* Paragraph line length cap */
    html body .entry-content p {
        max-width: 72ch !important;
    }
    /* Feature cards and schedule cards — capped */
    html body .wp-container-core-columns-is-layout-e0b3eb5f,
    html body .wp-container-core-columns-is-layout-c328bb5f {
        max-width:    1200px !important;
        margin-left:  auto !important;
        margin-right: auto !important;
    }
    /* Footer top wrap */
    html body .site-top-footer-inner-wrap {
        max-width:    1400px !important;
        margin-left:  auto !important;
        margin-right: auto !important;
    }
}

@media (min-width: 1600px) {
    html body .site-content-wrap,
    html body .content-wrap {
        max-width:    1440px !important;
        margin-left:  auto !important;
        margin-right: auto !important;
    }
}


/* 46. Waiver form (page-id-107) — full content width */

/* If Kadence sets this page to "narrow" layout, override back to full width */
body.page-id-107 .content-container.site-container,
body.page-id-107 .hero-container.site-container {
    max-width: var(--global-content-width) !important;
}

/* Remove the 72ch paragraph cap — legal text should fill the column */
html body.page-id-107 .entry-content p,
html body.page-id-107 .entry-content ul li,
html body.page-id-107 .entry-content ol li {
    max-width: none !important;
}

/* Minimal side padding — content should breathe, not be boxed in */
html body.page-id-107 .entry-content-wrap {
    padding-left:  clamp(16px, 2.5vw, 32px) !important;
    padding-right: clamp(16px, 2.5vw, 32px) !important;
}

/* Gravity Forms form inside waiver — full width */
html body.page-id-107 .gform_wrapper,
html body.page-id-107 .gform_body {
    max-width: none !important;
    width:     100% !important;
}