/*
 * Bowling public theme (tenant-safe)
 * Scope: body.ui-v2.tenant--bowling
 */

/* Bowling tenant typography must not inherit the legacy 11px storefront root base. */
@supports selector(html:has(body.ui-v2.tenant--bowling)) {
    html:has(body.ui-v2.tenant--bowling) {
        font-size: 16px;
    }
}

body.ui-v2.tenant--bowling {
    --fs-0: 16px;
    --fs-1: 14px;
    --fs-2: 16px;
    --fs-3: 18px;
    --fs-4: 20px;
    --bw-bg: #0B0D10;
    --bw-bg-soft: #14181F;
    --bw-surface: #14181F;
    --bw-surface-alt: #1A1F27;
    --bw-border: rgba(200, 169, 107, 0.22);
    --bw-border-strong: rgba(200, 169, 107, 0.36);
    --bw-text: #F5F1E8;
    --bw-text-muted: #B8B2A7;
    --bw-text-soft: #9d968a;
    --bw-brand: #C8A96B;
    --bw-brand-soft: #B68B3A;
    --bw-accent: #C8A96B;
    --bw-accent-soft: #E7D3A7;
    --bw-header-btn-text: #14181F;
    --bw-header-btn-bg: linear-gradient(145deg, #C8A96B 0%, #B1883A 52%, #C69C4A 100%);
    --bw-header-btn-bg-hover: linear-gradient(145deg, #B68B3A 0%, #A57D32 52%, #AF8335 100%);
    --bw-header-btn-border: rgba(200, 169, 107, 0.46);
    --bw-header-btn-border-strong: rgba(231, 211, 167, 0.62);
    --bw-header-btn-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 10px 22px rgba(200, 169, 107, 0.18);
    --bw-shadow-sm: 0 8px 20px rgba(3, 4, 8, 0.32);
    --bw-shadow-md: 0 16px 36px rgba(3, 4, 8, 0.42);
    --bw-radius-lg: 20px;
    --bw-radius-md: 14px;
    --bw-radius-sm: 10px;
    --bw-shell-max: 1240px;
    --bw-shell-gutter: 22px;
    --bw-container-max: 1240px;
    --bw-container-gutter: 22px;
    --bw-panel-radius: 16px;
    --bw-panel-radius-lg: 20px;
    --bw-panel-padding: 18px;
    --bw-panel-shadow: 0 10px 24px rgba(3, 4, 8, 0.42);
    --bw-panel-shadow-hover: 0 14px 30px rgba(3, 4, 8, 0.5);
    /* Typography scale tokens (16px base) */
    --bw-fs-12: 12px;
    --bw-fs-14: 14px;
    --bw-fs-16: 16px;
    --bw-fs-18: 18px;
    --bw-fs-20: 20px;
    --bw-fs-24: 24px;
    --bw-fs-32: 32px;
    --bw-fs-40: 40px;
    --bw-fs-48: 48px;
    --bw-fs-body: var(--bw-fs-16);
    --bw-fs-meta: var(--bw-fs-14);
    --bw-fs-nav: var(--bw-fs-16);
    --bw-fs-cta: var(--bw-fs-18);
    --bw-fs-h3: var(--bw-fs-24);
    --bw-fs-h2: var(--bw-fs-32);
    --bw-fs-h1: var(--bw-fs-40);
    --bw-fs-hero: var(--bw-fs-48);
    /* Spacing tokens */
    --bw-space-2xs: 4px;
    --bw-space-xs: 8px;
    --bw-space-sm: 12px;
    --bw-space-md: 16px;
    --bw-space-lg: 24px;
    --bw-space-xl: 32px;
    --bw-space-2xl: 48px;
    --bw-space-3xl: 64px;
    /* Motion tokens */
    --bw-motion-fast: 160ms;
    --bw-motion-base: 240ms;
    --bw-motion-slow: 360ms;
    --bw-ease-standard: cubic-bezier(0.22, 0.61, 0.36, 1);
    --bw-ease-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);
    --bw-hover-lift-soft: -1px;
    --bw-hover-lift: -2px;
    --bw-hover-scale-soft: 1.004;
    --bw-hover-scale: 1.008;
    --bw-focus-ring-color: rgba(200, 169, 107, 0.38);
    --bw-focus-ring-shadow: 0 0 0 3px rgba(200, 169, 107, 0.24);
    background:
        radial-gradient(1120px 480px at 4% -14%, rgba(200, 169, 107, 0.1), transparent 62%),
        radial-gradient(920px 390px at 100% -12%, rgba(200, 169, 107, 0.12), transparent 66%),
        linear-gradient(180deg, #0B0D10 0%, #11151C 56%, #14181F 100%);
    color: var(--bw-text);
    font-family: 'Albert Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    font-size: var(--bw-fs-body);
}

body.ui-v2.tenant--bowling,
body.ui-v2.tenant--bowling .site-content-wrap {
    color: var(--bw-text);
}

body.ui-v2.tenant--bowling .site-content-wrap {
    min-height: 100vh;
    background: transparent;
    font-size: var(--bw-fs-body);
    line-height: 1.6;
}

body.ui-v2.tenant--bowling * {
    box-sizing: border-box;
}

body.ui-v2.tenant--bowling :is(h1, h2, h3, h4, h5, h6) {
    color: var(--bw-text);
}

body.ui-v2.tenant--bowling :is(p, li, label, span, small) {
    color: var(--bw-text-muted);
}

body.ui-v2.tenant--bowling :is(
    button,
    input,
    select,
    textarea,
    label,
    .btn,
    .badge,
    .breadcrumb-item,
    .nav-link,
    .dropdown-item,
    .form-check-label,
    .table,
    .tooltip-inner,
    .alert,
    .nk-main-link,
    .nk-sidebar-pill,
    .nk-login-chip
) {
    font-size: var(--bw-fs-body);
}

body.ui-v2.tenant--bowling :is(
    small,
    .small,
    .muted,
    .text-muted,
    .form-text,
    .placeholder,
    .helper-text
) {
    font-size: var(--bw-fs-meta);
}

body.ui-v2.tenant--bowling a {
    color: var(--bw-brand);
    text-decoration-color: rgba(200, 169, 107, 0.22);
    text-underline-offset: 0.14em;
    transition:
        color var(--bw-motion-fast) var(--bw-ease-standard),
        text-decoration-color var(--bw-motion-fast) var(--bw-ease-standard),
        opacity var(--bw-motion-fast) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling a:hover {
    color: #E7D3A7;
    text-decoration-color: rgba(231, 211, 167, 0.74);
}

body.ui-v2.tenant--bowling :where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid var(--bw-focus-ring-color);
    outline-offset: 2px;
}

/* Public utility spacing helpers */
body.ui-v2.tenant--bowling .bw-u-stack-xs > * + * { margin-top: var(--bw-space-xs); }
body.ui-v2.tenant--bowling .bw-u-stack-sm > * + * { margin-top: var(--bw-space-sm); }
body.ui-v2.tenant--bowling .bw-u-stack-md > * + * { margin-top: var(--bw-space-md); }
body.ui-v2.tenant--bowling .bw-u-stack-lg > * + * { margin-top: var(--bw-space-lg); }
body.ui-v2.tenant--bowling .bw-u-stack-xl > * + * { margin-top: var(--bw-space-xl); }
body.ui-v2.tenant--bowling .bw-u-grid-gap-sm { gap: var(--bw-space-sm); }
body.ui-v2.tenant--bowling .bw-u-grid-gap-md { gap: var(--bw-space-md); }
body.ui-v2.tenant--bowling .bw-u-grid-gap-lg { gap: var(--bw-space-lg); }

/* Global button contract (content scope only) */
body.ui-v2.tenant--bowling {
    --bw-btn-radius: 13px;
    --bw-btn-radius-sm: 11px;
    --bw-btn-height: 44px;
    --bw-btn-pad-x: 17px;
    --bw-btn-font-size: var(--bw-fs-16);
    --bw-btn-font-weight: 700;
    --bw-btn-letter: 0.012em;
    --bw-btn-transition: var(--bw-motion-base) var(--bw-ease-standard);
    --bw-btn-shadow: 0 10px 22px rgba(24, 22, 18, 0.16);
    --bw-btn-shadow-hover: 0 14px 28px rgba(24, 22, 18, 0.22);
    --bw-btn-shadow-press: 0 7px 14px rgba(24, 22, 18, 0.16);
    --bw-btn-focus-ring: var(--bw-focus-ring-shadow);
    --bw-ruby-soft: rgba(200, 169, 107, 0.24);
    --bw-ruby-strong: rgba(200, 169, 107, 0.42);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-submit,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add,
    .product-add-btn
) {
    border-radius: var(--bw-btn-radius);
    min-height: var(--bw-btn-height);
    padding: 10px var(--bw-btn-pad-x);
    font-size: var(--bw-btn-font-size);
    font-weight: var(--bw-btn-font-weight);
    letter-spacing: var(--bw-btn-letter);
    line-height: 1.2;
    text-decoration: none;
    border: 1px solid transparent;
    transition:
        transform var(--bw-btn-transition),
        box-shadow var(--bw-btn-transition),
        background-color var(--bw-btn-transition),
        border-color var(--bw-btn-transition),
        color var(--bw-btn-transition),
        filter var(--bw-btn-transition);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-submit,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add,
    .product-add-btn
):hover {
    transform: translate3d(0, var(--bw-hover-lift-soft), 0) scale(var(--bw-hover-scale-soft));
    box-shadow: var(--bw-btn-shadow-hover);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-submit,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add,
    .product-add-btn
):focus-visible {
    outline: none;
    box-shadow: var(--bw-btn-shadow), var(--bw-btn-focus-ring);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-submit,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add,
    .product-add-btn
):active {
    transform: translate3d(0, 0, 0) scale(1);
    box-shadow: var(--bw-btn-shadow-press);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn--primary,
    .booking-btn--submit,
    .booking-summary__cta,
    .contact-submit,
    .btn-primary,
    .co-nextBtn,
    .co-submit,
    .co-couponBtn:not(.co-couponBtn--ghost),
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn--primary,
    .category-product-add,
    .product-add-btn
) {
    background: var(--bw-header-btn-bg);
    border-color: var(--bw-header-btn-border);
    color: var(--bw-header-btn-text);
    box-shadow:
        0 12px 24px rgba(56, 43, 21, 0.3),
        inset 0 0 0 1px var(--bw-ruby-soft),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn--primary,
    .booking-btn--submit,
    .booking-summary__cta,
    .contact-submit,
    .btn-primary,
    .co-nextBtn,
    .co-submit,
    .co-couponBtn:not(.co-couponBtn--ghost),
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn--primary,
    .category-product-add,
    .product-add-btn
):hover,
body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn--primary,
    .booking-btn--submit,
    .booking-summary__cta,
    .contact-submit,
    .btn-primary,
    .co-nextBtn,
    .co-submit,
    .co-couponBtn:not(.co-couponBtn--ghost),
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn--primary,
    .category-product-add,
    .product-add-btn
):focus-visible {
    background: var(--bw-header-btn-bg-hover);
    border-color: var(--bw-header-btn-border-strong);
    color: #ffffff;
    box-shadow:
        0 16px 30px rgba(56, 43, 21, 0.34),
        inset 0 0 0 1px var(--bw-ruby-strong),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn--ghost,
    .btn-secondary,
    .booking-btn--refresh,
    .co-btn,
    .co-couponBtn--ghost,
    .ox-success__btn--ghost
) {
    background: linear-gradient(180deg, #ffffff, #F4EAD7);
    border-color: rgba(200, 169, 107, 0.32);
    color: #6F572C;
    box-shadow:
        0 8px 18px rgba(56, 43, 21, 0.1),
        inset 0 0 0 1px rgba(200, 169, 107, 0.12);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn--ghost,
    .btn-secondary,
    .co-btn,
    .co-couponBtn--ghost,
    .ox-success__btn--ghost
):hover,
body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn--ghost,
    .btn-secondary,
    .co-btn,
    .co-couponBtn--ghost,
    .ox-success__btn--ghost
):focus-visible {
    background: linear-gradient(180deg, #FBF5E9, #FAF3E6);
    border-color: rgba(200, 169, 107, 0.54);
    color: #5A4625;
    box-shadow:
        0 12px 22px rgba(56, 43, 21, 0.14),
        inset 0 0 0 1px rgba(200, 169, 107, 0.18);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .btn-danger,
    .ox-success__btn--danger,
    .cart-remove
) {
    background: linear-gradient(150deg, #C8A96B, #B68B3A);
    border-color: rgba(200, 169, 107, 0.56);
    color: #14181F;
    box-shadow: 0 10px 20px rgba(56, 43, 21, 0.24);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .btn-danger,
    .ox-success__btn--danger,
    .cart-remove
):hover,
body.ui-v2.tenant--bowling .site-content-wrap :is(
    .btn-danger,
    .ox-success__btn--danger,
    .cart-remove
):focus-visible {
    background: linear-gradient(150deg, #B68B3A, #9F7B3C);
    border-color: rgba(200, 169, 107, 0.7);
    color: #fff;
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-btn--link {
    min-height: auto;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #4A3F2D;
    font-weight: 670;
    letter-spacing: 0.01em;
    text-decoration: underline;
    text-decoration-color: rgba(200, 169, 107, 0.3);
    text-underline-offset: 0.24em;
    transform: none;
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-btn--link:hover,
body.ui-v2.tenant--bowling .site-content-wrap .bw-btn--link:focus-visible {
    color: #7A5E2D;
    text-decoration-color: rgba(122, 94, 45, 0.56);
    transform: none;
    box-shadow: none;
}

body.ui-v2.tenant--bowling .site-content-wrap :is(.btn-danger, .ox-success__btn--danger, .cart-remove) {
    border-radius: var(--bw-btn-radius-sm);
    border: 1px solid rgba(200, 169, 107, 0.42);
    background: linear-gradient(180deg, #14181F, #F4EAD6);
    color: #C8A96B;
    box-shadow: 0 8px 16px rgba(200, 169, 107, 0.14);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(.btn-danger, .ox-success__btn--danger, .cart-remove):hover,
body.ui-v2.tenant--bowling .site-content-wrap :is(.btn-danger, .ox-success__btn--danger, .cart-remove):focus-visible {
    border-color: rgba(200, 169, 107, 0.56);
    background: linear-gradient(180deg, #F3E7D2, #F0E1C8);
    color: #B68B3A;
}

body.ui-v2.tenant--bowling .site-content-wrap :is(.btn.btn-sm, .co-btn--sm, .co-couponBtn) {
    min-height: 40px;
    border-radius: var(--bw-btn-radius-sm);
    padding: 8px 13px;
    font-size: var(--bw-fs-16);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(.qty-btn, .cart-qtybtn, .nk-qty-btn) {
    width: 38px;
    min-width: 38px;
    height: 38px;
    padding: 0;
    border-radius: 11px;
    border: 1px solid rgba(200, 169, 107, 0.25);
    background: linear-gradient(180deg, #ffffff, #FBF4E6);
    color: #4A402D;
    font-weight: 700;
    line-height: 1;
    transition:
        transform var(--bw-btn-transition),
        box-shadow var(--bw-btn-transition),
        border-color var(--bw-btn-transition),
        background-color var(--bw-btn-transition);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(.qty-btn, .cart-qtybtn, .nk-qty-btn):hover,
body.ui-v2.tenant--bowling .site-content-wrap :is(.qty-btn, .cart-qtybtn, .nk-qty-btn):focus-visible {
    border-color: rgba(200, 169, 107, 0.38);
    background: linear-gradient(180deg, #fffcf9, #F7EFDF);
    box-shadow: 0 9px 18px rgba(20, 18, 14, 0.14);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add
):is([disabled], .is-disabled, [aria-disabled="true"]) {
    opacity: 0.56;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
    filter: grayscale(0.04);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-submit,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add,
    .product-add-btn
):is(.is-loading, [aria-busy="true"]) {
    position: relative;
    color: transparent;
    pointer-events: none;
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-btn,
    .booking-btn,
    .booking-summary__cta,
    .contact-submit,
    .hava-page .btn,
    .btn:not(.btn-google),
    .co-nextBtn,
    .co-submit,
    .co-btn,
    .co-couponBtn,
    .cart-cta__btn,
    .cart-mobilebar__btn,
    .ox-success__btn,
    .category-product-add,
    .product-add-btn
):is(.is-loading, [aria-busy="true"])::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 17px;
    height: 17px;
    margin-left: -8.5px;
    margin-top: -8.5px;
    border-radius: 50%;
    border: 2px solid rgba(200, 169, 107, 0.24);
    border-top-color: #BC924A;
    animation: bw-btn-spin .78s linear infinite;
}

@keyframes bw-btn-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Main structure */
body.ui-v2.tenant--bowling .bw-page {
    padding: var(--bw-space-xl) 0 calc(var(--bw-space-xl) + var(--bw-space-2xs));
}

body.ui-v2.tenant--bowling .bw-shell,
body.ui-v2.tenant--bowling.page-bowling-booking .hava-page,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-page,
body.ui-v2.tenant--bowling .site-footer .footer-inner {
    width: min(var(--bw-shell-max), calc(100% - (var(--bw-shell-gutter) * 2)));
    margin: 0 auto;
}

body.ui-v2.tenant--bowling .bw-section,
body.ui-v2.tenant--bowling .bw-contact-inline {
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-radius-lg);
    background: var(--bw-surface);
    box-shadow: var(--bw-shadow-sm);
    padding: 26px;
    margin-top: 18px;
}

body.ui-v2.tenant--bowling .bw-section__head {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}

body.ui-v2.tenant--bowling .bw-section__head h2 {
    margin: 0;
    font-size: var(--bw-fs-24);
    line-height: 1.2;
    font-weight: 800;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling .bw-section__head p {
    margin: 0;
    font-size: var(--bw-fs-16);
    line-height: 1.62;
    color: var(--bw-text-muted);
}

body.ui-v2.tenant--bowling .bw-section__head--tight {
    margin-bottom: 12px;
}

/* Hero */
body.ui-v2.tenant--bowling .bw-hero {
    position: relative;
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid var(--bw-border);
    background: #F3EDE0;
    min-height: clamp(300px, 46vw, 430px);
    box-shadow: var(--bw-shadow-md);
}

body.ui-v2.tenant--bowling .bw-hero__media,
body.ui-v2.tenant--bowling .bw-hero__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

body.ui-v2.tenant--bowling .bw-hero__media img {
    object-fit: cover;
    filter: saturate(0.72) contrast(1.02);
}

body.ui-v2.tenant--bowling .bw-hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(114deg, rgba(255, 252, 248, 0.94) 0%, rgba(251, 244, 236, 0.86) 38%, rgba(236, 219, 201, 0.54) 66%, rgba(217, 185, 148, 0.3) 100%),
        radial-gradient(650px 360px at 16% 2%, rgba(255, 248, 240, 0.66), transparent 74%);
}

body.ui-v2.tenant--bowling .bw-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    padding: clamp(22px, 3vw, 36px);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.ui-v2.tenant--bowling .bw-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    padding: 6px 11px;
    border-radius: 999px;
    border: 1px solid #d5deea;
    background: rgba(255, 255, 255, 0.8);
    color: #50627a;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    margin: 0;
}

body.ui-v2.tenant--bowling .bw-kicker--inline {
    background: #f1f5fb;
}

body.ui-v2.tenant--bowling .bw-hero h1 {
    margin: 0;
    font-size: var(--bw-fs-40);
    line-height: 1.04;
    font-weight: 850;
    letter-spacing: -0.03em;
    color: #0e1728;
}

body.ui-v2.tenant--bowling .bw-lead {
    margin: 0;
    max-width: 60ch;
    font-size: var(--bw-fs-18);
    line-height: 1.68;
    color: #3c4f69;
    font-weight: 560;
}

/* Buttons */
body.ui-v2.tenant--bowling .bw-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}

body.ui-v2.tenant--bowling .bw-actions--compact {
    margin-top: 6px;
}

body.ui-v2.tenant--bowling .bw-actions--section {
    margin-top: 14px;
}

/* Button skin is centralized in bowling_header_premium.css
   to avoid cross-file cascade conflicts in tenant--bowling. */

/* Grids & cards */
body.ui-v2.tenant--bowling .bw-gateway,
body.ui-v2.tenant--bowling .bw-pricing-grid,
body.ui-v2.tenant--bowling .bw-feature-grid,
body.ui-v2.tenant--bowling .bw-menu-archive,
body.ui-v2.tenant--bowling .bw-menu-days {
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling .bw-gateway,
body.ui-v2.tenant--bowling .bw-pricing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ui-v2.tenant--bowling .bw-feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.ui-v2.tenant--bowling .bw-menu-days {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ui-v2.tenant--bowling .bw-panel,
body.ui-v2.tenant--bowling .bw-feature-item,
body.ui-v2.tenant--bowling .bw-menu-day,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-panel,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-social,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-map,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-form,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-help,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-card {
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-radius-md);
    background: #fff;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.06);
}

body.ui-v2.tenant--bowling .bw-panel,
body.ui-v2.tenant--bowling .bw-feature-item,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-panel,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-social,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-map,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-help {
    padding: 16px;
}

body.ui-v2.tenant--bowling .bw-panel h2,
body.ui-v2.tenant--bowling .bw-panel h3,
body.ui-v2.tenant--bowling .bw-feature-item h3,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-title,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-h2,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-map__title {
    margin: 0;
    color: #102038;
}

body.ui-v2.tenant--bowling .bw-panel h2 {
    font-size: var(--bw-fs-24);
    line-height: 1.25;
}

body.ui-v2.tenant--bowling .bw-panel h3,
body.ui-v2.tenant--bowling .bw-feature-item h3 {
    font-size: var(--bw-fs-18);
    line-height: 1.3;
    margin-bottom: 8px;
}

body.ui-v2.tenant--bowling .bw-panel p,
body.ui-v2.tenant--bowling .bw-feature-item p,
body.ui-v2.tenant--bowling .hava-hero__lead,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-sub,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-help__text {
    margin: 0;
    color: var(--bw-text-muted);
    font-size: var(--bw-fs-16);
    line-height: 1.64;
}

body.ui-v2.tenant--bowling .bw-panel__eyebrow,
body.ui-v2.tenant--bowling .bw-pricing-time,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-panel__k,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-social__k {
    display: inline-flex;
    align-items: center;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #d6e0ec;
    background: #f7f9fc;
    color: #53657f;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.ui-v2.tenant--bowling .bw-meta-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 14px;
    padding: 0;
}

body.ui-v2.tenant--bowling .bw-meta-list li {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid #dde4ef;
    border-radius: 999px;
    background: #f9fbfe;
    color: #425772;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

body.ui-v2.tenant--bowling .bw-steps {
    margin: 12px 0 16px;
    padding-left: 18px;
    display: grid;
    gap: 6px;
}

body.ui-v2.tenant--bowling .bw-steps li {
    color: #30455f;
    font-size: var(--bw-fs-16);
    line-height: 1.5;
}

body.ui-v2.tenant--bowling .bw-section--split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 14px;
    align-items: stretch;
}

body.ui-v2.tenant--bowling .bw-panel--image,
body.ui-v2.tenant--bowling .bw-image-card {
    height: 100%;
}

body.ui-v2.tenant--bowling .bw-image-card {
    border: 1px solid var(--bw-border);
    border-radius: 14px;
    overflow: hidden;
    background: #edf2f8;
    min-height: 240px;
}

body.ui-v2.tenant--bowling .bw-image-card img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    filter: saturate(0.75) contrast(1.03);
}

body.ui-v2.tenant--bowling .bw-panel--menu-week {
    padding: 18px;
}

body.ui-v2.tenant--bowling .bw-menu-day {
    padding: 13px;
    background: #fbfcff;
}

body.ui-v2.tenant--bowling .bw-menu-day strong {
    display: block;
    margin-bottom: 6px;
    font-size: var(--bw-fs-16);
    font-weight: 800;
    color: #182b45;
}

/* Weekly menu page */
body.ui-v2.tenant--bowling.page-bowling-menu .bw-page--menu {
    padding-top: 30px;
    padding-bottom: 38px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-hero--menu {
    min-height: clamp(320px, 44vw, 420px);
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-hero--menu .bw-hero__content {
    max-width: 640px;
    gap: 13px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-hero--menu .bw-lead {
    max-width: 48ch;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-section--menu-current,
body.ui-v2.tenant--bowling.page-bowling-menu .bw-section--menu-archive {
    background: linear-gradient(180deg, #fff 0%, #fdfaf6 100%);
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-week {
    padding: 20px;
    border-radius: 16px;
    background: linear-gradient(180deg, #fff 0%, #fdf9f4 100%);
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-current {
    border-color: rgba(200, 169, 107, 0.34);
    box-shadow: 0 12px 26px rgba(28, 24, 18, 0.09);
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-week h3 {
    margin: 4px 0 6px;
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-24);
    line-height: 1.24;
    letter-spacing: -0.01em;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-week > p:not(.bw-kicker) {
    margin: 0;
    color: #4d5868;
    font-size: var(--bw-fs-16);
    line-height: 1.64;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-days {
    margin-top: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-day {
    padding: 14px 14px 12px;
    border: 1px solid #e5ddd3;
    border-radius: 13px;
    background: linear-gradient(180deg, #fff 0%, #fbf7f2 100%);
    box-shadow: none;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-day strong {
    margin-bottom: 8px;
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-18);
    line-height: 1.24;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 5px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px dashed #e5ddd3;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item:last-child {
    border-bottom: 0;
    padding-bottom: 2px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item:not(.bw-menu-item--priced) {
    grid-template-columns: 1fr;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item__name {
    color: #3e4a5a;
    font-size: var(--bw-fs-16);
    line-height: 1.5;
    font-weight: 520;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item__type {
    display: block;
    margin-bottom: 2px;
    color: #9a7636;
    font-size: var(--bw-fs-12);
    font-weight: 760;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item__price {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid rgba(200, 169, 107, 0.3);
    background: rgba(200, 169, 107, 0.1);
    color: #7A5E2D;
    font-size: var(--bw-fs-14);
    line-height: 1;
    font-weight: 760;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item__cart {
    margin: 0;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-btn--small {
    min-height: 38px;
    padding: 9px 13px;
    font-size: var(--bw-fs-14);
    white-space: nowrap;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-week__actions {
    margin-top: 16px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-archive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-archive-item {
    border-color: #e2dad1;
    box-shadow: 0 9px 20px rgba(24, 22, 18, 0.07);
}

body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-archive-item .bw-menu-days {
    grid-template-columns: 1fr;
    gap: 10px;
}

@media (max-width: 1040px) {
    body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-archive {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-bowling-menu .bw-page--menu {
        padding-top: 22px;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-hero--menu {
        min-height: auto;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-panel--menu-week {
        padding: 15px;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-days {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-day {
        padding: 12px;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        padding: 5px 0;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item__cart {
        grid-column: 1 / -1;
    }

    body.ui-v2.tenant--bowling.page-bowling-menu .bw-menu-item__cart .bw-btn {
        width: 100%;
        justify-content: center;
    }
}

/* Inline contact row */
body.ui-v2.tenant--bowling .bw-contact-inline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 16px;
}

body.ui-v2.tenant--bowling .bw-contact-inline__item {
    border: 1px solid var(--bw-border);
    border-radius: 12px;
    background: #fbfdff;
    padding: 10px 12px;
}

body.ui-v2.tenant--bowling .bw-contact-inline__label {
    display: block;
    margin-bottom: 4px;
    color: #6a7b93;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.ui-v2.tenant--bowling .bw-contact-inline__value {
    color: #20324b;
    font-size: var(--bw-fs-16);
    font-weight: 650;
    text-decoration: none;
    word-break: break-word;
}

body.ui-v2.tenant--bowling .bw-contact-inline__value[href]:hover {
    text-decoration: underline;
}

/* Booking page */
body.ui-v2.tenant--bowling.page-bowling-booking .hava-page {
    padding: 20px 0 34px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .hava-hero {
    margin: 0;
    padding: 0;
}

body.ui-v2.tenant--bowling.page-bowling-booking .hava-hero__title {
    margin: 0;
    font-size: var(--bw-fs-32);
    line-height: 1.1;
    font-weight: 820;
    letter-spacing: -0.01em;
    color: #162235;
}

body.ui-v2.tenant--bowling.page-bowling-booking .hava-hero__lead {
    margin: 10px 0 0;
    max-width: 68ch;
    color: #55657a;
    font-size: var(--bw-fs-16);
    line-height: 1.66;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-card {
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-radius-lg);
    background: var(--bw-surface);
    box-shadow: var(--bw-shadow-sm);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-card .hava-card__body {
    padding: 22px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.52fr) minmax(0, 0.92fr);
    gap: 16px;
    align-items: start;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-main {
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary {
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-radius-md);
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel {
    padding: 16px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel__head {
    margin-bottom: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel__title,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__title {
    margin: 0;
    color: #12253f;
    font-size: var(--bw-fs-20);
    line-height: 1.24;
    font-weight: 800;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel__lead {
    margin: 6px 0 0;
    color: #5b6d83;
    font-size: var(--bw-fs-16);
    line-height: 1.6;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-filter,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 11px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-grid {
    margin-top: 10px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-grid--intake {
    margin-top: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-field > span {
    color: var(--bw-ink-secondary);
    font-size: var(--bw-fs-14);
    font-weight: 720;
    letter-spacing: 0.06em;
    line-height: 1.28;
    text-transform: uppercase;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-field :is(input, select, textarea) {
    width: 100%;
    min-height: 46px;
    border-radius: 11px;
    border: 1px solid var(--bw-border);
    background: #fff;
    color: var(--bw-text);
    padding: 10px 12px;
    font-size: var(--bw-fs-body);
    line-height: 1.4;
    font-weight: 600;
    transition:
        border-color var(--bw-motion-fast) var(--bw-ease-standard),
        box-shadow var(--bw-motion-fast) var(--bw-ease-standard),
        background-color var(--bw-motion-fast) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-field :is(input, select, textarea)::placeholder {
    color: var(--bw-text-soft);
    opacity: 1;
    font-weight: 500;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-field :is(input, select, textarea):focus-visible {
    outline: none;
    border-color: var(--bw-border-strong);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bw-brand) 18%, transparent);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-field textarea {
    min-height: 116px;
    resize: vertical;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel :is(input[type='checkbox'], input[type='radio']) {
    accent-color: var(--bw-brand);
}

body.ui-v2.tenant--bowling.page-bowling-booking .field-full {
    grid-column: 1 / -1;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-empty {
    border: 1px dashed #b9c7d9;
    border-radius: 12px;
    background: #f6f9fd;
    color: #5a6f87;
    padding: 14px;
    font-size: var(--bw-fs-16);
    line-height: 1.5;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slots {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot {
    position: relative;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot span {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 44px;
    border-radius: 11px;
    border: 1px solid var(--bw-border);
    background: #fff;
    color: #1d3556;
    padding: 9px 12px;
    font-size: var(--bw-fs-14);
    line-height: 1.34;
    font-weight: 700;
    cursor: pointer;
    transition:
        transform var(--bw-motion-fast) var(--bw-ease-standard),
        border-color var(--bw-motion-fast) var(--bw-ease-standard),
        box-shadow var(--bw-motion-fast) var(--bw-ease-standard),
        background-color var(--bw-motion-fast) var(--bw-ease-standard),
        color var(--bw-motion-fast) var(--bw-ease-standard);
    will-change: transform, box-shadow;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot span:hover {
    border-color: color-mix(in srgb, var(--bw-border-strong) 62%, var(--bw-border));
    background: #F4ECDE;
    box-shadow: 0 8px 14px rgba(56, 43, 21, 0.08);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot input:focus-visible + span {
    border-color: var(--bw-border-strong);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--bw-brand) 20%, transparent);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot input:checked + span {
    border-color: #7A5E2D;
    background: linear-gradient(150deg, #8D6C34, #A78344);
    color: #F4ECDE;
    box-shadow: 0 12px 24px rgba(56, 43, 21, 0.24);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot input:disabled + span {
    border-style: dashed;
    background: #f3f4f7;
    color: #94a0b0;
    cursor: not-allowed;
    box-shadow: none;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-service-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-service-meta > :is(span, strong) {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    border-radius: 999px;
    border: 1px solid #DFD9CD;
    background: #fdf8f4;
    color: #5B4828;
    padding: 6px 11px;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    line-height: 1.2;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-actions {
    margin-top: 14px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-filter .booking-btn--refresh {
    align-self: end;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary {
    padding: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: start;
    position: sticky;
    top: 96px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__title {
    margin-bottom: 2px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__list {
    display: grid;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__item {
    border: 1px solid #dfd8d0;
    border-radius: 10px;
    padding: 10px 11px;
    background: #fcfbf9;
    display: grid;
    gap: 3px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__item--price {
    border-color: color-mix(in srgb, var(--bw-brand) 26%, #dfd8d0);
    background: color-mix(in srgb, var(--bw-accent-soft) 42%, #fff);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__label {
    color: #7f6f7a;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    line-height: 1.3;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__value {
    color: #152843;
    font-size: var(--bw-fs-16);
    font-weight: 760;
    line-height: 1.36;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__note,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__empty {
    margin: 0;
    color: #566883;
    font-size: var(--bw-fs-14);
    line-height: 1.56;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-alert {
    border-radius: 12px;
    padding: 10px 12px;
    font-size: var(--bw-fs-16);
    line-height: 1.45;
    border: 1px solid transparent;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-alert--success {
    background: #ecf8f1;
    border-color: #b8e4ca;
    color: #1d633f;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-alert--error {
    background: #FCF5E8;
    border-color: #EFE2C8;
    color: #8A672C;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-alert--warn {
    background: #fff6e7;
    border-color: #f0d7a3;
    color: #8a5c12;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-alert--info {
    background: #edf4ff;
    border-color: #c7d9f5;
    color: #274d85;
}

@media (max-width: 980px) {
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-layout {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking :is(
        .booking-filter,
        .booking-grid,
        .booking-grid--intake,
        .booking-slots
    ) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary {
        position: static;
        top: auto;
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-bowling-booking .hava-page {
        padding-top: 14px;
        gap: 14px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-card .hava-card__body {
        padding: 16px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary {
        padding: 14px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking :is(
        .booking-filter,
        .booking-grid,
        .booking-grid--intake,
        .booking-slots
    ) {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-panel__title,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary__title {
        font-size: var(--bw-fs-18);
    }

    body.ui-v2.tenant--bowling.page-bowling-booking :is(
        .booking-filter .booking-btn--refresh,
        .booking-actions .booking-btn,
        .booking-summary__cta
    ) {
        width: 100%;
    }
}

/* Footer */
body.ui-v2.tenant--bowling .site-footer {
    margin-top: 24px;
    padding: 0 0 26px;
    background: transparent;
    border-top: 0;
}

/* Quick booking redesign */
body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-page {
    max-width: min(1180px, calc(100vw - 40px));
    gap: 16px;
    padding: 18px 0 42px;
    color: #e7edf7;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-hero {
    display: grid;
    gap: 8px;
    max-width: 780px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-hero .hava-hero__title {
    color: #f8fafc;
    text-shadow: 0 12px 34px rgba(0, 0, 0, 0.32);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-hero .hava-hero__lead {
    color: rgba(226, 232, 240, 0.82);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-hero__eyebrow,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick__step {
    margin: 0;
    color: #8b6a34;
    font-size: var(--bw-fs-14);
    font-weight: 820;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-transform: uppercase;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-hero__eyebrow {
    color: #d8b96e;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick__surface {
    border: 1px solid #d8d0c2;
    border-radius: 18px;
    background: linear-gradient(180deg, #fffdf8 0%, #f8f3ea 100%);
    box-shadow: 0 18px 46px rgba(37, 29, 17, 0.1);
    padding: 20px;
    display: grid;
    gap: 18px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick__intro,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-section__head,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-details__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick__title,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-section__title,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-details__title {
    margin: 4px 0 0;
    color: #172336;
    font-size: var(--bw-fs-24);
    font-weight: 850;
    line-height: 1.15;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-picker {
    display: grid;
    grid-template-columns: minmax(210px, 1.15fr) minmax(150px, 0.72fr) minmax(118px, 0.48fr) minmax(130px, 0.52fr) minmax(180px, 0.75fr);
    gap: 12px;
    align-items: end;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick .booking-field {
    gap: 7px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick .booking-field > span {
    color: #5f4d2e;
    font-size: 12px;
    letter-spacing: 0.05em;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick .booking-field :is(input, select, textarea) {
    min-height: 52px;
    border: 1px solid #cfc4b3;
    border-radius: 12px;
    background: #fff;
    color: #172336;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    font-size: var(--bw-fs-16);
    font-weight: 680;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick .booking-field :is(input, select, textarea):focus-visible {
    border-color: #8d6c34;
    box-shadow: 0 0 0 4px rgba(166, 126, 61, 0.2);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-section {
    display: grid;
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-section__status,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-details__head p {
    margin: 0;
    border: 1px solid #e4dac8;
    border-radius: 999px;
    background: #fff;
    color: #5d4a29;
    padding: 8px 12px;
    font-size: var(--bw-fs-14);
    font-weight: 760;
    line-height: 1.25;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slots--quick {
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-group {
    display: grid;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-group h3 {
    margin: 0;
    color: #38445a;
    font-size: var(--bw-fs-16);
    font-weight: 820;
    line-height: 1.25;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-group__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button {
    appearance: none;
    min-height: 54px;
    border: 1px solid #cfc4b3;
    border-radius: 12px;
    background: #fff;
    color: #172336;
    padding: 9px 12px;
    display: grid;
    gap: 2px;
    align-content: center;
    justify-items: start;
    text-align: left;
    cursor: pointer;
    transition:
        transform var(--bw-motion-fast) var(--bw-ease-standard),
        border-color var(--bw-motion-fast) var(--bw-ease-standard),
        background-color var(--bw-motion-fast) var(--bw-ease-standard),
        box-shadow var(--bw-motion-fast) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button span {
    display: block;
    width: auto;
    min-height: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    padding: 0;
    color: inherit;
    font-size: var(--bw-fs-18);
    font-weight: 850;
    line-height: 1.1;
    cursor: inherit;
    transition: none;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button:hover span,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button:focus-visible span {
    border: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button small {
    color: #6b7280;
    font-size: 12px;
    font-weight: 720;
    line-height: 1.2;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button:hover,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button:focus-visible {
    outline: none;
    border-color: #8d6c34;
    background: #fff9ee;
    box-shadow: 0 10px 22px rgba(56, 43, 21, 0.12);
    transform: translateY(-1px);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button.is-selected {
    border-color: #7a5e2d;
    background: linear-gradient(150deg, #8d6c34, #a78344);
    color: #fffaf0;
    box-shadow: 0 14px 30px rgba(56, 43, 21, 0.24);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot--button.is-selected small {
    color: rgba(255, 250, 240, 0.82);
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-empty {
    border-color: #d9cbb5;
    background: #fffaf0;
    color: #5d4a29;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-empty--error {
    border-color: #e4b8a8;
    background: #fff3ee;
    color: #82371d;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations {
    border-top: 1px solid #e4dac8;
    padding-top: 14px;
    display: grid;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations[hidden] {
    display: none;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations__head {
    display: grid;
    gap: 2px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations__head h3 {
    margin: 0;
    color: #172336;
    font-size: var(--bw-fs-18);
    font-weight: 830;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations__head p {
    margin: 0;
    color: #667085;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendation {
    border: 1px solid #d8d0c2;
    border-radius: 12px;
    background: #fff;
    padding: 11px;
    display: grid;
    gap: 9px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendation strong {
    color: #172336;
    font-size: var(--bw-fs-14);
    line-height: 1.25;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendation__times {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendation__times button {
    min-height: 36px;
    border: 1px solid #cfc4b3;
    border-radius: 999px;
    background: #fff9ee;
    color: #5d4a29;
    padding: 0 11px;
    font-weight: 800;
    cursor: pointer;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-details {
    border-top: 1px solid #e4dac8;
    padding-top: 16px;
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-details[hidden] {
    display: none;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-details .booking-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-details .booking-grid--intake {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-details .field-full {
    display: grid;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-details textarea {
    min-height: 104px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-actions {
    justify-content: flex-end;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick {
    position: sticky;
    bottom: 14px;
    top: auto;
    z-index: 20;
    border: 1px solid rgba(122, 94, 45, 0.34);
    border-radius: 16px;
    background: rgba(18, 24, 34, 0.94);
    color: #fffaf0;
    box-shadow: 0 18px 44px rgba(5, 9, 15, 0.28);
    backdrop-filter: blur(12px);
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 10px;
    align-items: center;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick > div {
    min-width: 0;
    display: grid;
    gap: 2px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick .booking-summary__label {
    color: rgba(255, 250, 240, 0.68);
    font-size: 11px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick .booking-summary__value {
    color: #fffaf0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick .booking-summary__cta {
    width: auto;
    min-width: 190px;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta {
    display: none;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick.is-loading .booking-slots--quick {
    opacity: 0.62;
}

body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick.is-loading .booking-summary__cta,
body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick.is-loading .booking-mobile-cta button {
    opacity: 0.7;
    cursor: wait;
}

@media (max-width: 980px) {
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-picker,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-details .booking-grid,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations__list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick .booking-summary__cta {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick-page {
        max-width: min(100% - 24px, 680px);
        padding-bottom: 104px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick__surface {
        padding: 15px;
        border-radius: 16px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-quick__intro,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-section__head,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-details__head {
        display: grid;
        gap: 10px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-picker,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-details .booking-grid,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-details .booking-grid--intake,
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-recommendations__list {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-group__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-summary--quick {
        display: none;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: 12px;
        z-index: 80;
        border: 1px solid rgba(122, 94, 45, 0.34);
        border-radius: 16px;
        background: rgba(18, 24, 34, 0.96);
        color: #fffaf0;
        box-shadow: 0 18px 44px rgba(5, 9, 15, 0.32);
        backdrop-filter: blur(12px);
        padding: 10px;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 10px;
        align-items: center;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta div {
        min-width: 0;
        display: grid;
        gap: 2px;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta span {
        color: rgba(255, 250, 240, 0.7);
        font-size: 12px;
        font-weight: 800;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta strong {
        color: #fffaf0;
        font-size: var(--bw-fs-14);
        font-weight: 850;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta button {
        min-width: 144px;
        min-height: 44px;
        padding-inline: 12px;
    }
}

@media (max-width: 420px) {
    body.ui-v2.tenant--bowling.page-bowling-booking .booking-slot-group__grid {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-booking .booking-mobile-cta button {
        width: 100%;
    }
}

body.ui-v2.tenant--bowling .site-footer .footer-inner {
    border: 1px solid var(--bw-border);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff 0%, #f8f1ea 100%);
    box-shadow: var(--bw-shadow-sm);
    padding: 26px;
    display: grid;
    gap: 20px;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1.2fr);
}

body.ui-v2.tenant--bowling .site-footer .footer-title,
body.ui-v2.tenant--bowling .site-footer .footer-copy {
    color: #0f1f35;
    margin: 0;
}

body.ui-v2.tenant--bowling .site-footer .footer-title {
    font-size: var(--bw-fs-20);
    line-height: 1.22;
    font-weight: 700;
    margin-bottom: 6px;
}

body.ui-v2.tenant--bowling .site-footer .footer-copy {
    font-size: var(--bw-fs-20);
    line-height: 1.24;
    font-weight: 800;
}

body.ui-v2.tenant--bowling .site-footer .footer-subcopy,
body.ui-v2.tenant--bowling .site-footer .footer-line,
body.ui-v2.tenant--bowling .site-footer .footer-contact,
body.ui-v2.tenant--bowling .site-footer .footer-links a,
body.ui-v2.tenant--bowling .site-footer .footer-social a {
    color: #465a74;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.78;
}

body.ui-v2.tenant--bowling .site-footer :is(.footer-stack, .footer-text) {
    display: grid;
    gap: 10px;
}

body.ui-v2.tenant--bowling .site-footer .footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 16px;
}

body.ui-v2.tenant--bowling .site-footer .footer-links a {
    font-weight: 550;
}

body.ui-v2.tenant--bowling .site-footer .footer-links--legal {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(200, 169, 107, 0.2);
}

body.ui-v2.tenant--bowling .site-footer .footer-links a:hover,
body.ui-v2.tenant--bowling .site-footer .footer-social a:hover,
body.ui-v2.tenant--bowling .site-footer .footer-contact:hover {
    color: #10243d;
}

body.ui-v2.tenant--bowling .site-footer .footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 12px;
}

@media (max-width: 1080px) {
    body.ui-v2.tenant--bowling .site-footer .footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling .site-footer .footer-inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 22px 18px;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-links {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-title {
        font-size: var(--bw-fs-18);
    }

    body.ui-v2.tenant--bowling .site-footer .footer-copy {
        font-size: var(--bw-fs-18);
    }

    body.ui-v2.tenant--bowling .site-footer .footer-subcopy,
    body.ui-v2.tenant--bowling .site-footer .footer-line,
    body.ui-v2.tenant--bowling .site-footer .footer-contact,
    body.ui-v2.tenant--bowling .site-footer .footer-links a,
    body.ui-v2.tenant--bowling .site-footer .footer-social a {
        font-size: var(--bw-fs-14);
        line-height: 1.72;
    }
}

/* ==========================================================================
   Bowling public unified contract (2026-04-23)
   Final cascade layer for all bowling public pages (tenant-safe only)
   ========================================================================== */
body.ui-v2.tenant--bowling :is(
    .bw-shell,
    .category-page,
    .product-page,
    .cart-page,
    .co-page,
    .shipping-payment-page,
    .card.account-page,
    .card.wishlist-page,
    .page-search .card,
    .page-search section.card,
    .wishlist-page,
    .account-page,
    .ox-success__wrap,
    .site-footer .footer-inner,
    .hava-page,
    .contact-page
) {
    width: min(var(--bw-container-max), calc(100% - (var(--bw-container-gutter) * 2)));
    margin-inline: auto;
}

body.ui-v2.tenant--bowling :is(
    .category-page,
    .product-page,
    .cart-page,
    .co-page,
    .shipping-payment-page,
    .card.account-page,
    .card.wishlist-page,
    .page-search .card,
    .page-search section.card,
    .wishlist-page,
    .account-page,
    .ox-success
) {
    margin-top: 1rem;
    margin-bottom: 1.8rem;
}

/* Unified surface system */
body.ui-v2.tenant--bowling :is(
    .bw-panel,
    .bw-feature-item,
    .bw-menu-day,
    .bw-section,
    .bw-contact-inline,
    .booking-panel,
    .booking-summary,
    .contact-panel,
    .contact-social,
    .contact-map,
    .contact-form,
    .contact-help,
    .contact-card,
    .cart-panel,
    .cart-table,
    .cart-summary,
    .co-section,
    .co-summary,
    .co-coupon,
    .co-modal__panel,
    .account-card,
    .account-side,
    .account-panel,
    .shipping-card,
    .shipping-payment-page .card,
    .category-product,
    .product-media-card,
    .product-purchase-card,
    .product-description-card,
    .product-params-card,
    .wishlist-page .category-product,
    .shipping-payment-page,
    .wishlist-page,
    .account-page,
    .page-search section.card,
    .ox-success__card,
    .ox-success__metaRow,
    .ox-success__pickup,
    .ox-success__line,
    .co-tile
) {
    border-radius: var(--bw-panel-radius);
    border: 1px solid var(--bw-border);
    background: var(--bw-surface);
    box-shadow: var(--bw-panel-shadow);
}

body.ui-v2.tenant--bowling :is(
    .cart-panel,
    .cart-summary,
    .co-section,
    .co-summary,
    .co-coupon,
    .account-card,
    .shipping-card,
    .shipping-payment-page .card,
    .product-media-card,
    .product-purchase-card,
    .product-description-card,
    .product-params-card,
    .ox-success__card
) {
    padding: var(--bw-panel-padding);
}

body.ui-v2.tenant--bowling :is(
    .category-product,
    .wishlist-page .category-product
) {
    overflow: clip;
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        transform var(--bw-motion-base) var(--bw-ease-standard);
    will-change: transform, box-shadow;
}

body.ui-v2.tenant--bowling :is(
    .category-product:hover,
    .wishlist-page .category-product:hover
) {
    transform: translate3d(0, var(--bw-hover-lift), 0) scale(var(--bw-hover-scale-soft));
    border-color: var(--bw-border-strong);
    box-shadow: var(--bw-panel-shadow-hover);
}

/* Gallery cards */
body.ui-v2.tenant--bowling .bw-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body.ui-v2.tenant--bowling .bw-gallery-card {
    margin: 0;
    border-radius: var(--bw-panel-radius);
    border: 1px solid var(--bw-border);
    background: var(--bw-surface);
    box-shadow: var(--bw-panel-shadow);
    overflow: clip;
}

body.ui-v2.tenant--bowling .bw-gallery-card img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    background: var(--bw-surface-alt);
}

body.ui-v2.tenant--bowling .bw-gallery-card figcaption {
    padding: 10px 12px;
    font-size: var(--bw-fs-body);
    line-height: 1.5;
    color: var(--bw-text-muted);
}

/* Typography unification */
body.ui-v2.tenant--bowling :is(
    .category-page,
    .product-page,
    .cart-page,
    .co-page,
    .shipping-payment-page,
    .account-page,
    .wishlist-page,
    .ox-success,
    .bw-page,
    .hava-page,
    .contact-page,
    .page-search
) :is(p, li, label, span, a, button, input, select, textarea) {
    font-size: var(--bw-fs-body);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling :is(
    .category-page,
    .product-page,
    .cart-page,
    .co-page,
    .shipping-payment-page,
    .account-page,
    .wishlist-page,
    .ox-success,
    .bw-page,
    .hava-page,
    .contact-page,
    .page-search
) :is(h1, h2, h3, h4, h5, h6, strong, b, th) {
    color: var(--bw-text);
}

body.ui-v2.tenant--bowling :is(
    .section-header h1,
    .ox-success__title,
    .account-page-head h1,
    .shipping-section-header h2,
    .bw-hero h1,
    .hava-hero__title,
    .contact-title
) {
    font-size: var(--bw-fs-h2);
    line-height: 1.15;
    letter-spacing: -0.015em;
}

body.ui-v2.tenant--bowling :is(
    .section-header h2,
    .shipping-section-title,
    .ox-success__linesTitle,
    .ox-success__cancelTitle,
    .bw-panel h2,
    .bw-section__head h2
) {
    font-size: var(--bw-fs-24);
    line-height: 1.2;
}

body.ui-v2.tenant--bowling :is(
    .bw-panel h3,
    .bw-feature-item h3,
    .product-title-main,
    .account-top-name
) {
    font-size: var(--bw-fs-20);
    line-height: 1.24;
}

body.ui-v2.tenant--bowling :is(
    .muted,
    .account-hint,
    .product-price-unit,
    .shipping-section-intro,
    .ox-success__lead,
    .ox-success__lineMeta,
    .bw-kicker,
    .bw-panel__eyebrow
) {
    font-size: var(--bw-fs-meta);
    line-height: 1.5;
    color: var(--bw-text-soft);
}

/* Cross-page text-size corrections for legacy page CSS files */
body.ui-v2.tenant--bowling :is(
    .shipping-section-intro,
    .payment-card-text,
    .payment-card-tag,
    .ox-success__badge,
    .ox-success__lead,
    .ox-success__flash,
    .ox-success__metaRow span,
    .ox-success__metaRow strong,
    .ox-success__pickup span,
    .ox-success__pickup strong,
    .ox-success__lineName,
    .ox-success__lineMeta,
    .ox-success__lineTotal,
    .ox-success__cancelLead,
    .contact-sub,
    .contact-intro,
    .contact-head-btn,
    .contact-notice,
    .contact-panel__k,
    .contact-panel__v,
    .contact-nav__summary,
    .contact-nav__opt,
    .contact-social__k,
    .contact-social__btn,
    .contact-map__link,
    .contact-field,
    .contact-check,
    .contact-help__text,
    .account-nav-item,
    .account-callout,
    .account-pill,
    .text-xs,
    .account-form label,
    .account-divider span,
    .account-top-email,
    .account-stat-label,
    .account-tab,
    .account-tab-badge,
    .account-giveaway-body h3,
    .account-giveaway-body p,
    .account-giveaway-time,
    .account-order-head p,
    .account-order-meta span,
    .account-order-meta strong,
    .account-inline-note,
    .status-pill,
    .account-note-text,
    .table thead th,
    .account-address-body,
    .pill,
    .btn-sm,
    .table-account td::before
) {
    font-size: var(--bw-fs-meta);
    line-height: 1.5;
}

body.ui-v2.tenant--bowling :is(
    .category-page .section-header p,
    .shipping-payment-page .section-header p,
    .shipping-card-text,
    .payment-card-text,
    .contact-help__text,
    .contact-intro,
    .ox-success__lead,
    .cat-empty p
) {
    font-size: var(--bw-fs-body);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling :is(
    .shipping-card-tag,
    .payment-card-tag,
    .contact-panel__k,
    .contact-social__k,
    .account-pill,
    .status-pill
) {
    font-size: var(--bw-fs-meta);
    line-height: 1.4;
    letter-spacing: 0.02em;
}

body.ui-v2.tenant--bowling :is(
    .cart-price,
    .co-total,
    .co-lineTotal,
    .ox-success__lineTotal,
    .shipping-summary-price
) {
    color: var(--bw-text);
}

body.ui-v2.tenant--bowling :is(
    .cart-link,
    .co-link,
    .shipping-link,
    .category-breadcrumbs a
) {
    color: var(--bw-brand);
    text-decoration-color: color-mix(in srgb, var(--bw-brand) 34%, transparent);
}

body.ui-v2.tenant--bowling :is(
    .cart-link,
    .co-link,
    .shipping-link,
    .category-breadcrumbs a
):hover {
    color: color-mix(in srgb, var(--bw-brand) 84%, #2F291F);
    text-decoration-color: color-mix(in srgb, var(--bw-brand) 64%, transparent);
}

/* Forms */
body.ui-v2.tenant--bowling :is(
    .co-page,
    .cart-page,
    .account-page,
    .shipping-payment-page,
    .page-search,
    .category-page,
    .product-page,
    .page-bowling-contact
) :is(
    input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    select,
    textarea,
    .co-couponInput,
    .contact-input,
    .contact-textarea
) {
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid var(--bw-border);
    background: #fff;
    color: var(--bw-text);
    padding: 11px 13px;
    font-size: var(--bw-fs-body);
    line-height: 1.4;
    font-weight: 600;
}

body.ui-v2.tenant--bowling :is(
    .co-page,
    .cart-page,
    .account-page,
    .shipping-payment-page,
    .page-search,
    .category-page,
    .product-page,
    .page-bowling-contact
) :is(
    input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    select,
    textarea,
    .co-couponInput,
    .contact-input,
    .contact-textarea
)::placeholder {
    color: var(--bw-text-soft);
    opacity: 1;
    font-weight: 500;
}

body.ui-v2.tenant--bowling :is(
    .co-page,
    .cart-page,
    .account-page,
    .shipping-payment-page,
    .page-search,
    .category-page,
    .product-page,
    .page-bowling-contact,
    .page-bowling-booking
) :is(input[type='checkbox'], input[type='radio']) {
    width: 17px;
    height: 17px;
    accent-color: var(--bw-brand);
}

body.ui-v2.tenant--bowling :is(
    .co-page,
    .cart-page,
    .account-page,
    .shipping-payment-page,
    .page-search,
    .category-page,
    .product-page,
    .page-bowling-contact,
    .page-bowling-booking
) :is(
    .form-check-label,
    .co-check,
    .contact-check,
    .account-checkbox
) {
    font-size: var(--bw-fs-16);
    line-height: 1.55;
    color: var(--bw-text-muted);
}

body.ui-v2.tenant--bowling .co-accBtn {
    min-height: 62px;
    border-radius: 13px;
    border: 1px solid var(--bw-border);
    background: linear-gradient(145deg, #fff, #fbf6f1);
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        background-color var(--bw-motion-base) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling .co-accBtn:hover,
body.ui-v2.tenant--bowling .co-accBtn:focus-visible {
    border-color: var(--bw-border-strong);
    box-shadow: 0 10px 20px rgba(24, 22, 18, 0.09);
}

body.ui-v2.tenant--bowling .co-accPanel {
    border-top: 1px solid var(--bw-border);
    padding-top: 14px;
}

body.ui-v2.tenant--bowling .co-tile {
    min-height: 86px;
    padding: 11px 12px;
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        background-color var(--bw-motion-base) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling .co-tile:hover,
body.ui-v2.tenant--bowling .co-tile:focus-within {
    border-color: var(--bw-border-strong);
    box-shadow: 0 12px 22px rgba(24, 22, 18, 0.1);
}

body.ui-v2.tenant--bowling :is(
    .cart-table,
    .account-table,
    .table,
    .table-account
) {
    border-collapse: separate;
    border-spacing: 0;
}

body.ui-v2.tenant--bowling :is(
    .cart-table th,
    .cart-table td,
    .table th,
    .table td,
    .table-account th,
    .table-account td
) {
    font-size: var(--bw-fs-body);
    line-height: 1.5;
    color: var(--bw-text-muted);
}

body.ui-v2.tenant--bowling :is(
    .cart-table th,
    .table th,
    .table-account th
) {
    color: var(--bw-text);
    font-weight: 700;
}

/* Checkout/cart/product/account spacing */
body.ui-v2.tenant--bowling :is(
    .cart-grid,
    .co-grid,
    .account-app,
    .shipping-card-grid,
    .shipping-summary-grid,
    .category-products-grid,
    .cart-cross__grid,
    .account-auth-grid,
    .account-overview-grid,
    .account-order-grid,
    .account-address-grid,
    .account-wishlist-grid,
    .account-detail-grid,
    .account-giveaway-grid,
    .wishlist-products-grid,
    .co-grid3,
    .co-addr3,
    .co-addr4,
    .contact-form__grid
) {
    gap: 14px;
}

body.ui-v2.tenant--bowling .cart-grid,
body.ui-v2.tenant--bowling .co-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 1fr);
}

body.ui-v2.tenant--bowling .account-app {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}

body.ui-v2.tenant--bowling .category-products-grid,
body.ui-v2.tenant--bowling .cart-cross__grid,
body.ui-v2.tenant--bowling .wishlist-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Responsive */
@media (max-width: 1200px) {
    body.ui-v2.tenant--bowling {
        --bw-container-gutter: 16px;
    }

    body.ui-v2.tenant--bowling .bw-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling .category-products-grid,
    body.ui-v2.tenant--bowling .cart-cross__grid,
    body.ui-v2.tenant--bowling .wishlist-products-grid,
    body.ui-v2.tenant--bowling .bw-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    body.ui-v2.tenant--bowling .bw-gateway,
    body.ui-v2.tenant--bowling .bw-pricing-grid,
    body.ui-v2.tenant--bowling .bw-section--split,
    body.ui-v2.tenant--bowling .cart-grid,
    body.ui-v2.tenant--bowling .co-grid,
    body.ui-v2.tenant--bowling .account-app,
    body.ui-v2.tenant--bowling .account-auth-grid,
    body.ui-v2.tenant--bowling .account-overview-grid,
    body.ui-v2.tenant--bowling .account-order-grid,
    body.ui-v2.tenant--bowling .account-address-grid,
    body.ui-v2.tenant--bowling .account-wishlist-grid,
    body.ui-v2.tenant--bowling .account-detail-grid,
    body.ui-v2.tenant--bowling .account-giveaway-grid,
    body.ui-v2.tenant--bowling .shipping-card-grid,
    body.ui-v2.tenant--bowling .shipping-summary-grid,
    body.ui-v2.tenant--bowling .contact-grid,
    body.ui-v2.tenant--bowling .contact-panels,
    body.ui-v2.tenant--bowling .ox-success__meta {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling .bw-menu-days,
    body.ui-v2.tenant--bowling .bw-contact-inline,
    body.ui-v2.tenant--bowling .co-grid3,
    body.ui-v2.tenant--bowling .co-addr3,
    body.ui-v2.tenant--bowling .co-addr4,
    body.ui-v2.tenant--bowling .contact-form__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling {
        --bw-container-gutter: 10px;
    }

    body.ui-v2.tenant--bowling :is(
        .bw-section,
        .bw-contact-inline,
        .cart-wrap,
        .co-wrap,
        .shipping-payment-page,
        .account-card,
        .wishlist-page,
        .ox-success__card,
        .cart-panel,
        .co-section,
        .co-summary,
        .shipping-card
    ) {
        padding: 14px;
    }

    body.ui-v2.tenant--bowling :is(
        .section-header h1,
        .cart-title,
        .co-title,
        .ox-success__title,
        .account-page-head h1,
        .shipping-section-header h2,
        .bw-hero h1,
        .hava-hero__title,
        .contact-title
    ) {
        font-size: var(--bw-fs-24);
    }

    body.ui-v2.tenant--bowling .bw-menu-days,
    body.ui-v2.tenant--bowling .bw-contact-inline,
    body.ui-v2.tenant--bowling .co-grid3,
    body.ui-v2.tenant--bowling .co-addr3,
    body.ui-v2.tenant--bowling .co-addr4,
    body.ui-v2.tenant--bowling .co-tiles,
    body.ui-v2.tenant--bowling .co-tiles--scroll,
    body.ui-v2.tenant--bowling .contact-form__grid,
    body.ui-v2.tenant--bowling .category-products-grid,
    body.ui-v2.tenant--bowling .cart-cross__grid,
    body.ui-v2.tenant--bowling .wishlist-products-grid,
    body.ui-v2.tenant--bowling .bw-gallery-grid {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling .site-content-wrap :is(
        .btn,
        .co-btn,
        .co-nextBtn,
        .co-submit,
        .co-couponBtn,
        .cart-cta__btn,
        .cart-mobilebar__btn,
        .category-product-add,
        .product-add-btn,
        .ox-success__btn,
        .contact-submit
    ) {
        width: 100%;
    }
}

/* ==========================================================================
   Bowling webshop list pages — final cascade layer (category/brand/search)
   ========================================================================== */
body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) {
    --bw-list-gap: 18px;
    --bw-list-card-radius: 16px;
    --bw-list-panel-radius: 14px;
    --bw-list-panel-border: #dfd8ce;
    --bw-list-panel-border-strong: #CBB286;
    --bw-list-panel-shadow: 0 10px 22px rgba(24, 22, 18, 0.08);
    --bw-list-panel-shadow-hover: 0 16px 30px rgba(24, 22, 18, 0.13);

    --cat-gap: 16px;
    --cat-radius: 14px;
    --cat-font-xs: 12px;
    --cat-font-sm: 14px;
    --cat-ctl-h: 42px;
}

body.ui-v2.tenant--bowling.page-category .category-page,
body.ui-v2.tenant--bowling.page-brand .brand-page,
body.ui-v2.tenant--bowling.page-search section.card {
    width: min(var(--bw-container-max), calc(100% - (var(--bw-container-gutter) * 2)));
    margin: 1rem auto 2rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.ui-v2.tenant--bowling.page-category .section-header,
body.ui-v2.tenant--bowling.page-brand .section-header,
body.ui-v2.tenant--bowling.page-search .section-header {
    margin: 0 0 18px;
    display: grid;
    gap: 9px;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .section-header :is(h1, h2) {
    margin: 0;
    color: var(--bw-ink-primary);
    font-size: clamp(31px, 2.65vw, 40px);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .section-header p,
body.ui-v2.tenant--bowling.page-category .cat-root-featured__head p {
    margin: 0;
    color: #576172;
    font-size: var(--bw-fs-16);
    line-height: 1.64;
}

body.ui-v2.tenant--bowling.page-category .cat-active {
    margin: 0 0 14px;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-category .cat-chip {
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid rgba(202, 179, 135, 0.32);
    border-radius: 999px;
    background: #fffaf8;
    color: #574932;
    font-size: var(--bw-fs-14);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

body.ui-v2.tenant--bowling.page-category .cat-chip:hover {
    border-color: rgba(202, 179, 135, 0.52);
    background: #F3E8D8;
}

body.ui-v2.tenant--bowling.page-category .cat-layout {
    margin-top: 12px;
    display: grid;
    grid-template-columns: minmax(250px, 292px) minmax(0, 1fr);
    gap: var(--bw-list-gap);
    align-items: start;
}

body.ui-v2.tenant--bowling.page-category .cat-sidebar {
    position: sticky;
    top: calc(var(--header-h, 76px) + 14px);
}

body.ui-v2.tenant--bowling.page-category .cat-toolbar,
body.ui-v2.tenant--bowling.page-category .cat-info-panel,
body.ui-v2.tenant--bowling.page-brand .brand-lead-card,
body.ui-v2.tenant--bowling.page-search section.card > :is(form, p, .category-products-grid, a.btn) {
    border-radius: var(--bw-list-panel-radius);
    border: 1px solid var(--bw-list-panel-border);
    background: linear-gradient(180deg, #ffffff 0%, #fdf9f4 100%);
    box-shadow: var(--bw-list-panel-shadow);
}

body.ui-v2.tenant--bowling.page-category .cat-toolbar {
    margin-bottom: 14px;
    padding: 12px 14px;
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-category .cat-count {
    color: #2D3442;
    font-size: var(--bw-fs-16);
    font-weight: 700;
}

body.ui-v2.tenant--bowling.page-category .cat-pageState {
    color: #6b7889;
    font-size: var(--bw-fs-14);
    font-weight: 600;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-sort {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-sort label {
    color: #5d6676;
    font-size: var(--bw-fs-14);
    font-weight: 700;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-sort select,
body.ui-v2.tenant--bowling.page-search .inline-form-row .flex-1 {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid #d8d0c6;
    background: #fff;
    color: #2D3442;
    font-size: var(--bw-fs-16);
    font-weight: 640;
    padding: 9px 12px;
}

body.ui-v2.tenant--bowling.page-search .inline-form-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

body.ui-v2.tenant--bowling.page-search section.card {
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-search section.card > :is(form, p, .category-products-grid, a.btn) {
    margin: 0;
    padding: 14px;
}

body.ui-v2.tenant--bowling.page-search .text-muted {
    color: #5b6676;
    font-size: var(--bw-fs-16);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling.page-category .category-products-grid,
body.ui-v2.tenant--bowling.page-brand .category-products-grid,
body.ui-v2.tenant--bowling.page-search .category-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--bw-list-gap);
}

body.ui-v2.tenant--bowling.page-category :is(.category-product, .wishlist-page .category-product),
body.ui-v2.tenant--bowling.page-brand :is(.category-product, .wishlist-page .category-product),
body.ui-v2.tenant--bowling.page-search :is(.category-product, .wishlist-page .category-product) {
    border-radius: var(--bw-list-card-radius);
    border-color: var(--bw-list-panel-border);
    background: linear-gradient(180deg, #ffffff 0%, #fcf8f3 100%);
    box-shadow: var(--bw-list-panel-shadow);
    overflow: hidden;
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        transform var(--bw-motion-base) var(--bw-ease-standard);
    will-change: transform, box-shadow;
}

body.ui-v2.tenant--bowling.page-category :is(.category-product:hover, .wishlist-page .category-product:hover),
body.ui-v2.tenant--bowling.page-brand :is(.category-product:hover, .wishlist-page .category-product:hover),
body.ui-v2.tenant--bowling.page-search :is(.category-product:hover, .wishlist-page .category-product:hover) {
    border-color: var(--bw-list-panel-border-strong);
    box-shadow: var(--bw-list-panel-shadow-hover);
    transform: translate3d(0, var(--bw-hover-lift), 0) scale(var(--bw-hover-scale));
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-image-wrapper {
    padding: 14px;
    aspect-ratio: 4 / 3;
    background: linear-gradient(180deg, #fff 0%, #f6efe7 100%);
    border-bottom: 1px solid #ece2d7;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-body {
    padding: 14px 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-topactions .pc-icon {
    border-color: #d8cfc4;
    background: rgba(255, 255, 255, 0.9);
    color: #3E3627;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-topactions .pc-icon:hover {
    border-color: rgba(202, 179, 135, 0.5);
    color: #745A2D;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-flag {
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: var(--bw-fs-14);
    font-weight: 760;
    line-height: 1;
    letter-spacing: 0.02em;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-title a {
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-20);
    line-height: 1.26;
    font-weight: 760;
    text-decoration: none;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-title a:hover {
    color: #745A2D;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) :is(
    .category-product-meta,
    .category-product-shortdesc
) {
    color: #586273;
    font-size: var(--bw-fs-16);
    line-height: 1.56;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-prices {
    margin-top: 2px;
    display: grid;
    gap: 4px;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-price {
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-24);
    line-height: 1.08;
    font-weight: 820;
    letter-spacing: -0.01em;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-oldprice {
    color: #8F897E;
    font-size: var(--bw-fs-14);
    font-weight: 650;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-unitprice {
    color: #6d7888;
    font-size: var(--bw-fs-14);
    line-height: 1.5;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-stock {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-stock-status {
    min-height: 24px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: var(--bw-fs-14);
    font-weight: 760;
    line-height: 1;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-stock-qty {
    color: #6c7888;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-row--qty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 9px;
    align-items: center;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-qty {
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid #ddd3c8;
    background: #fff;
    overflow: hidden;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-add {
    min-height: 44px;
    border-radius: 12px;
    font-size: var(--bw-fs-16);
    font-weight: 760;
}

body.ui-v2.tenant--bowling.page-category .cat-empty {
    border: 1px dashed #d9d0c5;
    border-radius: 14px;
    background: #fffdf9;
    padding: 20px;
    color: #5b6676;
    font-size: var(--bw-fs-16);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-pagination {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-pageBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    padding: 8px 12px;
    border-radius: 11px;
    border: 1px solid #d9d0c5;
    background: #fff;
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-14);
    font-weight: 700;
    text-decoration: none;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-pageBtn:hover {
    border-color: rgba(202, 179, 135, 0.44);
    color: #6F572C;
}

body.ui-v2.tenant--bowling:is(.page-category, .page-brand) .cat-pageBtn.is-active {
    background: linear-gradient(145deg, #C8A96B 0%, #A5803F 100%);
    border-color: rgba(200, 169, 107, 0.5);
    color: #F7F1E8;
}

body.ui-v2.tenant--bowling.page-brand .brand-page {
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-brand .brand-lead-card {
    padding: 16px;
}

body.ui-v2.tenant--bowling.page-brand .brand-lead-card h1 {
    margin: 0;
    font-size: clamp(30px, 2.5vw, 40px);
    line-height: 1.08;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling.page-brand .brand-lead-card h2 {
    margin: 0;
    font-size: var(--bw-fs-24);
    line-height: 1.22;
    color: #2C3544;
}

body.ui-v2.tenant--bowling.page-brand .brand-lead-card p {
    margin: 0;
    color: #576174;
    font-size: var(--bw-fs-16);
    line-height: 1.64;
}

body.ui-v2.tenant--bowling.page-brand :is(.brand-meta-list, .brand-helper-links) {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-brand :is(.brand-meta-pill, .brand-helper-links a) {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #d9cfc4;
    background: #fff;
    color: #514632;
    font-size: var(--bw-fs-14);
    font-weight: 680;
    text-decoration: none;
}

body.ui-v2.tenant--bowling.page-brand :is(.brand-meta-pill:hover, .brand-helper-links a:hover) {
    border-color: rgba(202, 179, 135, 0.44);
    color: #725A32;
}

body.ui-v2.tenant--bowling.page-brand .brand-lead-card .btn {
    min-height: 44px;
    border-radius: 12px;
    font-size: var(--bw-fs-16);
}

/* Category filters harmonization */
body.ui-v2.tenant--bowling.page-category .cf {
    --cf-accent: var(--bw-brand-soft);
    --cf-border: rgba(73, 67, 55, 0.16);
    --cf-border-2: rgba(73, 67, 55, 0.16);
    --cf-bg: #ffffff;
    --cf-bg-2: #faf6f1;
    --cf-text: #2C3544;
    --cf-muted: #697688;
}

body.ui-v2.tenant--bowling.page-category :is(
    .cf-open,
    .cf-count,
    .cf-reset,
    .cf-title,
    .cf-blockTitle,
    .cf-facetSum,
    .cf-facetMeta,
    .cf-priceOut,
    .cf-catTxt,
    .cf-empty
) {
    font-size: var(--bw-fs-14);
}

body.ui-v2.tenant--bowling.page-category .cf-search {
    font-size: var(--bw-fs-14);
}

body.ui-v2.tenant--bowling.page-category .cf-actions :is(.btn, .cf-apply, .cf-clear) {
    min-height: 42px;
    font-size: var(--bw-fs-16);
    border-radius: 12px;
}

@media (max-width: 1240px) {
    body.ui-v2.tenant--bowling.page-category .category-products-grid,
    body.ui-v2.tenant--bowling.page-brand .category-products-grid,
    body.ui-v2.tenant--bowling.page-search .category-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1080px) {
    body.ui-v2.tenant--bowling.page-category .cat-layout {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-category .cat-sidebar {
        position: static;
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-category .category-products-grid,
    body.ui-v2.tenant--bowling.page-brand .category-products-grid,
    body.ui-v2.tenant--bowling.page-search .category-products-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-title a {
        font-size: var(--bw-fs-18);
    }

    body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-price {
        font-size: var(--bw-fs-20);
    }

    body.ui-v2.tenant--bowling.page-category .cat-toolbar,
    body.ui-v2.tenant--bowling.page-brand .brand-lead-card,
    body.ui-v2.tenant--bowling.page-search section.card > :is(form, p, .category-products-grid, a.btn) {
        padding: 12px;
    }

    body.ui-v2.tenant--bowling.page-search .inline-form-row,
    body.ui-v2.tenant--bowling:is(.page-category, .page-brand, .page-search) .category-product-row--qty {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Bowling webshop product page — final cascade layer (tenant-safe)
   ========================================================================== */
body.ui-v2.tenant--bowling.page-product {
    --bw-pdp-gap: 18px;
    --bw-pdp-radius: 16px;
    --bw-pdp-radius-lg: 20px;
}

body.ui-v2.tenant--bowling.page-product .product-page {
    width: min(var(--bw-container-max), calc(100% - (var(--bw-container-gutter) * 2)));
    margin: 16px auto 34px;
    padding: 0;
    display: grid;
    gap: var(--bw-pdp-gap);
}

body.ui-v2.tenant--bowling.page-product .product-breadcrumbs {
    margin: 0;
    gap: 7px;
    font-size: var(--bw-fs-14);
    line-height: 1.5;
    color: var(--bw-text-soft);
}

body.ui-v2.tenant--bowling.page-product .product-breadcrumbs a {
    font-size: var(--bw-fs-14);
    color: #6F5933;
    text-decoration: none;
}

body.ui-v2.tenant--bowling.page-product .product-breadcrumbs a:hover {
    color: #594727;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.ui-v2.tenant--bowling.page-product .bc-current {
    color: var(--bw-text);
    font-weight: 690;
}

body.ui-v2.tenant--bowling.page-product .pdp-top {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr) minmax(330px, 420px);
    gap: 16px;
    align-items: start;
}

body.ui-v2.tenant--bowling.page-product .pdp-top.pdp-top--no-thumbs {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 420px);
}

body.ui-v2.tenant--bowling.page-product .pdp-thumbs {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin: 0;
    padding-top: 2px;
    max-height: 580px;
    overflow: auto;
}

body.ui-v2.tenant--bowling.page-product .pg-thumb,
body.ui-v2.tenant--bowling.page-product .pg-more {
    width: 72px;
    height: 72px;
    border-radius: 14px;
    border: 1px solid #d9cec1;
    background: linear-gradient(180deg, #ffffff, #f7f2ed);
    box-shadow: 0 8px 18px rgba(30, 27, 22, 0.08);
    padding: 6px;
}

body.ui-v2.tenant--bowling.page-product .pg-thumb.is-active {
    border-color: rgba(194, 170, 121, 0.56);
    box-shadow:
        0 0 0 3px rgba(194, 170, 121, 0.15),
        0 10px 22px rgba(30, 27, 22, 0.12);
}

body.ui-v2.tenant--bowling.page-product .pdp-hero {
    min-height: 100%;
}

body.ui-v2.tenant--bowling.page-product .product-media-card {
    border-radius: var(--bw-pdp-radius-lg);
    padding: 16px;
    overflow: hidden;
}

body.ui-v2.tenant--bowling.page-product .pg-mainBtn {
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
    background: transparent;
    cursor: zoom-in;
}

body.ui-v2.tenant--bowling.page-product .product-main-image {
    display: block;
    width: 100%;
    height: clamp(360px, 42vw, 560px);
    border-radius: 14px;
    background: #f5f0ea;
    object-fit: contain;
}

body.ui-v2.tenant--bowling.page-product .pdp-buy {
    position: sticky;
    top: 88px;
    align-self: start;
}

body.ui-v2.tenant--bowling.page-product .product-purchase-card {
    border-radius: var(--bw-pdp-radius-lg);
    padding: 18px;
}

body.ui-v2.tenant--bowling.page-product .product-titleblock {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

body.ui-v2.tenant--bowling.page-product .product-title-main {
    margin: 0;
    color: #23181e;
    font-family: 'Geologica', 'Albert Sans', system-ui, sans-serif;
    font-size: clamp(2rem, 2.6vw, 2.45rem);
    line-height: 1.08;
    letter-spacing: -0.018em;
    overflow-wrap: anywhere;
}

body.ui-v2.tenant--bowling.page-product .product-title-actions {
    flex: 0 0 auto;
}

body.ui-v2.tenant--bowling.page-product .product-share-mini {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(200, 169, 107, 0.38);
    background: linear-gradient(160deg, #ffffff, #F8F2E9);
    color: #6F5831;
    box-shadow: 0 8px 18px rgba(58, 50, 34, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--bw-fs-18);
    font-weight: 700;
}

body.ui-v2.tenant--bowling.page-product .product-share-mini:hover {
    border-color: rgba(200, 169, 107, 0.56);
    color: #574526;
    transform: translate3d(0, var(--bw-hover-lift-soft), 0) scale(var(--bw-hover-scale-soft));
}

body.ui-v2.tenant--bowling.page-product .product-facts {
    display: grid;
    gap: 8px;
    margin-bottom: 15px;
}

body.ui-v2.tenant--bowling.page-product .product-fact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #e5dbcf;
    border-radius: 12px;
    background: linear-gradient(180deg, #fff, #fbf6f1);
    padding: 10px 12px;
}

body.ui-v2.tenant--bowling.page-product .product-fact-label {
    font-size: var(--bw-fs-14);
    line-height: 1.38;
    color: #6f7788;
    font-weight: 620;
}

body.ui-v2.tenant--bowling.page-product .product-fact-value {
    font-size: var(--bw-fs-16);
    line-height: 1.35;
    color: #23181e;
    font-weight: 710;
    text-align: right;
}

body.ui-v2.tenant--bowling.page-product .product-fact-status {
    padding: 5px 9px;
    border-radius: 999px;
    font-size: var(--bw-fs-14);
    line-height: 1.3;
}

body.ui-v2.tenant--bowling.page-product .product-price-block {
    margin: 10px 0 16px;
}

body.ui-v2.tenant--bowling.page-product .product-price-lg {
    font-size: clamp(2rem, 2.9vw, 2.65rem);
    line-height: 1.02;
    letter-spacing: -0.02em;
    color: #24171e;
    font-weight: 820;
}

body.ui-v2.tenant--bowling.page-product .product-price-unit {
    margin-left: 7px;
    font-size: var(--bw-fs-16);
    font-weight: 640;
    color: #6f7788;
}

body.ui-v2.tenant--bowling.page-product .product-old-price {
    margin-top: 6px;
    font-size: var(--bw-fs-14);
    color: #8d95a2;
}

body.ui-v2.tenant--bowling.page-product .product-purchase-card :is(
    input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='number']),
    select,
    textarea
) {
    width: 100%;
    min-height: 46px;
    border-radius: 12px;
    border: 1px solid #d8ccbf;
    background: #fff;
    color: #21161d;
    padding: 10px 12px;
    font-size: var(--bw-fs-16);
    line-height: 1.45;
}

body.ui-v2.tenant--bowling.page-product .product-purchase-card :is(
    input:not([type='hidden']):not([type='checkbox']):not([type='radio']):not([type='number']),
    select,
    textarea
)::placeholder {
    color: #8a91a0;
}

body.ui-v2.tenant--bowling.page-product .product-row--qty {
    margin-top: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

body.ui-v2.tenant--bowling.page-product .product-qty.category-product-qty {
    flex: 0 0 auto;
    border: 1px solid #d5c8bc;
    border-radius: 13px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 8px 16px rgba(40, 36, 29, 0.08);
}

body.ui-v2.tenant--bowling.page-product .product-qty .qty-btn {
    width: 42px;
    min-width: 42px;
    height: 48px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(180deg, #fff, #f8f2ec);
    color: #4B402E;
    font-size: var(--bw-fs-18);
    font-weight: 760;
    line-height: 1;
}

body.ui-v2.tenant--bowling.page-product .product-qty .qty-btn:hover {
    background: linear-gradient(180deg, #fffdfb, #f4ece4);
}

body.ui-v2.tenant--bowling.page-product .product-qty input[type='number'] {
    width: 86px;
    min-width: 86px;
    height: 48px;
    border: 0;
    border-inline: 1px solid #e3d7cb;
    background: #fff;
    color: #1e1419;
    text-align: center;
    font-size: var(--bw-fs-18);
    font-weight: 730;
    padding: 0 6px;
}

body.ui-v2.tenant--bowling.page-product .product-add-btn {
    flex: 1 1 auto;
    min-height: 48px;
    min-width: 180px;
}

body.ui-v2.tenant--bowling.page-product .product-row--qty.is-disabled .product-add-btn {
    opacity: 0.58;
}

body.ui-v2.tenant--bowling.page-product .product-stock-note {
    margin: 8px 0 0;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    font-weight: 620;
}

body.ui-v2.tenant--bowling.page-product .product-row--secondary {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-product .product-fav-form {
    margin: 0;
}

body.ui-v2.tenant--bowling.page-product .product-row--secondary .pc-icon {
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid #DDD4C3;
    background: linear-gradient(180deg, #fff, #f9f3ee);
    color: #4E4331;
    box-shadow: 0 8px 16px rgba(34, 31, 25, 0.09);
}

body.ui-v2.tenant--bowling.page-product .product-row--secondary .pc-icon:hover {
    border-color: rgba(194, 170, 121, 0.52);
    color: #6F5831;
}

body.ui-v2.tenant--bowling.page-product .product-row--secondary .pc-icon svg {
    width: 18px;
    height: 18px;
}

body.ui-v2.tenant--bowling.page-product .product-trust {
    margin-top: 12px;
    display: grid;
    gap: 6px;
}

body.ui-v2.tenant--bowling.page-product .product-trust a {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    gap: 8px;
    color: #5A4829;
    font-size: var(--bw-fs-14);
    font-weight: 640;
    text-decoration: none;
}

body.ui-v2.tenant--bowling.page-product .product-trust a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #C8A96B;
    flex: 0 0 7px;
}

body.ui-v2.tenant--bowling.page-product .product-trust a:hover {
    color: #493A20;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.ui-v2.tenant--bowling.page-product .pdp-mini {
    margin-top: 12px;
    border-radius: 14px;
    border: 1px solid #e5dbcf;
    background: linear-gradient(180deg, #fff, #fbf6f1);
    padding: 12px 14px;
    color: #4c5565;
    font-size: var(--bw-fs-16);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling.page-product .pdp-bottom {
    margin-top: 0;
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-product .pdp-desc > :not([hidden]) + :not([hidden]) {
    margin-top: 14px;
}

body.ui-v2.tenant--bowling.page-product .product-description-card,
body.ui-v2.tenant--bowling.page-product .product-params-card {
    border-radius: var(--bw-pdp-radius);
}

body.ui-v2.tenant--bowling.page-product .product-h2 {
    margin: 0 0 12px;
    color: #2a1c23;
    font-size: var(--bw-fs-24);
    line-height: 1.2;
    font-weight: 790;
    letter-spacing: -0.01em;
}

body.ui-v2.tenant--bowling.page-product .product-description-text {
    color: #495365;
    font-size: var(--bw-fs-16);
    line-height: 1.72;
}

body.ui-v2.tenant--bowling.page-product .product-params-table th,
body.ui-v2.tenant--bowling.page-product .product-params-table td {
    padding: 12px 10px;
    border-top: 1px solid #eee4da;
    font-size: var(--bw-fs-16);
    line-height: 1.55;
}

body.ui-v2.tenant--bowling.page-product .product-params-table th {
    width: 38%;
    color: #3B3427;
}

body.ui-v2.tenant--bowling.page-product .product-info-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-product .product-info-item {
    border: 1px solid #e8ddd2;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #faf5ef);
    padding: 14px;
    display: grid;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-product .product-info-item-title {
    margin: 0;
    color: #2E281D;
    font-size: var(--bw-fs-18);
    line-height: 1.3;
}

body.ui-v2.tenant--bowling.page-product .product-info-item-text {
    margin: 0;
    color: #536072;
    font-size: var(--bw-fs-16);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling.page-product .product-info-item-link {
    width: fit-content;
    color: #6A532C;
    font-size: var(--bw-fs-16);
    font-weight: 700;
    line-height: 1.2;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-color: rgba(106, 89, 56, 0.35);
}

body.ui-v2.tenant--bowling.page-product .product-info-item-link:hover {
    color: #4A3B20;
    text-decoration-color: rgba(74, 63, 40, 0.64);
}

body.ui-v2.tenant--bowling.page-product .pdp-more {
    margin: 4px 0 0;
    padding: 18px;
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-pdp-radius-lg);
    background: var(--bw-surface);
    box-shadow: var(--bw-panel-shadow);
}

body.ui-v2.tenant--bowling.page-product .pdp-more + .pdp-more {
    margin-top: 0;
}

body.ui-v2.tenant--bowling.page-product .pdp-more-head {
    max-width: none;
    margin: 0 0 12px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-product .pdp-more-link {
    font-size: var(--bw-fs-14);
    font-weight: 700;
}

body.ui-v2.tenant--bowling.page-product .pdp-more-grid {
    max-width: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product {
    border-radius: 14px;
    border: 1px solid #e4d9ce;
    background: #fff;
    box-shadow: 0 10px 22px rgba(30, 27, 22, 0.09);
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-image-wrapper {
    background: #fcf8f2;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-body {
    padding: 12px;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-title a {
    font-size: var(--bw-fs-18);
    line-height: 1.34;
    font-weight: 760;
    color: #2D271D;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-title a:hover {
    color: #65502D;
}

body.ui-v2.tenant--bowling.page-product .pdp-more :is(.category-product-meta, .category-product-shortdesc) {
    font-size: var(--bw-fs-14);
    line-height: 1.52;
    color: #657286;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-prices {
    gap: 3px;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-price {
    font-size: var(--bw-fs-24);
    line-height: 1.12;
    color: #23171d;
    font-weight: 790;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-oldprice {
    font-size: var(--bw-fs-14);
    color: #8f99a8;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-unitprice {
    font-size: var(--bw-fs-14);
    color: #768093;
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-stock {
    margin-top: 4px;
}

body.ui-v2.tenant--bowling.page-product .pdp-more :is(
    .category-product-stock-status,
    .category-product-stock-qty
) {
    font-size: var(--bw-fs-14);
}

body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-row--qty {
    margin-top: 8px;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-card {
    border: 0;
    box-shadow: none;
    padding: 0;
    background: transparent;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-list {
    display: grid;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-item {
    border: 1px solid #e5dbd0;
    border-radius: 14px;
    background: linear-gradient(180deg, #fff, #faf5f0);
    overflow: hidden;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-question {
    cursor: pointer;
    list-style: none;
    margin: 0;
    padding: 13px 16px;
    color: #29241A;
    font-size: var(--bw-fs-18);
    font-weight: 730;
    line-height: 1.35;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-question::-webkit-details-marker {
    display: none;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-answer {
    border-top: 1px solid #ebdfd3;
    padding: 11px 16px 14px;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-answer p {
    margin: 0;
    color: #556275;
    font-size: var(--bw-fs-16);
    line-height: 1.64;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-answer a {
    color: #69532D;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.ui-v2.tenant--bowling.page-product .pdp-faq-answer a:hover {
    color: #4E3D21;
}

body.ui-v2.tenant--bowling.page-product .pg-modal__meta {
    color: #637082;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
}

@media (max-width: 1200px) {
    body.ui-v2.tenant--bowling.page-product .pdp-top,
    body.ui-v2.tenant--bowling.page-product .pdp-top.pdp-top--no-thumbs {
        grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
    }

    body.ui-v2.tenant--bowling.page-product .pdp-thumbs {
        display: none;
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    body.ui-v2.tenant--bowling.page-product .pdp-top,
    body.ui-v2.tenant--bowling.page-product .pdp-top.pdp-top--no-thumbs {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    body.ui-v2.tenant--bowling.page-product .pdp-buy {
        position: static;
        top: auto;
    }

    body.ui-v2.tenant--bowling.page-product .product-main-image {
        height: clamp(320px, 64vw, 500px);
    }

    body.ui-v2.tenant--bowling.page-product .product-title-main {
        font-size: clamp(1.8rem, 4.8vw, 2.3rem);
    }

    body.ui-v2.tenant--bowling.page-product .product-info-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-product .product-page {
        margin-top: 10px;
        margin-bottom: 24px;
    }

    body.ui-v2.tenant--bowling.page-product .product-media-card,
    body.ui-v2.tenant--bowling.page-product .product-purchase-card,
    body.ui-v2.tenant--bowling.page-product .product-description-card,
    body.ui-v2.tenant--bowling.page-product .product-params-card,
    body.ui-v2.tenant--bowling.page-product .pdp-more {
        padding: 14px;
    }

    body.ui-v2.tenant--bowling.page-product .product-title-main {
        font-size: clamp(1.66rem, 7.6vw, 2rem);
    }

    body.ui-v2.tenant--bowling.page-product .product-price-lg {
        font-size: clamp(1.85rem, 8vw, 2.35rem);
    }

    body.ui-v2.tenant--bowling.page-product .product-price-unit {
        font-size: var(--bw-fs-14);
    }

    body.ui-v2.tenant--bowling.page-product .product-row--qty {
        flex-wrap: wrap;
        gap: 10px;
    }

    body.ui-v2.tenant--bowling.page-product .product-qty.category-product-qty {
        width: 100%;
        justify-content: center;
    }

    body.ui-v2.tenant--bowling.page-product .product-qty input[type='number'] {
        flex: 1 1 auto;
        width: auto;
    }

    body.ui-v2.tenant--bowling.page-product .product-add-btn {
        width: 100%;
        min-width: 0;
    }

    body.ui-v2.tenant--bowling.page-product .product-info-list {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-title a {
        font-size: var(--bw-fs-16);
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-price {
        font-size: var(--bw-fs-20);
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more .category-product-row--qty {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-product .pdp-more-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    body.ui-v2.tenant--bowling.page-product .pg-modal__dialog {
        margin: 14px;
        padding: 12px;
    }
}

/* ==========================================================================
   Bowling webshop cart page — final cascade layer (tenant-safe)
   ========================================================================== */
body.ui-v2.tenant--bowling.page-cart {
    --bw-cart-radius: 16px;
    --bw-cart-radius-sm: 12px;
    --bw-cart-border: #e2dad0;
    --bw-cart-border-strong: #C7B088;
    --bw-cart-surface: #ffffff;
    --bw-cart-surface-soft: #fbf7f2;
    --bw-cart-shadow: 0 12px 24px rgba(32, 29, 24, 0.08);
    --bw-cart-shadow-soft: 0 8px 18px rgba(32, 29, 24, 0.06);
}

body.ui-v2.tenant--bowling.page-cart .cart-page {
    width: min(var(--bw-container-max), calc(100% - (var(--bw-container-gutter) * 2)));
    margin: 1rem auto 2rem;
    padding: 0;
    background: transparent;
}

body.ui-v2.tenant--bowling.page-cart .cart-wrap {
    max-width: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 18px;
}

body.ui-v2.tenant--bowling.page-cart .cart-head {
    margin: 0;
    padding: 0 0 14px;
    border: 0;
    border-bottom: 1px solid var(--bw-border);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-cart .cart-head__titles {
    display: grid;
    gap: 7px;
}

body.ui-v2.tenant--bowling.page-cart .cart-title {
    margin: 0;
    font-size: var(--bw-fs-32);
    line-height: 1.14;
    letter-spacing: -0.018em;
    color: #25303F;
    font-weight: 820;
}

body.ui-v2.tenant--bowling.page-cart .cart-subtitle {
    margin: 0;
    color: #586274;
    font-size: var(--bw-fs-16);
    line-height: 1.58;
}

body.ui-v2.tenant--bowling.page-cart .cart-head__actions .btn {
    min-height: 42px;
    padding-inline: 16px;
}

body.ui-v2.tenant--bowling.page-cart .cart-empty {
    margin: 0;
    border: 1px solid var(--bw-cart-border);
    border-radius: var(--bw-cart-radius);
    background: linear-gradient(180deg, #fff 0%, #fcf8f4 100%);
    box-shadow: var(--bw-cart-shadow-soft);
    padding: 24px;
    display: grid;
    gap: 12px;
    justify-items: start;
}

body.ui-v2.tenant--bowling.page-cart .cart-empty__text {
    margin: 0;
    font-size: var(--bw-fs-18);
    line-height: 1.58;
    color: #4f596b;
}

body.ui-v2.tenant--bowling.page-cart .cart-grid {
    margin-top: 0;
    gap: 16px;
    align-items: start;
    grid-template-columns: minmax(0, 1.52fr) minmax(320px, 1fr);
}

body.ui-v2.tenant--bowling.page-cart .cart-left {
    display: grid;
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-cart .cart-table {
    border: 1px solid var(--bw-cart-border);
    border-radius: var(--bw-cart-radius);
    background: var(--bw-cart-surface);
    box-shadow: var(--bw-cart-shadow);
    overflow: hidden;
}

body.ui-v2.tenant--bowling.page-cart .cart-table__head {
    grid-template-columns: minmax(0, 1fr) 140px 138px 160px 52px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--bw-cart-border);
    background: linear-gradient(180deg, #fff 0%, #f9f4ef 100%);
    color: #677384;
    font-size: var(--bw-fs-14);
    font-weight: 740;
    letter-spacing: 0.09em;
}

body.ui-v2.tenant--bowling.page-cart .cart-row {
    grid-template-columns: minmax(0, 1fr) 140px 138px 160px 52px;
    padding: 14px 16px;
    border-top: 1px solid #eee4da;
    align-items: center;
}

body.ui-v2.tenant--bowling.page-cart .cart-row:first-child {
    border-top: 0;
}

body.ui-v2.tenant--bowling.page-cart .cart-prod {
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-cart .cart-thumb {
    width: 58px;
    height: 58px;
    border-radius: 14px;
    border-color: var(--bw-cart-border);
    background: #f8f2eb;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

body.ui-v2.tenant--bowling.page-cart .cart-product {
    font-size: var(--bw-fs-18);
    line-height: 1.34;
    font-weight: 740;
    color: #25303F;
    white-space: normal;
    text-overflow: clip;
}

body.ui-v2.tenant--bowling.page-cart .cart-product:hover {
    color: #5D4A29;
}

body.ui-v2.tenant--bowling.page-cart .cart-rowmsg {
    margin-top: 3px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
}

body.ui-v2.tenant--bowling.page-cart .ct-col--price,
body.ui-v2.tenant--bowling.page-cart .ct-col--sum {
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-16);
    line-height: 1.4;
}

body.ui-v2.tenant--bowling.page-cart .cart-price {
    gap: 4px;
}

body.ui-v2.tenant--bowling.page-cart .cart-price__old {
    font-size: var(--bw-fs-14);
    color: #8691a0;
}

body.ui-v2.tenant--bowling.page-cart .cart-price__new {
    font-size: var(--bw-fs-18);
    line-height: 1.2;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling.page-cart .ct-col--sum strong {
    font-size: var(--bw-fs-18);
    line-height: 1.2;
    color: var(--bw-ink-primary);
    font-weight: 800;
}

body.ui-v2.tenant--bowling.page-cart .cart-qtywrap {
    max-width: 152px;
    grid-template-columns: 40px minmax(0, 1fr) 40px;
    gap: 7px;
}

body.ui-v2.tenant--bowling.page-cart .cart-qty {
    max-width: none;
    min-height: 40px;
    border: 1px solid var(--bw-cart-border);
    border-radius: 11px;
    padding: 8px 8px;
    text-align: center;
    font-size: var(--bw-fs-16);
    line-height: 1.2;
    font-weight: 700;
    color: var(--bw-ink-primary);
    background: #ffffff;
}

body.ui-v2.tenant--bowling.page-cart .cart-qty:focus-visible {
    outline: none;
    border-color: var(--bw-cart-border-strong);
    box-shadow: 0 0 0 3px rgba(200, 169, 107, 0.15);
}

body.ui-v2.tenant--bowling.page-cart .cart-qtybtn {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    border: 1px solid var(--bw-cart-border);
    background: linear-gradient(180deg, #fff, #f7f2ec);
    color: #4D4331;
    font-size: var(--bw-fs-18);
    line-height: 1;
    font-weight: 760;
    box-shadow: 0 6px 12px rgba(32, 29, 24, 0.08);
}

body.ui-v2.tenant--bowling.page-cart .cart-qtybtn:hover,
body.ui-v2.tenant--bowling.page-cart .cart-qtybtn:focus-visible {
    border-color: var(--bw-cart-border-strong);
    background: linear-gradient(180deg, #fff, #EEDFC5);
    color: #3F3524;
    box-shadow: 0 10px 16px rgba(32, 29, 24, 0.12);
}

body.ui-v2.tenant--bowling.page-cart .cart-remove {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    font-size: var(--bw-fs-20);
    font-weight: 600;
    line-height: 1;
}

body.ui-v2.tenant--bowling.page-cart .cart-controls {
    padding: 0;
}

body.ui-v2.tenant--bowling.page-cart .cart-controls .btn {
    min-height: 42px;
}

body.ui-v2.tenant--bowling.page-cart .cart-right--sticky .cart-panel {
    position: sticky;
    top: 90px;
}

body.ui-v2.tenant--bowling.page-cart .cart-panel {
    border: 1px solid var(--bw-cart-border);
    border-radius: var(--bw-cart-radius);
    background: linear-gradient(180deg, #fff 0%, #fdf9f4 100%);
    box-shadow: var(--bw-cart-shadow);
    padding: 16px;
    display: grid;
    gap: 14px;
}

body.ui-v2.tenant--bowling.page-cart .cart-coupon {
    display: grid;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-cart .cart-label {
    margin: 0;
    font-size: var(--bw-fs-14);
    line-height: 1.3;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #6e7888;
    font-weight: 780;
}

body.ui-v2.tenant--bowling.page-cart .cart-coupon__row {
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-cart .cart-coupon__row .btn {
    min-height: 42px;
}

body.ui-v2.tenant--bowling.page-cart .cart-input {
    min-height: 42px;
    border: 1px solid var(--bw-cart-border);
    border-radius: 11px;
    padding: 9px 12px;
    font-size: var(--bw-fs-16);
    line-height: 1.35;
    color: #2D3442;
}

body.ui-v2.tenant--bowling.page-cart .cart-input:focus-visible {
    outline: none;
    border-color: var(--bw-cart-border-strong);
    box-shadow: 0 0 0 3px rgba(200, 169, 107, 0.14);
}

body.ui-v2.tenant--bowling.page-cart .cart-coupon__applied {
    border: 1px solid #eadfd5;
    border-radius: 12px;
    background: #fff;
    padding: 10px 11px;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-cart .cart-coupon__code {
    font-size: var(--bw-fs-14);
    line-height: 1.4;
    color: #4d5768;
}

body.ui-v2.tenant--bowling.page-cart .cart-hint {
    margin: 0;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #7b8595;
}

body.ui-v2.tenant--bowling.page-cart .cart-freeship {
    margin: 0;
    padding: 12px;
    border: 1px solid #E6DFD0;
    border-radius: 13px;
    background: linear-gradient(180deg, #fff, #faf6f2);
}

body.ui-v2.tenant--bowling.page-cart .cart-freeship__msg {
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #495667;
}

body.ui-v2.tenant--bowling.page-cart .cart-freeship__bar {
    margin-top: 9px;
    height: 9px;
    background: #ece3da;
}

body.ui-v2.tenant--bowling.page-cart .cart-freeship__fill {
    background: linear-gradient(90deg, #9B783A 0%, #BA9658 100%);
}

body.ui-v2.tenant--bowling.page-cart .cart-summary {
    margin-top: 0;
    padding-top: 14px;
    border: 0;
    border-top: 1px solid #e7ddd3;
    display: grid;
    gap: 2px;
}

body.ui-v2.tenant--bowling.page-cart .cart-sumrow {
    padding: 8px 1px;
    color: #3e4958;
    font-size: var(--bw-fs-16);
    line-height: 1.4;
}

body.ui-v2.tenant--bowling.page-cart .cart-sumrow strong {
    color: var(--bw-ink-primary);
    font-size: var(--bw-fs-18);
    line-height: 1.2;
}

body.ui-v2.tenant--bowling.page-cart .cart-sumrow--discount {
    color: #C8A96B;
}

body.ui-v2.tenant--bowling.page-cart .cart-sumrow--total {
    margin-top: 4px;
    padding-top: 12px;
    border-top: 1px solid #e4d8cd;
}

body.ui-v2.tenant--bowling.page-cart .cart-sumrow--total span {
    color: #25303F;
    font-weight: 760;
    font-size: var(--bw-fs-18);
}

body.ui-v2.tenant--bowling.page-cart .cart-sumrow--total strong {
    font-size: var(--bw-fs-24);
    line-height: 1.1;
    font-weight: 860;
    color: #1d131b;
}

body.ui-v2.tenant--bowling.page-cart .cart-cta {
    margin-top: 12px;
}

body.ui-v2.tenant--bowling.page-cart .cart-cta__btn {
    width: 100%;
    justify-content: center;
    min-height: 48px;
}

body.ui-v2.tenant--bowling.page-cart .cart-cta__note {
    margin: 10px 0 0;
    font-size: var(--bw-fs-14);
    line-height: 1.5;
    color: #6d7788;
}

body.ui-v2.tenant--bowling.page-cart .cart-trust {
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid #e6dcd2;
}

body.ui-v2.tenant--bowling.page-cart .cart-trust__list {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #5a6778;
}

body.ui-v2.tenant--bowling.page-cart .cart-cross {
    margin-top: 2px;
    display: grid;
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-cart .cart-cross__head {
    margin: 0;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-cart .cart-cross__title {
    margin: 0;
    font-size: var(--bw-fs-24);
    line-height: 1.2;
    letter-spacing: -0.012em;
    color: #25303F;
    font-weight: 800;
}

body.ui-v2.tenant--bowling.page-cart .cart-cross__sub {
    margin: 0;
    font-size: var(--bw-fs-16);
    line-height: 1.56;
    color: #677283;
}

body.ui-v2.tenant--bowling.page-cart .cart-cross__grid {
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.ui-v2.tenant--bowling.page-cart .cart-mobilebar {
    display: none;
}

@media (max-width: 1120px) {
    body.ui-v2.tenant--bowling.page-cart .cart-grid {
        grid-template-columns: minmax(0, 1.36fr) minmax(300px, 1fr);
    }

    body.ui-v2.tenant--bowling.page-cart .cart-table__head,
    body.ui-v2.tenant--bowling.page-cart .cart-row {
        grid-template-columns: minmax(0, 1fr) 124px 128px 142px 48px;
    }
}

@media (max-width: 980px) {
    body.ui-v2.tenant--bowling.page-cart .cart-grid {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-right--sticky .cart-panel {
        position: static;
        top: auto;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-cross__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-cart .cart-page {
        margin-top: 0.6rem;
        padding-bottom: 94px;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-title {
        font-size: var(--bw-fs-24);
    }

    body.ui-v2.tenant--bowling.page-cart .cart-subtitle {
        font-size: var(--bw-fs-14);
    }

    body.ui-v2.tenant--bowling.page-cart .cart-head__actions {
        width: 100%;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-head__actions .btn {
        width: 100%;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-table__head {
        display: none;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-row {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
        border-top-color: #ebdfd4;
    }

    body.ui-v2.tenant--bowling.page-cart .ct-col {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    body.ui-v2.tenant--bowling.page-cart .ct-col::before {
        content: attr(data-label);
        font-size: var(--bw-fs-14);
        letter-spacing: 0.07em;
        text-transform: uppercase;
        font-weight: 760;
        color: #7b8697;
    }

    body.ui-v2.tenant--bowling.page-cart .ct-col[data-label=""]::before,
    body.ui-v2.tenant--bowling.page-cart .ct-col--product::before {
        content: "";
        display: none;
    }

    body.ui-v2.tenant--bowling.page-cart .ct-col--product {
        justify-content: flex-start;
    }

    body.ui-v2.tenant--bowling.page-cart .ct-col--sum strong {
        font-size: var(--bw-fs-20);
    }

    body.ui-v2.tenant--bowling.page-cart .ct-col--act {
        justify-content: flex-end;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-qtywrap {
        max-width: 164px;
        grid-template-columns: 42px minmax(0, 1fr) 42px;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-qtybtn {
        width: 42px;
        height: 42px;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-cross__head {
        flex-direction: column;
        align-items: flex-start;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-cross__grid {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-mobilebar {
        position: fixed;
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        bottom: max(8px, env(safe-area-inset-bottom));
        z-index: 65;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        border: 1px solid #d9d0c5;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 12px 24px rgba(34, 31, 25, 0.15);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        padding: 9px 11px;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-mobilebar__sum span {
        display: block;
        font-size: var(--bw-fs-14);
        line-height: 1.2;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        font-weight: 760;
        color: #7f8998;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-mobilebar__sum strong {
        display: block;
        margin-top: 2px;
        font-size: var(--bw-fs-18);
        line-height: 1.2;
        color: #25303F;
        font-weight: 850;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-mobilebar__btn {
        width: auto;
        min-width: 132px;
        min-height: 42px;
        white-space: nowrap;
    }
}

@media (max-width: 520px) {
    body.ui-v2.tenant--bowling.page-cart .cart-panel {
        padding: 14px;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-coupon__row {
        flex-direction: column;
        align-items: stretch;
    }

    body.ui-v2.tenant--bowling.page-cart .cart-coupon__row .btn {
        width: 100%;
    }
}

/* ==========================================================================
   Bowling webshop checkout page — final cascade layer (tenant-safe)
   ========================================================================== */
body.ui-v2.tenant--bowling.page-checkout {
    --bw-co-radius: 16px;
    --bw-co-radius-sm: 12px;
    --bw-co-border: #e2dad0;
    --bw-co-border-soft: #ebe2d8;
    --bw-co-border-strong: #C7B088;
    --bw-co-surface: #ffffff;
    --bw-co-surface-soft: #fbf7f2;
    --bw-co-shadow: 0 12px 24px rgba(32, 29, 24, 0.08);
    --bw-co-shadow-soft: 0 8px 18px rgba(32, 29, 24, 0.06);
}

body.ui-v2.tenant--bowling.page-checkout .co-page {
    width: min(var(--bw-container-max), calc(100% - (var(--bw-container-gutter) * 2)));
    margin: 1rem auto 2rem;
    padding: 0;
    background: transparent;
    overflow-x: clip;
}

body.ui-v2.tenant--bowling.page-checkout .co-wrap {
    max-width: none;
    margin: 0;
    display: grid;
    gap: 16px;
}

body.ui-v2.tenant--bowling.page-checkout .co-head {
    margin: 0;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--bw-border);
    display: grid;
    gap: 7px;
}

body.ui-v2.tenant--bowling.page-checkout .co-title {
    margin: 0;
    font-size: var(--bw-fs-32);
    line-height: 1.14;
    letter-spacing: -0.016em;
    color: #25303F;
    font-weight: 820;
}

body.ui-v2.tenant--bowling.page-checkout .co-subtitle {
    margin: 0;
    max-width: 72ch;
    font-size: var(--bw-fs-16);
    line-height: 1.58;
    color: #596374;
}

body.ui-v2.tenant--bowling.page-checkout .co-alert {
    margin: 0;
    padding: 11px 13px;
    border-radius: var(--bw-co-radius-sm);
    border: 1px solid var(--bw-co-border);
    background: #fff;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #4a5668;
    box-shadow: var(--bw-co-shadow-soft);
}

body.ui-v2.tenant--bowling.page-checkout .co-alert--error {
    border-color: #EAD4AD;
    background: #F2E6D4;
    color: #7E602C;
}

body.ui-v2.tenant--bowling.page-checkout .co-alert--success {
    border-color: #bfdcc9;
    background: #f2f9f4;
    color: #275e42;
}

body.ui-v2.tenant--bowling.page-checkout .co-empty {
    margin: 0;
    padding: 20px 22px;
    border: 1px solid var(--bw-co-border);
    border-radius: var(--bw-co-radius);
    background: linear-gradient(180deg, #fff 0%, #fdf9f4 100%);
    box-shadow: var(--bw-co-shadow-soft);
    display: grid;
    gap: 12px;
    justify-items: start;
}

body.ui-v2.tenant--bowling.page-checkout .co-empty__text {
    margin: 0;
    font-size: var(--bw-fs-18);
    line-height: 1.58;
    color: #4f5a6b;
}

body.ui-v2.tenant--bowling.page-checkout .co-grid {
    margin-top: 0;
    gap: 16px;
    align-items: start;
    grid-template-columns: minmax(0, 1.48fr) minmax(330px, 1fr);
}

body.ui-v2.tenant--bowling.page-checkout .co-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-checkout .co-section {
    padding: 0;
    border: 1px solid var(--bw-co-border);
    border-radius: var(--bw-co-radius);
    background: var(--bw-co-surface);
    box-shadow: var(--bw-co-shadow);
    overflow: clip;
}

body.ui-v2.tenant--bowling.page-checkout .co-accBtn {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 10px;
    align-items: center;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 14px 16px 12px;
    color: #25303F;
}

body.ui-v2.tenant--bowling.page-checkout .co-accTitle {
    font-size: var(--bw-fs-20);
    line-height: 1.22;
    font-weight: 800;
    letter-spacing: -0.01em;
}

body.ui-v2.tenant--bowling.page-checkout .co-accMeta {
    grid-column: 1 / -1;
    margin-top: -2px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #6d7888;
}

body.ui-v2.tenant--bowling.page-checkout .co-accChevron {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    position: relative;
    opacity: 0.9;
}

body.ui-v2.tenant--bowling.page-checkout .co-accChevron::before,
body.ui-v2.tenant--bowling.page-checkout .co-accChevron::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 11px;
    height: 2px;
    transform: translate(-50%, -50%);
    border-radius: 2px;
    background: #7a8494;
}

body.ui-v2.tenant--bowling.page-checkout .co-accChevron::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform var(--bw-motion-base) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling.page-checkout .co-acc.is-open .co-accChevron::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

body.ui-v2.tenant--bowling.page-checkout .co-accPanel {
    padding: 0 16px 16px;
    border-top: 1px solid var(--bw-co-border-soft);
}

body.ui-v2.tenant--bowling.page-checkout .co-page label {
    display: block;
    margin-bottom: 6px;
    font-size: var(--bw-fs-14);
    line-height: 1.35;
    font-weight: 720;
    color: #4f5b6d;
}

body.ui-v2.tenant--bowling.page-checkout .co-page :is(
    input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    select,
    textarea,
    .co-couponInput,
    .co-cspSearchInput
) {
    width: 100%;
    min-height: 46px;
    border-radius: 11px;
    border: 1px solid var(--bw-co-border);
    background: #fff;
    color: #2D3442 !important;
    -webkit-text-fill-color: #2D3442 !important;
    padding: 11px 12px;
    font-size: var(--bw-fs-16);
    line-height: 1.4;
    font-weight: 600;
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        background-color var(--bw-motion-base) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling.page-checkout .co-page :is(
    input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    textarea,
    .co-couponInput,
    .co-cspSearchInput
)::placeholder {
    color: #8a94a3 !important;
    -webkit-text-fill-color: #8a94a3 !important;
    font-weight: 500;
}

body.ui-v2.tenant--bowling.page-checkout .co-page :is(
    input:not([type='checkbox']):not([type='radio']):not([type='hidden']),
    select,
    textarea,
    .co-couponInput,
    .co-cspSearchInput
):focus-visible {
    outline: none;
    border-color: var(--bw-co-border-strong);
    box-shadow: 0 0 0 3px rgba(200, 169, 107, 0.14);
}

body.ui-v2.tenant--bowling.page-checkout .co-page textarea {
    min-height: 112px;
    resize: vertical;
}

body.ui-v2.tenant--bowling.page-checkout .co-grid2,
body.ui-v2.tenant--bowling.page-checkout .co-grid3,
body.ui-v2.tenant--bowling.page-checkout .co-addr3,
body.ui-v2.tenant--bowling.page-checkout .co-addr4,
body.ui-v2.tenant--bowling.page-checkout .co-tiles,
body.ui-v2.tenant--bowling.page-checkout .co-tiles--scroll {
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-checkout .co-accActions {
    margin-top: 14px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

body.ui-v2.tenant--bowling.page-checkout .co-nextBtn {
    min-height: 44px;
    padding: 10px 16px;
}

body.ui-v2.tenant--bowling.page-checkout .co-check {
    display: inline-flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--bw-fs-16);
    line-height: 1.5;
    color: #4b5769;
}

body.ui-v2.tenant--bowling.page-checkout .co-check--mini {
    margin-top: 11px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
}

body.ui-v2.tenant--bowling.page-checkout .co-check input[type='checkbox'] {
    width: 17px;
    height: 17px;
    margin-top: 2px;
}

body.ui-v2.tenant--bowling.page-checkout .co-note {
    margin: 8px 0 0;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #6f7a8a;
}

body.ui-v2.tenant--bowling.page-checkout .co-tile {
    min-height: 88px;
    padding: 13px;
    border-radius: 13px;
    border: 1px solid var(--bw-co-border);
    background: linear-gradient(180deg, #fff 0%, #faf6f2 100%);
    box-shadow: var(--bw-co-shadow-soft);
}

body.ui-v2.tenant--bowling.page-checkout .co-tile:hover,
body.ui-v2.tenant--bowling.page-checkout .co-tile:focus-within {
    border-color: var(--bw-co-border-strong);
    box-shadow: 0 12px 22px rgba(32, 29, 24, 0.12);
    transform: translate3d(0, var(--bw-hover-lift-soft), 0) scale(var(--bw-hover-scale-soft));
}

body.ui-v2.tenant--bowling.page-checkout .co-tile.is-active,
body.ui-v2.tenant--bowling.page-checkout .co-tile:has(input[type='radio']:checked) {
    border-color: #9A773B;
    background: linear-gradient(180deg, #fff 0%, #F7F0E6 100%);
    box-shadow: 0 14px 24px rgba(200, 169, 107, 0.14);
}

body.ui-v2.tenant--bowling.page-checkout .co-tileTop {
    gap: 9px;
}

body.ui-v2.tenant--bowling.page-checkout .co-tileTitle {
    font-size: var(--bw-fs-16);
    line-height: 1.35;
    color: #25303F;
    font-weight: 770;
}

body.ui-v2.tenant--bowling.page-checkout .co-tilePrice {
    font-size: var(--bw-fs-16);
    line-height: 1.25;
    font-weight: 820;
    color: #2A3443;
}

body.ui-v2.tenant--bowling.page-checkout .co-tileDesc {
    margin-top: 6px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #697587;
}

body.ui-v2.tenant--bowling.page-checkout .co-carrierBadge {
    min-height: 20px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: var(--bw-fs-14);
    line-height: 1;
    font-weight: 860;
    letter-spacing: 0.03em;
}

body.ui-v2.tenant--bowling.page-checkout .co-carrierBadge--gls {
    background: rgba(30, 64, 175, 0.11);
    color: #1d48a5;
    border-color: rgba(30, 64, 175, 0.3);
}

body.ui-v2.tenant--bowling.page-checkout .co-carrierBadge--mpl {
    background: rgba(180, 140, 61, 0.12);
    color: #9A7834;
    border-color: rgba(180, 140, 61, 0.3);
}

body.ui-v2.tenant--bowling.page-checkout .co-carrierBadge--foxpost {
    background: rgba(190, 151, 74, 0.12);
    color: #A17325;
    border-color: rgba(190, 151, 74, 0.3);
}

body.ui-v2.tenant--bowling.page-checkout .co-carrierBadge--csomagpiac {
    background: rgba(14, 116, 144, 0.11);
    color: #0d6e88;
    border-color: rgba(14, 116, 144, 0.3);
}

body.ui-v2.tenant--bowling.page-checkout .co-glsPoint {
    margin-top: 13px;
    padding: 12px 13px;
    border-radius: 13px;
    border: 1px solid #e5dbd1;
    background: linear-gradient(180deg, #fff 0%, #faf6f2 100%);
}

body.ui-v2.tenant--bowling.page-checkout .co-glsPointRow {
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-checkout .co-glsPointTitle {
    font-size: var(--bw-fs-16);
    line-height: 1.3;
    color: #2A3443;
    font-weight: 780;
}

body.ui-v2.tenant--bowling.page-checkout .co-glsPointValue {
    margin-top: 2px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #697486;
}

body.ui-v2.tenant--bowling.page-checkout .co-btn {
    min-height: 42px;
}

body.ui-v2.tenant--bowling.page-checkout .co-summaryCol {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.ui-v2.tenant--bowling.page-checkout .co-summary {
    position: sticky;
    top: 90px;
    border-radius: var(--bw-co-radius);
    border: 1px solid var(--bw-co-border);
    background: linear-gradient(180deg, #fff 0%, #fdf9f4 100%);
    box-shadow: var(--bw-co-shadow);
    padding: 16px;
}

body.ui-v2.tenant--bowling.page-checkout .co-sumTitle {
    margin: 0;
    font-size: var(--bw-fs-24);
    line-height: 1.2;
    color: #25303F;
    font-weight: 820;
}

body.ui-v2.tenant--bowling.page-checkout .co-lines {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e8ddd3;
}

body.ui-v2.tenant--bowling.page-checkout .co-line {
    padding: 9px 0;
    border-top: 1px solid #eee3d8;
}

body.ui-v2.tenant--bowling.page-checkout .co-lineName {
    font-size: var(--bw-fs-16);
    line-height: 1.35;
    color: #2d212a;
    font-weight: 720;
}

body.ui-v2.tenant--bowling.page-checkout .co-lineMeta {
    margin-top: 2px;
    font-size: var(--bw-fs-14);
    line-height: 1.4;
    color: #728091;
}

body.ui-v2.tenant--bowling.page-checkout .co-lineRight {
    font-size: var(--bw-fs-16);
    line-height: 1.2;
    color: #25303F;
    font-weight: 780;
}

body.ui-v2.tenant--bowling.page-checkout .co-totals {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e7dcd2;
}

body.ui-v2.tenant--bowling.page-checkout .co-totalRow {
    padding: 8px 0;
    font-size: var(--bw-fs-16);
    line-height: 1.4;
    color: #3f4a5a;
}

body.ui-v2.tenant--bowling.page-checkout .co-totalRow strong {
    color: #25303F;
    font-weight: 800;
}

body.ui-v2.tenant--bowling.page-checkout .co-totalRow--discount {
    color: #C8A96B;
}

body.ui-v2.tenant--bowling.page-checkout .co-totalRow--grand {
    margin-top: 5px;
    padding-top: 12px;
    border-top: 1px solid #E3DBCC;
}

body.ui-v2.tenant--bowling.page-checkout .co-totalRow--grand span {
    font-size: var(--bw-fs-18);
    line-height: 1.2;
    color: #20151e;
    font-weight: 760;
}

body.ui-v2.tenant--bowling.page-checkout .co-totalRow--grand strong {
    font-size: var(--bw-fs-24);
    line-height: 1.1;
    font-weight: 860;
    color: #1b1219;
}

body.ui-v2.tenant--bowling.page-checkout .co-sumNote {
    margin: 10px 0 0;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #6d7888;
}

body.ui-v2.tenant--bowling.page-checkout .co-coupon {
    margin-top: 12px;
    padding: 12px;
    border-radius: 13px;
    border: 1px solid #e5dbd1;
    background: #fff;
}

body.ui-v2.tenant--bowling.page-checkout .co-couponTitle {
    margin: 0 0 8px;
    font-size: var(--bw-fs-16);
    line-height: 1.3;
    color: #2A3443;
    font-weight: 790;
}

body.ui-v2.tenant--bowling.page-checkout .co-couponApplied {
    font-size: var(--bw-fs-14);
    line-height: 1.4;
    color: #4d5869;
}

body.ui-v2.tenant--bowling.page-checkout .co-couponSaved {
    margin-top: 5px;
    font-size: var(--bw-fs-14);
    line-height: 1.4;
    color: #C8A96B;
    font-weight: 780;
}

body.ui-v2.tenant--bowling.page-checkout .co-couponRow {
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-checkout .co-trust {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 13px;
    border: 1px solid #e6dcd2;
    background: linear-gradient(180deg, #fff, #faf6f2);
}

body.ui-v2.tenant--bowling.page-checkout .co-trustList {
    margin: 0;
    padding-left: 18px;
    display: grid;
    gap: 8px;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #586577;
}

body.ui-v2.tenant--bowling.page-checkout .co-terms {
    margin-top: 12px;
    padding: 11px 12px;
    border-radius: 13px;
    border: 1px solid #e6dcd2;
    background: linear-gradient(180deg, #fff, #faf6f2);
}

body.ui-v2.tenant--bowling.page-checkout .co-terms a,
body.ui-v2.tenant--bowling.page-checkout .co-minOrder .co-minOrderLink {
    margin-left: 6px;
    color: #7B5F2D;
    font-size: var(--bw-fs-14);
    line-height: 1.35;
    font-weight: 760;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.ui-v2.tenant--bowling.page-checkout .co-footnote {
    margin: 12px 0 0;
    font-size: var(--bw-fs-14);
    line-height: 1.45;
    color: #6f7a8a;
}

body.ui-v2.tenant--bowling.page-checkout .co-submit {
    width: 100%;
    min-height: 48px;
    margin-top: 11px;
    justify-content: center;
}

body.ui-v2.tenant--bowling.page-checkout .co-submit.is-loading::after {
    border-color: rgba(255, 255, 255, 0.64);
    border-top-color: transparent;
}

body.ui-v2.tenant--bowling.page-checkout .co-modal {
    z-index: 1250;
    padding: 16px;
}

body.ui-v2.tenant--bowling.page-checkout .co-modal__overlay {
    background: rgba(26, 18, 24, 0.48);
    backdrop-filter: blur(2px);
}

body.ui-v2.tenant--bowling.page-checkout .co-modal__panel {
    border-radius: 14px;
    border: 1px solid #ddd2c7;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 26px 70px rgba(30, 27, 21, 0.26);
}

body.ui-v2.tenant--bowling.page-checkout .co-modal__head {
    padding: 12px 14px;
    border-bottom: 1px solid #ece1d6;
}

body.ui-v2.tenant--bowling.page-checkout .co-modal__title {
    font-size: var(--bw-fs-16);
    line-height: 1.35;
    font-weight: 800;
    color: #2A3443;
}

body.ui-v2.tenant--bowling.page-checkout .co-modal__close {
    border: 1px solid #E4DCCD;
    background: #fff;
    color: #4A402F;
}

body.ui-v2.tenant--bowling.page-checkout .co-modal__close:focus-visible {
    outline: none;
    border-color: var(--bw-co-border-strong);
    box-shadow: 0 0 0 3px rgba(200, 169, 107, 0.14);
}

body.ui-v2.tenant--bowling.page-checkout .co-cspSearchRow {
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-checkout .co-cspItem {
    border: 1px solid #e6dcd2;
    border-radius: 12px;
    background: #fff;
    padding: 11px 12px;
    gap: 5px;
}

body.ui-v2.tenant--bowling.page-checkout .co-cspItemTitle {
    font-size: var(--bw-fs-14);
    line-height: 1.4;
    color: #2D3442;
    font-weight: 770;
}

body.ui-v2.tenant--bowling.page-checkout .co-cspItemMeta {
    font-size: var(--bw-fs-14);
    line-height: 1.4;
    color: #697688;
}

body.ui-v2.tenant--bowling.page-checkout .co-mobileBar {
    display: none;
}

@media (max-width: 1024px) {
    body.ui-v2.tenant--bowling.page-checkout .co-grid {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-summary {
        position: static;
        top: auto;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-accActions {
        justify-content: stretch;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-nextBtn {
        width: 100%;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-mobileBar {
        position: fixed;
        left: max(8px, env(safe-area-inset-left));
        right: max(8px, env(safe-area-inset-right));
        bottom: max(8px, env(safe-area-inset-bottom));
        z-index: 65;
        display: block;
        border: 1px solid #d9d0c5;
        border-radius: 14px;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 12px 24px rgba(34, 31, 25, 0.14);
        padding: 9px 11px;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-mobileBarInner {
        max-width: none;
        margin: 0;
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 10px;
        align-items: center;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-mobileBarLabel {
        font-size: var(--bw-fs-14);
        line-height: 1.2;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        color: #7d8898;
        font-weight: 760;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-mobileBarTotal {
        margin-top: 2px;
        font-size: var(--bw-fs-18);
        line-height: 1.2;
        color: #25303F;
        font-weight: 860;
        letter-spacing: 0;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-mobileBarBtn {
        min-height: 42px;
        padding: 9px 14px;
        border-radius: 12px;
        font-size: var(--bw-fs-14);
        line-height: 1.2;
        font-weight: 800;
        border: 1px solid var(--bw-header-btn-border);
        background: var(--bw-header-btn-bg);
        color: var(--bw-header-btn-text);
        white-space: nowrap;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-page {
        padding-bottom: 96px;
    }
}

@media (max-width: 860px) {
    body.ui-v2.tenant--bowling.page-checkout .co-grid3,
    body.ui-v2.tenant--bowling.page-checkout .co-addr3,
    body.ui-v2.tenant--bowling.page-checkout .co-addr4,
    body.ui-v2.tenant--bowling.page-checkout .co-tiles,
    body.ui-v2.tenant--bowling.page-checkout .co-tiles--scroll,
    body.ui-v2.tenant--bowling.page-checkout .co-grid2 {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-glsPointRow {
        flex-direction: column;
        align-items: stretch;
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling.page-checkout .co-page {
        margin-top: 0.6rem;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-title {
        font-size: var(--bw-fs-24);
    }

    body.ui-v2.tenant--bowling.page-checkout .co-subtitle {
        font-size: var(--bw-fs-14);
        line-height: 1.45;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-accBtn {
        padding: 13px 14px 11px;
    }

    body.ui-v2.tenant--bowling.page-checkout .co-accTitle {
        font-size: var(--bw-fs-18);
    }

    body.ui-v2.tenant--bowling.page-checkout .co-accMeta {
        font-size: var(--bw-fs-14);
    }

    body.ui-v2.tenant--bowling.page-checkout .co-accPanel,
    body.ui-v2.tenant--bowling.page-checkout .co-summary,
    body.ui-v2.tenant--bowling.page-checkout .co-coupon,
    body.ui-v2.tenant--bowling.page-checkout .co-trust,
    body.ui-v2.tenant--bowling.page-checkout .co-terms,
    body.ui-v2.tenant--bowling.page-checkout .co-glsPoint {
        padding: 12px;
    }
}

/* ==========================================================================
   Bowling static + informational pages — final cascade layer (tenant-safe)
   ========================================================================== */
body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) {
    --bw-info-gap: 20px;
    --bw-info-panel-pad: 20px;
    --bw-info-panel-radius: 16px;
    --bw-ink-primary: #1B2534;
    --bw-ink-secondary: #3F4D61;
    --bw-ink-muted: #6A7585;
    --bw-info-link: #6A532C;
    --bw-info-link-hover: #4E3E22;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-page {
    padding: 22px 0 38px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-shell {
    display: grid;
    gap: var(--bw-info-gap);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section {
    margin-top: 0;
    padding: 24px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero {
    min-height: clamp(320px, 44vw, 440px);
    border-color: #d8d0c7;
    background: linear-gradient(140deg, #f8f2eb, #f2ebe3);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero__overlay {
    background:
        linear-gradient(116deg, rgba(255, 255, 255, 0.92) 0%, rgba(251, 244, 236, 0.84) 42%, rgba(236, 219, 201, 0.36) 74%, rgba(217, 185, 148, 0.22) 100%),
        radial-gradient(620px 360px at 12% 6%, rgba(255, 248, 240, 0.72), transparent 74%);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero__content {
    max-width: 760px;
    gap: 13px;
    padding: clamp(20px, 2.7vw, 32px);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero h1 {
    font-size: clamp(2.2rem, 3.6vw, 3rem);
    line-height: 1.07;
    color: #1B2534;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-lead {
    max-width: 58ch;
    font-size: var(--bw-fs-18);
    line-height: 1.64;
    color: #475B75;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section__head {
    gap: 8px;
    margin-bottom: 14px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section__head h2 {
    font-size: clamp(1.6rem, 2.3vw, 2.05rem);
    line-height: 1.16;
    letter-spacing: -0.015em;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section__head p {
    font-size: var(--bw-fs-16);
    line-height: 1.64;
    color: var(--bw-ink-secondary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section--split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 14px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-panel,
body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-feature-item {
    padding: var(--bw-info-panel-pad);
    border-radius: var(--bw-info-panel-radius);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-panel h1 {
    margin: 0 0 10px;
    font-size: clamp(2rem, 2.9vw, 2.7rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-panel h2 {
    font-size: clamp(1.35rem, 1.9vw, 1.7rem);
    line-height: 1.2;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-panel h3, .bw-feature-item h3) {
    font-size: clamp(1.14rem, 1.45vw, 1.3rem);
    line-height: 1.3;
    margin-bottom: 8px;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-panel p, .bw-feature-item p) {
    font-size: var(--bw-fs-16);
    line-height: 1.67;
    color: var(--bw-ink-secondary);
}

/* Ensure dark panel sections stay readable on restaurant/prices/menu/about pages */
body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section:not(.bw-hero) :is(h2, h3, strong) {
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section:not(.bw-hero) :is(p, li) {
    color: var(--bw-ink-secondary);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-pricing-time, .bw-panel__eyebrow) {
    color: #334865;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-panel a:not(.bw-btn), .bw-feature-item a:not(.bw-btn), .bw-contact-inline__value[href]) {
    color: var(--bw-info-link);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-panel a:not(.bw-btn), .bw-feature-item a:not(.bw-btn), .bw-contact-inline__value[href]):hover {
    color: var(--bw-info-link-hover);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-menu-archive, .bw-gateway, .bw-pricing-grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-meta-list {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-meta-list li {
    min-height: 0;
    padding: 0 0 0 18px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--bw-ink-secondary);
    font-size: var(--bw-fs-16);
    line-height: 1.62;
    font-weight: 520;
    text-transform: none;
    letter-spacing: 0;
    position: relative;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-meta-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.62em;
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--bw-brand) 76%, #ffffff);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-meta-list li > a {
    color: var(--bw-info-link);
    font-size: inherit;
    font-weight: 680;
    text-decoration: none;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-meta-list li > a:hover {
    color: var(--bw-info-link-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-steps {
    list-style: none;
    counter-reset: bwSteps;
    margin: 14px 0 0;
    padding: 0;
    gap: 10px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-steps li {
    counter-increment: bwSteps;
    position: relative;
    padding-left: 32px;
    color: var(--bw-ink-secondary);
    font-size: var(--bw-fs-16);
    line-height: 1.6;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-steps li::before {
    content: counter(bwSteps);
    position: absolute;
    left: 0;
    top: 0.12em;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(200, 169, 107, 0.2);
    border: 1px solid rgba(200, 169, 107, 0.28);
    color: #F5F1E8;
    font-size: var(--bw-fs-12);
    line-height: 1;
    font-weight: 820;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-kicker, .bw-kicker--inline, .bw-panel__eyebrow) {
    border-color: rgba(200, 169, 107, 0.44);
    background: rgba(20, 24, 31, 0.72);
    color: #E7D3A7;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline__item {
    background: rgba(20, 24, 31, 0.72);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline__label {
    color: #C8A96B;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline__value {
    color: #F5F1E8;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline {
    margin-top: 0;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline__item {
    padding: 12px 13px;
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline__label {
    font-size: var(--bw-fs-14);
}

body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-contact-inline__value {
    font-size: var(--bw-fs-16);
}

body.ui-v2.tenant--bowling.page-bowling-gallery .bw-gallery-card figcaption {
    font-size: var(--bw-fs-16);
    line-height: 1.55;
}

body.ui-v2.tenant--bowling.page-bowling-news-detail .bw-panel {
    padding: 22px;
}

body.ui-v2.tenant--bowling.page-legal .bw-shell {
    max-width: min(980px, calc(100% - 32px));
}

body.ui-v2.tenant--bowling.page-legal .bw-section {
    padding: 24px;
}

body.ui-v2.tenant--bowling.page-legal .bw-panel {
    padding: 24px;
}

body.ui-v2.tenant--bowling.page-legal .bw-panel h1 {
    margin: 0 0 12px;
    font-size: clamp(2rem, 2.9vw, 2.6rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

body.ui-v2.tenant--bowling.page-legal .bw-panel h2 {
    margin: 22px 0 8px;
    font-size: clamp(1.22rem, 1.75vw, 1.5rem);
    line-height: 1.22;
    color: var(--bw-ink-primary);
}

body.ui-v2.tenant--bowling.page-legal .bw-panel :is(p, li) {
    font-size: var(--bw-fs-16);
    line-height: 1.7;
    color: var(--bw-ink-secondary);
}

body.ui-v2.tenant--bowling.page-legal .bw-panel p {
    margin: 0 0 10px;
}

/* Contact page — bowling-only final layer
   (bowling contact.css is intentionally not loaded) */
body.ui-v2.tenant--bowling.page-bowling-contact .contact-page {
    padding: 24px 0 36px;
    display: grid;
    gap: 18px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-card {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    overflow: visible;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-head {
    margin: 0;
    padding: 24px;
    border: 1px solid var(--bw-border);
    border-radius: var(--bw-radius-lg);
    background: linear-gradient(160deg, #ffffff, #faf6f1);
    box-shadow: var(--bw-shadow-sm);
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-title {
    margin: 0 0 8px;
    font-size: clamp(2rem, 2.9vw, 2.7rem);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-sub,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-intro {
    margin: 0;
    max-width: 68ch;
    font-size: var(--bw-fs-16);
    line-height: 1.66;
    color: var(--bw-ink-secondary);
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-intro {
    margin-top: 8px;
}

body.ui-v2.tenant--bowling.page-bowling-contact :is(
    .contact-head-btn,
    .contact-nav__summary,
    .contact-nav__opt,
    .contact-social__btn,
    .contact-map__link
) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border-radius: 12px;
    border: 1px solid var(--bw-border);
    background: linear-gradient(160deg, #ffffff, #f9f3ee);
    box-shadow: 0 8px 16px rgba(24, 22, 18, 0.08);
    color: #4F4430;
    font-size: var(--bw-fs-16);
    line-height: 1.25;
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        color var(--bw-motion-fast) var(--bw-ease-standard),
        transform var(--bw-motion-base) var(--bw-ease-standard),
        background-color var(--bw-motion-base) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling.page-bowling-contact :is(
    .contact-head-btn,
    .contact-nav__summary,
    .contact-nav__opt,
    .contact-social__btn,
    .contact-map__link
):hover,
body.ui-v2.tenant--bowling.page-bowling-contact :is(
    .contact-head-btn,
    .contact-nav__summary,
    .contact-nav__opt,
    .contact-social__btn,
    .contact-map__link
):focus-visible {
    border-color: var(--bw-border-strong);
    box-shadow: 0 12px 22px rgba(24, 22, 18, 0.12);
    color: #6A532C;
    transform: translate3d(0, var(--bw-hover-lift-soft), 0) scale(var(--bw-hover-scale-soft));
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-nav {
    display: block;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-nav[open] .contact-nav__summary {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-nav__summary {
    list-style: none;
    user-select: none;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-nav__summary::-webkit-details-marker {
    display: none;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-nav__menu {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-grid {
    gap: 16px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-panels {
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-panel,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-social,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-map,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-form,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-help {
    padding: 18px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-panel__v {
    font-size: var(--bw-fs-16);
    line-height: 1.62;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-map iframe {
    min-height: 320px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-map__actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-start;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-field--full {
    grid-column: 1 / -1;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-field > span {
    color: var(--bw-ink-secondary);
    font-size: var(--bw-fs-14);
    line-height: 1.35;
    font-weight: 720;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-textarea {
    min-height: 140px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: var(--bw-fs-16);
    line-height: 1.54;
    color: var(--bw-ink-secondary);
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-check input[type='checkbox'] {
    width: 17px;
    height: 17px;
    margin-top: 2px;
    accent-color: var(--bw-brand);
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-check a {
    color: #6B542C;
    font-weight: 700;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-check a:hover {
    color: #4E3E22;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-actions {
    margin-top: 12px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-actions .btn {
    min-height: 46px;
    min-width: 170px;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-help__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

@media (max-width: 1100px) {
    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-section--split, .bw-feature-grid, .bw-menu-archive) {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-contact .contact-grid,
    body.ui-v2.tenant--bowling.page-bowling-contact .contact-panels {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-page {
        padding: 16px 0 28px;
    }

    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) :is(.bw-section, .bw-panel, .bw-feature-item) {
        padding: 15px;
    }

    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero {
        min-height: auto;
    }

    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero__content {
        padding: 15px;
    }

    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-hero h1 {
        font-size: clamp(1.8rem, 9vw, 2.15rem);
    }

    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-lead {
        font-size: var(--bw-fs-16);
    }

    body.ui-v2.tenant--bowling:is(.page-bowling-restaurant, .page-bowling-rolunk, .page-bowling-prices, .page-bowling-menu) .bw-section__head h2 {
        font-size: clamp(1.36rem, 6vw, 1.65rem);
    }

    body.ui-v2.tenant--bowling.page-bowling-contact .contact-page {
        padding: 14px 0 26px;
    }

    body.ui-v2.tenant--bowling.page-bowling-contact .contact-head,
    body.ui-v2.tenant--bowling.page-bowling-contact :is(.contact-panel, .contact-social, .contact-map, .contact-form, .contact-help) {
        padding: 14px;
    }

    body.ui-v2.tenant--bowling.page-bowling-contact .contact-title {
        font-size: clamp(1.65rem, 8vw, 2rem);
    }

    body.ui-v2.tenant--bowling.page-bowling-contact .contact-form__grid {
        grid-template-columns: 1fr;
    }

    body.ui-v2.tenant--bowling.page-bowling-contact .contact-actions .btn {
        width: 100%;
    }

    body.ui-v2.tenant--bowling.page-bowling-contact :is(
        .contact-head-btn,
        .contact-nav__summary,
        .contact-nav__opt,
        .contact-social__btn,
        .contact-map__link
    ) {
        width: 100%;
    }
}

/* ==========================================================================
   Bowling public motion system (tenant-safe, all public bowling pages)
   ========================================================================== */
body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-panel,
    .bw-feature-item,
    .category-product,
    .co-tile,
    .co-accBtn,
    .cart-product,
    .contact-panel,
    .contact-social,
    .contact-map,
    .contact-form,
    .contact-help,
    .bw-menu-day,
    .bw-panel--menu-week,
    .bw-panel--menu-archive-item
) {
    transition:
        border-color var(--bw-motion-base) var(--bw-ease-standard),
        box-shadow var(--bw-motion-base) var(--bw-ease-standard),
        transform var(--bw-motion-base) var(--bw-ease-standard),
        background-color var(--bw-motion-base) var(--bw-ease-standard);
}

@media (hover: hover) and (pointer: fine) {
    body.ui-v2.tenant--bowling .site-content-wrap :is(
        .category-product,
        .co-tile,
        .co-accBtn,
        .cart-product,
        .contact-panel,
        .contact-social,
        .contact-map,
        .contact-form,
        .contact-help,
        .bw-panel--menu-week,
        .bw-panel--menu-archive-item
    ):hover {
        transform: translate3d(0, var(--bw-hover-lift-soft), 0) scale(var(--bw-hover-scale-soft));
    }
}

body.ui-v2.tenant--bowling .site-content-wrap :is(input:not([type='checkbox']):not([type='radio']), select, textarea) {
    transition:
        border-color var(--bw-motion-fast) var(--bw-ease-standard),
        box-shadow var(--bw-motion-fast) var(--bw-ease-standard),
        background-color var(--bw-motion-fast) var(--bw-ease-standard),
        color var(--bw-motion-fast) var(--bw-ease-standard);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(input:not([type='checkbox']):not([type='radio']), select, textarea):hover {
    border-color: color-mix(in srgb, var(--bw-brand) 42%, transparent);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(input:not([type='checkbox']):not([type='radio']), select, textarea):focus-visible {
    border-color: color-mix(in srgb, var(--bw-brand) 62%, transparent);
    box-shadow: var(--bw-focus-ring-shadow);
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling {
        --bw-motion-base: 200ms;
        --bw-motion-slow: 280ms;
        --bw-hover-lift-soft: -1px;
        --bw-hover-lift: -1px;
        --bw-hover-scale-soft: 1.002;
        --bw-hover-scale: 1.004;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.ui-v2.tenant--bowling *,
    body.ui-v2.tenant--bowling *::before,
    body.ui-v2.tenant--bowling *::after {
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 1ms !important;
        transition-delay: 0ms !important;
        scroll-behavior: auto !important;
    }

    body.ui-v2.tenant--bowling .site-content-wrap :is(
        .bw-btn,
        .booking-btn,
        .co-nextBtn,
        .co-submit,
        .co-btn,
        .co-couponBtn,
        .cart-cta__btn,
        .cart-mobilebar__btn,
        .category-product,
        .co-tile,
        .co-accBtn,
        .cart-product
    ):hover {
        transform: none !important;
    }
}

body.ui-v2.tenant--bowling.page-bowling-booking .site-content-wrap {
    color: #e7edf7;
}

body.ui-v2.tenant--bowling.page-bowling-booking .site-content-wrap :is(.hava-hero__lead, .booking-page > p, .booking-page > span) {
    color: rgba(226, 232, 240, 0.84);
}

body.ui-v2.tenant--bowling.page-bowling-booking .site-footer .footer-inner {
    border-color: rgba(216, 185, 110, 0.28);
    background: linear-gradient(180deg, #fffdfa 0%, #f4ecdc 100%);
}

body.ui-v2.tenant--bowling.page-bowling-booking .site-footer :is(.footer-title, .footer-copy) {
    color: #111827;
}

body.ui-v2.tenant--bowling.page-bowling-booking .site-footer :is(
    .footer-subcopy,
    .footer-line,
    .footer-contact,
    .footer-links a,
    .footer-social a
) {
    color: #334155;
}

body.ui-v2.tenant--bowling.page-bowling-booking .site-footer :is(.footer-contact, .footer-links a, .footer-social a):hover {
    color: #7a5e2d;
}

/* ==========================================================================
   Bowling footer premium redesign (2026-04-25)
   ========================================================================== */
body.ui-v2.tenant--bowling .site-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    margin-top: clamp(42px, 7vw, 88px);
    padding: clamp(38px, 6vw, 72px) 0 clamp(34px, 5vw, 62px);
    border-top: 1px solid rgba(216, 185, 110, 0.22);
    background:
        radial-gradient(circle at 50% 0%, rgba(216, 185, 110, 0.18), transparent 34%),
        linear-gradient(180deg, rgba(19, 24, 33, 0.96) 0%, #10151d 46%, #0b1017 100%);
    color: rgba(250, 246, 238, 0.86);
}

body.ui-v2.tenant--bowling .site-footer::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(216, 185, 110, 0.72), transparent);
    opacity: 0.8;
    pointer-events: none;
    z-index: -1;
}

body.ui-v2.tenant--bowling .site-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.02), transparent 20%, transparent 80%, rgba(255, 255, 255, 0.02)),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 92px);
    opacity: 0.28;
    pointer-events: none;
    z-index: -1;
}

body.ui-v2.tenant--bowling .site-footer .footer-inner,
body.ui-v2.tenant--bowling.page-bowling-booking .site-footer .footer-inner {
    width: min(1240px, calc(100% - 46px));
    margin-inline: auto;
    padding: 0;
    display: grid;
    grid-template-columns: minmax(220px, 0.85fr) minmax(270px, 1fr) minmax(320px, 1.22fr);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.ui-v2.tenant--bowling .site-footer .footer-block {
    min-width: 0;
}

body.ui-v2.tenant--bowling .site-footer .footer-block--brand {
    max-width: 360px;
}

body.ui-v2.tenant--bowling .site-footer .footer-title,
body.ui-v2.tenant--bowling .site-footer .footer-copy,
body.ui-v2.tenant--bowling.page-bowling-booking .site-footer :is(.footer-title, .footer-copy) {
    color: #fffaf0;
    margin: 0;
}

body.ui-v2.tenant--bowling .site-footer .footer-title,
body.ui-v2.tenant--bowling.page-bowling-booking .site-footer .footer-title {
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #d8b96e;
}

body.ui-v2.tenant--bowling .site-footer .footer-copy {
    font-size: clamp(22px, 2.1vw, 28px);
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: 0;
}

body.ui-v2.tenant--bowling .site-footer .footer-subcopy,
body.ui-v2.tenant--bowling .site-footer .footer-line,
body.ui-v2.tenant--bowling .site-footer .footer-contact,
body.ui-v2.tenant--bowling .site-footer .footer-links a,
body.ui-v2.tenant--bowling .site-footer .footer-social a,
body.ui-v2.tenant--bowling.page-bowling-booking .site-footer :is(
    .footer-subcopy,
    .footer-line,
    .footer-contact,
    .footer-links a,
    .footer-social a
) {
    color: rgba(250, 246, 238, 0.72);
    font-size: 15px;
    line-height: 1.65;
    text-decoration: none;
    overflow-wrap: anywhere;
}

body.ui-v2.tenant--bowling .site-footer .footer-subcopy {
    margin-top: 14px;
    max-width: 28ch;
    color: rgba(250, 246, 238, 0.62);
}

body.ui-v2.tenant--bowling .site-footer :is(.footer-stack, .footer-text) {
    display: grid;
    gap: 9px;
}

body.ui-v2.tenant--bowling .site-footer .footer-contact,
body.ui-v2.tenant--bowling .site-footer .footer-social a {
    width: fit-content;
    border-bottom: 1px solid rgba(216, 185, 110, 0.18);
    transition: color 180ms ease, border-color 180ms ease;
}

body.ui-v2.tenant--bowling .site-footer .footer-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 28px;
}

body.ui-v2.tenant--bowling .site-footer .footer-links a {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    min-height: 32px;
    padding: 2px 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    font-weight: 650;
    transition: color 180ms ease, border-color 180ms ease;
}

body.ui-v2.tenant--bowling .site-footer .footer-links--legal {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(216, 185, 110, 0.18);
}

body.ui-v2.tenant--bowling .site-footer .footer-links--legal a {
    min-height: 30px;
    color: rgba(250, 246, 238, 0.56);
    font-size: 14px;
    font-weight: 600;
}

body.ui-v2.tenant--bowling .site-footer .footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 14px;
}

body.ui-v2.tenant--bowling .site-footer :is(.footer-contact, .footer-links a, .footer-social a):hover,
body.ui-v2.tenant--bowling .site-footer :is(.footer-contact, .footer-links a, .footer-social a):focus-visible,
body.ui-v2.tenant--bowling.page-bowling-booking .site-footer :is(.footer-contact, .footer-links a, .footer-social a):hover {
    color: #d8b96e;
    border-bottom-color: rgba(216, 185, 110, 0.75);
}

body.ui-v2.tenant--bowling .site-footer :is(.footer-contact, .footer-links a, .footer-social a):focus-visible {
    outline: 2px solid rgba(216, 185, 110, 0.55);
    outline-offset: 5px;
}

@media (max-width: 1080px) {
    body.ui-v2.tenant--bowling .site-footer .footer-inner,
    body.ui-v2.tenant--bowling.page-bowling-booking .site-footer .footer-inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    }

    body.ui-v2.tenant--bowling .site-footer .footer-block--links {
        grid-column: 1 / -1;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-links {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.ui-v2.tenant--bowling .site-footer .footer-links--legal {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    body.ui-v2.tenant--bowling .site-footer {
        margin-top: 42px;
        padding: 34px 0 38px;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-inner,
    body.ui-v2.tenant--bowling.page-bowling-booking .site-footer .footer-inner {
        width: min(100% - 24px, 1240px);
        grid-template-columns: 1fr;
        gap: 26px;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-block--brand {
        max-width: none;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-copy {
        font-size: 22px;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-subcopy {
        max-width: none;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-links,
    body.ui-v2.tenant--bowling .site-footer .footer-links--legal {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    body.ui-v2.tenant--bowling .site-footer .footer-links a,
    body.ui-v2.tenant--bowling .site-footer .footer-links--legal a,
    body.ui-v2.tenant--bowling .site-footer .footer-contact,
    body.ui-v2.tenant--bowling .site-footer .footer-social a {
        min-height: 44px;
        width: 100%;
        align-items: center;
    }
}

/* ==========================================================================
   Bowling public contrast rescue (2026-04-25)
   Keeps dark tenant surfaces readable across every public subpage.
   ========================================================================== */
body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-section,
    .bw-panel,
    .bw-feature-item,
    .bw-menu-day,
    .bw-contact-inline,
    .bw-contact-inline__item,
    .contact-panel,
    .contact-social,
    .contact-map,
    .contact-form,
    .contact-help,
    .contact-card
) {
    border-color: rgba(216, 185, 110, 0.24);
    background:
        linear-gradient(180deg, rgba(24, 29, 38, 0.98) 0%, rgba(18, 23, 31, 0.98) 100%);
    color: #F7F1E6;
    box-shadow: 0 16px 32px rgba(3, 4, 8, 0.36);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-section__head h2,
    .bw-panel h1,
    .bw-panel h2,
    .bw-panel h3,
    .bw-feature-item h2,
    .bw-feature-item h3,
    .bw-menu-day strong,
    .contact-title,
    .contact-h2,
    .contact-map__title,
    .contact-card__title,
    .contact-panel__value,
    .contact-social__value,
    .bw-contact-inline__value
) {
    color: #FFF9ED !important;
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-section__head p,
    .bw-panel p,
    .bw-panel li,
    .bw-feature-item p,
    .bw-feature-item li,
    .bw-menu-day,
    .bw-menu-day li,
    .bw-menu-item__name,
    .bw-steps li,
    .contact-sub,
    .contact-help__text,
    .contact-card__text,
    .contact-panel__label,
    .contact-social__label,
    .bw-contact-inline__label
) {
    color: rgba(245, 241, 232, 0.78) !important;
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-panel a:not(.bw-btn),
    .bw-section a:not(.bw-btn),
    .contact-panel a,
    .contact-social a,
    .contact-card a
) {
    color: #E7D3A7 !important;
    text-decoration-color: rgba(231, 211, 167, 0.34);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-panel a:not(.bw-btn),
    .bw-section a:not(.bw-btn),
    .contact-panel a,
    .contact-social a,
    .contact-card a
):hover,
body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-panel a:not(.bw-btn),
    .bw-section a:not(.bw-btn),
    .contact-panel a,
    .contact-social a,
    .contact-card a
):focus-visible {
    color: #F3E4B7 !important;
    text-decoration-color: rgba(243, 228, 183, 0.82);
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-panel__eyebrow,
    .bw-pricing-time,
    .contact-panel__k,
    .contact-social__k,
    .bw-kicker--inline
) {
    border-color: rgba(216, 185, 110, 0.32);
    background: rgba(216, 185, 110, 0.12);
    color: #F3E4B7 !important;
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-meta-list li {
    border-color: rgba(216, 185, 110, 0.18);
    background: rgba(255, 255, 255, 0.035);
    color: rgba(245, 241, 232, 0.82) !important;
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-meta-list li::marker,
body.ui-v2.tenant--bowling .site-content-wrap .bw-panel li::marker,
body.ui-v2.tenant--bowling .site-content-wrap .bw-section li::marker {
    color: #D8B96E;
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-menu-item {
    border-bottom-color: rgba(216, 185, 110, 0.18);
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-menu-item__price {
    border-color: rgba(216, 185, 110, 0.3);
    background: rgba(216, 185, 110, 0.12);
    color: #E7D3A7 !important;
}

body.ui-v2.tenant--bowling .site-content-wrap :is(
    .bw-image-card,
    .bw-panel--image
) {
    background: rgba(9, 12, 17, 0.5);
}

body.ui-v2.tenant--bowling .site-content-wrap .bw-image-card img {
    filter: saturate(0.82) contrast(1.02) brightness(0.78);
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-head-btn {
    color: #14181F !important;
    -webkit-text-fill-color: #14181F !important;
}

body.ui-v2.tenant--bowling.page-bowling-contact .contact-head-btn:hover,
body.ui-v2.tenant--bowling.page-bowling-contact .contact-head-btn:focus-visible {
    color: #0B0D10 !important;
    -webkit-text-fill-color: #0B0D10 !important;
}

/* Footer links must stay text-only; the base shop footer styles add pill borders. */
body.ui-v2.tenant--bowling .site-footer .footer-links a,
body.ui-v2.tenant--bowling .site-footer .footer-links--legal a,
body.ui-v2.tenant--bowling.page-bowling-booking .site-footer .footer-links a {
    border: 0 !important;
    outline-offset: 4px;
    background: transparent !important;
    box-shadow: none !important;
    text-decoration: none;
}

body.ui-v2.tenant--bowling .site-footer .footer-links a:hover,
body.ui-v2.tenant--bowling .site-footer .footer-links a:focus-visible,
body.ui-v2.tenant--bowling .site-footer .footer-links--legal a:hover,
body.ui-v2.tenant--bowling .site-footer .footer-links--legal a:focus-visible {
    border: 0 !important;
    text-decoration: underline;
    text-decoration-color: rgba(216, 185, 110, 0.74);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.24em;
}
