/*
 * Static, consolidated CSS for the Stackable block markup baked into:
 *   widgets/trainer-footer.php
 *   widgets/classes-footer.php
 *   widgets/bookings-personal.php
 *
 * The widgets used to ship the CSS as inline <style> blocks alongside
 * each Stackable-generated .stk-<hash> class. When those widgets were
 * appended to `the_content` (via cpt.php or the [lrk_book_from_credits_template]
 * shortcode), a downstream layer (suspected LiteSpeed inline-CSS
 * optimization) sometimes stripped the <style> open/close tags and left
 * the raw CSS text visible on the page — see 2026-07-12 emergency.
 *
 * Moving the CSS to this static, enqueued stylesheet removes the failure
 * mode entirely. If a Stackable uniqueId changes in a widget file, add
 * the new rules here — DO NOT put <style> tags back in the widgets.
 */

/* ---------- accordions ---------- */
.stk-19b74f8 { margin-bottom: 0px !important; }
.stk-84a2d21 { margin-bottom: 0px !important; }

/* ---------- accordion inner column (zero-padding) ---------- */
.stk-138d297 {
    padding-top:    0px !important;
    padding-right:  0px !important;
    padding-bottom: 0px !important;
    padding-left:   0px !important;
}

/* ---------- info-label under accordion ---------- */
.stk-c6b1934 { margin-bottom: 25px !important; }

/* ---------- dividers (dot-style asterisks) ---------- */
.stk-0f917d1 {
    margin-top:    20px !important;
    margin-bottom: 29px !important;
}
.stk-0f917d1 .stk-block-divider__dot:before { font-size: calc(13px * 1.8) !important; }
.stk-0f917d1 .stk-block-divider__dot        { width: 13px !important; height: 13px !important; }

/* ---------- headings (mobile shrink) ---------- */
@media screen and (max-width: 767px) {
    .stk-7231c78 .stk-block-heading__text { font-size: 16px !important; }
    .stk-c4a0675 .stk-block-heading__text { font-size: 16px !important; }
}

/* ---------- trainer-footer button-group ---------- */
.stk-962369d .stk-button-group { flex-direction: row !important; }
.stk-962369d                   { margin-bottom: 0px !important; }
@media screen and (max-width: 1023px) { .stk-962369d .stk-button-group { flex-direction: row !important; } }
@media screen and (max-width: 767px)  { .stk-962369d .stk-button-group { flex-direction: row !important; } }

/* ---------- trainer-footer primary CTA button ---------- */
.stk-23db14c {
    margin-top: 20px !important;
    clear: right !important;
}
.stk-23db14c .stk-button {
    padding-top:    16px !important;
    padding-right:  35px !important;
    padding-bottom: 16px !important;
    padding-left:   35px !important;
}
.stk-23db14c .stk-button__inner-text {
    font-size:      20px !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
}
@media screen and (max-width: 1023px) {
    .stk-23db14c .stk-button__inner-text { font-size: 20px !important; }
}

/* ---------- hide empty WooCommerce store-notice banners ---------- */
/* The WC Product Collection block always renders a store-notices
 * container around itself; when there's no notice, the inner <span>
 * stays empty but the banner still takes vertical space (a ~34 px tall
 * empty white/blue box). Kills it visually when there's nothing to show.
 * Uses :has() — supported in every browser we care about (Chrome 105+,
 * Firefox 121+, Safari 15.4+). Falls back to visible-but-empty on older
 * browsers, which is exactly the pre-fix state — no regression.
 */
.wc-block-components-notice-banner:has(
    > .wc-block-components-notice-banner__content > span:empty
) {
    display: none !important;
}

