/*
 Theme Name:   Storefront Child Theme
 Theme URI:    https://www.wpbeginner.com/
 Description:  A Storefront child theme
 Template:     storefront
 Version:      1.2.43
*/

/*
 * Parent Storefront CSS is enqueued in functions.php. Do not @import it here —
 * that loaded the parent stylesheet twice.
 *
 * Cadmium tokens + homepage/nav chrome: docs/design-system.md
 * Hub chrome: body.bc-hub (product collection + CLP templates).
 */

:root {
    --bc-hero: #161412;
    --bc-hero-ink: #fff6e8;
    --bc-bg: #fffaf4;
    --bc-bg-2: #f0e6d6;
    --bc-ink: #161412;
    --bc-paper: #fffaf4;
    --bc-paper-2: #f0e6d6;
    --bc-muted: #6a645c;
    --bc-line: #e6dfd4;
    --bc-accent: #ee9b1a;
    --bc-btn: #161412;
    --bc-btn-text: #fff6e8;
    --bc-space: 1.25rem;
    --bc-space-lg: 2.25rem;
    --bc-nav-h: 64px;
    --bc-pad: clamp(16px, 4vw, 40px);
    --bc-max: 1280px;
    --bc-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
    --bc-display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
}

/*
 * Sticky cream bar. Selectors must beat Appearance → Additional CSS
 * (same-name !important rules printed after this file).
 */
html,
body {
    overflow-x: visible !important;
}

html body #masthead.site-header,
html body .site-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    overflow: visible !important;
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px var(--bc-pad) !important;
    background: var(--bc-bg) !important;
    background-image: none !important;
    background-color: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
    border-bottom: 1px solid var(--bc-line);
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    font-family: var(--bc-sans) !important;
}

html.admin-bar body #masthead.site-header {
    top: 32px !important;
}

@media screen and (max-width: 782px) {
    html.admin-bar body #masthead.site-header {
        top: 46px !important;
    }
}

#page {
    overflow: visible !important;
}

html body #masthead.site-header > .col-full,
html body .woocommerce-active .site-header .site-branding,
html body #masthead.site-header .site-branding {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
}

html body #masthead.site-header .custom-logo-link,
html body #masthead.site-header .custom-logo-link img,
html body #masthead.site-header .custom-logo {
    position: relative !important;
    z-index: 60 !important;
    max-height: 36px !important;
    max-width: 140px !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    pointer-events: auto !important;
    /* Logo asset is black on a white square — multiply drops the white into cream */
    mix-blend-mode: multiply;
    background: transparent !important;
}

html body #masthead.site-header .site-branding {
    position: relative !important;
    z-index: 60 !important;
    pointer-events: auto !important;
}

html body #masthead .storefront-primary-navigation {
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    float: none !important;
}

html body #masthead .storefront-primary-navigation > .col-full {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home .header-widget-region {
    display: none;
}

html body #masthead .widget_product_search form::before,
html body #masthead .site-search form::before,
html body #masthead .aws-search-form::before {
    content: none !important;
    display: none !important;
}

html body #masthead .aws-search-label {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

html body.woocommerce-active #masthead .site-search,
html body #masthead .site-search {
    position: relative !important;
    display: block !important;
    overflow: visible !important;
    margin: 0 8px 0 16px !important;
    background: transparent !important;
}

html body #masthead .aws-container,
html body #masthead .aws-wrapper,
html body #masthead .aws-search-form,
html body #masthead .widget_product_search,
html body #masthead .widget_product_search form {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

html body #masthead .aws-search-field,
html body #masthead .site-search input[type="search"],
html body #masthead .site-search input[type="text"] {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bc-ink) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 36px 0 0 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--bc-ink) !important;
}

html body #masthead .aws-search-btn {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

html body #masthead .aws-search-btn_icon,
html body #masthead .aws-search-btn_icon svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    fill: var(--bc-ink) !important;
}

html body #masthead .aws-search-result,
html body #masthead [class*="aws-search-result"] {
    left: auto !important;
    right: 0 !important;
    width: min(360px, calc(100vw - 16px)) !important;
    min-width: 260px !important;
    max-width: calc(100vw - 16px) !important;
    z-index: 100000 !important;
}

html body #masthead.site-header a {
    color: var(--bc-ink) !important;
    font-weight: 500 !important;
}

html body #masthead .site-header-cart .cart-contents,
html body #masthead .site-header-cart .cart-contents:hover,
html body #masthead .site-header-cart .cart-contents:focus {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    font-size: 0 !important;
    font-weight: 600 !important;
    color: var(--bc-ink) !important;
    background: transparent !important;
}

/* Always paint a cart glyph — works even if cart fragments still use Storefront markup */
html body #masthead .site-header-cart .cart-contents::before {
    content: "" !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: currentColor !important;
    background-image: none !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.2' fill='black' stroke='none'/%3E%3Ccircle cx='17' cy='20' r='1.2' fill='black' stroke='none'/%3E%3Cpath d='M3 4h2l2.2 11h10.3l1.9-7H7.1'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.2' fill='black' stroke='none'/%3E%3Ccircle cx='17' cy='20' r='1.2' fill='black' stroke='none'/%3E%3Cpath d='M3 4h2l2.2 11h10.3l1.9-7H7.1'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

html body #masthead .site-header-cart .cart-contents::after {
    content: none !important;
    display: none !important;
}

html body #masthead .site-header-cart .cart-contents:has(.bc-cart-icon)::before {
    display: none !important;
}

html body #masthead .site-header-cart .cart-contents .bc-cart-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
}

html body #masthead .site-header-cart .cart-contents .amount,
html body #masthead .site-header-cart .cart-contents .woocommerce-Price-amount {
    display: none !important;
}

html body #masthead .site-header-cart .cart-contents .count {
    display: inline !important;
    background: transparent !important;
    color: var(--bc-ink) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    line-height: 1;
    white-space: nowrap;
}

html body #masthead .site-header-cart {
    position: relative !important;
}

html body #masthead .site-header-cart .widget_shopping_cart {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: auto !important;
    right: 0 !important;
    background: var(--bc-bg) !important;
    border: 1px solid var(--bc-line) !important;
    box-shadow: none !important;
    color: var(--bc-ink) !important;
    text-align: left !important;
    width: min(360px, calc(100vw - 24px)) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 16px !important;
    z-index: 100001 !important;
}

html body #masthead .site-header-cart:hover .widget_shopping_cart,
html body #masthead .site-header-cart.focus .widget_shopping_cart {
    display: block !important;
    left: auto !important;
    right: 0 !important;
}

html body #masthead .site-header-cart .widget_shopping_cart .product_list_widget,
html body #masthead .site-header-cart .widget_shopping_cart .cart_list,
html body #masthead .site-header-cart:hover .widget_shopping_cart .product_list_widget,
html body #masthead .site-header-cart.focus .widget_shopping_cart .product_list_widget {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body #masthead .site-header-cart .widget_shopping_cart_content {
    position: static !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    left: auto !important;
    right: auto !important;
    background: transparent !important;
    border: 0 !important;
}

html body #masthead .site-header-cart .widget_shopping_cart .woocommerce-Price-amount,
html body #masthead .site-header-cart .widget_shopping_cart .amount {
    display: inline !important;
    color: var(--bc-muted) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

html body #masthead .site-header-cart .mini_cart_item {
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative !important;
    float: none !important;
    padding: 12px 28px 12px 0 !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--bc-line);
    background: transparent !important;
}

html body #masthead .site-header-cart .mini_cart_item:hover {
    background: transparent !important;
}

html body #masthead .site-header-cart .mini_cart_item a.remove,
html body #masthead .site-header-cart .mini_cart_item a.remove_from_cart_button {
    position: absolute !important;
    top: 10px !important;
    right: 0 !important;
    left: auto !important;
    float: none !important;
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    text-align: center !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--bc-muted) !important;
    background: transparent !important;
    padding: 0 !important;
}

html body #masthead .site-header-cart .mini_cart_item a:not(.remove):not(.remove_from_cart_button) {
    display: flex !important;
    align-items: flex-start;
    gap: 12px;
    width: 100% !important;
    color: var(--bc-ink) !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

html body #masthead .site-header-cart .mini_cart_item img {
    float: none !important;
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    object-fit: cover;
}

html body #masthead .site-header-cart .mini_cart_item .quantity {
    display: block !important;
    width: 100%;
    padding-left: 68px;
    margin: 4px 0 0;
    color: var(--bc-muted) !important;
    font-size: 13px !important;
}

html body #masthead .site-header-cart .woocommerce-mini-cart__total,
html body #masthead .site-header-cart .widget_shopping_cart .total {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    clear: both !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    color: var(--bc-ink) !important;
    font-size: 14px !important;
    background: transparent !important;
    border: 0 !important;
    text-align: left !important;
}

html body #masthead .site-header-cart .woocommerce-mini-cart__buttons,
html body #masthead .site-header-cart .widget_shopping_cart .buttons {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    clear: both !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

html body #masthead .site-header-cart .buttons .button,
html body #masthead .site-header-cart .buttons .button.wc-forward {
    display: block !important;
    width: 100% !important;
    min-height: 44px !important;
    line-height: 44px !important;
    margin: 0 !important;
    padding: 0 12px !important;
    text-align: center !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

html body #masthead .site-header-cart .buttons .button.wc-forward:not(.checkout) {
    background: transparent !important;
    color: var(--bc-ink) !important;
    border: 1px solid var(--bc-ink) !important;
}

html body #masthead .site-header-cart .buttons .button.checkout,
html body #masthead .site-header-cart .buttons .button.checkout:hover {
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    border: 1px solid var(--bc-ink) !important;
}

html body #masthead .main-navigation ul.sub-menu,
html body #masthead .main-navigation ul.children {
    background: var(--bc-bg) !important;
    border: 1px solid var(--bc-line) !important;
    box-shadow: none !important;
}

html body #masthead .main-navigation ul.sub-menu a,
html body #masthead .main-navigation ul.children a {
    color: var(--bc-ink) !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

html body #masthead .main-navigation ul.sub-menu a:hover,
html body #masthead .main-navigation ul.children a:hover {
    background: var(--bc-bg-2) !important;
    color: var(--bc-ink) !important;
}

.storefront-handheld-footer-bar {
    display: none !important;
}

body > .bc-drawer {
    display: none !important;
}

.menu-top-backdrop {
    display: none !important;
}

@media (max-width: 899px) {
    body {
        padding-bottom: 0 !important;
    }

    body.mobile-menu-open,
    body.home.woocommerce-shop.mobile-menu-open {
        overflow: hidden !important;
    }

    html body #masthead.site-header,
    html body.mobile-menu-open #masthead.site-header {
        display: flex !important;
        overflow: visible !important;
        min-height: 56px !important;
        padding: 8px var(--bc-pad) !important;
        padding-left: calc(var(--bc-pad) + 52px) !important;
        background: #fffaf4 !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        filter: none !important;
        transform: none !important;
        isolation: auto !important;
    }

    html body #masthead.site-header > .col-full {
        display: flex !important;
        align-items: center !important;
        float: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 120px 0 0 !important;
    }

    .storefront-primary-navigation {
        position: static;
        float: none;
        clear: none;
        width: auto;
        margin: 0;
        padding: 0;
        background: transparent !important;
        min-height: 0 !important;
    }

    .storefront-primary-navigation > .col-full {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 4px;
        position: absolute;
        top: 8px;
        right: var(--bc-pad);
        width: auto;
        max-width: none;
        margin: 0;
        padding: 0;
        z-index: 40;
    }

    html body #masthead button.menu-toggle,
    html body #masthead .menu-toggle {
        display: block !important;
        position: absolute !important;
        left: var(--bc-pad) !important;
        top: 6px !important;
        right: auto !important;
        transform: none !important;
        float: none !important;
        width: 44px !important;
        max-width: none !important;
        height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
        color: transparent !important;
        font-size: 0 !important;
        z-index: 100 !important;
    }

    button.menu-toggle::before,
    button.menu-toggle::after,
    button.menu-toggle span::before {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        width: 18px !important;
        height: 1.5px !important;
        margin: 0 0 0 -9px !important;
        background-color: var(--bc-ink) !important;
        border-radius: 1px;
        transition: transform 0.2s ease, opacity 0.2s ease;
    }

    button.menu-toggle::before {
        transform: translateY(-6px);
    }

    button.menu-toggle::after {
        transform: translateY(6px);
    }

    button.menu-toggle span::before {
        transform: none;
    }

    .main-navigation.toggled button.menu-toggle::before {
        transform: rotate(45deg) !important;
    }

    .main-navigation.toggled button.menu-toggle::after {
        transform: rotate(-45deg) !important;
    }

    .main-navigation.toggled button.menu-toggle span::before {
        opacity: 0;
    }

    .site-branding {
        display: flex;
        align-items: center;
        float: none !important;
        width: auto !important;
        max-width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        min-width: 0;
        position: relative !important;
        z-index: 60 !important;
        pointer-events: auto !important;
    }

    body.mobile-menu-open .site-header .custom-logo-link {
        z-index: 60 !important;
        pointer-events: auto !important;
    }

    .site-header .custom-logo-link {
        display: flex;
        align-items: center;
        line-height: 0;
        position: relative !important;
        z-index: 60 !important;
        pointer-events: auto !important;
    }

    .site-header .custom-logo-link img,
    .site-header .custom-logo {
        max-height: 36px !important;
        width: auto !important;
        max-width: 140px;
        padding: 0 !important;
        margin: 0 !important;
    }

    .site-branding .site-title,
    .site-branding .site-description {
        display: none;
    }

    html body #masthead .site-search,
    html body #masthead .storefront-primary-navigation .site-search {
        display: block !important;
        float: none !important;
        width: 44px !important;
        max-width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        overflow: visible !important;
        z-index: 40;
    }

    html body #masthead .site-search .aws-search-btn {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;
        width: 44px !important;
        height: 44px !important;
        z-index: 1 !important;
        cursor: pointer !important;
    }

    /* Invisible hit target over the icon — tap focuses, then panel opens */
    html body #masthead .site-search .aws-search-field,
    html body #masthead .site-search input[type="search"] {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        opacity: 0.01 !important;
        pointer-events: auto !important;
        z-index: 2 !important;
        border: 0 !important;
        background: transparent !important;
        font-size: 16px !important;
        color: transparent !important;
        caret-color: transparent !important;
    }

    html body #masthead .site-search.is-open,
    html body #masthead .site-search:focus-within {
        width: 44px !important;
        max-width: 44px !important;
        min-width: 44px !important;
        flex: 0 0 44px !important;
    }

    html body #masthead .site-search.is-open .aws-search-field,
    html body #masthead .site-search:focus-within .aws-search-field,
    html body #masthead .site-search.is-open input[type="search"],
    html body #masthead .site-search:focus-within input[type="search"] {
        position: fixed !important;
        top: var(--bc-menu-top, 56px) !important;
        left: 12px !important;
        right: 12px !important;
        width: auto !important;
        max-width: none !important;
        height: 48px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        z-index: 100060 !important;
        background: var(--bc-bg) !important;
        border: 1px solid var(--bc-line) !important;
        padding: 0 48px 0 14px !important;
        font-size: 16px !important;
        color: var(--bc-ink) !important;
        caret-color: var(--bc-ink) !important;
        box-shadow: 0 10px 28px rgba(22, 20, 18, 0.1) !important;
    }

    html body #masthead .site-search.is-open .aws-search-btn,
    html body #masthead .site-search:focus-within .aws-search-btn {
        position: fixed !important;
        top: var(--bc-menu-top, 56px) !important;
        right: 12px !important;
        width: 48px !important;
        height: 48px !important;
        z-index: 100061 !important;
    }

    .site-header-cart {
        display: flex !important;
        align-items: center;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        z-index: 40;
    }

    html body #masthead .main-navigation .primary-navigation,
    html body #masthead .main-navigation .handheld-navigation,
    html body #masthead .main-navigation:not(.toggled) ul.menu,
    html body #masthead .main-navigation:not(.toggled) ul.nav-menu {
        display: none !important;
        float: none !important;
        width: auto !important;
        max-height: none !important;
        overflow: visible !important;
        transition: none !important;
    }

    body > .bc-drawer,
    html body #masthead .main-navigation.toggled .handheld-navigation,
    html body #masthead .main-navigation.toggled:not(:has(.handheld-navigation ul)) .primary-navigation,
    html body #masthead .main-navigation.toggled > ul.nav-menu,
    html body #masthead .main-navigation.toggled > ul.menu {
        display: none !important;
    }

    body.mobile-menu-open > .bc-drawer {
        display: block !important;
        position: fixed !important;
        top: var(--bc-menu-top, 56px) !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: calc(100dvh - var(--bc-menu-top, 56px)) !important;
        min-height: calc(100dvh - var(--bc-menu-top, 56px)) !important;
        max-height: none !important;
        z-index: 20 !important;
        background: var(--bc-bg) !important;
        padding: 16px var(--bc-pad) 48px !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    body.mobile-menu-open > .bc-drawer ul.menu,
    body.mobile-menu-open > .bc-drawer ul.nav-menu,
    body.mobile-menu-open > .bc-drawer ul {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        overflow: visible !important;
    }

    body.mobile-menu-open > .bc-drawer li {
        display: block !important;
        position: relative !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    body.mobile-menu-open > .bc-drawer li > a {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 48px !important;
        line-height: 48px !important;
        padding: 0 52px 0 0 !important;
        font-size: 22px !important;
        font-weight: 500 !important;
        letter-spacing: -0.03em !important;
        color: var(--bc-ink) !important;
        border-bottom: 1px solid var(--bc-line) !important;
        text-transform: none !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
        white-space: nowrap !important;
    }

    body.mobile-menu-open > .bc-drawer .menu-item-has-children > a {
        padding-right: 52px !important;
    }

    body.mobile-menu-open > .bc-drawer ul.sub-menu,
    body.mobile-menu-open > .bc-drawer ul.children {
        display: none !important;
        position: static !important;
        left: auto !important;
        top: auto !important;
        float: none !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 0 8px 20px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        max-height: none !important;
        overflow: visible !important;
    }

    body.mobile-menu-open > .bc-drawer ul.sub-menu.toggled-on,
    body.mobile-menu-open > .bc-drawer ul.children.toggled-on {
        display: block !important;
    }

    body.mobile-menu-open > .bc-drawer ul.sub-menu a,
    body.mobile-menu-open > .bc-drawer ul.children a {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: var(--bc-muted) !important;
        min-height: 44px !important;
        border-bottom: 0 !important;
    }

    body.mobile-menu-open > .bc-drawer .bc-sub-toggle {
        display: none !important;
    }

    body.mobile-menu-open > .bc-drawer .dropdown-toggle {
        display: block !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        left: auto !important;
        width: 48px !important;
        height: 48px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        color: var(--bc-ink) !important;
        font-size: 0 !important;
        line-height: 0 !important;
        text-align: center !important;
        transform: none !important;
        z-index: 2 !important;
    }

    body.mobile-menu-open > .bc-drawer .sub-menu .dropdown-toggle,
    body.mobile-menu-open > .bc-drawer .children .dropdown-toggle {
        height: 44px !important;
    }

    body.mobile-menu-open > .bc-drawer .dropdown-toggle::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 10px !important;
        height: 10px !important;
        margin: 0 !important;
        border-right: 2px solid var(--bc-ink) !important;
        border-bottom: 2px solid var(--bc-ink) !important;
        background: none !important;
        font: 0/0 a !important;
        transform: translate(-50%, -50%) rotate(45deg) !important;
        transition: transform 0.2s ease !important;
    }

    body.mobile-menu-open > .bc-drawer .dropdown-toggle.toggled-on::after {
        transform: translate(-50%, -50%) rotate(225deg) !important;
        margin: 0 !important;
    }
}

@media (min-width: 900px) {
    html body #masthead.site-header {
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        padding: 8px var(--bc-pad) !important;
    }

    html body #masthead.site-header > .col-full {
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #masthead .storefront-primary-navigation {
        display: flex !important;
        flex: 1 1 auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    html body #masthead .storefront-primary-navigation > .col-full {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #masthead .main-navigation,
    html body .woocommerce-active .site-header .main-navigation {
        display: block !important;
        float: none !important;
        width: auto !important;
        flex: 1 1 auto !important;
        margin: 0 auto 0 8px !important;
        text-align: left !important;
    }

    html body #masthead .main-navigation .primary-navigation,
    html body #masthead .main-navigation ul.menu,
    html body #masthead .main-navigation ul.nav-menu {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-transform: none !important;
    }

    html body #masthead .main-navigation ul.menu > li > a,
    html body #masthead .main-navigation ul.nav-menu > li > a {
        display: inline-flex !important;
        align-items: center !important;
        min-height: 44px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        letter-spacing: -0.02em !important;
        color: var(--bc-ink) !important;
        text-transform: none !important;
    }

    html body #masthead .site-search,
    html body.woocommerce-active #masthead .site-search {
        display: block !important;
        float: none !important;
        flex: 0 0 220px !important;
        width: 220px !important;
        max-width: 220px !important;
        margin: 0 8px 0 16px !important;
        overflow: visible !important;
    }

    html body #masthead .site-header-cart,
    html body .woocommerce-active .site-header .site-header-cart {
        display: flex !important;
        align-items: center !important;
        float: none !important;
        width: auto !important;
        margin: 0 !important;
    }

    html body #masthead .menu-toggle,
    html body #masthead button.menu-toggle {
        display: none !important;
    }

    html body #masthead .main-navigation .handheld-navigation {
        display: none !important;
    }
}

body.home,
body.bc-preview-page,
body.single-product,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.bc-hub,
body.bc-page {
    background: var(--bc-bg);
    color: var(--bc-ink);
    font-family: var(--bc-sans);
    -webkit-font-smoothing: antialiased;
}

body.home #page,
body.bc-preview-page #page,
body.single-product #page,
body.woocommerce-cart #page,
body.woocommerce-checkout #page,
body.woocommerce-account #page,
body.bc-hub #page,
body.bc-page #page,
body.home .site,
body.single-product .site,
body.woocommerce-cart .site,
body.woocommerce-checkout .site,
body.woocommerce-account .site,
body.bc-hub .site,
body.bc-page .site,
body.woocommerce-cart .site-content,
body.woocommerce-cart #content,
body.woocommerce-cart .col-full,
body.woocommerce-checkout .site-content,
body.woocommerce-checkout #content,
body.woocommerce-checkout .col-full,
body.woocommerce-account .site-content,
body.woocommerce-account #content,
body.woocommerce-account .col-full,
body.bc-hub .site-content,
body.bc-hub #content,
body.bc-hub .col-full,
body.bc-page .site-content,
body.bc-page #content,
body.bc-page .col-full {
    background: var(--bc-bg) !important;
    background-color: var(--bc-bg) !important;
}

body.home.woocommerce-shop .site-content,
body.home.woocommerce-shop #content,
body.bc-preview-page .site-content,
body.bc-preview-page #content {
    padding-top: 0;
    background: var(--bc-bg);
    overflow-x: clip;
}

body.home.woocommerce-shop .content-area,
body.home #primary.content-area,
body.home #main,
body.bc-preview-page .content-area {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    padding: 0 !important;
}

html body.home #secondary,
html body.home.woocommerce-shop .widget-area {
    display: none !important;
}

body.home.woocommerce-shop #content > .col-full,
body.home.woocommerce-shop .site-content > .col-full,
body.bc-preview-page #content > .col-full,
body.bc-preview-page .site-content > .col-full {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.bc-home,
.bc-preview {
    color: var(--bc-ink);
    max-width: none;
    margin: 0;
    font-family: var(--bc-sans);
}

.bc-home h1,
.bc-home h2,
.bc-preview h1,
.bc-preview h2 {
    font-family: var(--bc-sans);
    font-weight: 500;
    letter-spacing: -0.04em;
    color: inherit;
}

.bc-pdp-facts-title {
    font-family: var(--bc-display);
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--bc-ink);
}

.bc-hero {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(280px, 1fr);
    grid-template-rows: 1fr;
    height: min(560px, calc(100svh - var(--bc-nav-h)));
    max-height: calc(100svh - var(--bc-nav-h));
    overflow: hidden;
    background: var(--bc-hero);
    color: var(--bc-hero-ink);
}

.bc-hero-copy {
    padding: 40px var(--bc-pad);
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 34em;
    min-height: 0;
}

.bc-kicker {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bc-accent);
    margin: 0 0 16px;
}

.bc-hero h1 {
    font-size: clamp(2rem, 3.6vw, 3.4rem);
    font-weight: 500;
    letter-spacing: -0.046em;
    line-height: 0.96;
    margin: 0 0 16px;
    color: var(--bc-hero-ink);
}

.bc-lede {
    font-size: 16px;
    line-height: 1.5;
    max-width: 28em;
    color: var(--bc-hero-ink);
    opacity: 0.78;
    margin: 0 0 28px;
}

.bc-paths {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
    margin: 0;
}

.bc-path {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    text-decoration: none !important;
    color: var(--bc-hero-ink);
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.2;
    background: transparent;
    border: 0;
    padding: 0;
    min-height: 0;
}

.bc-path:hover,
.bc-path:focus {
    background: transparent;
    color: var(--bc-hero-ink);
    border-bottom: 1px solid var(--bc-hero-ink);
}

.bc-path-arrow {
    display: inline-block;
    color: var(--bc-accent);
    transition: transform 0.2s ease;
}

.bc-path:hover .bc-path-arrow,
.bc-path:focus .bc-path-arrow {
    transform: translateX(5px);
}

.bc-hero-visual {
    min-height: 0;
    height: 100%;
    overflow: hidden;
    background: var(--bc-hero);
}

.bc-hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 40%;
    display: block;
}

.bc-home-section,
.bc-after,
.bc-trust,
.bc-home-note {
    display: block !important;
    clear: both !important;
    width: 100% !important;
    max-width: var(--bc-max);
    margin-left: auto !important;
    margin-right: auto !important;
    float: none !important;
    padding-left: var(--bc-pad);
    padding-right: var(--bc-pad);
    text-align: left !important;
}

.bc-home-section {
    margin: 0;
    padding-top: 72px;
    padding-bottom: 24px;
}

.bc-shelf-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    margin: 0 0 28px;
}

.bc-shelf-head h2 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0;
    color: var(--bc-ink);
}

.bc-see-all {
    font-size: 13px;
    font-weight: 500;
    text-decoration: none !important;
    color: var(--bc-ink);
}

.bc-see-all:hover,
.bc-see-all:focus {
    color: var(--bc-ink);
}

.bc-after {
    border-top: 1px solid var(--bc-line);
    margin-top: 56px;
    padding-top: 56px;
    padding-bottom: 72px;
}

.bc-subjects-section {
    border-top: 1px solid var(--bc-line);
    margin-top: 56px;
    padding-top: 56px;
}

.bc-subjects-label {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bc-muted);
    margin: 0 0 16px;
}

.bc-subjects {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.2;
}

.bc-subjects a,
.bc-subjects a:link,
.bc-subjects a:visited,
.bc-subjects a:hover {
    display: inline;
    padding: 0;
    min-height: 0;
    line-height: inherit;
    border: 0;
    color: var(--bc-ink) !important;
    text-decoration: none !important;
    background: transparent;
}

.bc-subjects a:hover,
.bc-subjects a:focus {
    background: transparent;
    color: var(--bc-ink);
    opacity: 0.45;
}

.bc-slash {
    color: var(--bc-line);
    margin: 0 14px;
    font-weight: 400;
}

.bc-after .bc-trust,
.bc-trust {
    padding: 40px 0 0;
    margin: 0;
    max-width: 38em;
    color: var(--bc-muted);
    font-size: 14px;
    line-height: 1.55;
    text-align: left !important;
}

.bc-trust p {
    max-width: none;
    margin: 0 0 12px;
}

.bc-trust a,
.bc-trust a:link,
.bc-trust a:visited {
    color: var(--bc-ink) !important;
    text-underline-offset: 3px;
}

.bc-home-note {
    font-size: 0.92em;
    color: var(--bc-muted);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3em;
    padding-bottom: 48px;
}

.bc-home-note a {
    color: var(--bc-ink);
}

.bc-preview-banner {
    background: var(--bc-ink);
    color: var(--bc-paper);
    padding: 0.85em var(--bc-pad);
    margin: 0;
    font-size: 0.95em;
}

.bc-preview-banner a { color: #fff; }

.bc-pdp-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 1.5em;
    align-items: start;
}

.bc-pdp-visual img { width: 100%; height: auto; display: block; }

.bc-price { font-size: 1.6em; margin: 0.2em 0 0.6em; }

.bc-mock-label { font-size: 0.9em; color: var(--bc-muted); }

.bc-email-mock {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    align-items: end;
    margin: 1em 0 2em;
}

.bc-email-mock input {
    min-width: 240px;
    min-height: 44px;
    padding: 0.55em 0.7em;
}

.bc-brief ul { padding-left: 1.1em; }
.bc-brief li { margin: 0 0 0.85em; }

body.home.woocommerce-shop .storefront-sorting,
body.home.woocommerce-shop .woocommerce-pagination,
body.home.woocommerce-shop .woocommerce-result-count,
body.home.woocommerce-shop .woocommerce-ordering,
body.home.woocommerce-shop .woocommerce-products-header .page-description,
body.home.woocommerce-shop .hero-banner {
    display: none !important;
}

body.home.woocommerce-shop .woocommerce-products-header {
    margin: 0;
    padding: 0;
}

body.bc-preview-page .widget-area {
    display: none;
}

body.bc-preview-page .content-area {
    width: 100%;
    margin: 0;
    float: none;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer {
    background: var(--bc-bg) !important;
    border-top: 1px solid var(--bc-line);
    color: var(--bc-muted) !important;
    padding: 64px 0 32px !important;
    font-family: var(--bc-sans) !important;
    text-align: left !important;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer .col-full {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: var(--bc-max) !important;
    margin: 0 auto !important;
    padding: 0 var(--bc-pad) !important;
    text-align: left !important;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer .footer-widgets,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer .footer-widgets.col-1,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer .footer-widgets.row-1,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer .block.footer-widget-1,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer .footer-widget-1 {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot {
    display: grid !important;
    grid-template-columns: 1.2fr repeat(4, minmax(0, 1fr));
    gap: 40px 32px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    text-align: left !important;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-col h3 {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bc-muted);
    border: 0;
    margin: 0 0 16px;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-col p {
    margin: 0 0 12px;
    font-size: 14px;
    color: var(--bc-muted);
    max-width: 22em;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-col li {
    margin: 0 0 8px;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer a,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot a,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-legal a {
    color: var(--bc-ink) !important;
    text-decoration: none !important;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer a:hover,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot a:hover,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-legal a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-social {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 4px;
    margin-top: 16px;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-social a,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer a[href*="instagram.com"],
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer a[href*="facebook.com"],
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer a[href*="pinterest.com"],
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-footer a[href*="youtube.com"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 44px;
    color: var(--bc-ink) !important;
    font-weight: 500;
    text-decoration: none !important;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-social a:hover {
    opacity: 0.55;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-social svg {
    width: 20px;
    height: 20px;
    display: block;
}

html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-info,
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .site-info.bc-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    text-align: left !important;
    padding-top: 24px !important;
    margin-top: 48px;
    border-top: 1px solid var(--bc-line);
    font-size: 12px;
    color: var(--bc-muted) !important;
}

@media (max-width: 899px) {
    html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 639px) {
    html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot {
        grid-template-columns: 1fr 1fr;
        gap: 28px 20px;
    }
    html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot-col:first-child {
        grid-column: 1 / -1;
    }
}

/* Cards: square crop, title + price, hide loop buttons on home/preview */
body.home,
body.home button,
body.home input,
.site-header,
.site-header button,
.site-header input {
    font-family: var(--bc-sans) !important;
}

body.home .bc-home .woocommerce,
body.home .bc-home .woocommerce-notices-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
}

body.home .bc-home ul.products,
.bc-preview ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    justify-content: center;
    gap: 20px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.home .bc-home ul.products::before,
body.home .bc-home ul.products::after,
.bc-preview ul.products::before,
.bc-preview ul.products::after {
    content: none !important;
    display: none !important;
}

body.home .bc-home ul.products li.product,
.bc-preview ul.products li.product,
body.single-product ul.products li.product {
    text-align: left;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    padding: 0;
}

body.home .bc-home ul.products li.product img,
.bc-preview ul.products li.product img,
body.single-product ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    height: auto !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

html body.home .bc-home ul.products li.product a,
html body.home .bc-home ul.products li.product a:link,
html body.home .bc-home ul.products li.product a:visited,
html body.home .bc-home ul.products li.product a:hover,
html body.home .bc-home ul.products li.product a:active,
html body.home .bc-home ul.products li.product .woocommerce-loop-product__title,
.bc-preview ul.products li.product a,
.bc-preview ul.products li.product .woocommerce-loop-product__title {
    color: var(--bc-ink) !important;
    text-decoration: none !important;
}

body.home .bc-home ul.products li.product .woocommerce-loop-product__title,
.bc-preview ul.products li.product .woocommerce-loop-product__title,
body.single-product ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -0.02em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 4px;
    color: var(--bc-ink) !important;
}

body.home .bc-home ul.products li.product .button,
.bc-preview ul.products li.product .button {
    display: none;
}

body.home .bc-home ul.products li.product .onsale,
.bc-preview ul.products li.product .onsale,
body.home .bc-home ul.products li.product .new,
body.home .bc-home ul.products li.product .product-badge,
body.home .bc-home ul.products li.product .wc-new-badge,
body.home .bc-home ul.products li.product .yith-wcbm-badge,
body.home .bc-home ul.products li.product [class*="new-badge"],
body.home .bc-home .berocket_alabel,
body.home .bc-home .br_alabel,
body.home .bc-home .berocket_better_labels,
body.home .bc-home [class*="berocket_alabel"] {
    display: none !important;
}

body.home .bc-home ul.products li.product .price,
body.home .bc-home ul.products li.product .price *,
.bc-preview ul.products li.product .price,
body.single-product ul.products li.product .price {
    color: var(--bc-muted) !important;
    font-size: 13px;
}

body.home a:focus-visible,
.site-header a:focus-visible,
.bc-preview a:focus-visible {
    outline: 2px solid var(--bc-ink);
    outline-offset: 2px;
}

body.home .bc-hero a:focus-visible,
.bc-preview .bc-hero a:focus-visible {
    outline-color: var(--bc-hero-ink);
}

/* PDP facts + print size + sticky buy */
body.single-product .site-content,
body.single-product #content {
    overflow-x: clip;
    background: var(--bc-bg);
}

body.single-product .woocommerce-breadcrumb {
    max-width: var(--bc-max);
    margin: 0 auto;
    padding: 16px var(--bc-pad) 0;
    font-size: 13px;
    color: var(--bc-muted);
}

body.single-product .woocommerce-breadcrumb a {
    color: var(--bc-muted);
    text-decoration: none;
}

body.single-product .woocommerce-breadcrumb a:hover {
    color: var(--bc-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.single-product #primary,
body.single-product .content-area,
body.single-product #main {
    max-width: var(--bc-max);
    margin-left: auto;
    margin-right: auto;
    float: none;
}

body.single-product #content > .col-full,
body.single-product .site-content > .col-full {
    max-width: var(--bc-max);
    padding-left: var(--bc-pad);
    padding-right: var(--bc-pad);
}

.bc-pdp-kicker {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--bc-accent);
}

.soldout,
span.soldout {
    display: inline-flex;
    align-items: center;
    margin: 0 0 16px;
    padding: 5px 9px;
    background: #c23b2a;
    color: #fffaf4;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    border: 0;
}

.bc-sold-note {
    margin: 0 0 20px;
    font-size: 15px;
    line-height: 1.55;
    color: var(--bc-muted);
    max-width: 34em;
}

.bc-sold-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 24px;
    max-width: 22em;
}

.bc-sold-actions .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    margin: 0 !important;
    text-align: center;
}

.bc-sold-actions .button.bc-sold-browse,
.bc-sold-actions .button.alt {
    background: transparent !important;
    color: var(--bc-ink) !important;
    border: 1px solid var(--bc-ink) !important;
}

body.single-product div.product.outofstock form.cart,
body.single-product div.product.outofstock .stock {
    display: none !important;
}

/* Quiet originals: no “only 1 left” theatre */
body.single-product.bc-pdp-original .stock {
    display: none !important;
}

/*
 * Buy row = gallery | summary only.
 * Tabs, related, caption, back-to-top span full width below
 * (otherwise Storefront’s extra children steal the 2nd column).
 */
@media (min-width: 768px) {
    body.single-product.bc-pdp-original div.product,
    body.single-product.bc-pdp-print div.product {
        display: grid !important;
        grid-template-columns: minmax(0, 520px) minmax(280px, 1fr) !important;
        column-gap: 48px !important;
        row-gap: 40px !important;
        align-items: start !important;
    }

    body.single-product.bc-pdp-original div.product::before,
    body.single-product.bc-pdp-original div.product::after,
    body.single-product.bc-pdp-print div.product::before,
    body.single-product.bc-pdp-print div.product::after {
        content: none !important;
        display: none !important;
    }

    body.single-product.bc-pdp-original .woocommerce-product-gallery,
    body.single-product.bc-pdp-print .woocommerce-product-gallery {
        grid-column: 1 !important;
        grid-row: 1 !important;
        float: none !important;
        width: 100% !important;
        max-width: 520px !important;
        margin: 0 !important;
    }

    body.single-product.bc-pdp-original div.product .summary,
    body.single-product.bc-pdp-print div.product .summary {
        grid-column: 2 !important;
        grid-row: 1 !important;
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        /* Sticky overlays the story when scrolling — keep static. */
        position: static !important;
        top: auto !important;
    }

    body.single-product.bc-pdp-original div.product > .woocommerce-tabs,
    body.single-product.bc-pdp-original div.product > .related,
    body.single-product.bc-pdp-original div.product > .upsells,
    body.single-product.bc-pdp-original div.product > .bc-back-to-top,
    body.single-product.bc-pdp-original div.product > .product-category-cta,
    body.single-product.bc-pdp-print div.product > .woocommerce-tabs,
    body.single-product.bc-pdp-print div.product > .related,
    body.single-product.bc-pdp-print div.product > .upsells,
    body.single-product.bc-pdp-print div.product > .bc-back-to-top,
    body.single-product.bc-pdp-print div.product > .product-category-cta {
        grid-column: 1 / -1 !important;
        float: none !important;
        width: 100% !important;
        max-width: none !important;
        clear: both !important;
    }
}

body.single-product .woocommerce-product-gallery {
    background: transparent;
    position: relative !important;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image {
    margin: 0 !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport {
    background: transparent;
}
body.single-product.bc-pdp-original .woocommerce-tabs,
body.single-product.bc-pdp-print .woocommerce-tabs {
    display: block !important;
    margin: 24px 0 0 !important;
    padding: 40px 0 0 !important;
    border-top: 1px solid var(--bc-line);
}

body.single-product.bc-pdp-original .woocommerce-tabs ul.tabs,
body.single-product.bc-pdp-print .woocommerce-tabs ul.tabs {
    display: none !important;
}

body.single-product.bc-pdp-original .woocommerce-tabs .panel,
body.single-product.bc-pdp-print .woocommerce-tabs .panel {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 40em !important;
    margin: 0 0 32px !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    position: static !important;
}

body.single-product.bc-pdp-original .woocommerce-tabs .panel h2:first-child,
body.single-product.bc-pdp-print .woocommerce-tabs .panel h2:first-child {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0 0 16px;
    color: var(--bc-ink);
}

/* Additional information — no white panel on cream */
body.single-product table.shop_attributes,
body.single-product table.woocommerce-product-attributes,
body.single-product .woocommerce-product-attributes {
    border: 0 !important;
    margin: 0 0 8px !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    width: 100% !important;
}

body.single-product table.shop_attributes th,
body.single-product table.shop_attributes td,
body.single-product table.woocommerce-product-attributes th,
body.single-product table.woocommerce-product-attributes td,
body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes td {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bc-line) !important;
    padding: 14px 0 !important;
    color: var(--bc-ink) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-align: left !important;
    vertical-align: top;
}

body.single-product table.shop_attributes th,
body.single-product table.woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes th {
    width: 40%;
    padding-right: 16px !important;
    font-weight: 500 !important;
    color: var(--bc-muted) !important;
}

body.single-product table.shop_attributes tr:last-child th,
body.single-product table.shop_attributes tr:last-child td,
body.single-product table.woocommerce-product-attributes tr:last-child th,
body.single-product table.woocommerce-product-attributes tr:last-child td {
    border-bottom: 0 !important;
}

body.single-product table.shop_attributes a,
body.single-product table.woocommerce-product-attributes a {
    color: var(--bc-ink) !important;
}

/* Related / upsells — cream, not white cards */
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Bottom “Looking for more” / hub CTA — Cadmium ink, not pale + red */
body.single-product .internal-link-block,
body.single-product .internal-link-follow,
body.single-product .product-category-cta,
body.bc-hub .internal-link-block,
body.bc-hub .internal-link-follow {
    margin-top: 48px !important;
    text-align: center;
    color: var(--bc-muted) !important;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
}

body.bc-page .internal-link-block,
body.bc-page .internal-link-follow {
    margin-top: 48px !important;
    text-align: left;
    color: var(--bc-muted) !important;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

body.single-product .internal-link-block h3,
body.single-product .internal-link-follow h3,
body.single-product .product-category-cta h3,
body.bc-hub .internal-link-block h3,
body.bc-hub .internal-link-follow h3,
body.bc-page .internal-link-block h3,
body.bc-page .internal-link-follow h3 {
    font-family: var(--bc-sans) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    color: var(--bc-ink) !important;
    margin: 0 0 12px !important;
    line-height: 1.4 !important;
}

body.single-product .internal-link-block p,
body.single-product .internal-link-follow p,
body.bc-hub .internal-link-block p,
body.bc-hub .internal-link-follow p,
body.bc-page .internal-link-block p,
body.bc-page .internal-link-follow p {
    margin: 0 0 10px !important;
    color: var(--bc-muted) !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
}

body.single-product .internal-link-block a,
body.single-product .internal-link-follow a,
body.single-product .product-category-cta a:not(.button),
body.bc-hub .internal-link-block a,
body.bc-hub .internal-link-follow a,
body.bc-page .internal-link-block a,
body.bc-page .internal-link-follow a {
    color: var(--bc-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    font-weight: 500 !important;
}

body.single-product .product-category-cta {
    margin-top: 32px !important;
}

body.single-product .product-category-cta a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    border: 1px solid var(--bc-ink) !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}

body.single-product .product-category-cta a.button:hover {
    background: #2a2a2a !important;
    color: var(--bc-hero-ink) !important;
}

body.single-product.bc-pdp-original .woocommerce-tabs .panel,
body.single-product.bc-pdp-print .woocommerce-tabs .panel {
    color: var(--bc-muted);
    font-size: 15px;
    line-height: 1.6;
}

body.single-product .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Story below buy row — no Storefront vertical tab chrome */
body.single-product .bc-caption-pin {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    width: auto !important;
    background: transparent !important;
    z-index: 6 !important;
    text-align: right !important;
}

body.single-product .bc-caption-pin .product-image-caption {
    display: none !important;
}

body.single-product .bc-caption-pin .bc-pin-button-wrapper,
body.single-product .bc-caption-pin .bc-pin-link {
    display: inline-block !important;
    line-height: 0;
}

body.single-product .bc-back-to-top {
    display: none !important;
}

body.single-product .storefront-product-pagination {
    display: none !important;
}

body.single-product .related .onsale,
body.single-product .related .berocket_alabel,
body.single-product .related .br_alabel,
body.single-product .related .berocket_better_labels,
body.single-product .related [class*="berocket_alabel"],
body.single-product .related [class*="new-badge"],
body.single-product .woocommerce-product-gallery .berocket_alabel,
body.single-product .woocommerce-product-gallery .br_alabel,
body.single-product .woocommerce-product-gallery [class*="berocket"] {
    display: none !important;
}

.bc-pdp-facts {
    list-style: none;
    margin: 0.75em 0 1em;
    padding: 0;
    border-top: 1px solid var(--bc-line);
    border-bottom: 1px solid var(--bc-line);
}

.bc-pdp-facts li {
    padding: 0.55em 0;
    border-bottom: 1px solid var(--bc-line);
    font-size: 0.95em;
    line-height: 1.4;
}

.bc-pdp-facts li:last-child { border-bottom: 0; }

.single-product.bc-pdp-print form.cart .variations {
    width: 100%;
    margin-bottom: 0.75em;
}

.single-product.bc-pdp-print form.cart .variations td,
.single-product.bc-pdp-print form.cart .variations th {
    padding: 0.4em 0;
    vertical-align: middle;
}

.single-product.bc-pdp-print form.cart .variations select {
    min-height: 44px;
    font-size: 1rem;
    width: 100%;
    max-width: 16rem;
}

.single-product.bc-pdp-print .bc-size-label {
    font-size: 13px;
    font-weight: 500;
    margin: 0.4em 0 0.35em;
    font-family: var(--bc-sans);
}

.bc-cart-note {
    margin-top: 0.7em;
    font-size: 0.92em;
    color: var(--bc-muted);
}

.single-product div.product form.cart .single_add_to_cart_button,
.single-product div.product form.cart button.button {
    min-height: 48px;
    background: var(--bc-ink) !important;
    border-color: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    font-weight: 500;
}

body.single-product.bc-pdp-original form.cart .quantity,
body.single-product.bc-pdp-original form.cart .qty {
    display: none !important;
}

body.single-product .related.products,
body.single-product .upsells.products {
    max-width: var(--bc-max);
    margin: 40px auto 24px;
    clear: both;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0 0 28px;
}

body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px 16px;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after,
body.single-product .upsells.products ul.products::before,
body.single-product .upsells.products ul.products::after {
    content: none !important;
    display: none !important;
}

body.single-product ul.products li.product .button,
body.single-product ul.products li.product .added_to_cart {
    display: none !important;
}

body.single-product ul.products li.product.outofstock {
    position: relative;
}

body.single-product ul.products li.product.outofstock::after {
    content: "Sold";
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    padding: 5px 9px;
    background: #c23b2a;
    color: #fffaf4;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    line-height: 1;
    pointer-events: none;
}

body.single-product ul.products li.product.outofstock .price {
    color: #c23b2a !important;
    font-weight: 500;
    font-size: 0 !important;
}

body.single-product ul.products li.product.outofstock .price::before {
    content: "Sold";
    font-size: 13px;
    color: #c23b2a;
    font-weight: 500;
}

/* Sticky ATC: only when the in-column button is off-screen (not the whole summary) */

/* Desktop: Storefront sticky ATC — sit under Cadmium header, Cadmium colours */
@media (min-width: 768px) {
    .storefront-sticky-add-to-cart {
        display: block !important;
        top: 56px !important;
        z-index: 9998 !important;
        background: rgba(255, 250, 244, 0.96) !important;
        color: var(--bc-ink) !important;
        border-bottom: 1px solid var(--bc-line);
        box-shadow: none !important;
        padding: 10px var(--bc-pad, 24px) !important;
    }

    body.admin-bar .storefront-sticky-add-to-cart {
        top: 88px !important; /* 32 admin + 56 header */
    }

    .storefront-sticky-add-to-cart a:not(.button) {
        color: var(--bc-ink) !important;
    }

    .storefront-sticky-add-to-cart .button,
    .storefront-sticky-add-to-cart__content-button {
        background: var(--bc-ink) !important;
        border-color: var(--bc-ink) !important;
        color: var(--bc-hero-ink) !important;
        min-height: 44px;
    }

    .bc-sticky-atc {
        display: none !important;
    }
}

/* Mobile: fixed bottom ATC when the in-column button leaves the viewport */
.bc-sticky-atc {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100050;
    display: none;
    justify-content: center;
    gap: 10px;
    padding: 12px var(--bc-pad, 16px);
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 250, 244, 0.97);
    border-top: 1px solid var(--bc-line);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transform: translateY(110%);
    transition: transform 0.2s ease;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .bc-sticky-atc {
        display: flex;
    }

    .bc-sticky-atc.is-visible {
        transform: translateY(0);
        pointer-events: auto;
    }

    /* Keep Storefront’s desktop sticky bar off phones */
    .storefront-sticky-add-to-cart {
        display: none !important;
    }
}

.bc-sticky-atc__btn {
    flex: 1;
    width: 100%;
    max-width: none;
    min-height: 48px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 0;
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    font: inherit;
    font-weight: 500;
    font-size: 15px;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}

.bc-sticky-atc__btn:hover,
.bc-sticky-atc__btn:focus {
    opacity: 0.92;
}

.bc-sticky-atc__btn:focus-visible {
    outline: 2px solid var(--bc-ink);
    outline-offset: 3px;
}

@media (max-width: 768px) {
    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 899px) {
    .bc-hero h1 {
        font-size: clamp(1.65rem, 3.2vw, 2.5rem);
    }

    .bc-path {
        font-size: clamp(1.15rem, 2.1vw, 1.45rem);
    }

    .bc-hero-copy {
        padding: 24px var(--bc-pad);
    }

    body.home .bc-home ul.products,
    .bc-preview ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 20px 12px !important;
    }
}

@media (max-width: 639px) {
    .bc-hero {
        grid-template-columns: 1fr;
        height: auto;
        max-height: none;
    }

    .bc-hero-visual {
        order: -1;
        height: min(42vh, 340px);
        min-height: 220px;
    }

    .bc-hero-copy {
        padding: 28px var(--bc-pad) 20px;
        max-width: none;
    }

    .bc-pdp-grid { grid-template-columns: 1fr; }
}

@media (min-width: 900px) {
    body.home .bc-home ul.products,
    .bc-preview ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Shared component conventions: local application of the reference. */
body.home button:focus-visible,body.home input:focus-visible,.site-header button:focus-visible,.site-header input:focus-visible {outline:2px solid var(--bc-ink);outline-offset:4px}
.bc-see-all{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline!important;text-underline-offset:4px}
.bc-path{min-height:44px;align-items:center}
html body:is(.home, .single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-account, .bc-hub, .bc-page) .bc-foot a{display:inline-flex;align-items:center;min-height:44px}
.bc-subjects a:hover,.bc-subjects a:focus{opacity:1;text-decoration:underline!important;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.bc-home *,#masthead *, .bc-home *::before,#masthead *::before,.bc-home *::after,#masthead *::after{transition:none!important;animation:none!important}}

@media(max-width:899px){
 body.mobile-menu-open #masthead button.menu-toggle::before{transform:rotate(45deg)!important}
 body.mobile-menu-open #masthead button.menu-toggle::after{transform:rotate(-45deg)!important}
 body.mobile-menu-open #masthead button.menu-toggle span::before{opacity:0}
}

/* ——— Cart: Cadmium ——— */
body.woocommerce-cart .site-content,
body.woocommerce-cart #content {
    background: var(--bc-bg);
}

body.woocommerce-cart .woocommerce-breadcrumb {
    max-width: var(--bc-max);
    margin: 0 auto;
    padding: 16px var(--bc-pad) 0;
    font-size: 13px;
    color: var(--bc-muted);
}

body.woocommerce-cart .woocommerce-breadcrumb a {
    color: var(--bc-muted);
    text-decoration: none;
}

body.woocommerce-cart .woocommerce-breadcrumb a:hover {
    color: var(--bc-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.woocommerce-cart #primary,
body.woocommerce-cart .content-area,
body.woocommerce-cart #main {
    max-width: var(--bc-max);
    margin-left: auto;
    margin-right: auto;
    float: none;
}

body.woocommerce-cart #content > .col-full,
body.woocommerce-cart .site-content > .col-full {
    max-width: var(--bc-max);
    padding-left: var(--bc-pad);
    padding-right: var(--bc-pad);
}

body.woocommerce-cart .entry-header {
    margin: 8px 0 28px;
    padding: 0;
    border: 0;
}

body.woocommerce-cart .entry-header .entry-title,
body.woocommerce-cart h1.entry-title {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    color: var(--bc-ink);
    font-family: var(--bc-sans);
}

body.woocommerce-cart table.shop_table {
    border: 0 !important;
    border-collapse: collapse;
    table-layout: fixed;
    width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    margin: 0 0 8px !important;
    box-shadow: none !important;
}

body.woocommerce-cart table.shop_table thead th {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bc-line) !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bc-muted) !important;
}

body.woocommerce-cart table.shop_table td,
body.woocommerce-cart table.shop_table th {
    border: 0 !important;
    border-bottom: 1px solid var(--bc-line) !important;
    padding: 20px 12px !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--bc-ink) !important;
    vertical-align: middle;
}

body.woocommerce-cart table.shop_table tr:last-child td {
    border-bottom: 0 !important;
}

/* Collapse Woo’s orphan left remove column — Remove lives under the title */
body.woocommerce-cart table.shop_table th.product-remove,
body.woocommerce-cart table.shop_table td.product-remove {
    width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
}

body.woocommerce-cart table.shop_table .product-thumbnail {
    width: 88px !important;
    padding-left: 0 !important;
}

body.woocommerce-cart table.shop_table .product-price,
body.woocommerce-cart table.shop_table .product-quantity,
body.woocommerce-cart table.shop_table .product-subtotal {
    width: 14% !important;
    text-align: right;
}

body.woocommerce-cart table.shop_table thead th.product-price,
body.woocommerce-cart table.shop_table thead th.product-quantity,
body.woocommerce-cart table.shop_table thead th.product-subtotal {
    text-align: right;
}

body.woocommerce-cart table.shop_table .product-thumbnail img {
    width: 72px !important;
    height: 72px !important;
    object-fit: cover;
    border-radius: 0;
}

/* Keep product-name as a real table-cell — flex on <td> breaks row borders */
body.woocommerce-cart table.shop_table .product-name {
    display: table-cell !important;
    position: relative;
    padding-right: 56px !important;
    vertical-align: middle;
}

body.woocommerce-cart table.shop_table .product-name a {
    color: var(--bc-ink) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    font-size: 15px;
    letter-spacing: -0.02em;
}

body.woocommerce-cart table.shop_table .product-name a:hover {
    text-decoration: underline !important;
    text-underline-offset: 3px;
}

/* Trash pinned to the name column’s right edge (aligned across rows) */
body.woocommerce-cart table.shop_table .product-name a.bc-cart-remove {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--bc-muted) !important;
    text-decoration: none !important;
    font-size: 0 !important;
    letter-spacing: 0;
    line-height: 0;
    overflow: visible !important;
}

body.woocommerce-cart table.shop_table .product-name a.bc-cart-remove::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3Cpath d='M7 7l1 12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1l1-12'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2'/%3E%3Cpath d='M7 7l1 12a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1l1-12'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.woocommerce-cart table.shop_table .product-name a.bc-cart-remove:hover {
    color: var(--bc-ink) !important;
    text-decoration: none !important;
}

body.woocommerce-cart table.shop_table .amount,
body.woocommerce-cart table.shop_table .woocommerce-Price-amount {
    color: var(--bc-muted) !important;
    font-weight: 400 !important;
}

body.woocommerce-cart table.shop_table .product-subtotal .amount {
    color: var(--bc-ink) !important;
    font-weight: 500 !important;
}

body.woocommerce-cart .quantity .qty {
    min-height: 44px;
    width: 4.5em;
    border: 1px solid var(--bc-line) !important;
    background: var(--bc-bg) !important;
    background-color: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
    border-radius: 0 !important;
    font-size: 16px !important;
}

/* Sold-individually originals: Woo hides qty as type=hidden — show a plain 1 */
body.woocommerce-cart td.product-quantity .quantity:has(input[type="hidden"])::before {
    content: "1";
    display: inline-block;
    min-width: 1.5em;
    color: var(--bc-muted);
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

/*
 * Do NOT display:flex the actions <td> — with table-layout:fixed that collapses
 * the cell (~24px) so coupon + update wrap into a left stack. Keep table-cell
 * and lay out coupon/update as inline-flex siblings, right-aligned.
 */
body.woocommerce-cart table.cart td.actions,
body.woocommerce-cart table.shop_table td.actions {
    display: table-cell !important;
    background: transparent !important;
    border: 0 !important;
    padding: 16px 0 0 !important;
    text-align: right !important;
    vertical-align: middle;
}

/* Beat Storefront: table.cart td.actions .coupon { display: inline-block } */
body.woocommerce-cart table.cart td.actions .coupon,
body.woocommerce-cart table.shop_table td.actions .coupon {
    display: inline-flex !important;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    float: none !important;
    padding: 0 !important;
    margin: 0 12px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    width: auto !important;
    max-width: none !important;
    vertical-align: middle;
}

body.woocommerce-cart .coupon #coupon_code,
body.woocommerce-cart table.cart td.actions .coupon input.input-text,
body.woocommerce-cart input.input-text {
    min-height: 48px;
    margin: 0 !important;
    border: 1px solid var(--bc-line) !important;
    background: var(--bc-bg) !important;
    background-color: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    padding: 0 12px !important;
    box-shadow: none !important;
    width: 200px;
    max-width: 200px;
    flex: 0 0 200px;
}

body.woocommerce-cart table.cart td.actions .button[name="update_cart"],
body.woocommerce-cart table.cart td.actions input[name="update_cart"],
body.woocommerce-cart table.shop_table td.actions .button[name="update_cart"],
body.woocommerce-cart table.shop_table td.actions input[name="update_cart"] {
    display: inline-flex !important;
    float: none !important;
    margin: 0 !important;
    vertical-align: middle;
    white-space: nowrap;
}

/* Cadmium CTA roles on cart
 * Primary  → Proceed to checkout
 * Secondary → Apply coupon
 * Text link → Update cart (still a submit button for Woo)
 * Secondary → View Details (navigation styled as quiet outline)
 */
body.woocommerce-cart .button,
body.woocommerce-cart button.button,
body.woocommerce-cart a.button,
body.woocommerce-cart input.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 20px !important;
    border-radius: 0 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-align: center !important;
    line-height: 1.2 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .coupon .button {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--bc-ink) !important;
    border: 1px solid var(--bc-ink) !important;
}

body.woocommerce-cart .coupon .button:hover {
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
}

/* Update cart: keep submit semantics, look like a supporting text action */
body.woocommerce-cart button[name="update_cart"],
body.woocommerce-cart input[name="update_cart"] {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--bc-muted) !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 44px !important;
    padding: 0 4px !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    font-weight: 500 !important;
    font-size: 14px !important;
}

body.woocommerce-cart button[name="update_cart"]:not(:disabled):hover,
body.woocommerce-cart input[name="update_cart"]:not(:disabled):hover {
    color: var(--bc-ink) !important;
    background: transparent !important;
}

body.woocommerce-cart button[name="update_cart"]:disabled,
body.woocommerce-cart input[name="update_cart"]:disabled {
    opacity: 0.4;
    text-decoration: none !important;
    cursor: default !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.woocommerce-cart a.checkout-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    border: 1px solid var(--bc-ink) !important;
    margin: 0 !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: #2a2a2a !important;
    opacity: 1;
}

body.woocommerce-cart .cart-collaterals {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    margin-top: 24px;
    width: 100% !important;
    float: none !important;
}

/* Checkout block first, right-aligned — the decision, not the browse */
body.woocommerce-cart .cart_totals {
    order: 1;
    float: none !important;
    align-self: flex-end;
    width: 100% !important;
    max-width: 420px;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.woocommerce-cart .cross-sells {
    order: 2;
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 8px;
    border-top: 1px solid var(--bc-line);
}

body.woocommerce-cart .cart_totals > h2 {
    margin: 0 0 16px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--bc-ink);
}

body.woocommerce-cart .cart_totals table {
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
}

body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bc-line) !important;
    padding: 14px 0 !important;
    color: var(--bc-ink) !important;
    font-weight: 400 !important;
}

body.woocommerce-cart .cart_totals .order-total th,
body.woocommerce-cart .cart_totals .order-total td {
    border-bottom: 0 !important;
    font-weight: 500 !important;
    font-size: 16px;
    padding-top: 18px !important;
}

body.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
body.woocommerce-cart .cart_totals .woocommerce-shipping-methods,
body.woocommerce-cart .cart_totals small.includes_tax {
    color: var(--bc-muted) !important;
    font-size: 13px;
}

body.woocommerce-cart .cross-sells > h2 {
    margin: 24px 0 20px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: -0.02em;
    color: var(--bc-ink);
}

body.woocommerce-cart .cross-sells ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px 16px;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: 100% !important;
}

body.woocommerce-cart .cross-sells ul.products::before,
body.woocommerce-cart .cross-sells ul.products::after {
    display: none !important;
}

body.woocommerce-cart .cross-sells li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
}

body.woocommerce-cart .cross-sells li.product .woocommerce-loop-product__title,
body.woocommerce-cart .cross-sells li.product a {
    color: var(--bc-ink) !important;
    text-decoration: none !important;
    font-size: 14px;
    font-weight: 500;
}

body.woocommerce-cart .cross-sells li.product .price {
    color: var(--bc-muted) !important;
    font-size: 13px;
}

body.woocommerce-cart .cross-sells li.product .button,
body.woocommerce-cart .cross-sells li.product a.button,
body.woocommerce-cart .cross-sells li.product a.addtocartbutton {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100%;
    min-height: 44px !important;
    margin-top: 10px !important;
    padding: 0 16px !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--bc-ink) !important;
    border: 1px solid var(--bc-ink) !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
}

body.woocommerce-cart .internal-link-block,
body.woocommerce-cart .internal-link-follow,
body.woocommerce-cart .product-category-cta {
    margin-top: 48px !important;
    text-align: center;
    color: var(--bc-muted);
}

body.woocommerce-cart .internal-link-block h3,
body.woocommerce-cart .internal-link-follow h3,
body.woocommerce-cart .product-category-cta h3 {
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    color: var(--bc-ink) !important;
    margin: 0 0 12px !important;
}

body.woocommerce-cart .internal-link-block a,
body.woocommerce-cart .internal-link-follow a,
body.woocommerce-cart .product-category-cta a {
    color: var(--bc-ink) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    font-weight: 500;
}

@media (min-width: 900px) {
    body.woocommerce-cart .cart_totals {
        max-width: 420px;
    }

    body.woocommerce-cart .cross-sells ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    body.woocommerce-cart .cart_totals {
        align-self: stretch;
        max-width: none;
    }

    body.woocommerce-cart table.cart td.actions,
    body.woocommerce-cart table.shop_table td.actions {
        text-align: left !important;
    }

    body.woocommerce-cart table.cart td.actions .coupon,
    body.woocommerce-cart table.shop_table td.actions .coupon {
        display: flex !important;
        margin: 0 0 12px !important;
        width: 100% !important;
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    body.woocommerce-cart .coupon #coupon_code,
    body.woocommerce-cart .actions .coupon input.input-text {
        flex: 1 1 auto;
        width: auto;
        max-width: none;
    }

    body.woocommerce-cart table.cart td.actions .button[name="update_cart"],
    body.woocommerce-cart table.cart td.actions input[name="update_cart"] {
        margin: 0 !important;
        width: auto !important;
    }

    body.woocommerce-cart table.shop_table_responsive tr.cart_item td.product-remove {
        display: none !important;
    }

    body.woocommerce-cart table.shop_table_responsive tr {
        background: transparent !important;
        border-bottom: 1px solid var(--bc-line) !important;
        margin: 0 0 16px !important;
        padding: 0 0 16px !important;
    }

    body.woocommerce-cart table.shop_table_responsive td {
        border: 0 !important;
        padding: 8px 0 !important;
    }
}

/* ── Hub / collection pages (body.bc-hub) ─────────────────────────────── */
body.bc-hub #primary,
body.bc-hub .content-area,
body.bc-hub #main {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

body.bc-hub #content > .col-full,
body.bc-hub .site-content > .col-full {
    max-width: var(--bc-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--bc-pad);
    padding-right: var(--bc-pad);
}

body.bc-hub .woocommerce-breadcrumb {
    margin: 16px 0 0;
    font-size: 13px;
    color: var(--bc-muted);
}

body.bc-hub .woocommerce-breadcrumb a {
    color: var(--bc-ink);
    text-decoration: none;
}

body.bc-hub .woocommerce-breadcrumb a:hover {
    opacity: 0.55;
}

body.bc-hub .hero-banner {
    display: none !important;
}

body.bc-hub .bc-hub-head,
body.bc-hub .entry-header {
    margin: 28px 0 8px;
    max-width: 40em;
    padding: 0;
    border: 0;
}

body.bc-hub .bc-hub-title,
body.bc-hub .entry-header .entry-title,
body.bc-hub h1.entry-title {
    margin: 0 0 12px;
    font-family: var(--bc-sans);
    font-size: clamp(1.65rem, 2.8vw, 2.25rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.15;
    color: var(--bc-ink);
}

body.bc-hub .entry-content {
    color: var(--bc-ink);
    font-family: var(--bc-sans);
}

body.bc-hub .entry-content > p,
body.bc-hub .entry-content > h2,
body.bc-hub .entry-content > h3,
body.bc-hub .entry-content > ul,
body.bc-hub .entry-content > ol,
body.bc-hub .entry-content > .faq,
body.bc-hub .entry-content details {
    max-width: 40em;
}

body.bc-hub .entry-content a {
    color: var(--bc-ink);
}

body.bc-hub .entry-content a:hover {
    opacity: 0.65;
}

body.bc-hub ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 1.5em 0 2.5em !important;
    padding: 0 !important;
}

body.bc-hub ul.products::before,
body.bc-hub ul.products::after {
    content: none !important;
    display: none !important;
}

body.bc-hub ul.products li.product {
    text-align: left;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    padding: 0;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.bc-hub ul.products li.product img {
    width: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    height: auto !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
}

body.bc-hub ul.products li.product a,
body.bc-hub ul.products li.product a:link,
body.bc-hub ul.products li.product a:visited,
body.bc-hub ul.products li.product a:hover,
body.bc-hub ul.products li.product .woocommerce-loop-product__title {
    color: var(--bc-ink) !important;
    text-decoration: none !important;
}

body.bc-hub ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: -0.02em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0 0 4px;
}

body.bc-hub ul.products li.product .price,
body.bc-hub ul.products li.product .price * {
    color: var(--bc-muted) !important;
    font-size: 13px;
}

body.bc-hub ul.products li.product .button,
body.bc-hub ul.products li.product .added_to_cart,
body.bc-hub ul.products li.product .addtocartbutton {
    display: none !important;
}

body.bc-hub ul.products li.product .onsale,
body.bc-hub ul.products li.product .berocket_alabel,
body.bc-hub ul.products li.product .br_alabel,
body.bc-hub ul.products li.product .berocket_better_labels,
body.bc-hub ul.products li.product [class*="berocket_alabel"],
body.bc-hub ul.products li.product [class*="new-badge"] {
    display: none !important;
}

body.bc-hub ul.products li.product.outofstock {
    position: relative;
}

body.bc-hub ul.products li.product.outofstock::after {
    content: "Sold";
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;
    padding: 4px 8px;
    background: var(--bc-ink);
    color: var(--bc-hero-ink);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
    pointer-events: none;
}

@media (max-width: 899px) {
    body.bc-hub ul.products {
        grid-template-columns: 1fr 1fr !important;
        gap: 20px 12px !important;
    }
}

@media (max-width: 479px) {
    body.bc-hub ul.products {
        grid-template-columns: 1fr !important;
    }
}

/* ── General content pages (body.bc-page) ─────────────────────────────── */
body.bc-page #primary,
body.bc-page .content-area,
body.bc-page #main {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

body.bc-page #secondary,
body.bc-page .widget-area {
    display: none !important;
}

body.bc-page #content > .col-full,
body.bc-page .site-content > .col-full {
    max-width: var(--bc-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--bc-pad);
    padding-right: var(--bc-pad);
}

body.bc-page .woocommerce-breadcrumb,
body.bc-page .storefront-breadcrumb {
    margin: 16px 0 0;
    padding: 0;
    font-size: 12px;
    color: var(--bc-muted);
    font-family: var(--bc-sans);
}

body.bc-page .woocommerce-breadcrumb a,
body.bc-page .storefront-breadcrumb a {
    color: var(--bc-ink);
    text-decoration: none;
}

body.bc-page .woocommerce-breadcrumb a:hover,
body.bc-page .storefront-breadcrumb a:hover {
    opacity: 0.55;
}

body.bc-page .entry-header {
    margin: 28px 0 20px;
    max-width: none;
    padding: 0;
    border: 0;
}

body.bc-page .entry-header .entry-title,
body.bc-page h1.entry-title {
    margin: 0;
    font-family: var(--bc-sans);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.12;
    color: var(--bc-ink);
}

body.bc-page .entry-content {
    color: var(--bc-ink);
    font-family: var(--bc-sans);
    font-size: 16px;
    line-height: 1.6;
    max-width: none;
    width: 100%;
}

body.bc-page .entry-content h2,
body.bc-page .entry-content h3 {
    font-family: var(--bc-sans);
    font-weight: 500;
    letter-spacing: -0.03em;
    color: var(--bc-ink);
    line-height: 1.25;
    margin: 2em 0 0.6em;
}

body.bc-page .entry-content h2 {
    font-size: clamp(1.2rem, 2vw, 1.45rem);
}

body.bc-page .entry-content h3 {
    font-size: 1.05rem;
}

body.bc-page .entry-content p {
    margin: 0 0 1.1em;
}

body.bc-page .entry-content ul,
body.bc-page .entry-content ol {
    margin: 0 0 1.25em;
    padding-left: 1.2em;
}

body.bc-page .entry-content li {
    margin: 0 0 0.55em;
}

body.bc-page .entry-content a {
    color: var(--bc-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 500;
}

body.bc-page .entry-content a:hover {
    opacity: 0.65;
}

body.bc-page .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 0;
}

/* Contact Form 7 */
body.bc-page .wpcf7 {
    margin: 8px 0 0;
    max-width: 36em;
}

body.bc-page .wpcf7 label,
body.bc-page .wpcf7 .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

body.bc-page .wpcf7 p {
    margin: 0 0 14px;
}

body.bc-page .wpcf7 input[type="text"],
body.bc-page .wpcf7 input[type="email"],
body.bc-page .wpcf7 input[type="url"],
body.bc-page .wpcf7 input[type="tel"],
body.bc-page .wpcf7 textarea,
body.bc-page .wpcf7 select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px;
    margin: 0;
    padding: 12px 14px !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 0 !important;
    background: var(--bc-bg) !important;
    background-color: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
    font-family: var(--bc-sans) !important;
    font-size: 16px !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}

body.bc-page .wpcf7 textarea {
    min-height: 160px;
    resize: vertical;
}

body.bc-page .wpcf7 input[type="submit"],
body.bc-page .wpcf7 input.wpcf7-submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 22px !important;
    margin: 8px 0 0 !important;
    border: 1px solid var(--bc-ink) !important;
    border-radius: 0 !important;
    background: var(--bc-ink) !important;
    background-color: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    font-family: var(--bc-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

body.bc-page .wpcf7 input[type="submit"]:hover,
body.bc-page .wpcf7 input.wpcf7-submit:hover {
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;
}

body.bc-page .wpcf7 .wpcf7-not-valid-tip {
    color: var(--bc-ink);
    font-size: 13px;
}

body.bc-page .wpcf7 .wpcf7-response-output {
    margin: 16px 0 0 !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    border-color: var(--bc-line) !important;
    background: transparent !important;
    color: var(--bc-ink) !important;
}

/* 404 */
body.bc-page.error404 .entry-content,
body.error404.bc-page #main {
    max-width: none;
}

body.bc-page.error404 .search-form input[type="search"],
body.bc-page .search-form input[type="search"] {
    min-height: 48px;
    border: 1px solid var(--bc-line) !important;
    background: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
    border-radius: 0 !important;
    font-size: 16px !important;
}

body.bc-page.error404 .search-form input[type="submit"],
body.bc-page .search-form input[type="submit"],
body.bc-page.error404 .search-form button,
body.bc-page .search-form button {
    min-height: 48px;
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    border: 1px solid var(--bc-ink) !important;
    border-radius: 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
}

body.bc-page.error404 .widget a,
body.bc-page.error404 .product-categories a {
    color: var(--bc-ink) !important;
}

body.bc-page.error404 .widget_product_categories,
body.bc-page.error404 .storefront-product-section {
    display: none !important;
}

/* ── Checkout + My Account ────────────────────────────────────────────── */
body.woocommerce-checkout #primary,
body.woocommerce-checkout .content-area,
body.woocommerce-checkout #main,
body.woocommerce-account #primary,
body.woocommerce-account .content-area,
body.woocommerce-account #main {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout #secondary,
body.woocommerce-account #secondary,
body.woocommerce-checkout .widget-area,
body.woocommerce-account .widget-area {
    display: none !important;
}

body.woocommerce-checkout #content > .col-full,
body.woocommerce-checkout .site-content > .col-full,
body.woocommerce-account #content > .col-full,
body.woocommerce-account .site-content > .col-full {
    max-width: var(--bc-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--bc-pad);
    padding-right: var(--bc-pad);
}

body.woocommerce-checkout .entry-header .entry-title,
body.woocommerce-checkout h1.entry-title,
body.woocommerce-account .entry-header .entry-title,
body.woocommerce-account h1.entry-title {
    font-family: var(--bc-sans);
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    color: var(--bc-ink);
}

body.woocommerce-checkout .woocommerce-breadcrumb,
body.woocommerce-account .woocommerce-breadcrumb {
    font-size: 12px;
    color: var(--bc-muted);
}

body.woocommerce-checkout .woocommerce-breadcrumb a,
body.woocommerce-account .woocommerce-breadcrumb a {
    color: var(--bc-ink);
    text-decoration: none;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message,
body.woocommerce-account .woocommerce-error {
    background: transparent !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 0 !important;
    color: var(--bc-ink) !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .woocommerce-message a,
body.woocommerce-account .woocommerce-info a,
body.woocommerce-account .woocommerce-message a,
body.woocommerce-checkout a,
body.woocommerce-account a {
    color: var(--bc-ink);
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container .select2-selection--single,
body.woocommerce-account input.input-text,
body.woocommerce-account input[type="text"],
body.woocommerce-account input[type="email"],
body.woocommerce-account input[type="password"],
body.woocommerce-account textarea,
body.woocommerce-account select {
    min-height: 48px;
    border: 1px solid var(--bc-line) !important;
    border-radius: 0 !important;
    background: var(--bc-bg) !important;
    background-color: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
    box-shadow: none !important;
    font-family: var(--bc-sans) !important;
    font-size: 16px !important;
}

body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 48px !important;
    padding: 8px 12px !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--bc-ink) !important;
    line-height: 30px !important;
}

body.woocommerce-checkout #order_review,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-checkout table.shop_table {
    background: transparent !important;
    border-color: var(--bc-line) !important;
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td {
    border-color: var(--bc-line) !important;
    background: transparent !important;
    color: var(--bc-ink);
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout button.button,
body.woocommerce-checkout .button,
body.woocommerce-account .button,
body.woocommerce-account button.button,
body.woocommerce-account input.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 22px !important;
    border-radius: 0 !important;
    background: var(--bc-ink) !important;
    background-color: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    border: 1px solid var(--bc-ink) !important;
    font-family: var(--bc-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout button.button:hover,
body.woocommerce-account .button:hover {
    background: #2a2a2a !important;
    border-color: #2a2a2a !important;
}

body.woocommerce-checkout .woocommerce-form-coupon .button,
body.woocommerce-checkout .checkout_coupon .button {
    background: transparent !important;
    color: var(--bc-ink) !important;
    border: 1px solid var(--bc-ink) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    border-bottom: 1px solid var(--bc-line);
}

body.woocommerce-account .woocommerce-MyAccount-navigation li {
    display: inline-block;
    margin: 0 16px 0 0;
}

body.woocommerce-account .woocommerce-MyAccount-navigation a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--bc-muted);
    text-decoration: none;
    font-weight: 500;
}

body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
    color: var(--bc-ink);
}

body.woocommerce-checkout .internal-link-block a,
body.woocommerce-checkout .internal-link-follow a,
body.woocommerce-account .internal-link-block a,
body.woocommerce-account .internal-link-follow a {
    color: var(--bc-ink) !important;
}

/* Tax / shop archives riding body.bc-hub */
body.bc-hub.tax-product_cat .woocommerce-products-header,
body.bc-hub.tax-product_tag .woocommerce-products-header,
body.bc-hub.post-type-archive-product .woocommerce-products-header {
    margin: 28px 0 8px;
    padding: 0;
    border: 0;
    max-width: 40em;
}

body.bc-hub .woocommerce-products-header__title,
body.bc-hub .page-title {
    margin: 0 0 12px;
    font-family: var(--bc-sans);
    font-size: clamp(1.65rem, 2.8vw, 2.25rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.15;
    color: var(--bc-ink);
}

body.bc-hub .term-description,
body.bc-hub .woocommerce-products-header .term-description {
    color: var(--bc-muted);
    max-width: 40em;
    font-size: 15px;
    line-height: 1.5;
}

body.bc-hub .woocommerce-result-count,
body.bc-hub .woocommerce-ordering,
body.bc-hub .storefront-sorting {
    color: var(--bc-muted);
    font-size: 13px;
}

body.bc-hub .woocommerce-ordering select {
    min-height: 44px;
    border: 1px solid var(--bc-line) !important;
    border-radius: 0 !important;
    background: var(--bc-bg) !important;
    color: var(--bc-ink) !important;
}

body.bc-hub .woocommerce-pagination .page-numbers {
    color: var(--bc-ink) !important;
    border-color: var(--bc-line) !important;
    background: transparent !important;
    border-radius: 0 !important;
}

body.bc-hub .woocommerce-pagination .page-numbers.current,
body.bc-hub .woocommerce-pagination .page-numbers:hover {
    background: var(--bc-ink) !important;
    color: var(--bc-hero-ink) !important;
    border-color: var(--bc-ink) !important;
}

/* Journal posts + search (body.bc-page) */
body.bc-page.single-post .entry-meta,
body.bc-page.single-post .posted-on,
body.bc-page.single-post .cat-links,
body.bc-page.single-post .tags-links,
body.bc-page.single-post .post-navigation,
body.bc-page.search .page-title {
    color: var(--bc-muted);
    font-size: 13px;
}

body.bc-page.single-post .entry-meta a,
body.bc-page.single-post .post-navigation a {
    color: var(--bc-ink);
}

body.bc-page.search .page-header {
    margin: 28px 0 20px;
}

body.bc-page.search article {
    margin: 0 0 28px;
    padding: 0 0 28px;
    border-bottom: 1px solid var(--bc-line);
}

body.bc-page.search .entry-title {
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.03em;
    margin: 0 0 8px;
}

body.bc-page.search .entry-title a {
    color: var(--bc-ink);
    text-decoration: none;
}

body.bc-page.search .entry-title a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.bc-page.single-post .related.products a.button,
body.bc-page.single-post ul.products li.product .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    background: transparent !important;
    color: var(--bc-ink) !important;
    border: 1px solid var(--bc-ink) !important;
    border-radius: 0 !important;
    text-transform: none !important;
    font-weight: 500 !important;
}
