/*
Theme Name:   Astra Child
Template:     astra
Description:  BranaBee child theme for Astra
Version:      1.0.0
*/

/* =============================================
   GLOBAL
============================================= */
html { scroll-behavior: smooth; }

/* Force full width page content */
.ast-container,
.entry-content,
.site-content .ast-container,
#content .ast-container {
    max-width: 100% !important;
}
body {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    color: #212328;
    background-color: #F8F7F5;
}

a {
    color: #CB1D11;
}

a:hover {
    color: #A01509;
}

/* =============================================
   HEADER - PRIMARY BAR (Logo + Nav)
============================================= */
.main-header-bar {
    background-color: #212328;
    padding: 6px 0;
}

/* Tighten the inner container so nav has more room */
.main-header-bar .ast-container {
    max-width: 100%;
    padding-left: 7%;
    padding-right: 7%;
}

/* Hide site title text — logo image is enough */
.site-title,
.site-description,
.ast-site-identity .site-title,
.ast-site-identity .site-description,
h1.site-title,
p.site-description {
    display: none !important;
}

/* =============================================
   HEADER - UTILITY BAR (Search + Actions)
============================================= */
.branabee-header-utility {
    background-color: #2d3139;
    padding: 10px 7%;
}

.branabee-utility-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

/* Search form */
.branabee-header-search {
    flex: 1;
    max-width: 600px;
}

.branabee-header-search form {
    display: flex;
    align-items: center;
    width: 100%;
}

.branabee-search-input {
    flex: 1;
    padding: 10px 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    border: 2px solid #444;
    border-right: none;
    border-radius: 4px 0 0 4px;
    background-color: #ffffff;
    color: #212328;
    outline: none;
    transition: border-color 0.2s;
}

.branabee-search-input:focus {
    border-color: #CB1D11;
}

.branabee-search-submit {
    padding: 10px 20px;
    background-color: #CB1D11;
    color: #ffffff;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.branabee-search-submit:hover {
    background-color: #A01509;
}

/* Action links */
.branabee-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-shrink: 0;
}

.branabee-action-link {
    color: #d0d0d0;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s;
}

.branabee-action-link:hover {
    color: #ffffff;
}

.branabee-cart-count {
    display: inline-block;
    background-color: #CB1D11;
    color: #ffffff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 11px;
    line-height: 20px;
    text-align: center;
    margin-left: 4px;
}

/* Sell button */
.branabee-sell-btn {
    display: inline-block;
    padding: 9px 18px;
    background-color: #CB1D11;
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s;
    white-space: nowrap;
}

.branabee-sell-btn:hover {
    background-color: #A01509;
    color: #ffffff !important;
}

/* =============================================
   PRIMARY NAVIGATION
============================================= */
.main-header-bar .main-navigation a,
#ast-hf-menu-1 a,
.ast-primary-menu > li > a {
    color: #ffffff !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Active page and hover — brand red, not Astra blue */
.main-header-bar .main-navigation a:hover,
.main-header-bar .main-navigation .current-menu-item > a,
.main-header-bar .main-navigation .current_page_item > a,
#ast-hf-menu-1 li.current-menu-item > a,
#ast-hf-menu-1 li.current_page_item > a,
.ast-primary-menu > li.current-menu-item > a,
.ast-primary-menu > li.current_page_item > a,
.ast-primary-menu > li > a:hover {
    color: #CB1D11 !important;
}

/* Remove any blue underline or border Astra adds to active items */
.ast-primary-menu > li.current-menu-item > a,
.main-header-bar .main-navigation .current-menu-item > a {
    border-bottom-color: #CB1D11 !important;
    text-decoration: none !important;
}

/* =============================================
   DROPDOWN SUBMENUS
============================================= */
.main-header-menu .sub-menu {
    background: #1a1d21 !important;
    border-top: 2px solid #CB1D11 !important;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.ast-desktop .main-header-menu .sub-menu a.menu-link {
    color: #F0EDE8 !important;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 400;
    padding: 10px 18px !important;
    border-bottom: 1px solid #2d3139 !important;
    transition: background-color 0.2s, color 0.2s;
    display: block;
}

.ast-desktop .main-header-menu .sub-menu li:last-child > a.menu-link {
    border-bottom: none !important;
}

.ast-desktop .main-header-menu .sub-menu a.menu-link:hover {
    background-color: #2d3139 !important;
    color: #CB1D11 !important;
}

/* =============================================
   HEADER — LAPTOP / MID-SCREEN WRAPPING FIXES
   Astra's .ast-flex sets flex-wrap:wrap on the
   nav <ul>, which lets items stack at ~1100-1300px.
   Also prevents the header builder button text
   from breaking across two lines.
============================================= */
/* Prevent desktop nav items from wrapping to a second row.
   Safe because Astra hides #primary-site-navigation-desktop entirely on mobile. */
#ast-hf-menu-1 {
    flex-wrap: nowrap !important;
}

/* Prevent text inside each nav link from line-breaking when space is tight */
#ast-hf-menu-1 > li > a.menu-link {
    white-space: nowrap !important;
}

.ast-builder-layout-element .ast-custom-button {
    white-space: nowrap !important;
}

/* =============================================
   SEARCHWP FORM — inline layout fix
============================================= */
.searchwp-form,
form.searchwp-form {
    display: flex !important;
    align-items: stretch;
    width: 100%;
}

.searchwp-form input[type="search"],
.searchwp-form input[type="text"] {
    flex: 1;
    padding: 10px 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    border: 2px solid #444 !important;
    border-right: none !important;
    border-radius: 4px 0 0 4px !important;
    background-color: #ffffff;
    color: #212328;
    outline: none;
    transition: border-color 0.2s;
    height: auto !important;
    margin: 0 !important;
    width: auto !important;
}

.searchwp-form input[type="search"]:focus,
.searchwp-form input[type="text"]:focus {
    border-color: #CB1D11 !important;
}

.searchwp-form button[type="submit"],
.searchwp-form input[type="submit"] {
    padding: 0 16px !important;
    background-color: #CB1D11 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    border: none !important;
    border-radius: 0 4px 4px 0 !important;
    cursor: pointer;
    transition: background-color 0.2s;
    white-space: nowrap;
    height: 100% !important;
    align-self: stretch !important;
    margin: 0 !important;
    width: auto !important;
}

.searchwp-form button[type="submit"]:hover,
.searchwp-form input[type="submit"]:hover {
    background-color: #A01509 !important;
}

/* =============================================
   HELP CENTER — SEARCH BAR
============================================= */
.help-search-wrap {
    max-width: 540px;
    margin: 0 auto;
}

.help-search-wrap form {
    display: flex !important;
    align-items: center;
    background: #fff;
    border-radius: 6px;
    padding: 6px 6px 6px 16px;
    gap: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.help-search-wrap input[type="search"],
.help-search-wrap input[type="text"] {
    flex: 1;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    color: #212328;
    background: transparent;
    padding: 8px 0;
    border-radius: 0 !important;
}

.help-search-wrap input[type="submit"],
.help-search-wrap button[type="submit"] {
    background: #CB1D11 !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 10px 22px !important;
    border-radius: 4px !important;
    border: none !important;
    cursor: pointer;
    white-space: nowrap;
    height: auto !important;
}

.help-search-wrap input[type="submit"]:hover,
.help-search-wrap button[type="submit"]:hover {
    background: #A01509 !important;
}

.help-search-wrap select {
    display: none;
}

/* =============================================
   MOBILE HEADER
============================================= */
@media (max-width: 768px) {
    .branabee-utility-inner {
        flex-direction: column;
        align-items: stretch;
        padding: 0 16px;
    }

    .branabee-header-search {
        max-width: 100%;
    }

    .branabee-header-actions {
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
    }

    .branabee-sell-btn {
        width: 100%;
        text-align: center;
    }
}

/* =============================================
   HIVE CERTIFIED BADGE — STORE LISTING
============================================= */
.badge-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1.5px solid #555;
    font-size: 10px;
    font-weight: 700;
    color: #888;
    cursor: pointer;
    position: relative;
    font-family: 'Poppins', sans-serif;
    flex-shrink: 0;
}

.badge-info:hover {
    border-color: #FDE915;
    color: #FDE915;
}

.badge-tooltip,
span.badge-tooltip {
    display: none !important;
    position: absolute;
    bottom: calc(100% + 10px);
    right: 0;
    width: 240px;
    background: #fff;
    border: 1px solid #e5e2de;
    border-radius: 6px;
    padding: 12px 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #444;
    line-height: 1.6;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);
    z-index: 10;
    text-align: left;
}

.badge-tooltip::after {
    content: '';
    position: absolute;
    bottom: -6px;
    right: 4px;
    width: 10px;
    height: 10px;
    background: #fff;
    border-right: 1px solid #e5e2de;
    border-bottom: 1px solid #e5e2de;
    transform: rotate(45deg);
}

.badge-info:hover .badge-tooltip,
.badge-info:hover span.badge-tooltip {
    display: block !important;
}

/* =============================================
   DOKAN — STORE LISTING PAGINATION
============================================= */
.pagination-container .pagination-wrap {
    margin-top: 40px;
    text-align: center;
}

.pagination-container ul.pagination {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pagination-container ul.pagination li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
}

.pagination-container ul.pagination li .page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #212328 !important;
    background: #fff !important;
    border: 1px solid #e5e2de !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s, border-color 0.2s !important;
}

.pagination-container ul.pagination li a.page-numbers:hover {
    background: #212328 !important;
    color: #fff !important;
    border-color: #212328 !important;
}

.pagination-container ul.pagination li .page-numbers.current {
    background: #CB1D11 !important;
    color: #fff !important;
    border-color: #CB1D11 !important;
}

/* Cross-sells removed — hide anything that still renders */
.cross-sells { display: none !important; }

/* =============================================
   CART — CART TOTALS HEADING
============================================= */
.cart_totals h2 {
    background-color: #212328 !important;
    color: #F0EDE8 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.17em !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    margin: 0 0 16px !important;
    border-top: 3px solid #CB1D11 !important;
}

/* =============================================
   CART — LAYOUT GRID
============================================= */
.woocommerce-cart form.woocommerce-cart-form {
    display: block !important;
}
.bb-cart-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 28px;
    align-items: start;
    margin-bottom: 40px;
}
.bb-cart-left {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
}
.woocommerce-cart .cart_totals {
    background: #fff;
    border-radius: 6px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    overflow: hidden;
}

/* =============================================
   CART — TRUST BAR
============================================= */
.bb-cart-trust-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #fff;
    border: 1px solid #e5e2de;
    border-left: 4px solid #1a7c3d;
    border-radius: 4px;
    padding: 12px 18px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.bb-trust-items {
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
}
.bb-trust-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.bb-trust-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 7px 14px;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #212328;
    background: #f4f2ef;
    border: 1px solid #e5e2de;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    white-space: nowrap;
}
.bb-trust-btn:hover {
    background: #e5e2de;
    border-color: #ccc;
}
.bb-trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #444;
}
.bb-trust-item a {
    color: #CB1D11;
    text-decoration: none;
    font-weight: 700;
}
.bb-trust-item a:hover { text-decoration: underline; }

/* =============================================
   CART — FREIGHT NOTICE IN TOTALS
============================================= */
.bb-freight-notice {
    background: #fff8f0;
    border: 1px solid #f0dcc8;
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 13px;
    color: #7a5c3a;
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    margin-bottom: 8px;
}
.bb-freight-notice strong { color: #212328; font-weight: 700; }
.bb-freight-notice a { color: #CB1D11; font-weight: 600; text-decoration: none; }
.bb-freight-notice a:hover { text-decoration: underline; }

/* =============================================
   CART — FREIGHT QUOTE BUTTON
============================================= */
.bb-freight-quote-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 16px 0;
    box-sizing: border-box;
}
.bb-freight-quote-btn {
    display: block;
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 13px;
    background: #1a7c3d;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
    transition: background 0.2s;
    box-sizing: border-box;
}
.bb-freight-quote-btn:hover { background: #155f30; }
@keyframes bb-fq-blink {
    0%, 100% { background: #1a7c3d; box-shadow: none; }
    40%       { background: #22a852; box-shadow: 0 0 0 4px rgba(26,124,61,0.35); }
}
.bb-fq-highlight {
    animation: bb-fq-blink 0.4s ease-in-out 3;
}
.bb-fq-info {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
    font-size: 24px;
    font-style: normal;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
    transition: color 0.2s;
}
.bb-fq-info:hover,
.bb-fq-info:focus { color: #1a7c3d; outline: none; }
.bb-fq-tooltip {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 260px;
    background: #212328;
    color: #F0EDE8;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    padding: 10px 14px;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    z-index: 9999;
    pointer-events: none;
}
.bb-fq-tooltip::after {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 6px;
    border: 6px solid transparent;
    border-bottom-color: #212328;
}
.bb-fq-info:hover .bb-fq-tooltip,
.bb-fq-info:focus .bb-fq-tooltip {
    display: block;
}

/* =============================================
   CART — FREIGHT QUOTE MODAL
============================================= */
#bb-fq-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}
#bb-fq-modal {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.18);
    padding: 32px;
    width: 100%;
    max-width: 480px;
    position: relative;
    box-sizing: border-box;
}
#bb-fq-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    font-size: 22px;
    color: #aaa;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}
#bb-fq-close:hover { color: #212328; }
#bb-fq-modal h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: #212328;
    margin: 0 0 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}
#bb-fq-cart-summary {
    background: #f8f7f5;
    border: 1px solid #e5e2de;
    border-radius: 4px;
    padding: 12px 14px;
    margin-bottom: 20px;
    max-height: 160px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #CB1D11 #f0ede9;
}
#bb-fq-cart-summary::-webkit-scrollbar {
    width: 8px;
}
#bb-fq-cart-summary::-webkit-scrollbar-track {
    background: #f0ede9;
    border-radius: 4px;
}
#bb-fq-cart-summary::-webkit-scrollbar-thumb {
    background: #CB1D11;
    border-radius: 4px;
}
.bb-fq-summary-label {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #888;
    margin-bottom: 8px;
}
.bb-fq-summary-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bb-fq-summary-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px solid #ede9e4;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
}
.bb-fq-summary-list li:last-child { border-bottom: none; }
.bb-fq-item-name {
    flex: 1;
    font-weight: 600;
    color: #212328;
}
.bb-fq-item-qty {
    font-size: 12px;
    color: #888;
    white-space: nowrap;
}
.bb-fq-item-price {
    font-weight: 700;
    color: #1a7c3d;
    white-space: nowrap;
}

.bb-fq-honeypot {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}
.bb-fq-intro {
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #666;
    margin: 0 0 20px;
    line-height: 1.6;
}
#bb-fq-form label {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #444;
    margin-bottom: 14px;
}
#bb-fq-form input,
#bb-fq-form textarea {
    display: block;
    width: 100%;
    margin-top: 5px;
    padding: 10px 12px;
    border: 1px solid #e5e2de;
    border-radius: 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    color: #212328;
    box-sizing: border-box;
    background: #fafafa;
    transition: border-color 0.2s;
}
#bb-fq-form input:focus,
#bb-fq-form textarea:focus {
    outline: none;
    border-color: #CB1D11;
    background: #fff;
}
.bb-fq-req { color: #CB1D11; }
#bb-fq-form button[type="submit"] {
    width: 100%;
    padding: 13px;
    background: #CB1D11;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    margin-top: 4px;
    transition: background 0.2s;
}
#bb-fq-form button[type="submit"]:hover { background: #A01509; }
#bb-fq-form button[type="submit"]:disabled { background: #ccc; cursor: default; }
.bb-fq-success {
    background: #f0faf4;
    border: 1px solid #a3d9b5;
    border-radius: 4px;
    padding: 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #1a7c3d;
    font-weight: 600;
}
.bb-fq-error {
    background: #fff5f5;
    border: 1px solid #f5c0c0;
    border-radius: 4px;
    padding: 16px;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    color: #CB1D11;
    font-weight: 600;
}

/* =============================================
   CART — CALL BUTTON & PAYMENT LOGOS
============================================= */
.bb-cart-or {
    text-align: center;
    font-family: 'Poppins', sans-serif;
    font-size: 13px;
    color: #aaa;
    margin: 12px 0 10px;
}
.bb-call-btn {
    display: block;
    width: calc(100% - 32px);
    margin-left: 16px;
    margin-right: 16px;
    padding: 13px;
    background: transparent;
    border: 2px solid #212328;
    border-radius: 4px;
    color: #212328;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    box-sizing: border-box;
}
.bb-call-btn:hover { background: #212328; color: #fff !important; }
.bb-payment-logos {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 0;
    padding-top: 6px;
    border-top: none;
}
.bb-pay-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.bb-pay-name {
    font-family: 'Poppins', sans-serif;
    font-size: 9px;
    color: #999;
    text-align: center;
    line-height: 1;
}
.bb-pay-logo {
    height: 28px !important;
    width: auto !important;
    max-height: 28px !important;
    max-width: 46px !important;
    border-radius: 4px !important;
    border: 1px solid #e5e2de !important;
    display: inline-block !important;
    vertical-align: middle !important;
    object-fit: contain !important;
}
.bb-pay-badge {
    display: inline-flex;
    align-items: center;
    height: 28px;
    border-radius: 4px;
    padding: 0 10px;
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.3px;
    vertical-align: middle;
}
.bb-pay-ach { background: #1a7c3d; }
.bb-payment-label {
    font-family: 'Poppins', sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    text-align: center;
    padding: 14px 16px 4px;
    margin-bottom: 0;
}
.bb-secure-notice {
    text-align: center;
    font-size: 11px;
    color: #aaa;
    font-family: 'Poppins', sans-serif;
    margin-top: 10px;
    padding-bottom: 24px;
}
.bb-secure-notice strong { color: #888; }
.bb-ssl-tip {
    position: relative;
    cursor: pointer;
    border-bottom: 1px dotted #bbb;
}
.bb-ssl-tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: 260px;
    background: #212328;
    color: #F0EDE8;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    padding: 10px 14px;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.2);
    z-index: 9999;
    pointer-events: none;
    text-align: left;
}
.bb-ssl-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #212328;
}
.bb-ssl-tip:hover .bb-ssl-tooltip,
.bb-ssl-tip:focus .bb-ssl-tooltip {
    display: block;
}

/* =============================================
   CART — PHANTOM QTY LINKS (Dokan injection fix)
============================================= */
.bb-qty-stepper a.minus,
.bb-qty-stepper a.plus {
    display: none !important;
}

/* =============================================
   CART — TABLE HEADER
============================================= */
.woocommerce-cart table.shop_table thead {
    background-color: #212328 !important;
}
.woocommerce-cart table.shop_table thead tr:first-child th {
    border-top: 3px solid #CB1D11 !important;
}

.woocommerce-cart table.shop_table thead th {
    color: #F0EDE8 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    padding: 14px 16px !important;
}

.woocommerce-cart table.shop_table thead th.product-quantity {
    text-align: center !important;
}

/* =============================================
   CART — TABLE ROW LAYOUT
============================================= */
/* More breathing room per row */
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item td {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    vertical-align: middle !important;
}

/* Product name column — readable, not cramped */
.woocommerce-cart table.shop_table td.product-name {
    padding-left: 12px !important;
    padding-right: 16px !important;
    min-width: 200px !important;
}

/* Product title link — dark, readable, not red-link style */
.woocommerce-cart table.shop_table td.product-name a:not(.dokan-store-name) {
    color: #212328 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 4px !important;
}
.woocommerce-cart table.shop_table td.product-name a:not(.dokan-store-name):hover {
    color: #CB1D11 !important;
}

/* Seller info — small, muted, below the title */
.woocommerce-cart table.shop_table td.product-name .dokan-seller-name,
.woocommerce-cart table.shop_table td.product-name .dokan-store-name,
.woocommerce-cart table.shop_table td.product-name dl.variation {
    font-size: 12px !important;
    color: #888 !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
    display: block !important;
}
.woocommerce-cart table.shop_table td.product-name .dokan-store-name:hover {
    color: #CB1D11 !important;
}

/* Quantity cell — centered, stepper not overflowing */
.woocommerce-cart table.shop_table td.product-quantity {
    text-align: center !important;
    white-space: nowrap !important;
}

/* Remove button — subtler */
.woocommerce-cart table.shop_table td.product-remove a.remove {
    color: #bbb !important;
    font-size: 22px !important;
    line-height: 1 !important;
    transition: color 0.15s !important;
}
.woocommerce-cart table.shop_table td.product-remove a.remove:hover {
    color: #CB1D11 !important;
    background: none !important;
}

/* =============================================
   CART — SHIPPING ROW: stacked layout
============================================= */
/* Make the shipping row a block container so th + td stack vertically */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals {
    display: block !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th,
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
/* Label row */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals th {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #212328 !important;
    padding: 14px 16px 4px !important;
    border: none !important;
}
/* Rates cell — scrollable, constrained height */
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td {
    padding: 4px 16px 14px !important;
    border: none !important;
    text-align: left !important;
    width: 450px !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td .woocommerce-shipping-methods {
    max-height: 140px !important;
    overflow-y: scroll !important;
    border: 1px solid #e5e2de !important;
    border-radius: 4px !important;
    padding: 6px 10px !important;
    background: #fafafa !important;
    box-sizing: border-box !important;
    scrollbar-width: thick !important;
    scrollbar-color: #CB1D11 #f0ede9 !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td .woocommerce-shipping-methods::-webkit-scrollbar {
    width: 10px !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td .woocommerce-shipping-methods::-webkit-scrollbar-track {
    background: #f0ede9 !important;
    border-radius: 4px !important;
}
.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td .woocommerce-shipping-methods::-webkit-scrollbar-thumb {
    background: #CB1D11 !important;
    border-radius: 4px !important;
}

/* Shipping destination text — breathe below the rates box */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination {
    margin-top: 12px !important;
}
/* Stack address below the label */
.woocommerce-cart .cart_totals .woocommerce-shipping-destination strong {
    display: block !important;
    margin-top: 2px !important;
}
/* "Change address" link — smaller, tight to address above */
.woocommerce-cart .cart_totals .shipping-calculator-button {
    display: block !important;
    font-size: 13px !important;
    font-style: italic !important;
    margin-top: 4px !important;
    line-height: 1.2 !important;
}

/* =============================================
   CART — TOTALS TYPOGRAPHY
============================================= */
.woocommerce-cart .cart_totals tr.cart-subtotal th,
.woocommerce-cart .cart_totals tr.cart-subtotal td,
.woocommerce-cart .cart_totals tr.cart-subtotal td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals tr.cart-subtotal td bdi {
    font-weight: 700 !important;
}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td,
.woocommerce-cart .cart_totals tr.order-total td strong,
.woocommerce-cart .cart_totals tr.order-total td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals tr.order-total td bdi {
    font-weight: 700 !important;
    font-size: 1.1em !important;
}

/* =============================================
   CART — REMOVE TABLE BORDERS (shadows only)
============================================= */
.woocommerce-cart table.shop_table,
.woocommerce-cart .cart_totals table.shop_table,
.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
    border: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
}
/* Keep a subtle row divider for readability */
.woocommerce-cart table.shop_table tbody tr,
.woocommerce-cart .cart_totals table.shop_table tbody tr {
    border-bottom: 1px solid #f0ede9 !important;
}

/* =============================================
   CART — CHECKOUT & CALL BUTTONS
============================================= */
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100% !important;
    box-sizing: border-box !important;
}
.woocommerce-cart .cart_totals .wc-proceed-to-checkout,
.woocommerce-cart .cart_totals .bb-cart-or,
.woocommerce-cart .cart_totals .bb-call-btn,
.woocommerce-cart .cart_totals .bb-payment-logos,
.woocommerce-cart .cart_totals .bb-secure-notice {
    padding-left: 16px !important;
    padding-right: 16px !important;
}

/* =============================================
   CART — MOBILE
============================================= */
@media (max-width: 768px) {

    /* Stack grid to single column */
    .bb-cart-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    /* Hide thead — labels handled per-cell */
    .woocommerce-cart-form table.shop_table thead {
        display: none !important;
    }

    /* Each cart item — 2-column grid: photo | meta */
    tr.woocommerce-cart-form__cart-item {
        display: grid !important;
        grid-template-columns: 40% 1fr !important;
        position: relative !important;
        padding: 14px 12px !important;
        border-bottom: 2px solid #f0ede9 !important;
        border-top: none !important;
        background: none !important;
        gap: 0 !important;
        align-items: start !important;
    }

    /* Remove button — pinned top-right */
    tr.woocommerce-cart-form__cart-item td.product-remove {
        position: absolute !important;
        top: 10px !important;
        right: 6px !important;
        width: auto !important;
        padding: 0 !important;
        border: none !important;
        display: block !important;
    }
    tr.woocommerce-cart-form__cart-item td.product-remove::before { display: none !important; }
    tr.woocommerce-cart-form__cart-item td.product-remove a.remove {
        font-size: 20px !important;
        color: #ccc !important;
        line-height: 1 !important;
    }

    /* Thumbnail — left column, spans all meta rows */
    tr.woocommerce-cart-form__cart-item td.product-thumbnail {
        grid-column: 1 !important;
        grid-row: 1 / 5 !important;
        display: block !important;
        width: 100% !important;
        padding: 0 12px 0 0 !important;
        border: none !important;
        box-sizing: border-box !important;
    }
    tr.woocommerce-cart-form__cart-item td.product-thumbnail::before { display: none !important; }
    tr.woocommerce-cart-form__cart-item td.product-thumbnail img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        display: block !important;
        object-fit: contain !important;
        border-radius: 6px !important;
        border: none !important;
    }

    /* Product name — right column, row 1 */
    tr.woocommerce-cart-form__cart-item td.product-name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        padding: 0 24px 8px 10px !important;
        border: none !important;
        display: block !important;
        text-align: left !important;
        font-size: 13px !important;
        min-width: 0 !important;
    }
    tr.woocommerce-cart-form__cart-item td.product-name::before { display: none !important; }
    tr.woocommerce-cart-form__cart-item td.product-name a {
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        display: block !important;
        margin-bottom: 4px !important;
    }

    /* Price — right column, row 2 */
    tr.woocommerce-cart-form__cart-item td.product-price {
        grid-column: 2 !important;
        grid-row: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 5px 0 5px 10px !important;
        border-top: 1px solid #f0ede9 !important;
        border-bottom: none !important;
        font-size: 13px !important;
    }

    /* Quantity — right column, row 3 */
    tr.woocommerce-cart-form__cart-item td.product-quantity {
        grid-column: 2 !important;
        grid-row: 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 5px 0 5px 10px !important;
        border-top: 1px solid #f0ede9 !important;
        border-bottom: none !important;
        font-size: 13px !important;
    }

    /* Subtotal — right column, row 4 */
    tr.woocommerce-cart-form__cart-item td.product-subtotal {
        grid-column: 2 !important;
        grid-row: 4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 5px 0 5px 10px !important;
        border-top: 1px solid #f0ede9 !important;
        border-bottom: none !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    /* Labels for price, qty, subtotal */
    tr.woocommerce-cart-form__cart-item td.product-price::before,
    tr.woocommerce-cart-form__cart-item td.product-quantity::before,
    tr.woocommerce-cart-form__cart-item td.product-subtotal::before {
        content: attr(data-title) !important;
        font-size: 11px !important;
        color: #888 !important;
        font-family: 'Poppins', sans-serif !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
        margin-right: 0 !important;
        white-space: nowrap !important;
    }

    /* Qty stepper — compact */
    tr.woocommerce-cart-form__cart-item td.product-quantity .quantity {
        transform: scale(0.78) !important;
        transform-origin: right center !important;
    }

    /* Actions row (coupon + update button) */
    .woocommerce-cart-form table.shop_table tbody tr.actions {
        display: block !important;
        padding: 12px !important;
        border-top: none !important;
    }
    .woocommerce-cart-form table.shop_table tbody tr.actions td {
        display: block !important;
        padding: 0 !important;
        border: none !important;
    }
    .woocommerce-cart-form table.shop_table tbody tr.actions td::before {
        display: none !important;
    }

    /* Cart totals panel — breathing room on mobile */
    .woocommerce-cart .cart_totals {
        padding: 0 16px !important;
        overflow: visible !important;
    }

    /* h2 header — break out to full container width */
    .woocommerce-cart .cart_totals h2 {
        margin-left: -16px !important;
        margin-right: -16px !important;
    }

    /* Totals table — receipt-style layout for mobile */
    .woocommerce-cart .cart_totals table.shop_table {
        width: 100% !important;
        border-collapse: collapse !important;
        background: transparent !important;
    }

    /* Each row: label left, value right — like a paper receipt */
    .woocommerce-cart .cart_totals table.shop_table tbody tr,
    .woocommerce-cart .cart_totals table.shop_table tbody tr.cart-subtotal,
    .woocommerce-cart .cart_totals table.shop_table tbody tr.tax-total {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        visibility: visible !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #f0ede9 !important;
    }

    /* th = label (left) */
    .woocommerce-cart .cart_totals table.shop_table tbody th {
        display: block !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        color: #666 !important;
        text-align: left !important;
        padding: 0 !important;
        border: none !important;
        background: none !important;
        flex-shrink: 0 !important;
    }

    /* td = value (right) */
    .woocommerce-cart .cart_totals table.shop_table tbody td {
        display: block !important;
        text-align: right !important;
        padding: 0 !important;
        border: none !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1a1a1a !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody td::before {
        display: none !important;
    }

    /* Shipping row — stacked: label above, methods full-width below */
    .woocommerce-cart .cart_totals table.shop_table tbody tr.woocommerce-shipping-totals {
        display: block !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #f0ede9 !important;
        visibility: visible !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody tr.woocommerce-shipping-totals th {
        display: block !important;
        margin-bottom: 8px !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        color: #333 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody tr.woocommerce-shipping-totals td {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        font-size: 13px !important;
        font-weight: 400 !important;
        color: inherit !important;
    }

    /* Order total row — finish line: full-width strip */
    .woocommerce-cart .cart_totals table.shop_table tbody tr.order-total {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        visibility: visible !important;
        padding: 14px 14px !important;
        margin: 8px -14px 8px !important;
        background: #f8f7f5 !important;
        border-radius: 8px !important;
        border-bottom: none !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody tr.order-total th {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody tr.order-total td {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1a1a1a !important;
        text-align: right !important;
    }
    .woocommerce-cart .cart_totals table.shop_table tbody tr.order-total td strong,
    .woocommerce-cart .cart_totals table.shop_table tbody tr.order-total td bdi {
        font-size: 26px !important;
        font-weight: 800 !important;
        color: #212328 !important;
        display: block !important;
        line-height: 1 !important;
    }

    /* Cross-sells — single column on mobile */
    .woocommerce-cart .cross-sells ul.products {
        grid-template-columns: 1fr !important;
        display: grid !important;
        padding: 0 16px 16px !important;
        gap: 14px !important;
    }

    /* Call button — full width */
    .bb-call-btn {
        width: calc(100% - 32px) !important;
        font-size: 13px !important;
    }

    /* Freight quote button — full width */
    .bb-freight-quote-wrap {
        margin: 10px 16px 0 !important;
    }

    /* Payment logos — tighter wrap */
    .bb-payment-logos {
        gap: 6px !important;
    }

    /* Remove side padding on checkout/call button section */
    .woocommerce-cart .cart_totals .wc-proceed-to-checkout,
    .woocommerce-cart .cart_totals .bb-cart-or,
    .woocommerce-cart .cart_totals .bb-payment-logos,
    .woocommerce-cart .cart_totals .bb-secure-notice {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    /* Trust bar — 2-column grid layout on mobile */
    .bb-cart-trust-bar {
        flex-direction: column !important;
        gap: 12px !important;
        padding: 14px !important;
    }
    .bb-trust-items {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        width: 100% !important;
    }
    .bb-trust-item {
        background: #f8f7f5 !important;
        border-radius: 6px !important;
        padding: 8px 10px !important;
        font-size: 11px !important;
        gap: 5px !important;
        align-items: flex-start !important;
        line-height: 1.4 !important;
    }
    /* Phone, freight quote link, cart saves — full width */
    .bb-trust-item:nth-child(3),
    .bb-trust-item:nth-child(4),
    .bb-trust-item:nth-child(5) {
        grid-column: 1 / -1 !important;
        align-items: center !important;
    }
    /* Action buttons — side by side, full width */
    .bb-trust-actions {
        width: 100% !important;
        display: flex !important;
        gap: 8px !important;
    }
    .bb-trust-btn {
        flex: 1 !important;
        justify-content: center !important;
    }

    /* Freight quote modal — full screen on mobile */
    #bb-fq-overlay {
        padding: 0 !important;
        align-items: flex-end !important;
    }
    #bb-fq-modal {
        max-width: 100% !important;
        border-radius: 12px 12px 0 0 !important;
        padding: 24px 20px !important;
        max-height: 90vh !important;
        overflow-y: auto !important;
    }

    /* Tooltips — prevent overflow on narrow screens */
    .bb-fq-tooltip,
    .bb-ssl-tooltip {
        width: 220px !important;
        right: auto !important;
        left: 0 !important;
        transform: none !important;
    }
    .bb-fq-tooltip::after {
        right: auto !important;
        left: 10px !important;
    }
}

/* =============================================
   CHECKOUT
============================================= */

/* GreenShift wrapper block — clear the background set in the page editor */
#gspb_row-id-gsbp-61bf0eb,
#gspb_col-id-gsbp-c1bd1d5 {
    background: transparent !important;
    background-color: transparent !important;
}

/* --- Trust bar (checkout — no action buttons) --- */
.bb-checkout-trust-bar {
    margin-bottom: 24px;
}
.bb-checkout-trust-bar .bb-trust-items {
    width: 100%;
    gap: 20px;
}

/* --- Billing column card --- */
.woocommerce-checkout #customer_details .col-1 {
    background: #fff !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
    float: none !important;
    width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

/* Ship-to-different-address column — keep but unstyle */
.woocommerce-checkout #customer_details .col-2 {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
}

/* Billing card header — same dark treatment as cart panels */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
    background-color: #212328 !important;
    color: #F0EDE8 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.05em !important;
    font-weight: 600 !important;
    padding: 14px 24px !important;
    margin: 0 !important;
    border-top: 3px solid #CB1D11 !important;
    border-bottom: none !important;
    letter-spacing: 0.2px !important;
}

/* Hide "Additional information" default heading — our JS heading replaces it */
.woocommerce-checkout .woocommerce-additional-fields > h3 {
    display: none !important;
}

/* Billing fields + additional fields inner padding */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    padding: 0 24px 8px !important;
}
.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
    padding: 0 24px 24px !important;
}

/* Plugin-added elements in billing column that sit outside the field wrappers */
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-billing-fields > p,
.woocommerce-checkout #customer_details .col-1 > p,
.woocommerce-checkout #customer_details .col-2 {
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
}

/* Section headings removed per UX decision — hide any that remain */
.bb-checkout-section-heading {
    display: none !important;
}

/* --- Validate Address button — left-aligned in billing form --- */
/* element type (button) raises specificity to 0,3,1 — beats [class*="avatax"] at 0,3,0 */
.woocommerce-checkout .woocommerce-billing-fields button.wc_avatax_validate_address,
.woocommerce-checkout .woocommerce-billing-fields button.bb-avatax-validate {
    width: auto !important;
    float: none !important;
    clear: both !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    margin-left: 20px !important;
    margin-right: 0 !important;
}
/* AvaTax feedback messages — right side */
.woocommerce-checkout .woocommerce-billing-fields .wc-avatax-address-suggestions,
.woocommerce-checkout .woocommerce-billing-fields .wc-avatax-message,
.woocommerce-checkout .woocommerce-billing-fields [class*="avatax"] {
    text-align: right !important;
    float: right !important;
    clear: both !important;
    width: 100% !important;
}

/* --- Form field styling --- */
.woocommerce-checkout .form-row {
    margin-bottom: 16px !important;
}
.woocommerce-checkout .form-row label {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #666 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 6px !important;
    display: block !important;
}
.woocommerce-checkout .form-row label .optional {
    font-weight: 400 !important;
    color: #aaa !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 10px !important;
}
.woocommerce-checkout .form-row .input-text,
.woocommerce-checkout .form-row select {
    height: 44px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #212328 !important;
    padding: 0 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #fff !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
/* Keep native select arrow — needed for usability */
.woocommerce-checkout .form-row .input-text {
    appearance: none !important;
}
.woocommerce-checkout .form-row .input-text:focus,
.woocommerce-checkout .form-row select:focus {
    border-color: #CB1D11 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(203,29,17,0.1) !important;
}
.woocommerce-checkout .form-row textarea.input-text {
    height: auto !important;
    min-height: 90px !important;
    padding: 12px !important;
    resize: vertical !important;
    line-height: 1.55 !important;
}
.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select {
    border-color: #CB1D11 !important;
    box-shadow: 0 0 0 3px rgba(203,29,17,0.1) !important;
}

/* --- Order Review — dark header (sibling to #order_review) --- */
#order_review_heading {
    background-color: #212328 !important;
    color: #F0EDE8 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.05em !important;
    font-weight: 600 !important;
    padding: 14px 24px !important;
    margin: 0 !important;
    border-top: 3px solid #CB1D11 !important;
    border-radius: 6px 6px 0 0 !important;
    letter-spacing: 0.2px !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Order Review card body */
#order_review {
    background: #fff !important;
    border: none !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.08) !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: hidden !important;
}

/* --- Checkout review order table --- */
.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border: none !important;
    margin: 0 !important;
    border-collapse: collapse !important;
}
.woocommerce-checkout-review-order-table thead th {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #555 !important;
    padding: 14px 24px !important;
    border-bottom: 2px solid #f0ede9 !important;
    background: #fafafa !important;
    text-align: left !important;
}
.woocommerce-checkout-review-order-table thead th.product-total {
    text-align: right !important;
}
.woocommerce-checkout-review-order-table tbody tr td {
    padding: 12px 24px !important;
    border-bottom: 1px solid #f0ede9 !important;
    font-size: 13px !important;
    vertical-align: middle !important;
    color: #212328 !important;
}
.woocommerce-checkout-review-order-table tbody tr td.product-name {
    font-weight: 600 !important;
    line-height: 1.4 !important;
}
.woocommerce-checkout-review-order-table tbody tr td.product-name .product-quantity {
    font-weight: 400 !important;
    color: #888 !important;
    font-size: 12px !important;
}
.woocommerce-checkout-review-order-table tbody tr td.product-total {
    text-align: right !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

/* Totals footer rows */
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
    padding: 10px 24px !important;
    font-size: 13px !important;
    border-bottom: 1px solid #f0ede9 !important;
}
.woocommerce-checkout-review-order-table tfoot tr th {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    color: #666 !important;
    text-align: left !important;
}
.woocommerce-checkout-review-order-table tfoot tr td {
    text-align: right !important;
    font-weight: 600 !important;
    color: #212328 !important;
}

/* Order total row — punches clearly */
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    padding: 16px 24px !important;
    background: #f8f7f5 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #212328 !important;
    border-bottom: none !important;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total td strong {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #212328 !important;
    display: inline-block !important;
}

/* --- Checkout shipping methods — stacked label + scrollable list --- */
/* Stack th (label) and td (methods) vertically */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    border-bottom: none !important;
    box-sizing: border-box !important;
}
/* Hide native "Shipping" text, replace with h4-styled label via ::before */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th {
    font-size: 0 !important;
    padding: 14px 24px 6px !important;
}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th::before {
    content: "Choose a Shipping Method";
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #212328;
    text-transform: none;
    letter-spacing: 0;
}
/* Methods td — full width, no extra padding */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
    padding: 0 24px 4px !important;
    border-bottom: none !important;
}
/* Shipping methods list — warm background, max height, permanently visible scrollbar */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td ul.woocommerce-shipping-methods,
#shipping_method {
    max-height: 130px !important;
    overflow-y: scroll !important;
    padding: 8px 8px 8px 10px !important;
    margin: 0 !important;
    list-style: none !important;
    background: #F8F7F5 !important;
    border-radius: 4px !important;
}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td ul.woocommerce-shipping-methods::-webkit-scrollbar {
    width: 6px;
}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td ul.woocommerce-shipping-methods::-webkit-scrollbar-track {
    background: #f4f2ef;
    border-radius: 3px;
}
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td ul.woocommerce-shipping-methods::-webkit-scrollbar-thumb {
    background: #CB1D11;
    border-radius: 3px;
}
/* Bottom border on the entire shipping row */
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
    border-bottom: 1px solid #f0ede9 !important;
}

/* --- Freight notice — table row between shipping and tax --- */
.bb-checkout-freight-row td.bb-checkout-freight-cell {
    padding: 8px 24px 12px !important;
    border-bottom: none !important;
}
.bb-checkout-freight-notice {
    margin: 0 !important;
    border-left-width: 4px !important;
}

/* --- Payment section --- */
#payment {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}
.woocommerce-checkout-payment .payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 16px 24px !important;
    border-top: 1px solid #f0ede9 !important;
    border-bottom: 1px solid #f0ede9 !important;
    background: #fafafa !important;
}
.woocommerce-checkout-payment .payment_methods li {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin-bottom: 8px !important;
}
.woocommerce-checkout-payment .payment_methods li:last-child {
    margin-bottom: 0 !important;
}
/* Radio button — fixed size, vertically centered */
.woocommerce-checkout-payment .payment_methods li > input[type="radio"] {
    flex-shrink: 0 !important;
    align-self: center !important;
    margin: 0 10px 0 0 !important;
}
/* Label — fills remaining row space */
.woocommerce-checkout-payment .payment_methods .wc_payment_method > label {
    flex: 1 !important;
    align-items: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #212328 !important;
    cursor: pointer !important;
    margin: 0 !important;
}
/* Payment box — full width below the radio + label row */
.woocommerce-checkout-payment .payment_methods li > .payment_box {
    flex-basis: 100% !important;
}
.woocommerce-checkout-payment .payment_box {
    background: #f0ede9 !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    margin: 8px 0 0 !important;
    font-size: 13px !important;
    color: #555 !important;
}

/* --- eCheck info icon + tooltip --- */
.bb-echeck-info {
    display: inline-flex;
    align-items: center;
    position: relative;
    margin-left: 6px;
    color: #aaa;
    cursor: pointer;
    vertical-align: middle;
    flex-shrink: 0;
}
.bb-echeck-info:hover {
    color: #CB1D11;
}
.bb-echeck-tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    transform: none;
    width: 280px;
    background: #212328;
    color: #f0ede8;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    padding: 14px 16px;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25);
    z-index: 9999;
    pointer-events: none;
    text-align: left;
}
.bb-echeck-tooltip > strong:first-child {
    display: block;
    font-family: 'Poppins', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}
.bb-echeck-tooltip p strong {
    display: inline;
    color: #fff;
}
.bb-echeck-tooltip p {
    margin: 0 0 8px;
    color: #c8c4be;
}
.bb-echeck-tooltip p:last-child {
    margin-bottom: 0;
}
.bb-echeck-info--open .bb-echeck-tooltip,
.bb-echeck-info:hover .bb-echeck-tooltip {
    display: block;
}

/* Place-order area */
.woocommerce-checkout-payment .place-order {
    padding: 20px 24px 24px !important;
    background: transparent !important;
}

/* Payment logos + SSL — standalone card below order review */
.bb-checkout-payment-footer {
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 16px 20px 18px !important;
    margin-top: 12px !important;
}
.bb-checkout-payment-footer .bb-payment-label {
    padding: 0 0 10px !important;
}
.bb-checkout-payment-footer .bb-secure-notice {
    padding-bottom: 0 !important;
    margin-top: 8px !important;
}
/* Logos inside checkout footer — no border (images load fine outside #payment) */
.bb-checkout-payment-footer .bb-pay-logo {
    border: none !important;
    box-shadow: none !important;
}

/* Place Order button */
#place_order {
    width: 100% !important;
    background: #CB1D11 !important;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    padding: 16px 24px !important;
    border-radius: 4px !important;
    border: none !important;
    cursor: pointer !important;
    letter-spacing: 0.3px !important;
    display: block !important;
    transition: background 0.2s ease !important;
    margin-bottom: 0 !important;
    position: relative !important;
    z-index: 10 !important;
}
#place_order:hover {
    background: #a01710 !important;
}

/* Phone callout — below Place Order button, room to breathe */
.bb-checkout-phone-callout {
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    color: #777 !important;
    padding: 16px 0 8px !important;
    border: none !important;
    background: none !important;
}
.bb-checkout-phone-callout a {
    color: #CB1D11 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
.bb-checkout-phone-callout a:hover {
    text-decoration: underline !important;
}

/* Trust signals — above Place Order button */
.bb-place-order-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
    padding: 14px 16px;
    background: #F8F7F5;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #555;
}
.bb-pot-item {
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1.4;
}
.bb-pot-item svg {
    flex-shrink: 0;
    color: #888;
}
.bb-pot-item a {
    color: #CB1D11;
    font-weight: 700;
    text-decoration: none;
}
.bb-pot-item a:hover {
    text-decoration: underline;
}
/* Secure tooltip */
.bb-pot-secure {
    position: relative;
    cursor: default;
}
.bb-pot-tooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    width: 270px;
    background: #212328;
    color: #F0EDE8;
    font-size: 12px;
    line-height: 1.5;
    padding: 10px 12px;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.18);
    z-index: 100;
    pointer-events: none;
}
.bb-pot-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 16px;
    border: 6px solid transparent;
    border-top-color: #212328;
}
.bb-pot-secure:hover .bb-pot-tooltip {
    display: block;
}

/* --- Checkout mobile --- */
@media (max-width: 768px) {

    /* Trust bar — all 4 items in 2-col grid, no full-width overrides */
    .bb-checkout-trust-bar .bb-trust-items {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }
    .bb-checkout-trust-bar .bb-trust-item {
        background: #f8f7f5 !important;
        border-radius: 6px !important;
        padding: 8px 10px !important;
        font-size: 11px !important;
        align-items: flex-start !important;
        line-height: 1.4 !important;
    }
    /* Override cart's nth-child full-width rules for checkout items */
    .bb-checkout-trust-bar .bb-trust-item:nth-child(3),
    .bb-checkout-trust-bar .bb-trust-item:nth-child(4),
    .bb-checkout-trust-bar .bb-trust-item:nth-child(5) {
        grid-column: auto !important;
        align-items: flex-start !important;
    }

    /* Billing column — full width, float off */
    .woocommerce-checkout #customer_details,
    .woocommerce-checkout #customer_details .col-1,
    .woocommerce-checkout #customer_details .col-2 {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* Form field pairs — stack on mobile */
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        float: none !important;
        width: 100% !important;
        margin-right: 0 !important;
    }

    /* Order review card — full width, float off */
    #order_review_heading,
    #order_review {
        float: none !important;
        width: 100% !important;
        clear: both !important;
    }
    #order_review_heading {
        border-radius: 6px 6px 0 0 !important;
    }

    /* Freight notice full width on mobile */
    .bb-checkout-freight-notice {
        margin: 12px 16px !important;
    }

    /* Payment section padding tighter on mobile */
    .woocommerce-checkout-payment .payment_methods {
        padding: 14px 16px !important;
    }
    .woocommerce-checkout-payment .place-order {
        padding: 16px 16px 20px !important;
    }
    .woocommerce-checkout-review-order-table thead th,
    .woocommerce-checkout-review-order-table tbody tr td,
    .woocommerce-checkout-review-order-table tfoot tr th,
    .woocommerce-checkout-review-order-table tfoot tr td {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .woocommerce-checkout-review-order-table tfoot tr.order-total th,
    .woocommerce-checkout-review-order-table tfoot tr.order-total td {
        padding: 14px 16px !important;
    }
    .bb-checkout-payment-footer {
        padding: 14px 16px 18px !important;
    }
}

/* =============================================
   CART — PRINT / EXPORT PDF
============================================= */
@media print {

    /* Hide everything except the cart content */
    #wpadminbar,
    .main-header-bar,
    .site-footer,
    .bb-cart-trust-bar,
    .bb-cart-cross-sells-wrap,
    .woocommerce-cart .cross-sells,
    .wc-proceed-to-checkout,
    .bb-cart-or,
    .bb-call-btn,
    .bb-payment-label,
    .bb-payment-logos,
    .bb-secure-notice,
    .woocommerce-cart-form .actions,
    nav, aside, .widget-area {
        display: none !important;
    }

    /* Reset grid to single column */
    .bb-cart-grid {
        display: block !important;
    }

    /* Remove shadows and rounded corners for print */
    .bb-cart-left,
    .woocommerce-cart .cart_totals {
        box-shadow: none !important;
        border: 1px solid #ccc !important;
        border-radius: 0 !important;
        margin-bottom: 20px !important;
    }

    /* Show full shipping options without scroll */
    .woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals td .woocommerce-shipping-methods {
        max-height: none !important;
        overflow: visible !important;
    }

    /* BranaBee header for the printed page */
    body::before {
        content: "BranaBee.com — Cart Summary";
        display: block;
        font-family: 'Montserrat', sans-serif;
        font-size: 20px;
        font-weight: 800;
        color: #212328;
        padding-bottom: 12px;
        border-bottom: 3px solid #CB1D11;
        margin-bottom: 20px;
    }

    body {
        background: #fff !important;
        color: #212328 !important;
        font-size: 12px !important;
    }
}

/* ==============================================
   ORDER CONFIRMATION PAGE
   ============================================== */

/* ── Failed payment card ── */
.bb-order-failed {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    background: #fff8f8;
    border: 1px solid #f5c6c4;
    border-left: 4px solid #CB1D11;
    border-radius: 8px;
    padding: 24px 28px;
    margin-bottom: 28px;
    font-family: 'Montserrat', sans-serif;
}
.bb-ofw-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: #CB1D11;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-top: 2px;
}
.bb-ofw-body {
    flex: 1;
}
.bb-ofw-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #212328 !important;
    margin: 0 0 10px !important;
}
.bb-ofw-message {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0 0 20px;
}
.bb-ofw-message strong {
    color: #212328;
}
.bb-ofw-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.bb-ofw-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 11px 20px;
    border-radius: 4px;
    text-decoration: none !important;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}
.bb-ofw-btn--primary {
    background: #CB1D11;
    color: #fff !important;
    border: 2px solid #CB1D11;
}
.bb-ofw-btn--primary:hover {
    background: #a01710;
    border-color: #a01710;
}
.bb-ofw-btn--phone {
    background: #212328;
    color: #fff !important;
    border: 2px solid #212328;
}
.bb-ofw-btn--phone:hover {
    background: #333840;
    border-color: #333840;
}
.bb-ofw-btn--secondary {
    background: transparent;
    color: #555 !important;
    border: 2px solid #ddd;
}
.bb-ofw-btn--secondary:hover {
    border-color: #aaa;
    color: #212328 !important;
}
.bb-ofw-tips-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #999;
    margin: 0 0 8px;
}
.bb-ofw-tips {
    margin: 0;
    padding-left: 18px;
    font-size: 13px;
    color: #666;
    line-height: 1.7;
}
@media (max-width: 600px) {
    .bb-order-failed {
        flex-direction: column;
        gap: 14px;
        padding: 20px 18px;
    }
    .bb-ofw-actions {
        flex-direction: column;
    }
    .bb-ofw-btn {
        justify-content: center;
    }
}

/* ── Page title ── */
.woocommerce-order-received h1.entry-title,
.woocommerce-order-received h1.page-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #212328 !important;
    margin-bottom: 20px !important;
}

/* ── Order received banner ── */
.bb-orb-wrap {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #f0fdf4;
    border: 1px solid #86efac;
    border-left: 4px solid #22c55e;
    border-radius: 8px;
    padding: 20px 24px;
    margin-bottom: 24px;
    font-family: 'Montserrat', sans-serif;
}
.bb-orb-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    background: #22c55e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-top: 2px;
}
.bb-orb-body {
    flex: 1;
}
/* Keep WC class on the <p> but restyle it */
.woocommerce-order-received p.woocommerce-thankyou-order-received,
.bb-orb-message {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #166534 !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}
.bb-orb-sub {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #555;
    margin: 0;
    line-height: 1.55;
}
.bb-orb-sub strong {
    color: #212328;
    font-weight: 700;
}
@media (max-width: 600px) {
    .bb-orb-wrap {
        padding: 16px;
        gap: 12px;
    }
    .bb-orb-icon {
        width: 36px;
        height: 36px;
    }
    .bb-orb-icon svg {
        width: 20px;
        height: 20px;
    }
}

/* ── Order meta overview bar ── */
.woocommerce-order-received ul.woocommerce-thankyou-order-details {
    background: #212328 !important;
    border-radius: 8px !important;
    padding: 20px 24px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 32px !important;
    list-style: none !important;
    margin: 0 0 28px !important;
}
.woocommerce-order-received ul.woocommerce-thankyou-order-details li {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    color: #b0aba3 !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.woocommerce-order-received ul.woocommerce-thankyou-order-details li strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #F0EDE8 !important;
}

/* ── Order details section ── */
.woocommerce-order-received .woocommerce-order-details {
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 28px 32px !important;
    margin-bottom: 24px !important;
}
.woocommerce-order-received .woocommerce-order-details__title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #212328 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin-bottom: 20px !important;
}
.woocommerce-order-received table.woocommerce-table--order-details {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    width: 100% !important;
    border-collapse: collapse !important;
}
/* Column headers */
.woocommerce-order-received table.woocommerce-table--order-details thead th {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #aaa !important;
    border-bottom: 2px solid #F0EDE8 !important;
    padding: 0 12px 12px !important;
}
/* Product rows */
.woocommerce-order-received table.woocommerce-table--order-details tbody td {
    padding: 16px 12px !important;
    border-bottom: 1px solid #F0EDE8 !important;
    vertical-align: top !important;
    color: #212328 !important;
    line-height: 1.5 !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tbody tr:last-child td {
    border-bottom: 2px solid #E0DDD8 !important;
}
/* Product name link */
.woocommerce-order-received table.woocommerce-table--order-details .product-name a:first-of-type {
    color: #212328 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.woocommerce-order-received table.woocommerce-table--order-details .product-name a:first-of-type:hover {
    color: #CB1D11 !important;
    text-decoration: underline !important;
}
/* Quantity — × N readable but secondary */
.woocommerce-order-received table.woocommerce-table--order-details strong.product-quantity {
    font-weight: 600 !important;
    color: #777 !important;
    font-size: 14px !important;
}
/* Seller link — always the last <a> in the product name cell */
.woocommerce-order-received table.woocommerce-table--order-details .product-name a:last-of-type {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #aaa !important;
    text-decoration: none !important;
    display: inline-block !important;
    margin-top: 3px !important;
}
.woocommerce-order-received table.woocommerce-table--order-details .product-name a:last-of-type:hover {
    color: #CB1D11 !important;
    text-decoration: underline !important;
}
/* Totals section */
.woocommerce-order-received table.woocommerce-table--order-details tfoot {
    background: #F8F7F5 !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot td {
    font-size: 14px !important;
    color: #555 !important;
    padding: 8px 12px !important;
    border: none !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:first-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:first-child td {
    padding-top: 16px !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #212328 !important;
    border-top: 2px solid #212328 !important;
    padding-top: 14px !important;
    padding-bottom: 16px !important;
}

/* ── Billing address section ── */
.woocommerce-order-received .woocommerce-customer-details {
    background: #fff !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    padding: 28px 32px !important;
    margin-bottom: 24px !important;
}
.woocommerce-order-received .woocommerce-column__title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.09em !important;
    color: #888 !important;
    margin-bottom: 12px !important;
}
.woocommerce-order-received address {
    font-style: normal !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    color: #444 !important;
    line-height: 1.7 !important;
}

/* ── Mobile ── */
@media (max-width: 600px) {
    .woocommerce-order-received ul.woocommerce-thankyou-order-details {
        gap: 16px !important;
    }
    .woocommerce-order-received .woocommerce-order-details,
    .woocommerce-order-received .woocommerce-customer-details {
        padding: 20px 16px !important;
    }
}

/* ── Page heading ── */
.bb-tyn-page-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #212328 !important;
    margin: 0 0 20px !important;
}

/* ── What Happens Next block ── */
.bb-thankyou-next {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    padding: 28px 32px;
    margin-bottom: 24px;
    font-family: 'Montserrat', sans-serif;
}
.bb-tyn-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #888;
    margin-bottom: 24px;
}

/* Steps */
.bb-tyn-steps {
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
}
.bb-tyn-step {
    display: flex;
    gap: 16px;
    position: relative;
}
.bb-tyn-step:not(:last-child)::after {
    content: '';
    position: absolute;
    left: 19px;
    top: 40px;
    bottom: 0;
    width: 2px;
    background: #E8E5E0;
}
.bb-tyn-num {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 15px;
    z-index: 1;
    position: relative;
    background: #F0EDE8;
    color: #999;
    border: 2px solid #E0DDD8;
}
.bb-tyn-num.bb-tyn-done {
    background: #CB1D11;
    color: #fff;
    border-color: #CB1D11;
}
.bb-tyn-body {
    padding-bottom: 24px;
    flex: 1;
}
.bb-tyn-step:last-child .bb-tyn-body {
    padding-bottom: 0;
}
.bb-tyn-step-title {
    font-weight: 700;
    font-size: 15px;
    color: #212328;
    margin-bottom: 3px;
    padding-top: 8px;
}
.bb-tyn-step:first-child .bb-tyn-step-title {
    color: #CB1D11;
}
.bb-tyn-step-desc {
    font-size: 13px;
    color: #777;
    line-height: 1.55;
}
.bb-tyn-step-desc a {
    color: #CB1D11;
    font-weight: 700;
    text-decoration: none;
}
.bb-tyn-step-desc a:hover { text-decoration: underline; }

/* Notices */
.bb-tyn-notice {
    background: #FFF8E7;
    border-left: 4px solid #F5C200;
    border-radius: 0 6px 6px 0;
    padding: 14px 16px;
    font-size: 13px;
    color: #555;
    line-height: 1.55;
}
.bb-tyn-notice strong {
    display: block;
    color: #212328;
    font-size: 14px;
    margin-bottom: 4px;
}
.bb-tyn-notice a {
    color: #CB1D11;
    font-weight: 700;
    text-decoration: none;
}
.bb-tyn-notice a:hover { text-decoration: underline; }

/* ── Footer — phone callout + print ── */
.bb-tyn-footer {
    margin-top: 24px;
    font-family: 'Montserrat', sans-serif;
}
.bb-tyn-phone {
    background: #212328;
    border-radius: 8px;
    padding: 22px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
.bb-tyn-phone-text strong {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 3px;
}
.bb-tyn-phone-text span {
    font-size: 13px;
    color: #888;
}
.bb-tyn-phone a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #CB1D11;
    color: #fff !important;
    font-weight: 700;
    font-size: 15px;
    padding: 12px 22px;
    border-radius: 6px;
    text-decoration: none !important;
    white-space: nowrap;
}
.bb-tyn-phone a:hover { background: #a01710; }
/* Print button — inside dark meta bar */
.bb-tyn-print-li {
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    border: none !important;
    padding: 0 !important;
}
.bb-tyn-print {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.25);
    border-radius: 5px;
    padding: 7px 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #b0aba3;
    cursor: pointer;
    white-space: nowrap;
}
.bb-tyn-print:hover {
    border-color: rgba(255,255,255,0.5);
    color: #F0EDE8;
}

/* ── Mobile ── */
@media (max-width: 600px) {
    .bb-thankyou-next { padding: 24px 20px; }
    .bb-tyn-phone { flex-direction: column; text-align: center; }
    .bb-tyn-phone a { width: 100%; justify-content: center; }
    .bb-tyn-actions { flex-direction: column; text-align: center; }
}

/* ── Print ── */
@media print {
    /* Hide UI chrome */
    .bb-tyn-phone,
    .bb-tyn-print,
    .bb-tyn-print-li,
    #wpadminbar,
    .main-header-bar,
    .ast-above-header-bar,
    .site-footer,
    .bb-thankyou-next,
    .bb-tyn-notice { display: none !important; }

    /* Page setup */
    body {
        background: #fff !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: 12px !important;
        color: #000 !important;
    }

    /* Remove card styling — flat on white */
    .woocommerce-order-received ul.woocommerce-thankyou-order-details,
    .woocommerce-order-received .woocommerce-order-details,
    .woocommerce-order-received .woocommerce-customer-details {
        background: #fff !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin-bottom: 24pt !important;
    }

    /* Order meta bar — print as a clean info row */
    .woocommerce-order-received ul.woocommerce-thankyou-order-details {
        border: 1.5pt solid #000 !important;
        border-radius: 0 !important;
        padding: 10pt 14pt !important;
        display: flex !important;
        gap: 24pt !important;
    }
    .woocommerce-order-received ul.woocommerce-thankyou-order-details li {
        color: #000 !important;
    }
    .woocommerce-order-received ul.woocommerce-thankyou-order-details li strong {
        color: #000 !important;
    }

    /* Thank you text */
    .woocommerce-order-received p.woocommerce-thankyou-order-received {
        font-size: 13pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        margin-bottom: 12pt !important;
    }

    /* Order details heading */
    .woocommerce-order-received .woocommerce-order-details__title {
        font-size: 14pt !important;
        font-weight: 700 !important;
        color: #000 !important;
        border-bottom: 1.5pt solid #000 !important;
        padding-bottom: 6pt !important;
        margin-bottom: 10pt !important;
    }

    /* Table */
    .woocommerce-order-received table.woocommerce-table--order-details {
        border-collapse: collapse !important;
        width: 100% !important;
        font-size: 11pt !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details thead th {
        border-bottom: 1.5pt solid #000 !important;
        padding: 6pt 8pt !important;
        color: #000 !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        font-size: 9pt !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details tbody td {
        padding: 8pt !important;
        border-bottom: 0.5pt solid #ccc !important;
        color: #000 !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details .product-name a:first-of-type {
        color: #000 !important;
        font-weight: 600 !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details .product-name a:last-of-type {
        color: #666 !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details strong.product-quantity {
        color: #555 !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details tfoot {
        background: #fff !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details tfoot th,
    .woocommerce-order-received table.woocommerce-table--order-details tfoot td {
        padding: 5pt 8pt !important;
        color: #000 !important;
        border: none !important;
    }
    .woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
    .woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td {
        border-top: 1.5pt solid #000 !important;
        font-weight: 700 !important;
        font-size: 13pt !important;
        padding-top: 8pt !important;
    }

    /* Billing address */
    .woocommerce-order-received .woocommerce-column__title {
        font-size: 9pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.08em !important;
        color: #666 !important;
        border-bottom: 0.5pt solid #ccc !important;
        padding-bottom: 4pt !important;
        margin-bottom: 6pt !important;
    }
    .woocommerce-order-received address {
        font-size: 11pt !important;
        color: #000 !important;
        line-height: 1.6 !important;
    }

    /* Avoid page breaks inside key sections */
    .woocommerce-order-details,
    .woocommerce-customer-details {
        page-break-inside: avoid;
    }
}

/* ==============================================
   ORDER PAY PAGE  (.woocommerce-order-pay)
   ============================================== */

/* Reset checkout card styles that bleed in via naked #order_review selector */
.woocommerce-order-pay #order_review {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    overflow: visible !important;
}
.woocommerce-order-pay #order_review_heading {
    display: none !important;
}

/* ── Page header ── */
.bb-pay-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
}
.bb-pay-page-header-left {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.bb-pay-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #212328 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    line-height: 1.2 !important;
}
.bb-pay-title svg {
    color: #CB1D11;
    flex-shrink: 0;
}
.bb-pay-meta {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #888;
    margin: 0;
}

/* Status badge */
.bb-pay-status-badge {
    display: inline-block;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 5px 12px;
    border-radius: 20px;
    white-space: nowrap;
}
.bb-pay-status--pending {
    background: #FFF8E7;
    color: #8a6500;
    border: 1px solid #F5C200;
}
.bb-pay-status--failed {
    background: #fdf0ef;
    color: #CB1D11;
    border: 1px solid #CB1D11;
}
.bb-pay-status--hold {
    background: #fff3e0;
    color: #b35900;
    border: 1px solid #f5a623;
}
.bb-pay-status--default {
    background: #F8F7F5;
    color: #666;
    border: 1px solid #ddd;
}

/* ── Two-column grid ── */
.bb-pay-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 28px;
    align-items: start;
}

/* ── Card ── */
.bb-pay-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
}
.bb-pay-card-header {
    background-color: #212328;
    color: #F0EDE8;
    font-family: 'Poppins', sans-serif;
    font-size: 1.05em;
    font-weight: 600;
    padding: 14px 24px;
    margin: 0;
    border-top: 3px solid #CB1D11;
    letter-spacing: 0.2px;
}

/* ── Order summary table ── */
.bb-pay-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}
.bb-pay-table thead th {
    font-family: 'Poppins', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
    padding: 14px 24px !important;
    border-bottom: 2px solid #f0ede9;
    background: #fafafa !important;
    text-align: left !important;
}
.bb-pay-table thead th.product-total,
.bb-pay-table tbody td.product-subtotal,
.bb-pay-table tfoot td.product-total {
    text-align: right;
}
.bb-pay-table tbody tr td {
    padding: 14px 24px !important;
    border-bottom: 1px solid #f0ede9 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    vertical-align: middle !important;
    color: #212328 !important;
}
.bb-pay-table tbody tr td.product-name {
    font-weight: 600;
    line-height: 1.4;
}
.bb-pay-table tbody tr td.product-quantity {
    color: #888;
    font-size: 13px;
    white-space: nowrap;
}
.bb-pay-table tbody tr td.product-subtotal {
    font-weight: 700;
    white-space: nowrap;
}
/* Totals footer */
.bb-pay-table tfoot tr th,
.bb-pay-table tfoot tr td {
    padding: 10px 24px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    border-bottom: 1px solid #f0ede9 !important;
    color: #555 !important;
}
.bb-pay-table tfoot tr th {
    font-weight: 600;
    text-align: left;
}
.bb-pay-table tfoot tr td {
    font-weight: 600;
    text-align: right;
}
/* Grand total — last tfoot row */
.bb-pay-table tfoot tr:last-child th,
.bb-pay-table tfoot tr:last-child td {
    padding: 16px 24px !important;
    background: #f8f7f5 !important;
    font-size: 14px !important;
    font-weight: 700;
    color: #212328;
    border-bottom: none;
}
.bb-pay-table tfoot tr:last-child td strong {
    font-size: 20px;
    font-weight: 800;
    color: #212328;
}

/* ── Payment card inner ── */
.bb-pay-payment-inner {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.bb-pay-payment-inner .wc_payment_methods,
.bb-pay-payment-inner .payment_methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 16px 24px !important;
    border-top: none !important;
    border-bottom: 1px solid #f0ede9 !important;
    background: #fafafa !important;
}
.bb-pay-payment-inner .payment_methods li {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin-bottom: 8px !important;
}
.bb-pay-payment-inner .payment_methods li:last-child {
    margin-bottom: 0 !important;
}
.bb-pay-payment-inner .payment_methods li > input[type="radio"] {
    flex-shrink: 0 !important;
    align-self: center !important;
    margin: 0 10px 0 0 !important;
}
.bb-pay-payment-inner .payment_methods .wc_payment_method > label {
    flex: 1 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #212328 !important;
    cursor: pointer !important;
    margin: 0 !important;
}
.bb-pay-payment-inner .payment_methods li > .payment_box {
    flex-basis: 100% !important;
}
.bb-pay-payment-inner .payment_box {
    background: #f0ede9 !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    margin: 8px 0 0 !important;
    font-size: 13px !important;
    color: #555 !important;
    font-family: 'Montserrat', sans-serif !important;
}

/* ── Submit row ── */
.bb-pay-submit-row {
    padding: 20px 24px 24px !important;
    margin: 0 !important;
}

/* ── Trust signals above Pay button ── */
.bb-pay-trust {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
    padding: 12px 14px;
    background: #F8F7F5;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #666;
}
.bb-pay-trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1.4;
}
.bb-pay-trust-item svg {
    flex-shrink: 0;
    color: #888;
}
.bb-pay-trust-item a {
    color: #CB1D11;
    font-weight: 700;
    text-decoration: none;
}
.bb-pay-trust-item a:hover {
    text-decoration: underline;
}

/* ── Phone callout below card ── */
.bb-pay-phone-callout {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #777;
    margin: 14px 0 0;
    padding: 0;
}
.bb-pay-phone-callout a {
    color: #CB1D11;
    font-weight: 700;
    text-decoration: none;
}
.bb-pay-phone-callout a:hover {
    text-decoration: underline;
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .bb-pay-grid {
        grid-template-columns: 1fr;
    }
    .bb-pay-page-header {
        flex-direction: column;
        align-items: flex-start;
    }
    .bb-pay-title {
        font-size: 22px !important;
    }
    .bb-pay-table thead th,
    .bb-pay-table tbody tr td,
    .bb-pay-table tfoot tr th,
    .bb-pay-table tfoot tr td {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .bb-pay-card-header {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .bb-pay-payment-inner .payment_methods {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .bb-pay-submit-row {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

/* ==============================================
   ADD PAYMENT METHOD PAGE  (#add_payment_method)
   ============================================== */

/* ── Intro banner ── */
.bb-apm-intro {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #F8F7F5;
    border: 1px solid #e8e4de;
    border-left: 4px solid #212328;
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 20px;
    font-family: 'Montserrat', sans-serif;
}
.bb-apm-intro-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    background: #212328;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #F0EDE8;
    margin-top: 1px;
}
.bb-apm-intro-text {
    font-size: 13px;
    color: #555;
    line-height: 1.6;
    margin: 0;
}

/* ── Card ── */
.bb-apm-card {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    overflow: hidden;
    margin-bottom: 14px;
}
.bb-apm-card-header {
    display: flex;
    align-items: center;
    gap: 9px;
    background-color: #212328;
    color: #F0EDE8;
    font-family: 'Poppins', sans-serif;
    font-size: 1.05em;
    font-weight: 600;
    padding: 14px 24px;
    border-top: 3px solid #CB1D11;
    letter-spacing: 0.2px;
}

/* ── Payment methods list ── */
.bb-apm-payment {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.bb-apm-methods {
    list-style: none !important;
    margin: 0 !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid #f0ede9 !important;
    background: #fafafa !important;
}
.bb-apm-methods li {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin-bottom: 10px !important;
}
.bb-apm-methods li:last-child {
    margin-bottom: 0 !important;
}
.bb-apm-methods li > input[type="radio"] {
    flex-shrink: 0 !important;
    align-self: center !important;
    margin: 0 10px 0 0 !important;
}
.bb-apm-methods li > label {
    flex: 1 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #212328 !important;
    cursor: pointer !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.bb-apm-methods li > .payment_box {
    flex-basis: 100% !important;
}
.bb-apm-methods .payment_box,
.bb-apm-methods .woocommerce-PaymentBox {
    background: #f0ede9 !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    margin: 8px 0 0 !important;
    font-size: 13px !important;
    color: #555 !important;
    font-family: 'Montserrat', sans-serif !important;
}

/* ── Submit row ── */
.bb-apm-submit-row {
    padding: 20px 24px 24px !important;
    margin: 0 !important;
}

/* ── Trust signals ── */
.bb-apm-trust {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 16px;
    padding: 11px 14px;
    background: #F8F7F5;
    border-radius: 6px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    color: #666;
}
.bb-apm-trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    line-height: 1.4;
}
.bb-apm-trust-item svg {
    flex-shrink: 0;
    color: #888;
}

/* ── Phone callout ── */
.bb-apm-phone-callout {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    color: #777;
    margin: 0;
    padding: 0;
}
.bb-apm-phone-callout a {
    color: #CB1D11;
    font-weight: 700;
    text-decoration: none;
}
.bb-apm-phone-callout a:hover {
    text-decoration: underline;
}

/* ── No gateways notice ── */
.bb-apm-no-methods {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff8f8;
    border: 1px solid #f5c6c4;
    border-left: 4px solid #CB1D11;
    border-radius: 8px;
    padding: 20px 24px;
    font-family: 'Montserrat', sans-serif;
}
.bb-apm-no-methods-icon {
    flex-shrink: 0;
    color: #CB1D11;
    margin-top: 2px;
}
.bb-apm-no-methods-text {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0 0 14px;
}
.bb-apm-call-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #212328;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 4px;
    text-decoration: none !important;
    transition: background 0.2s ease;
}
.bb-apm-call-btn:hover {
    background: #333840;
}

/* ── Mobile ── */
@media (max-width: 600px) {
    .bb-apm-intro {
        flex-direction: column;
        gap: 10px;
    }
    .bb-apm-card-header,
    .bb-apm-methods,
    .bb-apm-submit-row {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .bb-apm-no-methods {
        flex-direction: column;
        gap: 10px;
        padding: 16px;
    }
}

/* =============================================
   MY ACCOUNT — Page Layout & Navigation
============================================= */

/* ── Page container: constrain & center ── */
.woocommerce-account .ast-container,
.woocommerce-account .site-content .ast-container,
.woocommerce-account #content .ast-container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

/* ── Two-column wrapper ── */
.woocommerce-account .woocommerce {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
    float: none !important;
    padding: 40px 0 !important;
}

/* ── Navigation sidebar ── */
.woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 0 0 220px !important;
    width: 220px !important;
    float: none !important;
    position: sticky;
    top: 100px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    overflow: hidden;
}

/* "My Account" label above the nav list */
.woocommerce-account .woocommerce-MyAccount-navigation ul::before {
    content: "My Account";
    display: block;
    background: #212328;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 11px 16px;
}

/* Individual nav items */
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    background: transparent !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li:last-child {
    border-bottom: none !important;
}

/* Nav links */
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    display: block !important;
    padding: 10px 16px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    color: #444 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent !important;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    line-height: 1.4 !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
    color: #CB1D11 !important;
    border-left-color: #CB1D11 !important;
    background: #fdf5f5 !important;
}

/* Active nav item */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: #CB1D11 !important;
    font-weight: 700 !important;
    border-left-color: #CB1D11 !important;
    background: #fdf5f5 !important;
}

/* Log out link — muted */
.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #888 !important;
    font-size: 0.8rem !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: #CB1D11 !important;
    border-left-color: #CB1D11 !important;
    background: #fdf5f5 !important;
}

/* ── Content area ── */
.woocommerce-account .woocommerce-MyAccount-content {
    flex: 1 1 0% !important;
    min-width: 0 !important;
    width: auto !important;
    float: none !important;
    padding: 0 !important;
}

/* ── Tablet: keep two columns, tighter gap ── */
@media (max-width: 1024px) and (min-width: 769px) {
    .woocommerce-account .woocommerce {
        gap: 20px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 0 0 190px !important;
        width: 190px !important;
    }
}

/* ── Mobile: horizontal tab bar above content ── */
@media (max-width: 768px) {
    .woocommerce-account .ast-container,
    .woocommerce-account .site-content .ast-container,
    .woocommerce-account #content .ast-container {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .woocommerce-account .woocommerce {
        flex-direction: column !important;
        gap: 16px !important;
        padding: 20px 0 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        flex: 0 0 auto !important;
        width: 100% !important;
        position: static !important;
    }

    /* Horizontal scrollable pill row */
    .woocommerce-account .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-radius: 6px !important;
        scrollbar-width: none !important;
        background: #212328 !important;
        border: none !important;
        padding: 8px !important;
        gap: 4px !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        display: none;
    }

    /* Hide the desktop "My Account" pseudo-label */
    .woocommerce-account .woocommerce-MyAccount-navigation ul::before {
        display: none !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li {
        flex: 0 0 auto !important;
        border: none !important;
        background: transparent !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
        display: block !important;
        padding: 7px 13px !important;
        border: none !important;
        border-radius: 4px !important;
        font-size: 0.78rem !important;
        font-weight: 600 !important;
        color: #ccc !important;
        white-space: nowrap !important;
        background: transparent !important;
        transition: color 0.15s, background 0.15s;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
        color: #fff !important;
        background: rgba(255,255,255,0.1) !important;
        border-left-color: transparent !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
        background: #CB1D11 !important;
        color: #fff !important;
        font-weight: 700 !important;
        border-left-color: transparent !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
        color: #888 !important;
        font-size: 0.78rem !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
    }
}

/* =============================================
   PRODUCT OFFERS — Plugify Make an Offer
============================================= */

/* ── Section header injected above the table wrapper ── */
.woocommerce-account .woocommerce-MyAccount-content:has(#plugify_tbl_offers_pl)::before {
    content: "Your Offers";
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    color: #212328;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    border-left: 4px solid #CB1D11;
    padding: 4px 0 4px 14px;
    margin-bottom: 28px;
    line-height: 1.2;
}

/* ── DataTables wrapper ── */
.woocommerce-account .dataTables_wrapper {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    color: #212328;
}

/* Search + length controls row */
.woocommerce-account .dataTables_wrapper .dataTables_length,
.woocommerce-account .dataTables_wrapper .dataTables_filter {
    margin-bottom: 14px;
    font-size: 0.85rem;
    color: #555;
}

.woocommerce-account .dataTables_wrapper .dataTables_filter input,
.woocommerce-account .dataTables_wrapper .dataTables_length select {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.85rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 6px 10px;
    color: #212328;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-account .dataTables_wrapper .dataTables_filter input:focus,
.woocommerce-account .dataTables_wrapper .dataTables_length select:focus {
    outline: none;
    border-color: #CB1D11;
    box-shadow: 0 0 0 2px rgba(203,29,17,0.1);
}

/* Pagination */
.woocommerce-account .dataTables_wrapper .dataTables_paginate .paginate_button {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.82rem !important;
    border-radius: 4px !important;
    padding: 5px 10px !important;
    color: #444 !important;
    border: 1px solid #ddd !important;
    background: #fff !important;
    margin: 0 2px !important;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.woocommerce-account .dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #fdf5f5 !important;
    border-color: #CB1D11 !important;
    color: #CB1D11 !important;
}

.woocommerce-account .dataTables_wrapper .dataTables_paginate .paginate_button.current,
.woocommerce-account .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: #CB1D11 !important;
    border-color: #CB1D11 !important;
    color: #fff !important;
    font-weight: 700 !important;
}

.woocommerce-account .dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.woocommerce-account .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    color: #bbb !important;
    border-color: #eee !important;
    cursor: default;
}

.woocommerce-account .dataTables_wrapper .dataTables_info {
    font-size: 0.82rem;
    color: #888;
    margin-top: 12px;
}

/* ── Table ── */
#plugify_tbl_offers_pl {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
}

/* Header row */
#plugify_tbl_offers_pl thead tr {
    background: #212328 !important;
}

#plugify_tbl_offers_pl thead th {
    background: #212328 !important;
    color: #fff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    padding: 13px 16px !important;
    border: none !important;
    white-space: nowrap;
}

/* Sortable column indicator */
#plugify_tbl_offers_pl thead th.sorting::after,
#plugify_tbl_offers_pl thead th.sorting_asc::after,
#plugify_tbl_offers_pl thead th.sorting_desc::after {
    color: rgba(255,255,255,0.5) !important;
}

/* Body rows */
#plugify_tbl_offers_pl tbody tr {
    background: #fff !important;
    transition: background 0.15s;
}

#plugify_tbl_offers_pl tbody tr:nth-child(even) {
    background: #fafaf9 !important;
}

#plugify_tbl_offers_pl tbody tr:hover {
    background: #fdf5f5 !important;
}

#plugify_tbl_offers_pl tbody td {
    padding: 13px 16px !important;
    border-bottom: 1px solid #efefef !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    color: #212328 !important;
    font-size: 0.88rem !important;
    vertical-align: middle !important;
}

/* Empty state */
#plugify_tbl_offers_pl tbody td[colspan] {
    text-align: center !important;
    padding: 40px 16px !important;
    color: #888 !important;
    font-size: 0.9rem !important;
    font-style: italic;
    background: #fafaf9 !important;
}

/* ── Status badge styling (when offers exist) ── */
#plugify_tbl_offers_pl .status-pending {
    color: #b45309;
}

#plugify_tbl_offers_pl .status-accepted {
    color: #15803d;
}

#plugify_tbl_offers_pl .status-declined {
    color: #CB1D11;
}

/* Action buttons inside table */
#plugify_tbl_offers_pl .button,
#plugify_tbl_offers_pl a.button,
#plugify_tbl_offers_pl button {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 6px 14px !important;
    border-radius: 4px !important;
    border: none !important;
    background: #212328 !important;
    color: #fff !important;
    cursor: pointer !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: background 0.15s;
}

#plugify_tbl_offers_pl .button:hover,
#plugify_tbl_offers_pl a.button:hover,
#plugify_tbl_offers_pl button:hover {
    background: #CB1D11 !important;
    color: #fff !important;
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce-MyAccount-content:has(#plugify_tbl_offers_pl)::before {
        font-size: 1.1rem;
        margin-bottom: 18px;
    }

    .woocommerce-account .dataTables_wrapper .dataTables_length,
    .woocommerce-account .dataTables_wrapper .dataTables_filter {
        float: none !important;
        text-align: left !important;
        margin-bottom: 10px;
    }

    #plugify_tbl_offers_pl thead th,
    #plugify_tbl_offers_pl tbody td {
        padding: 10px 10px !important;
        font-size: 0.8rem !important;
    }

    #plugify_tbl_offers_pl thead th {
        font-size: 0.7rem !important;
    }
}

/* ── Make an Offer — Popup Modal ── */

/* Dark overlay backdrop */
#plugify_offer_pop_up {
    background: rgba(0, 0, 0, 0.8) !important;
}

/* Modal box — sheet metal texture (no caution tape) */
#plugify_offer_pop_up .modal-content {
    background:
        repeating-linear-gradient(
            -55deg,
            rgba(255,255,255,0.025) 0px, rgba(255,255,255,0.025) 1px,
            transparent 1px, transparent 8px
        ),
        repeating-linear-gradient(
            35deg,
            rgba(0,0,0,0.06) 0px, rgba(0,0,0,0.06) 1px,
            transparent 1px, transparent 8px
        ),
        linear-gradient(160deg, #363b44 0%, #2a2e36 35%, #1e2228 70%, #252830 100%) !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 6px !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.1),
        inset 0 -1px 0 rgba(0,0,0,0.35),
        0 32px 80px rgba(0,0,0,0.65) !important;
    overflow: hidden !important;
}

/* Weld-bead top edge */
#plugify_offer_pop_up .modal-content::before {
    content: '';
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #4a5060 0%, #6a7080 20%, #3a4050 40%, #5a6070 60%, #3a4050 80%, #5a6070 100%);
    opacity: 0.7;
}

/* Modal header */
#plugify_offer_pop_up .modal-header {
    background: rgba(0, 0, 0, 0.35) !important;
    border-bottom: 2px solid #CB1D11 !important;
    padding: 0 !important;
}

/* Header inner row — title left, × right */
#plugify_offer_pop_up .modal-header > div {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
}

/* "Make an Offer" title */
#plugify_offer_pop_up h2.modal-title {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 800 !important;
    font-size: 1rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 14px 20px 12px !important;
    margin: 0 !important;
    width: auto !important;
}

/* Close × — pushed to far right by space-between */
#plugify_offer_pop_up label.close {
    color: #b0aaa4 !important;
    opacity: 1 !important;
    font-size: 1.6rem !important;
    line-height: 1 !important;
    padding: 10px 16px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    float: none !important;
    margin: 0 !important;
    transition: color 0.15s;
}
#plugify_offer_pop_up label.close:hover {
    color: #CB1D11 !important;
}

/* Modal body */
#plugify_offer_pop_up .modal-body {
    background: transparent !important;
    padding: 18px 22px !important;
    margin-top: 0 !important;
}

/* Product name text */
#plugify_offer_pop_up .modal-body .ruletblrowss td div > strong {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    line-height: 1.4 !important;
}

/* Price display */
#plugify_offer_pop_up .woocommerce-Price-amount {
    color: #b0aaa4 !important;
}

/* Field labels (Name*, Email*, etc.) */
#plugify_offer_pop_up .modal-body td {
    text-align: left !important;
    padding-top: 14px !important;
    padding-bottom: 0 !important;
    vertical-align: bottom !important;
}
#plugify_offer_pop_up .modal-body td > strong {
    color: #b0aaa4 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    display: block !important;
    text-align: left !important;
    margin-bottom: 4px !important;
}
/* Collapse the <br> between label and input */
#plugify_offer_pop_up .modal-body td > strong + br {
    display: none !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

/* Required asterisk */
#plugify_offer_pop_up .modal-body td > strong span[style*="color:red"] {
    color: #CB1D11 !important;
}

/* Inputs + textarea */
#plugify_offer_pop_up .modal-body input[type="text"],
#plugify_offer_pop_up .modal-body input[type="email"],
#plugify_offer_pop_up .modal-body input[type="number"],
#plugify_offer_pop_up .modal-body textarea {
    background: rgba(0, 0, 0, 0.35) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 3px !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    padding: 8px 10px !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4) !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
}
#plugify_offer_pop_up .modal-body input[type="text"]:focus,
#plugify_offer_pop_up .modal-body input[type="email"]:focus,
#plugify_offer_pop_up .modal-body input[type="number"]:focus,
#plugify_offer_pop_up .modal-body textarea:focus {
    outline: none !important;
    border-color: #CB1D11 !important;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 2px rgba(203, 29, 17, 0.25) !important;
}

/* How it works info strip */
#plugify_offer_pop_up .plgfy-offer-how-it-works {
    padding: 10px 0 14px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07) !important;
    margin-bottom: 4px !important;
}
#plugify_offer_pop_up .plgfy-offer-how-it-works p {
    margin: 0 !important;
    padding: 10px 14px !important;
    background: rgba(203, 29, 17, 0.08) !important;
    border-left: 3px solid #CB1D11 !important;
    border-radius: 2px !important;
    color: #b0aaa4 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
}

/* Price below product name */
#plugify_offer_pop_up .plgfy-modal-price {
    display: block;
    color: #b0aaa4 !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    margin-top: 4px !important;
}

/* Input placeholder text */
#plugify_offer_pop_up .modal-body input::placeholder,
#plugify_offer_pop_up .modal-body textarea::placeholder {
    color: rgba(255, 255, 255, 0.3) !important;
}

/* Hide number input spinners */
#plugify_offer_pop_up .modal-body input[type="number"]::-webkit-inner-spin-button,
#plugify_offer_pop_up .modal-body input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
#plugify_offer_pop_up .modal-body input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Modal footer */
#plugify_offer_pop_up .modal-footer {
    background: transparent !important;
    border-top: none !important;
    padding: 16px 22px !important;
}

/* Submit button */
#plugify_offer_pop_up .modal-footer button#plgfyqdp_edit_rule_details {
    display: block !important;
    width: 30% !important;
    float: none !important;
    margin: 0 auto !important;
    background: #CB1D11 !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    padding: 13px 24px !important;
    border: none !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 10px rgba(203, 29, 17, 0.4) !important;
    transition: background 0.2s, box-shadow 0.2s !important;
}
#plugify_offer_pop_up .modal-footer button#plgfyqdp_edit_rule_details:hover {
    background: #A01509 !important;
    box-shadow: 0 4px 18px rgba(203, 29, 17, 0.55) !important;
}

/* Corner rivets on modal box */
#plugify_offer_pop_up .modal-content::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 10px;
    right: 14px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #6a7080, #2a2e36);
    box-shadow: 0 1px 3px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.15), -26px 0 0 0 #3a3f48;
    pointer-events: none;
}

/* ── Make an Offer — Mobile ── */
@media (max-width: 768px) {
    #plugify_offer_pop_up {
        align-items: flex-start !important;
        justify-content: center !important;
        overflow-y: auto !important;
        padding: 32px 4% !important;
        box-sizing: border-box !important;
    }
    #plugify_offer_pop_up .modal-dialog {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: 100% !important;
    }
    #plugify_offer_pop_up .modal-content {
        width: 100% !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 auto !important;
    }

    /* Stack two-column table rows */
    #plugify_offer_pop_up .modal-body .ruletblrowss tr {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    #plugify_offer_pop_up .modal-body .ruletblrowss td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Tap-friendly inputs */
    #plugify_offer_pop_up .modal-body input[type="text"],
    #plugify_offer_pop_up .modal-body input[type="email"],
    #plugify_offer_pop_up .modal-body input[type="number"] {
        min-height: 44px !important;
        font-size: 16px !important;
    }
    #plugify_offer_pop_up .modal-body textarea {
        font-size: 16px !important;
    }

    /* Submit button full width on mobile */
    #plugify_offer_pop_up .modal-footer button#plgfyqdp_edit_rule_details {
        width: 100% !important;
        min-height: 48px !important;
    }

    /* Tighter padding to fit form on screen */
    #plugify_offer_pop_up .modal-body { padding: 12px 14px !important; }
    #plugify_offer_pop_up .modal-footer { padding: 10px 14px 16px !important; }
    #plugify_offer_pop_up .modal-body td { padding-top: 10px !important; }

    /* Header title — prevent wrapping */
    #plugify_offer_pop_up h2.modal-title {
        font-size: 0.85rem !important;
        padding: 12px 14px 10px !important;
    }
    #plugify_offer_pop_up label.close {
        padding: 10px 12px !important;
    }
}

/* ── Make an Offer — Small phones ── */
@media (max-width: 480px) {
    #plugify_offer_pop_up {
        align-items: flex-start !important;
        justify-content: center !important;
        overflow-y: auto !important;
        padding: 24px 2% !important;
        box-sizing: border-box !important;
    }
    /* Kill any vertical centering transforms the plugin applies */
    #plugify_offer_pop_up .modal-dialog {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: 100% !important;
    }
    #plugify_offer_pop_up .modal-content {
        width: 100% !important;
        max-height: none !important;
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 auto !important;
    }
}


/* ── Mobile Off-Canvas Menu ── */

/* Override Astra's #f9f9f9 background on the menu wrapper */
.ast-header-break-point .main-header-menu {
    background-color: #212328 !important;
}

/* Override Astra's media query that sets background via --ast-global-color-4 (#fff) */
@media (max-width: 921px) {
    .ast-builder-menu-mobile .main-navigation .main-header-menu,
    .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link,
    .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
        background-color: #212328 !important;
        background-image: none;
    }
}

/* Top-level links */
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link {
    color: #F8F7F5 !important;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 12px 20px !important;
    transition: color 0.2s ease, background-color 0.2s ease;
}

/* Hover */
.ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link:hover {
    color: #F5C200 !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Active / current page */
.ast-builder-menu-mobile .main-navigation .main-header-menu .current-menu-item > .menu-link,
.ast-builder-menu-mobile .main-navigation .main-header-menu .current_page_item > .menu-link {
    color: #F5C200 !important;
    border-left: 3px solid #CB1D11 !important;
    padding-left: 17px !important;
}

/* Dropdown arrow icons */
.ast-builder-menu-mobile .main-navigation .main-header-menu .ast-arrow-svg path {
    fill: #F8F7F5 !important;
}

/* Dropdown toggle button */
.ast-builder-menu-mobile .main-navigation .ast-menu-toggle {
    color: #F8F7F5 !important;
}

/* Sub-menu background */
.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
    background-color: #1a1c20 !important;
}

/* Sub-menu links */
.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .menu-link {
    color: rgba(248, 247, 245, 0.8) !important;
    font-size: 0.9em;
    padding-left: 32px !important;
    border-bottom-color: rgba(255, 255, 255, 0.05) !important;
}

.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .menu-link:hover {
    color: #F5C200 !important;
    background-color: rgba(255, 255, 255, 0.04) !important;
}

/* Hide decorative arrows inside sub-menu link text */
.ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .ast-icon {
    display: none;
}

/* =============================================
   MOBILE FILTER DRAWER — SHOP / ARCHIVE PAGES
============================================= */

/* PHP always outputs bar + drawer; hide on desktop */
.bb-filter-bar,
.bb-filter-drawer {
    display: none !important;
}

@media (max-width: 768px) {

    /*
     * Hide sidebar before JS moves it into the drawer.
     * Once JS adds .bb-in-drawer, :not(.bb-in-drawer) stops matching
     * so the hide rule drops away — no specificity fight needed.
     */
    body.woocommerce #secondary:not(.bb-in-drawer),
    body.woocommerce-page #secondary:not(.bb-in-drawer) {
        display: none !important;
    }

    /* Sidebar once JS has placed it inside the drawer */
    #secondary.bb-in-drawer {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        flex: none !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* Toggle bar — override the global display:none */
    .bb-filter-bar {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        background: #fff;
        border: 1px solid #e5e2de;
        border-radius: 6px;
        padding: 12px 16px;
        margin-bottom: 10px;
        cursor: pointer;
        user-select: none;
        width: 100%;
        box-sizing: border-box;
        -webkit-tap-highlight-color: transparent;
    }

    .bb-filter-bar-left {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .bb-filter-bar-label {
        font-family: 'Poppins', sans-serif;
        font-size: 13px;
        font-weight: 700;
        color: #212328;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    /* Active filter count badge */
    .bb-filter-bar-count {
        display: none;
        background: #CB1D11;
        color: #fff;
        font-family: 'Poppins', sans-serif;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        padding: 3px 7px;
        border-radius: 10px;
        min-width: 18px;
        text-align: center;
    }

    .bb-filter-bar-count.bb-has-filters {
        display: inline-block;
    }

    /* Chevron icon */
    .bb-filter-bar-chevron {
        flex-shrink: 0;
        transition: transform 0.25s ease;
        color: #888;
    }

    .bb-filter-bar.bb-filter-open .bb-filter-bar-chevron {
        transform: rotate(180deg);
        color: #CB1D11;
    }

    /* Slide-down drawer — override the global display:none */
    .bb-filter-drawer {
        display: block !important;
        overflow: hidden;
        max-height: 0;
        transition: max-height 0.35s ease, margin-bottom 0.2s ease;
        margin-bottom: 0;
        width: 100%;
        box-sizing: border-box;
    }

    .bb-filter-drawer.bb-filter-open {
        max-height: 3000px;
        margin-bottom: 12px;
    }

    .bb-filter-drawer-inner {
        padding: 4px 0 8px;
    }

    .bb-filter-drawer-inner .secondary-sidebar,
    .bb-filter-drawer-inner .sidebar-main {
        padding: 0 !important;
    }

    /* Hive widget full width inside drawer */
    .bb-filter-drawer-inner #bb-hive-widget {
        margin-right: 0 !important;
    }
}

/* =============================================
   HEADER MINI CART
============================================= */

/* Item row */
.ast-site-header-cart-data .woocommerce-mini-cart li.mini_cart_item {
    overflow: hidden;
    padding: 14px 12px;
    border-bottom: 1px solid #e8e4e0;
    position: relative;
}

/* Image + title link — block with image floated inside */
.ast-site-header-cart-data .mini_cart_item > a:not(.remove) {
    display: block !important;
    overflow: hidden;   /* clearfix for inner float */
    height: auto !important;
    text-decoration: none;
    margin-bottom: 6px;
}

/* Thumbnail — force out of absolute positioning and float left */
.ast-site-header-cart-data .mini_cart_item > a:not(.remove) img {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    float: left;
    width: 64px !important;
    height: 64px !important;
    object-fit: cover;
    object-position: center;
    border-radius: 4px;
    border: 1px solid #e8e4e0;
    display: block;
    margin-right: 10px;
}

/* Product name — sits in the space to the right of the floated image */
.ast-site-header-cart-data .mini_cart_item .ast-product-image {
    overflow: hidden;   /* BFC: wraps around the float */
    display: block;
}

.ast-site-header-cart-data .mini_cart_item .ast-product-name {
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #212328;
    line-height: 1.35;
    padding-right: 20px;
    display: block;
}

/* Remove (×) button */
.ast-site-header-cart-data .mini_cart_item > a.remove {
    position: absolute !important;
    top: 10px;
    right: 10px;
    color: #aaa !important;
    transition: color 0.2s;
    line-height: 1;
}

.ast-site-header-cart-data .mini_cart_item > a.remove:hover {
    color: #CB1D11 !important;
}

/* Seller meta */
.ast-site-header-cart-data .mini_cart_item dl.variation {
    margin: 0 0 8px 74px;
    font-size: 11px;
    color: #888;
    line-height: 1.4;
}

.ast-site-header-cart-data .mini_cart_item dl.variation dt,
.ast-site-header-cart-data .mini_cart_item dl.variation dd {
    display: inline;
    margin: 0;
    font-weight: 600;
}

.ast-site-header-cart-data .mini_cart_item dl.variation dt::before,
.ast-site-header-cart-data .mini_cart_item dl.variation dd::before {
    content: none !important;
}

.ast-site-header-cart-data .mini_cart_item dl.variation dd {
    font-weight: 400;
}

.ast-site-header-cart-data .mini_cart_item dl.variation dd p {
    display: inline;
    margin: 0;
}

/* Qty stepper — unified pill, indented to align with text column */
.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: stretch;
    gap: 0 !important;
    width: fit-content !important;
    height: 34px;
    margin: 0 0 0 74px;
    vertical-align: middle;
    border: 1.5px solid #d0ccc8;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

/* Hide everything inside stepper that isn't a button or input */
.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added > *:not(.minus):not(.plus):not(input) {
    display: none !important;
}

.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added .minus,
.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added .plus {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px !important;
    width: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #f4f2ef;
    border: none;
    color: #212328;
    font-size: 20px;
    font-weight: 300;
    cursor: pointer;
    text-decoration: none;
    user-select: none;
    line-height: 1;
    border-radius: 0;
    transition: background 0.15s ease, color 0.15s ease;
}

.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added .minus:hover,
.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added .plus:hover {
    background: #CB1D11;
    color: #fff;
}

.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added .minus:active,
.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added .plus:active {
    background: #a3160d;
    color: #fff;
}

.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added input.qty {
    width: 42px !important;
    height: 100% !important;
    margin: 0 !important;
    text-align: center;
    border: none;
    border-left: 1.5px solid #d0ccc8 !important;
    border-right: 1.5px solid #d0ccc8 !important;
    border-radius: 0;
    padding: 0 !important;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Montserrat', sans-serif;
    color: #212328;
    background: #fff;
    -moz-appearance: textfield;
    appearance: textfield;
    display: block !important;
    box-shadow: none;
    outline: none;
}

.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added input.qty:focus {
    background: #fafaf8;
    outline: none;
    box-shadow: none;
}

.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added input.qty::-webkit-inner-spin-button,
.ast-site-header-cart-data .mini_cart_item .quantity.buttons_added input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Price inline after qty */
.ast-site-header-cart-data .mini_cart_item .ast-mini-cart-price-wrap {
    display: inline-block;
    margin-left: 12px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #212328;
    vertical-align: middle;
    line-height: 34px;
}

/* Subtotal row */
.ast-site-header-cart-data .woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    margin: 0;
    border-top: 2px solid #e8e4e0;
    font-family: 'Montserrat', sans-serif;
}

.ast-site-header-cart-data .woocommerce-mini-cart__total strong {
    font-size: 14px;
    color: #212328;
}

/* Action buttons */
.ast-site-header-cart-data .woocommerce-mini-cart__buttons {
    display: flex;
    gap: 8px;
    padding: 12px;
    margin: 0;
}

.ast-site-header-cart-data .woocommerce-mini-cart__buttons .button {
    flex: 1;
    text-align: center;
    padding: 9px 8px;
    font-family: 'Montserrat', sans-serif;
    font-size: 13px;
    font-weight: 600;
    border-radius: 4px;
    text-decoration: none;
    display: block;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.ast-site-header-cart-data .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
    background: #fff;
    color: #212328;
    border: 2px solid #212328;
}

.ast-site-header-cart-data .woocommerce-mini-cart__buttons .wc-forward:not(.checkout):hover {
    background: #212328;
    color: #fff;
}

.ast-site-header-cart-data .woocommerce-mini-cart__buttons .checkout {
    background: #CB1D11;
    color: #fff !important;
    border: 2px solid #CB1D11;
}

.ast-site-header-cart-data .woocommerce-mini-cart__buttons .checkout:hover {
    background: #a3160d;
    border-color: #a3160d;
}

/* Single product page: move Sale badge 40px lower into the image */
.single-product span.ast-on-card-button.ast-onsale-card {
    top: calc(1.5em + 40px) !important;
}

/* =============================================
   SINGLE PRODUCT — MOBILE TAB NAV
   Restore tab navigation hidden by Astra/inline CSS at max-width: 768px
============================================= */
@media (max-width: 768px) {
    body.single-product .woocommerce-tabs ul.tabs.wc-tabs {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        margin: 0 0 1em 0 !important;
        padding: 0 !important;
        border-bottom: none;
    }

    body.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
        border: 1px solid #e0ddd8;
        border-radius: 4px;
        margin-bottom: 4px;
    }

    body.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
        display: block;
        padding: 12px 16px;
    }
}

/* =============================================
   DOKAN — STOREFRONT: empty-store narrow-layout fix
   Without products, the float-based content column collapses
   to the width of the "no products" text. Pin both columns
   to their proper widths so the layout matches a stocked store.
============================================= */

/* Clearfix: container must clear its floated children */
.dokan-store-tab-contents::after {
    content: '';
    display: table;
    clear: both;
}

/* Main column — hold 75% even when empty */
.dokan-store-tab-contents #dokan-primary,
.dokan-single-store .dokan-col-9.dokan-m {
    width: 75% !important;
    float: left !important;
    min-height: 1px;
    box-sizing: border-box;
}

/* Sidebar — anchored at 25% */
.dokan-store-tab-contents #dokan-sidebar,
.dokan-single-store .dokan-col-3.dokan-m {
    width: 25% !important;
    float: right !important;
    min-height: 1px;
    box-sizing: border-box;
}


/* =============================================
   OVERRIDES (moved from functions.php)
============================================= */
        .main-header-menu .sub-menu {
            background: #1a1d21 !important;
            border-top: 2px solid #CB1D11 !important;
            box-shadow: 0 6px 16px rgba(0,0,0,0.4);
        }
        .main-header-menu .sub-menu a.menu-link,
        .main-header-menu .sub-menu .sub-menu a.menu-link,
        .main-header-menu .sub-menu .sub-menu .sub-menu a.menu-link {
            color: #F0EDE8 !important;
            border-bottom: 1px solid #2d3139 !important;
        }
        .main-header-menu .sub-menu a.menu-link:hover,
        .main-header-menu .sub-menu .sub-menu a.menu-link:hover,
        .main-header-menu .sub-menu .sub-menu .sub-menu a.menu-link:hover {
            background: #2d3139 !important;
            color: #CB1D11 !important;
        }
        .main-header-menu .sub-menu .sub-menu,
        .main-header-menu .sub-menu .sub-menu .sub-menu {
            background: #1a1d21 !important;
        }

        /* Hero SearchWP form width */
        #searchwp-form-2 {
            max-width: 600px !important;
            margin: 0 auto !important;
            display: flex !important;
        }
        #searchwp-form-2 .swp-input {
            width: 100% !important;
            flex: 1 !important;
            border-radius: 4px 0 0 4px !important;
            border-right: none !important;
        }
        #searchwp-form-2 .swp-submit {
            border-radius: 0 4px 4px 0 !important;
            white-space: nowrap !important;
        }

        /* Recently Listed section labels */
        .woocommerce .woocommerce-products-header,
        .woocommerce-products-header {
            margin-bottom: 24px !important;
        }
        .woocommerce .woocommerce-products-header__title,
        h1.woocommerce-products-header__title,
        h2.woocommerce-products-header__title {
            font-family: "Montserrat", sans-serif !important;
            font-size: 28px !important;
            font-weight: 800 !important;
            color: #212328 !important;
        }

        /* WooCommerce product cards */
        .woocommerce ul.products {
            gap: 20px !important;
        }
        .woocommerce ul.products li.product {
            background: #ffffff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 6px !important;
            overflow: hidden !important;
            padding: 0 !important;
            margin: 0 !important;
            display: flex !important;
            flex-direction: column !important;
            transition: box-shadow 0.2s !important;
            position: relative !important;
        }
        .woocommerce ul.products li.product:hover {
            box-shadow: 0 6px 20px rgba(0,0,0,0.1) !important;
        }
        /* Image container — consistent height */
        .woocommerce ul.products li.product a.woocommerce-loop-product__link {
            display: block !important;
            order: 1 !important;
            height: 200px !important;
            overflow: hidden !important;
            background: #ffffff !important;
        }
        .woocommerce ul.products li.product a img {
            width: 100% !important;
            height: 200px !important;
            object-fit: contain !important;
            background-color: #ffffff !important;
            border-radius: 0 !important;
            margin: 0 !important;
            padding: 12px !important;
            box-sizing: border-box !important;
        }

        /* Reorder card elements */
        .woocommerce ul.products li.product .ast-woo-product-category {
            order: 2 !important;
            display: block !important;
            padding-left: 16px !important;
            padding-right: 16px !important;
            padding-top: 12px !important;
        }
        .woocommerce ul.products li.product .woocommerce-loop-product__title {
            order: 3 !important;
        }
        .woocommerce ul.products li.product .price {
            order: 5 !important;
        }
        .woocommerce ul.products li.product #make_an_offer {
            order: 7 !important;
        }
        .woocommerce ul.products li.product .add_to_cart_button {
            order: 6 !important;
        }
        .woocommerce ul.products li.product .woocommerce-loop-product__title {
            font-family: "Montserrat", sans-serif !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            color: #212328 !important;
            padding: 6px 16px 8px !important;
            line-height: 1.3 !important;
        }
        .woocommerce ul.products li.product .price {
            font-family: "Montserrat", sans-serif !important;
            font-size: 18px !important;
            font-weight: 800 !important;
            color: #212328 !important;
            padding: 0 16px 14px !important;
            display: block !important;
            border-bottom: 1px solid #f0ede9 !important;
        }
        /* Sale price: crossed-out original in gray, actual price bold */
        .woocommerce ul.products li.product .price del {
            font-size: 13px !important;
            font-weight: 400 !important;
            color: #bbb !important;
            opacity: 1 !important;
        }
        .woocommerce ul.products li.product .price ins {
            font-size: 18px !important;
            font-weight: 800 !important;
            color: #212328 !important;
            text-decoration: none !important;
            background: none !important;
        }
        /* Add to Cart — full width */
        .woocommerce ul.products li.product .button:not(#make_an_offer) {
            display: block !important;
            margin: 14px 16px 12px !important;
            padding: 11px 20px !important;
            background: #CB1D11 !important;
            color: #ffffff !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            border-radius: 4px !important;
            text-align: center !important;
            border: none !important;
            transition: background 0.2s !important;
            width: calc(100% - 32px) !important;
            box-sizing: border-box !important;
        }
        .woocommerce ul.products li.product .button:not(#make_an_offer):hover {
            background: #A01509 !important;
            color: #ffffff !important;
        }

        /* Make an Offer — subtle text link, full width */
        .woocommerce ul.products li.product #make_an_offer {
            display: block !important;
            margin: 0 16px 16px !important;
            padding: 6px 0 !important;
            background: transparent !important;
            color: #888 !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 12px !important;
            font-weight: 500 !important;
            border: none !important;
            border-radius: 0 !important;
            text-align: center !important;
            text-decoration: underline !important;
            transition: color 0.2s !important;
            width: calc(100% - 32px) !important;
            box-shadow: none !important;
        }
        .woocommerce ul.products li.product #make_an_offer:hover {
            color: #CB1D11 !important;
            background: transparent !important;
        }

        /* Category label */
        .woocommerce ul.products li.product .ast-woo-product-category {
            padding: 12px 16px 0 !important;
        }
        .woocommerce ul.products li.product .ast-woo-product-category a,
        .woocommerce ul.products li.product .ast-woo-product-category a:link,
        .woocommerce ul.products li.product .ast-woo-product-category a:visited {
            display: inline-block !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 12.5px !important;
            font-weight: 700 !important;
            letter-spacing: 1px !important;
            text-transform: uppercase !important;
            color: #aaa !important;
            text-decoration: none !important;
            transition: color 0.2s !important;
        }
        .woocommerce ul.products li.product .ast-woo-product-category a:hover {
            color: #CB1D11 !important;
        }


        /* Hive Certified hexagon badge — top-right of image */
        .bb-card-hive-badge {
            position: absolute !important;
            top: 60px !important;
            right: 18px !important;
            z-index: 1 !important;
            pointer-events: auto !important;
            display: block !important;
            line-height: 1 !important;
            filter: drop-shadow(0 2px 4px rgba(0,0,0,0.18)) !important;
            cursor: pointer !important;
        }
        .bb-hive-tooltip {
            display: none;
            position: absolute !important;
            top: 0 !important;
            right: calc(100% + 10px) !important;
            width: 200px !important;
            background-color: #212328 !important;
            color: #ffffff !important;
            font-family: Montserrat, Arial, sans-serif !important;
            font-size: 12px !important;
            line-height: 1.5 !important;
            padding: 10px 12px !important;
            border-radius: 4px !important;
            border-left: 3px solid #FDE915 !important;
            box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important;
            pointer-events: none !important;
            z-index: 4 !important;
        }
        .bb-hive-tooltip::after {
            content: "" !important;
            position: absolute !important;
            top: 10px !important;
            left: 100% !important;
            border: 6px solid transparent !important;
            border-left-color: #212328 !important;
        }
        .bb-card-hive-badge:hover .bb-hive-tooltip,
        .bb-card-hive-badge.bb-tooltip-open .bb-hive-tooltip {
            display: block !important;
        }

        /* View Details button — replaces Add to Cart on product cards */
        .woocommerce ul.products li.product .branabee-view-details,
        .woocommerce-page ul.products li.product .branabee-view-details {
            display: block !important;
            width: 100% !important;
            text-align: center !important;
            background-color: #CB1D11 !important;
            color: #ffffff !important;
            font-family: Poppins, Arial, sans-serif !important;
            font-size: 13px !important;
            font-weight: 700 !important;
            letter-spacing: 0.5px !important;
            text-transform: uppercase !important;
            padding: 10px 16px !important;
            border-radius: 4px !important;
            border: none !important;
            text-decoration: none !important;
            transition: background-color 0.2s !important;
        }
        .woocommerce ul.products li.product .branabee-view-details:hover,
        .woocommerce-page ul.products li.product .branabee-view-details:hover {
            background-color: #a3160d !important;
        }

        /* Vendor name row */
        .bb-card-vendor {
            display: flex !important;
            align-items: center !important;
            gap: 5px !important;
            padding: 0 16px 4px !important;
        }
        .bb-card-vendor-link {
            font-family: "Poppins", sans-serif !important;
            font-size: 11px !important;
            font-weight: 500 !important;
            color: #888 !important;
            text-decoration: none !important;
            transition: color 0.2s !important;
            white-space: nowrap !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
        }
        .bb-card-vendor-link:hover {
            color: #CB1D11 !important;
        }

        /* ── BEROCKET FILTER SIDEBAR ── */

        /* Sidebar width — Astra uses #secondary + flex */
        #secondary.secondary,
        #secondary.widget-area {
            width: 400px !important;
            min-width: 400px !important;
            max-width: 400px !important;
            flex: 0 0 400px !important;
        }

        /* Sidebar outer padding */
        #secondary.secondary,
        #secondary.widget-area,
        .secondary-sidebar {
            padding: 20px 10px 20px 14px !important;
            box-sizing: border-box !important;
        }

        /* All widgets in sidebar get breathing room */
        #secondary .widget {
            margin-bottom: 10px !important;
            width: 100% !important;
            box-sizing: border-box !important;
        }

        /* Filter widget panels specifically */
        .ast-filter-wrap .widget {
            background: #ffffff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 8px !important;
            overflow: visible !important;
            margin-bottom: 10px !important;
            margin-top: 0 !important;
            padding: 0 !important;
        }

        /* ── BEROCKET FILTER CARD WRAPPER ── */
        .berocket_single_filter_widget {
            background: #ffffff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 8px !important;
            overflow: visible !important;
            margin-bottom: 10px !important;
            padding: 0 !important;
        }

        /* Filter head / title row */
        .bapf_head {
            border-bottom: 1px solid #f0ede9 !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        /* h3 title — BeRocket uses bapf_hascolarr */
        .bapf_head h3,
        .bapf_head h3.bapf_hascolarr {
            font-family: "Poppins", sans-serif !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            letter-spacing: 1px !important;
            text-transform: uppercase !important;
            color: #212328 !important;
            padding: 13px 14px !important;
            margin: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: space-between !important;
            cursor: pointer !important;
            background: none !important;
        }

        /* Collapse chevron icon */
        .bapf_head h3 .bapf_colaps_smb,
        .bapf_head h3 i {
            font-size: 10px !important;
            color: #aaa !important;
            margin-left: auto !important;
            font-style: normal !important;
        }

        /* Filter body padding */
        .bapf_sfilter .bapf_body {
            padding: 12px 14px 14px !important;
        }

        /* List reset */
        .bapf_sfilter .bapf_body ul {
            list-style: none !important;
            padding: 0 !important;
            margin: 0 !important;
        }

        /* Each filter row */
        .bapf_sfilter .bapf_body ul li {
            display: flex !important;
            align-items: center !important;
            gap: 9px !important;
            padding: 5px 8px !important;
            border-radius: 5px !important;
            cursor: pointer !important;
            transition: background 0.15s !important;
            margin: 0 !important;
        }
        .bapf_sfilter .bapf_body ul li:hover {
            background: #f8f7f5 !important;
        }

        /* Fix parent li — wrap children below, not beside */
        .bapf_sfilter .bapf_body > ul > li {
            flex-wrap: wrap !important;
            align-items: center !important;
        }

        /* Children ul drops below parent row, full width, indented */
        .bapf_sfilter .bapf_body > ul > li > ul {
            width: 100% !important;
            padding-left: 8px !important;
            margin-top: 2px !important;
            margin-bottom: 4px !important;
        }
        .bapf_sfilter .bapf_body ul ul li {
            padding: 4px 8px !important;
        }

        /* Checkboxes */
        .bapf_sfilter .bapf_body input[type="checkbox"] {
            width: 15px !important;
            height: 15px !important;
            accent-color: #CB1D11 !important;
            cursor: pointer !important;
            flex-shrink: 0 !important;
            margin: 0 !important;
        }

        /* Labels */
        .bapf_sfilter .bapf_body label {
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            font-weight: 400 !important;
            color: #444 !important;
            cursor: pointer !important;
            flex: 1 !important;
            margin: 0 !important;
            line-height: 1.3 !important;
        }

        /* Count badge */
        .bapf_sfilter .bapf_body .roundpcs.pcs {
            font-family: "Poppins", sans-serif !important;
            font-size: 10px !important;
            color: #bbb !important;
            background: #f5f3f0 !important;
            border-radius: 10px !important;
            padding: 1px 6px !important;
            margin-left: auto !important;
            white-space: nowrap !important;
            flex-shrink: 0 !important;
        }

        /* Selected/checked state */
        .bapf_sfilter .bapf_body ul li:has(input:checked) {
            background: rgba(203,29,17,0.05) !important;
        }
        .bapf_sfilter .bapf_body ul li:has(input:checked) label {
            color: #CB1D11 !important;
            font-weight: 600 !important;
        }
        .bapf_sfilter .bapf_body ul li:has(input:checked) .roundpcs.pcs {
            background: rgba(203,29,17,0.1) !important;
            color: #CB1D11 !important;
        }

        /* ── EQUIPMENT TYPE: PARENT CATEGORIES AS SECTION HEADERS ── */
        /* Hide the checkbox and count for Industrial/Hardware — label becomes a divider */
        #bapf_3 .bapf_body li:has(> input[value="industrial"]) > input,
        #bapf_3 .bapf_body li:has(> input[value="hardware"]) > input {
            display: none !important;
        }
        #bapf_3 .bapf_body li:has(> input[value="industrial"]) > label,
        #bapf_3 .bapf_body li:has(> input[value="hardware"]) > label {
            font-family: "Poppins", sans-serif !important;
            font-size: 10px !important;
            font-weight: 700 !important;
            letter-spacing: 1.2px !important;
            text-transform: uppercase !important;
            color: #aaa !important;
            cursor: default !important;
            margin-top: 8px !important;
            pointer-events: none !important;
        }
        #bapf_3 .bapf_body li:has(> input[value="industrial"]) > .roundpcs,
        #bapf_3 .bapf_body li:has(> input[value="hardware"]) > .roundpcs {
            display: none !important;
        }
        #bapf_3 .bapf_body li:has(> input[value="industrial"]):hover,
        #bapf_3 .bapf_body li:has(> input[value="hardware"]):hover {
            background: transparent !important;
            cursor: default !important;
        }

        /* ── HIDE NON-O&G CATEGORIES (Equipment Type filter #bapf_3) ── */
        #bapf_3 .bapf_body li:has(input[value="uncategorized"]),
        #bapf_3 .bapf_body li:has(input[value="vehicles"]),
        #bapf_3 .bapf_body li:has(input[value="office-and-administration"]),
        #bapf_3 .bapf_body li:has(input[value="electrical"]),
        #bapf_3 .bapf_body li:has(input[value="miscellaneous"]),
        #bapf_3 .bapf_body li:has(input[value="agriculture"]) {
            display: none !important;
        }

        /* ── CONDITION FILTER — Select2 override (until switched to checkboxes) ── */
        #bapf_2 .bapf_body .select2-container {
            width: 100% !important;
        }
        #bapf_2 .bapf_body .select2-selection--single,
        #bapf_2 .bapf_body .select2-selection--multiple {
            border: 1px solid #e5e2de !important;
            border-radius: 4px !important;
            background: #fff !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            color: #212328 !important;
            min-height: 36px !important;
        }
        #bapf_2 .bapf_body .select2-selection--single .select2-selection__rendered {
            color: #212328 !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            line-height: 34px !important;
            padding-left: 10px !important;
        }
        #bapf_2 .bapf_body .select2-selection--single .select2-selection__arrow b {
            border-color: #888 transparent transparent transparent !important;
        }

        /* ── WOOCOMMERCE SHOP PAGE ── */

        /* Shop page background */
        body.woocommerce #primary,
        body.woocommerce-page #primary,
        body.woocommerce .site-content,
        body.woocommerce-page .site-content {
            background: #F8F7F5 !important;
        }

        /* Results count */
        .woocommerce-result-count {
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            color: #888 !important;
            margin: 0 !important;
        }

        /* Sort dropdown */
        .woocommerce-ordering select {
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            color: #212328 !important;
            background: #ffffff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 4px !important;
            padding: 7px 32px 7px 12px !important;
            -webkit-appearance: none !important;
            appearance: none !important;
            background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%226%22 viewBox=%220 0 10 6%22%3E%3Cpath d=%22M0 0l5 6 5-6z%22 fill=%22%23888%22/%3E%3C/svg%3E") !important;
            background-repeat: no-repeat !important;
            background-position: right 10px center !important;
            cursor: pointer !important;
        }
        .woocommerce-ordering select:focus {
            outline: none !important;
            border-color: #CB1D11 !important;
        }

        /* Results bar — sits between hero and grid */
        .woocommerce-products-header { display: none !important; }
        .woocommerce .woocommerce-ordering,
        .woocommerce-page .woocommerce-ordering {
            float: right !important;
            margin: 0 !important;
            padding: 7px !important;
        }
        .woocommerce .woocommerce-result-count,
        .woocommerce-page .woocommerce-result-count {
            float: left !important;
            margin: 0 !important;
            line-height: 34px !important;
        }

        /* Shop breadcrumb — hide on main shop, keep on category archives */
        .woocommerce .woocommerce-breadcrumb {
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            color: #888 !important;
        }
        .woocommerce .woocommerce-breadcrumb a {
            color: #888 !important;
            text-decoration: none !important;
        }
        .woocommerce .woocommerce-breadcrumb a:hover { color: #CB1D11 !important; }

        /* Shop page layout — constrain inner content (shop only, not cart/checkout) */
        .woocommerce-shop .entry-content,
        .woocommerce-shop .woocommerce {
            max-width: 1100px !important;
            margin-left: auto !important;
            margin-right: auto !important;
            padding-left: 24px !important;
            padding-right: 24px !important;
        }

        /* Pagination (WooCommerce default) */
        .woocommerce nav.woocommerce-pagination ul {
            border: none !important;
        }
        .woocommerce nav.woocommerce-pagination ul li {
            border: none !important;
        }
        .woocommerce nav.woocommerce-pagination ul li a,
        .woocommerce nav.woocommerce-pagination ul li span {
            font-family: "Poppins", sans-serif !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            color: #212328 !important;
            background: #ffffff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 4px !important;
            padding: 7px 14px !important;
            margin: 0 2px !important;
            min-width: 38px !important;
            text-align: center !important;
        }
        .woocommerce nav.woocommerce-pagination ul li span.current,
        .woocommerce nav.woocommerce-pagination ul li a:hover {
            background: #CB1D11 !important;
            color: #ffffff !important;
            border-color: #CB1D11 !important;
        }


        /* ── MINI-CART FLYOUT ── */
        .ast-site-header-cart .widget_shopping_cart,
        .woocommerce .ast-site-header-cart .widget_shopping_cart {
            width: 380px !important;
            min-width: 380px !important;
            padding: 12px !important;
            box-sizing: border-box !important;
        }
        /* Stacked item list */
        ul.woocommerce-mini-cart.cart_list {
            display: flex !important;
            flex-direction: column !important;
            gap: 10px !important;
            padding: 0 !important;
            margin: 0 0 12px !important;
            list-style: none !important;
            max-height: 480px !important;
            overflow-y: auto !important;
        }
        /* Card */
        li.woocommerce-mini-cart-item.mini_cart_item {
            position: relative !important;
            background: #fff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 6px !important;
            overflow: hidden !important;
            display: block !important;
            padding: 10px !important;
            margin: 0 !important;
            float: none !important;
            box-sizing: border-box !important;
        }
        /* Image — floated left, fixed size */
        li.woocommerce-mini-cart-item > a:not(.remove) img {
            float: left !important;
            width: 54px !important;
            height: 54px !important;
            object-fit: contain !important;
            background: #f8f7f5 !important;
            border: 1px solid #f0ede9 !important;
            border-radius: 4px !important;
            padding: 6px !important;
            box-sizing: border-box !important;
            margin: 0 12px 0 0 !important;
            position: static !important;
        }
        /* Remove × — top-right */
        li.woocommerce-mini-cart-item .remove.remove_from_cart_button {
            position: absolute !important;
            top: 6px !important;
            right: 6px !important;
            z-index: 2 !important;
            width: 26px !important;
            height: 26px !important;
            background: rgba(255,255,255,0.9) !important;
            border-radius: 50% !important;
            border: 1.5px solid #ddd !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            color: #aaa !important;
            line-height: 1 !important;
            transition: background 0.2s, border-color 0.2s, color 0.2s !important;
        }
        li.woocommerce-mini-cart-item .remove.remove_from_cart_button:hover {
            background: #CB1D11 !important;
            border-color: #CB1D11 !important;
            color: #fff !important;
        }
        li.woocommerce-mini-cart-item .remove.remove_from_cart_button svg {
            width: 13px !important;
            height: 13px !important;
            transition: fill 0.2s !important;
        }
        li.woocommerce-mini-cart-item .remove.remove_from_cart_button:hover svg {
            fill: #fff !important;
        }
        /* Title link — BFC so text wraps beside the floated image */
        li.woocommerce-mini-cart-item > a:not(.remove) {
            display: block !important;
            overflow: hidden !important;
            text-decoration: none !important;
            color: #212328 !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 13px !important;
            font-weight: 700 !important;
            line-height: 1.3 !important;
            word-break: break-word !important;
            overflow-wrap: break-word !important;
            margin-bottom: 5px !important;
        }
        /* Seller row — margin-left keeps it in the right column beside image */
        li.woocommerce-mini-cart-item dl.variation {
            margin: 0 0 4px 66px !important;
            padding: 0 !important;
        }
        li.woocommerce-mini-cart-item dl.variation dt,
        li.woocommerce-mini-cart-item dl.variation dd {
            display: inline !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 10px !important;
            color: #aaa !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        li.woocommerce-mini-cart-item dl.variation dd p {
            display: inline !important;
            margin: 0 !important;
        }
        /* Quantity + price — stays in right column too */
        li.woocommerce-mini-cart-item .quantity {
            display: block !important;
            margin-left: 66px !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            color: #212328 !important;
        }
        /* Subtotal */
        p.woocommerce-mini-cart__total {
            border-top: 1px solid #e5e2de !important;
            padding-top: 10px !important;
            margin: 0 0 10px !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 16px !important;
            font-weight: 800 !important;
            display: flex !important;
            justify-content: space-between !important;
        }
        /* Buttons */
        p.woocommerce-mini-cart__buttons {
            display: flex !important;
            gap: 8px !important;
            margin: 0 !important;
        }
        p.woocommerce-mini-cart__buttons .button {
            flex: 1 !important;
            text-align: center !important;
            white-space: nowrap !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            padding: 10px !important;
            border-radius: 4px !important;
        }
        p.woocommerce-mini-cart__buttons .button.checkout {
            background: #CB1D11 !important;
            color: #fff !important;
            border: none !important;
        }
        p.woocommerce-mini-cart__buttons .button:not(.checkout) {
            background: #fff !important;
            color: #212328 !important;
            border: 1px solid #e5e2de !important;
        }

        /* ── SINGLE PRODUCT PAGE ── */

        /* Breadcrumb — sits inside gallery above the product image */
        body.single-product .woocommerce-breadcrumb {
            font-family: "Poppins", sans-serif !important;
            font-size: 16px !important;
            color: #aaa !important;
            padding: 3px 0 0 !important;
            margin: 0 0 12px !important;
            display: block !important;
        }
        body.single-product .woocommerce-breadcrumb a {
            color: #aaa !important;
            text-decoration: none !important;
        }
        body.single-product .woocommerce-breadcrumb a:hover { color: #CB1D11 !important; }

        /* ── 3-COLUMN PRODUCT LAYOUT ── */
        body.single-product div.product {
            display: grid !important;
            grid-template-columns: 36% 1fr 300px !important;
            gap: 0 32px !important;
            align-items: start !important;
        }
        body.single-product .woocommerce-product-gallery,
        body.single-product .summary.entry-summary {
            float: none !important;
            width: 100% !important;
            clear: none !important;
        }
        body.single-product div.product .woocommerce-tabs,
        body.single-product div.product .related.products,
        body.single-product div.product .up-sells.products {
            grid-column: 1 / -1 !important;
        }

        /* Action panel (col 3) */
        body.single-product .bb-col-action {
            background: #ffffff !important;
            border-radius: 8px !important;
            padding: 24px !important;
            box-shadow: 0 2px 16px rgba(0,0,0,0.07) !important;
        }
        body.single-product .bb-col-action p.price,
        body.single-product .bb-col-action span.price {
            font-size: 32px !important;
            font-weight: 800 !important;
            margin-bottom: 6px !important;
            display: block !important;
            text-align: center !important;
        }
        body.single-product .bb-col-action .stock {
            font-family: "Poppins", sans-serif !important;
            font-size: 16px !important;
            font-weight: 600 !important;
            margin-bottom: 18px !important;
            display: block !important;
            width: 100% !important;
            text-align: center !important;
        }
        body.single-product .bb-col-action .in-stock { color: #1a7c3d !important; }
        body.single-product .bb-col-action .out-of-stock { color: #CB1D11 !important; }
        body.single-product .ast-stock-detail { display: none !important; }
        body.single-product .bb-col-action div.quantity {
            margin: 0 0 10px !important;
            display: flex !important;
            justify-content: center !important;
        }
        body.single-product .bb-col-action form.cart {
            text-align: center !important;
        }
        body.single-product .bb-col-action .single_add_to_cart_button {
            width: 100% !important;
            padding: 14px !important;
            font-size: 15px !important;
            font-weight: 700 !important;
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            display: block !important;
            float: none !important;
            margin-left: auto !important;
            margin-right: auto !important;
        }
        body.single-product .bb-col-action #make_an_offer {
            display: block !important;
            width: 100% !important;
            margin-top: 10px !important;
            text-align: center !important;
            background: transparent !important;
            color: #212328 !important;
            border: none !important;
            border-radius: 0 !important;
            padding: 0 !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 15px !important;
            font-weight: 600 !important;
            text-decoration: none !important;
            box-sizing: border-box !important;
        }
        body.single-product .bb-col-action #make_an_offer:hover {
            color: #CB1D11 !important;
        }

        /* Shipping box */
        body.single-product .bb-shipping-box {
            border-top: 1px solid #e5e2de !important;
            padding-top: 18px !important;
            margin-top: 18px !important;
        }
        body.single-product .bb-shipping-title {
            font-family: "Poppins", sans-serif !important;
            font-size: 13px !important;
            font-weight: 700 !important;
            color: #212328 !important;
            margin-bottom: 14px !important;
            display: flex !important;
            align-items: center !important;
            gap: 7px !important;
        }
        body.single-product .bb-shipping-item {
            display: flex !important;
            gap: 10px !important;
            margin-bottom: 12px !important;
            align-items: flex-start !important;
        }
        body.single-product .bb-shipping-icon {
            width: 28px !important;
            height: 28px !important;
            background: #f4f2ef !important;
            border-radius: 50% !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex-shrink: 0 !important;
            font-size: 13px !important;
        }
        body.single-product .bb-shipping-text {
            font-family: "Montserrat", sans-serif !important;
            font-size: 12px !important;
            color: #666 !important;
            line-height: 1.65 !important;
        }
        body.single-product .bb-shipping-text strong {
            display: block !important;
            font-weight: 700 !important;
            color: #212328 !important;
            margin-bottom: 2px !important;
        }
        body.single-product .bb-shipping-note {
            background: #f4f2ef !important;
            border-radius: 4px !important;
            padding: 10px 12px !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 11px !important;
            color: #888 !important;
            line-height: 1.6 !important;
            margin-top: 12px !important;
        }
        body.single-product .bb-shipping-note a {
            color: #CB1D11 !important;
            font-weight: 600 !important;
            text-decoration: none !important;
        }

        /* Hide ALL Astra/Dokan/WooCommerce category outputs on single product */
        body.single-product .ast-woo-product-category,
        body.single-product .dokan-product-category,
        body.single-product .single-product-category,
        body.single-product .woocommerce div.product .ast-woo-product-category,
        body.single-product .woocommerce div.product div.summary .ast-woo-product-category,
        body.single-product .entry-content .ast-woo-product-category {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            overflow: hidden !important;
            margin: 0 !important;
            padding: 0 !important;
        }

        /* ── SUMMARY COLUMN — consistent spacing ── */
        body.single-product .woocommerce div.product div.summary > * {
            margin-bottom: 20px !important;
        }

        /* Category pill */
        .bb-single-category {
            display: inline-block !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            letter-spacing: 1.5px !important;
            text-transform: uppercase !important;
            color: #aaa !important;
            text-decoration: none !important;
            margin-bottom: 6px !important;
            transition: color 0.2s !important;
        }
        .bb-single-category:hover { color: #CB1D11 !important; }

        /* Product title — same size as price for visual weight */
        body.single-product .woocommerce div.product h1.product_title {
            font-family: "Montserrat", sans-serif !important;
            font-size: 40px !important;
            font-weight: 800 !important;
            color: #212328 !important;
            line-height: 1.15 !important;
            margin: 0 0 12px !important;
        }

        /* Seller trust block — transparent row, dark pill on the name */
        .bb-single-vendor {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 13px !important;
            color: #888 !important;
            padding: 0 0 16px !important;
            background: transparent !important;
            border: none !important;
            border-radius: 0 !important;
            margin-bottom: 4px !important;
        }
        .bb-single-vendor-label {
            color: #888 !important;
            font-size: 13px !important;
            font-weight: 400 !important;
        }
        .bb-single-vendor-link {
            display: inline-block !important;
            background: #212328 !important;
            color: #F8F7F5 !important;
            font-family: "Poppins", sans-serif !important;
            font-weight: 600 !important;
            font-size: 13px !important;
            padding: 5px 12px !important;
            border-radius: 4px !important;
            text-decoration: none !important;
            transition: background 0.2s !important;
        }
        .bb-single-vendor-link:hover {
            background: #CB1D11 !important;
            color: #F8F7F5 !important;
        }
        .bb-single-vendor-hive {
            margin-left: auto !important;
            display: flex !important;
            align-items: center !important;
            gap: 5px !important;
            font-size: 11px !important;
            font-weight: 700 !important;
            color: #888 !important;
        }

        /* Condition badge */
        .bb-condition-badge {
            display: inline-flex !important;
            align-items: center !important;
            gap: 6px !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 13px !important;
            font-weight: 600 !important;
            padding: 6px 14px !important;
            border-radius: 20px !important;
            margin-bottom: 4px !important;
        }

        /* Price — green for psychological "go" signal */
        body.single-product .woocommerce div.product p.price,
        body.single-product .woocommerce div.product span.price {
            font-family: "Montserrat", sans-serif !important;
            font-size: 40px !important;
            font-weight: 800 !important;
            color: #1a7c3d !important;
            margin: 0 0 4px !important;
            display: block !important;
            line-height: 1.1 !important;
        }
        body.single-product .woocommerce div.product p.price .woocommerce-Price-amount,
        body.single-product .woocommerce div.product span.price .woocommerce-Price-amount,
        body.single-product .woocommerce div.product p.price .amount,
        body.single-product .woocommerce div.product span.price .amount,
        body.single-product .woocommerce div.product p.price bdi,
        body.single-product .woocommerce div.product span.price bdi {
            color: #1a7c3d !important;
        }
        body.single-product .woocommerce div.product p.price del,
        body.single-product .woocommerce div.product span.price del {
            font-size: 18px !important;
            font-weight: 400 !important;
            color: #bbb !important;
            opacity: 1 !important;
            display: block !important;
            margin-bottom: 6px !important;
        }
        body.single-product .woocommerce div.product p.price del .woocommerce-Price-amount,
        body.single-product .woocommerce div.product span.price del .woocommerce-Price-amount,
        body.single-product .woocommerce div.product p.price del bdi {
            color: #bbb !important;
        }
        body.single-product .woocommerce div.product p.price ins,
        body.single-product .woocommerce div.product span.price ins {
            font-size: 40px !important;
            font-weight: 800 !important;
            color: #1a7c3d !important;
            text-decoration: none !important;
            background: none !important;
            display: block !important;
        }
        body.single-product .woocommerce div.product p.price ins .woocommerce-Price-amount,
        body.single-product .woocommerce div.product span.price ins .woocommerce-Price-amount,
        body.single-product .woocommerce div.product p.price ins bdi {
            color: #1a7c3d !important;
        }

        /* Location strip */
        .bb-product-location {
            display: flex !important;
            align-items: flex-start !important;
            gap: 7px !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 14px !important;
            color: #666 !important;
            margin-bottom: 4px !important;
        }

        /* Short description */
        body.single-product .woocommerce-product-details__short-description {
            font-family: "Montserrat", sans-serif !important;
            font-size: 16px !important;
            color: #444 !important;
            line-height: 1.75 !important;
            margin: 0 0 4px !important;
            padding-bottom: 20px !important;
            border-bottom: 1px solid #f0ede9 !important;
        }

        /* Quantity + Add to Cart form */
        body.single-product .woocommerce div.product form.cart {
            display: flex !important;
            gap: 10px !important;
            align-items: stretch !important;
            margin: 0 0 0 !important;
            flex-wrap: nowrap !important;
        }
        body.single-product .woocommerce div.product form.cart .quantity {
            flex: 0 0 auto !important;
        }
        body.single-product .woocommerce div.product form.cart input.qty {
            width: 72px !important;
            min-height: 56px !important;
            border: 1px solid #e5e2de !important;
            border-radius: 4px !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 18px !important;
            font-weight: 600 !important;
            text-align: center !important;
            color: #212328 !important;
            padding: 0 8px !important;
            box-sizing: border-box !important;
        }

        /* Add to Cart button */
        body.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
        body.single-product .woocommerce a.button.alt:not(#make_an_offer),
        body.single-product .woocommerce button.button.alt:not(#make_an_offer) {
            flex: 1 !important;
            background: #CB1D11 !important;
            color: #fff !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 18px !important;
            font-weight: 700 !important;
            padding: 0 28px !important;
            min-height: 56px !important;
            border-radius: 4px !important;
            border: none !important;
            text-align: center !important;
            cursor: pointer !important;
            transition: background 0.2s !important;
            text-transform: none !important;
            letter-spacing: 0 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 100% !important;
            box-sizing: border-box !important;
            box-shadow: none !important;
        }
        body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover,
        body.single-product .woocommerce a.button.alt:not(#make_an_offer):hover,
        body.single-product .woocommerce button.button.alt:not(#make_an_offer):hover {
            background: #A01509 !important;
            color: #fff !important;
        }

        /* "or" + Make an Offer */
        body.single-product #make_an_offer::before,
        body.single-product #make_an_offer_button::before {
            content: "or" !important;
            display: block !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 12px !important;
            color: #bbb !important;
            text-align: center !important;
            padding: 2px 0 0 !important;
            text-decoration: none !important;
        }
        body.single-product #make_an_offer,
        body.single-product #make_an_offer_button {
            display: block !important;
            width: 100% !important;
            text-align: center !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 15px !important;
            font-weight: 500 !important;
            text-decoration: underline !important;
            background: transparent !important;
            border: none !important;
            box-shadow: none !important;
            margin: 0 !important;
            padding: 10px 0 !important;
            transition: color 0.2s !important;
        }
        body.single-product #make_an_offer[disabled],
        body.single-product #make_an_offer_button[disabled] {
            color: #ccc !important;
            cursor: default !important;
            pointer-events: none !important;
        }
        body.single-product #make_an_offer:not([disabled]),
        body.single-product #make_an_offer_button:not([disabled]) {
            color: #888 !important;
            cursor: pointer !important;
        }
        body.single-product #make_an_offer:not([disabled]):hover,
        body.single-product #make_an_offer_button:not([disabled]):hover {
            color: #CB1D11 !important;
        }

        /* SKU / meta block */
        body.single-product .woocommerce div.product .product_meta {
            border-top: 1px solid #f0ede9 !important;
            padding-top: 14px !important;
            margin-top: 4px !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 12px !important;
            color: #aaa !important;
            line-height: 1.8 !important;
        }
        body.single-product .product_meta .posted_in,
        body.single-product .product_meta .tagged_as {
            display: flex !important;
            align-items: center !important;
            flex-wrap: wrap !important;
            gap: 6px !important;
            margin-bottom: 8px !important;
            font-size: 12px !important;
            color: #aaa !important;
            line-height: 1.6 !important;
        }
        body.single-product .product_meta .posted_in a,
        body.single-product .product_meta .tagged_as a {
            display: inline-block !important;
            padding: 3px 9px !important;
            border: 1px solid #bbb !important;
            border-radius: 4px !important;
            background: transparent !important;
            color: #bbb !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 12px !important;
            font-weight: 500 !important;
            text-decoration: none !important;
            white-space: nowrap !important;
            transition: background 0.2s, color 0.2s, border-color 0.2s !important;
        }
        body.single-product .product_meta .posted_in a:hover,
        body.single-product .product_meta .tagged_as a:hover {
            background: #CB1D11 !important;
            color: #F8F7F5 !important;
            border-color: #CB1D11 !important;
        }

        /* Mobile — breathing room above product image */
        @media (max-width: 768px) {
            body.single-product .woocommerce div.product div.images {
                margin-top: 7px !important;
            }
        }

        /* Info bubble — product meta tooltips */
        .bb-meta-info {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 15px !important;
            height: 15px !important;
            border-radius: 50% !important;
            border: 1.5px solid #ccc !important;
            font-size: 9px !important;
            font-weight: 700 !important;
            font-style: normal !important;
            color: #ccc !important;
            cursor: pointer !important;
            position: relative !important;
            margin-left: 5px !important;
            vertical-align: middle !important;
            flex-shrink: 0 !important;
            font-family: "Poppins", sans-serif !important;
            transition: border-color 0.2s, color 0.2s !important;
        }
        .bb-meta-info:hover {
            border-color: #CB1D11 !important;
            color: #CB1D11 !important;
        }
        .bb-meta-tooltip {
            display: none !important;
            position: absolute !important;
            bottom: calc(100% + 8px) !important;
            left: 0 !important;
            width: 230px !important;
            background: #fff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 6px !important;
            padding: 10px 13px !important;
            font-family: "Montserrat", sans-serif !important;
            font-size: 12px !important;
            font-weight: 400 !important;
            color: #555 !important;
            line-height: 1.6 !important;
            box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
            z-index: 20 !important;
            text-align: left !important;
            white-space: normal !important;
            pointer-events: none !important;
        }
        .bb-meta-tooltip::after {
            content: "" !important;
            position: absolute !important;
            bottom: -6px !important;
            left: 5px !important;
            width: 10px !important;
            height: 10px !important;
            background: #fff !important;
            border-right: 1px solid #e5e2de !important;
            border-bottom: 1px solid #e5e2de !important;
            transform: rotate(45deg) !important;
        }
        .bb-meta-info:hover .bb-meta-tooltip {
            display: block !important;
        }
        body.single-product .woocommerce div.product .product_meta a {
            color: #888 !important;
            text-decoration: none !important;
        }
        body.single-product .woocommerce div.product .product_meta a:hover {
            color: #CB1D11 !important;
        }

        /* Page-level left/right breathing room */
        body.single-product #primary,
        body.single-product .entry-content,
        body.single-product .site-main {
            padding-left: 2.5% !important;
            padding-right: 2.5% !important;
            box-sizing: border-box !important;
        }

        /* Image area */
        body.single-product .woocommerce div.product div.images {
            background: #fff !important;
            border: 1px solid #e5e2de !important;
            border-radius: 8px !important;
            padding: 16px !important;
            box-sizing: border-box !important;
        }

        /* ── TABS ── */
        body.single-product .woocommerce-tabs {
            margin-top: 56px !important;
        }

        /* Dark tab strip */
        body.single-product .woocommerce-tabs ul.tabs {
            background: #212328 !important;
            border-bottom: none !important;
            padding: 14px 14px 0 !important;
            z-index: 0 !important;
            margin: 0 !important;
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 6px !important;
            list-style: none !important;
            border-radius: 8px 8px 0 0 !important;
        }
        body.single-product .woocommerce-tabs ul.tabs::before {
            display: none !important;
            border: none !important;
        }

        /* Individual tab cards */
        body.single-product .woocommerce-tabs ul.tabs li {
            background: #2d3139 !important;
            border: none !important;
            border-radius: 6px 6px 0 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            position: relative !important;
            transition: background 0.2s !important;
        }
        body.single-product .woocommerce-tabs ul.tabs li::before,
        body.single-product .woocommerce-tabs ul.tabs li::after {
            display: none !important;
        }

        /* Tab link text */
        body.single-product .woocommerce-tabs ul.tabs li a {
            font-family: "Poppins", sans-serif !important;
            font-size: 14px !important;
            font-weight: 600 !important;
            color: #9aa5b1 !important;
            padding: 13px 22px !important;
            display: block !important;
            border: none !important;
            border-bottom: none !important;
            text-decoration: none !important;
            background: transparent !important;
            transition: color 0.2s !important;
            white-space: nowrap !important;
            letter-spacing: 0.3px !important;
        }

        /* Hover state — lighten + brighten text */
        body.single-product .woocommerce-tabs ul.tabs li:hover {
            background: #3a3f49 !important;
        }
        body.single-product .woocommerce-tabs ul.tabs li:hover a {
            color: #F8F7F5 !important;
        }

        /* Active tab — white card lifted off dark bar, red top accent */
        body.single-product .woocommerce-tabs ul.tabs li.active {
            background: #ffffff !important;
            border-top: 3px solid #CB1D11 !important;
        }
        body.single-product .woocommerce-tabs ul.tabs li.active a,
        body.single-product .woocommerce-tabs ul.tabs li.active a:hover {
            color: #212328 !important;
            background: transparent !important;
        }

        /* Content panel — cream, padded, connects flush to tab strip.
           High-specificity selectors needed to beat #content .entry-content { padding: 0 }. */
        body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
        body.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel,
        body.single-product #primary .woocommerce-tabs .woocommerce-Tabs-panel {
            background: #ffffff !important;
            border: none !important;
            border-radius: 0 0 8px 8px !important;
            padding-top: 32px !important;
            padding-bottom: 32px !important;
            padding-left: 7px !important;
            padding-right: 7px !important;
            margin: 0 !important;
            box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
        }
        body.single-product .woocommerce-tabs .panel h2,
        body.single-product .woocommerce-tabs .panel h3 {
            font-family: "Montserrat", sans-serif !important;
            font-size: 20px !important;
            font-weight: 700 !important;
            color: #212328 !important;
            margin: 0 0 20px !important;
        }
        body.single-product .woocommerce-tabs .panel {
            font-family: "Montserrat", sans-serif !important;
            font-size: 16px !important;
            color: #444 !important;
            line-height: 1.85 !important;
        }
        body.single-product .woocommerce-tabs .panel p,
        body.single-product .woocommerce-tabs .panel li {
            font-size: 16px !important;
            line-height: 1.85 !important;
            margin-bottom: 10px !important;
        }

        /* Attributes table inside Additional Information tab */
        body.single-product .woocommerce-tabs .shop_attributes {
            border-collapse: collapse !important;
            border: none !important;
        }
        body.single-product .woocommerce-tabs .shop_attributes tr {
            border-bottom: 1px solid #e5e2de !important;
        }
        body.single-product .woocommerce-tabs .shop_attributes th,
        body.single-product .woocommerce-tabs .shop_attributes td {
            border-left: none !important;
            border-right: none !important;
            border-top: none !important;
        }
        body.single-product .woocommerce-tabs .shop_attributes th {
            font-family: "Poppins", sans-serif !important;
            font-size: 17px !important;
            font-weight: 700 !important;
            color: #212328 !important;
            text-transform: uppercase !important;
            letter-spacing: 0.5px !important;
            padding: 12px 32px 12px 0 !important;
            width: 1% !important;
            white-space: nowrap !important;
            vertical-align: top !important;
        }
        body.single-product .woocommerce-tabs .shop_attributes td {
            font-family: "Montserrat", sans-serif !important;
            font-size: 20px !important;
            color: #555 !important;
            padding: 12px 0 !important;
        }

        /* Mobile — stack tabs */
        @media (max-width: 768px) {
            body.single-product .woocommerce-tabs ul.tabs {
                border-radius: 6px 6px 0 0 !important;
                gap: 4px !important;
                padding: 10px 10px 0 !important;
            }
            body.single-product .woocommerce-tabs ul.tabs li a {
                font-size: 13px !important;
                padding: 11px 14px !important;
            }
            body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
            body.single-product #content .woocommerce-tabs .woocommerce-Tabs-panel {
                padding-top: 20px !important;
                padding-bottom: 20px !important;
                padding-left: 7px !important;
                padding-right: 7px !important;
            }
        }

        /* More Products tab — force 4 columns on desktop via grid */
        @media (min-width: 769px) {
            body.single-product #tab-more_seller_product ul.products {
                display: grid !important;
                grid-template-columns: repeat(4, 1fr) !important;
                gap: 16px !important;
            }
            body.single-product #tab-more_seller_product ul.products li.product {
                width: 100% !important;
                flex: none !important;
                max-width: 100% !important;
                margin: 0 !important;
                float: none !important;
            }
        }

        /* Related products */
        body.single-product .related.products > h2 {
            font-family: "Montserrat", sans-serif !important;
            font-size: 24px !important;
            font-weight: 800 !important;
            color: #212328 !important;
            margin: 0 0 24px !important;
            padding-top: 48px !important;
            border-top: 2px solid #e5e2de !important;
        }

        /* ── SINGLE PRODUCT — THUMBNAIL SLIDER ── */

        /* Hide the default grid layout; scrolling driven via JS */
        body.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
            display: flex !important;
            flex-direction: row !important;
            flex-wrap: nowrap !important;
            overflow-x: auto !important;
            overflow-y: hidden !important;
            gap: 8px !important;
            padding: 8px 4px !important;
            margin: 0 !important;
            list-style: none !important;
            scroll-behavior: smooth !important;
            -ms-overflow-style: none !important;
            scrollbar-width: none !important;
        }
        body.single-product .woocommerce-product-gallery ol.flex-control-thumbs::-webkit-scrollbar {
            display: none !important;
        }
        body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
            flex: 0 0 82px !important;
            width: 82px !important;
            height: 82px !important;
            margin: 0 !important;
            padding: 0 !important;
        }
        body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
            width: 82px !important;
            height: 82px !important;
            object-fit: cover !important;
            border-radius: 4px !important;
            border: 2px solid #e5e2de !important;
            cursor: pointer !important;
            transition: border-color 0.2s !important;
            display: block !important;
        }
        body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active,
        body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover {
            border-color: #CB1D11 !important;
        }

        /* Wrapper that holds arrows + strip */
        .bb-thumb-slider-wrap {
            position: relative !important;
            display: flex !important;
            align-items: center !important;
            gap: 0 !important;
            margin-top: 10px !important;
        }
        .bb-thumb-slider-wrap ol.flex-control-thumbs {
            flex: 1 !important;
        }

        /* Arrow buttons — 48px black circles with off-white arrows */
        .bb-thumb-arrow {
            flex-shrink: 0 !important;
            width: 48px !important;
            height: 48px !important;
            border: none !important;
            border-radius: 50% !important;
            background: #212328 !important;
            color: #F8F7F5 !important;
            font-size: 30px !important;
            line-height: 1 !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            cursor: pointer !important;
            transition: background 0.2s, color 0.2s, opacity 0.2s !important;
            padding: 0 !important;
            z-index: 2 !important;
        }
        .bb-thumb-arrow:hover {
            background: #CB1D11 !important;
            color: #F8F7F5 !important;
        }
        .bb-thumb-arrow.bb-disabled {
            opacity: 0.3 !important;
            cursor: default !important;
            pointer-events: none !important;
        }

        /* Header padding */
        .main-header-bar .ast-container {
            padding-left: 7% !important;
            padding-right: 7% !important;
        }

        /* Full width page content */
        .ast-page-builder-template .entry-content,
        .ast-page-builder-template .entry-content > .wp-block-group,
        #content .entry-content,
        #content .ast-container,
        .ast-container {
            max-width: 100% !important;
            width: 100% !important;
            padding-left: 0 !important;
            padding-right: 0 !important;
        }

        /* Dokan vendor store pages — force full viewport width */
        body.dokan-store .store-page-wrap.woocommerce {
            width: 100vw !important;
            max-width: 100vw !important;
            margin-left: calc(50% - 50vw) !important;
            margin-right: 0 !important;
            box-sizing: border-box !important;
        }

        /* ── STAR RATING — empty placeholder ── */
        body.single-product .bb-rating-empty .star-rating::before {
            color: #ddd !important;
        }
        body.single-product .bb-rating-empty .star-rating {
            margin-right: 6px !important;
        }
        body.single-product .woocommerce-product-rating {
            display: flex !important;
            align-items: center !important;
            gap: 8px !important;
            margin-bottom: 10px !important;
        }
        body.single-product .bb-no-reviews {
            font-family: "Poppins", sans-serif !important;
            font-size: 12px !important;
            color: #aaa !important;
        }


        /* ── QUANTITY STEPPER ── */
        body.single-product div.quantity {
            float: none !important;
            margin: 0 16px 0 0 !important;
        }
        body.single-product .bb-qty-stepper {
            display: inline-flex !important;
            align-items: stretch !important;
            height: 50px !important;
            border: none !important;
            border-radius: 4px !important;
            overflow: hidden !important;
        }
        body.single-product .bb-qty-btn {
            width: 46px !important;
            flex-shrink: 0 !important;
            background: #212328 !important;
            color: #F8F7F5 !important;
            border: none !important;
            font-size: 22px !important;
            font-weight: 300 !important;
            line-height: 1 !important;
            cursor: pointer !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            transition: background 0.2s !important;
            user-select: none !important;
            padding: 0 !important;
        }
        body.single-product .bb-qty-btn:hover {
            background: #CB1D11 !important;
        }
        body.single-product .bb-qty-stepper input.qty {
            width: 64px !important;
            text-align: center !important;
            border: none !important;
            border-left: 1px solid #ddd !important;
            border-right: 1px solid #ddd !important;
            border-radius: 0 !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 18px !important;
            font-weight: 700 !important;
            color: #212328 !important;
            background: #fff !important;
            padding: 0 !important;
            margin: 0 !important;
            height: 100% !important;
            -moz-appearance: textfield !important;
            appearance: textfield !important;
            box-shadow: none !important;
            outline: none !important;
        }
        body.single-product .bb-qty-stepper input.qty::-webkit-outer-spin-button,
        body.single-product .bb-qty-stepper input.qty::-webkit-inner-spin-button {
            -webkit-appearance: none !important;
            margin: 0 !important;
        }
        /* ── CART PAGE — QUANTITY STEPPER ── */
        .woocommerce-cart .bb-qty-stepper {
            display: inline-flex !important;
            align-items: stretch !important;
            height: 50px !important;
            border: none !important;
            border-radius: 4px !important;
            overflow: hidden !important;
        }
        .woocommerce-cart .bb-qty-btn {
            width: 46px !important;
            flex-shrink: 0 !important;
            background: #212328 !important;
            color: #F8F7F5 !important;
            border: none !important;
            font-size: 22px !important;
            font-weight: 300 !important;
            line-height: 1 !important;
            cursor: pointer !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            transition: background 0.2s !important;
            user-select: none !important;
            padding: 0 !important;
        }
        .woocommerce-cart .bb-qty-btn:hover {
            background: #CB1D11 !important;
        }
        .woocommerce-cart .bb-qty-stepper input.qty {
            width: 64px !important;
            text-align: center !important;
            border: none !important;
            border-left: 1px solid #ddd !important;
            border-right: 1px solid #ddd !important;
            border-radius: 0 !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 18px !important;
            font-weight: 700 !important;
            color: #212328 !important;
            background: #fff !important;
            padding: 0 !important;
            margin: 0 !important;
            height: 100% !important;
            -moz-appearance: textfield !important;
            appearance: textfield !important;
            box-shadow: none !important;
            outline: none !important;
        }
        .woocommerce-cart .bb-qty-stepper input.qty::-webkit-outer-spin-button,
        .woocommerce-cart .bb-qty-stepper input.qty::-webkit-inner-spin-button {
            -webkit-appearance: none !important;
            margin: 0 !important;
        }

        body.single-product .single_add_to_cart_button {
            margin-top: 5px !important;
        }

        body.single-product .woocommerce-product-gallery {
            position: relative !important;
        }
        body.single-product .woocommerce-product-gallery__trigger {
            position: absolute !important;
            top: 75px !important;
            right: 10px !important;
            z-index: 9 !important;
        }

        /* ── PRODUCT CARDS — stock qty ── */
        .bb-loop-stock {
            display: block !important;
            font-family: "Poppins", sans-serif !important;
            font-size: 16px !important;
            font-weight: 600 !important;
            margin-bottom: 4px !important;
            margin-left: 16px !important;
        }
        .bb-loop-stock.in-stock  { color: #1a7c3d !important; }
        .bb-loop-stock.out-of-stock { color: #CB1D11 !important; }

        /* ── MOBILE: single-product ── */
        @media (max-width: 768px) {

            /* Collapse 3-column grid to single column */
            body.single-product div.product {
                display: flex !important;
                flex-direction: column !important;
                gap: 0 !important;
            }

            /* Reorder: gallery(1) → meta(2) → action panel(3) → tabs(4+) */
            body.single-product .woocommerce-product-gallery { order: 1 !important; margin-bottom: 16px !important; }
            body.single-product .summary.entry-summary        { order: 2 !important; margin-bottom: 16px !important; }
            body.single-product .bb-col-action               { order: 3 !important; margin-bottom: 16px !important; }
            body.single-product .woocommerce-tabs             { order: 4 !important; }
            body.single-product .related.products             { order: 5 !important; }
            body.single-product .up-sells.products            { order: 6 !important; }

            /* Hide zoom trigger on mobile — pinch-to-zoom works natively */
            body.single-product .woocommerce-product-gallery__trigger {
                display: none !important;
            }

            /* Action panel — full-width, no card styling */
            body.single-product .bb-col-action {
                background: transparent !important;
                border-radius: 0 !important;
                box-shadow: none !important;
                border-top: 1px solid #e5e2de !important;
                border-bottom: 1px solid #e5e2de !important;
                padding: 16px 0 !important;
            }

            /* Smaller price on mobile */
            body.single-product .bb-col-action p.price,
            body.single-product .bb-col-action span.price {
                font-size: 26px !important;
            }

            /* Shipping box — tighter padding */
            body.single-product .bb-shipping-box {
                padding-top: 14px !important;
                margin-top: 14px !important;
            }

            /* Tabs — accordion mode */
            body.single-product .woocommerce-tabs {
                margin-top: 0 !important;
                padding-top: 0 !important;
            }
            body.single-product .woocommerce-tabs ul.tabs {
                display: none !important;
                margin: 0 !important;
                padding: 0 !important;
                height: 0 !important;
            }
            body.single-product .bb-accordion-header {
                display: flex !important;
                justify-content: space-between !important;
                align-items: center !important;
                padding: 14px 0 !important;
                border-top: 1px solid #e5e2de !important;
                cursor: pointer !important;
                font-family: "Poppins", sans-serif !important;
                font-size: 15px !important;
                font-weight: 600 !important;
                color: #212328 !important;
                user-select: none !important;
            }
            body.single-product .bb-accordion-header.bb-accordion-open {
                color: #CB1D11 !important;
            }
            body.single-product .bb-accordion-icon {
                width: 20px !important;
                height: 20px !important;
                flex-shrink: 0 !important;
                position: relative !important;
            }
            body.single-product .bb-accordion-icon::before,
            body.single-product .bb-accordion-icon::after {
                content: "" !important;
                position: absolute !important;
                background: #888 !important;
                border-radius: 2px !important;
            }
            body.single-product .bb-accordion-icon::before {
                width: 12px !important;
                height: 2px !important;
                top: 9px !important;
                left: 4px !important;
            }
            body.single-product .bb-accordion-icon::after {
                width: 2px !important;
                height: 12px !important;
                top: 4px !important;
                left: 9px !important;
                transition: transform 0.2s !important;
            }
            body.single-product .bb-accordion-header.bb-accordion-open .bb-accordion-icon::after {
                transform: rotate(90deg) !important;
            }
            body.single-product .woocommerce-Tabs-panel {
                border: none !important;
                padding-left: 0 !important;
                padding-right: 0 !important;
                margin-bottom: 0 !important;
            }

            /* More Products tab — 1 column on mobile */
            body.single-product #tab-more_seller_product ul.products {
                display: grid !important;
                grid-template-columns: 1fr !important;
            }
            body.single-product #tab-more_seller_product ul.products li.product {
                width: 100% !important;
                float: none !important;
                margin: 0 !important;
            }

            /* Related products — 1 column on mobile */
            body.single-product .related.products ul.products,
            body.single-product .up-sells.products ul.products {
                display: grid !important;
                grid-template-columns: 1fr !important;
                gap: 16px !important;
            }
            body.single-product .related.products ul.products li.product,
            body.single-product .up-sells.products ul.products li.product {
                width: 100% !important;
                float: none !important;
                margin: 0 !important;
            }

            /* Categories & tags — spacing when inside action panel on mobile */
            body.single-product .bb-col-action .product_meta {
                border-top: 1px solid #e5e2de !important;
                margin-top: 16px !important;
                padding-top: 16px !important;
            }

            /* Reduce page padding on mobile */
            body.single-product #primary,
            body.single-product .entry-content,
            body.single-product .site-main {
                padding-left: 16px !important;
                padding-right: 16px !important;
            }
        }

        /* ── Mobile Off-Canvas Menu ── */
        .ast-header-break-point .main-header-menu {
            background-color: #212328 !important;
        }
        @media (max-width: 921px) {
            .ast-builder-menu-mobile .main-navigation .main-header-menu,
            .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link,
            .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
                background-color: #212328 !important;
                background-image: none;
            }
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link {
            color: #F8F7F5 !important;
            font-family: "Poppins", sans-serif;
            font-weight: 500;
            border-bottom: 1px solid rgba(255,255,255,0.08) !important;
            padding: 12px 20px !important;
            transition: color 0.2s ease, background-color 0.2s ease;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-link:hover {
            color: #F5C200 !important;
            background-color: rgba(255,255,255,0.05) !important;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .current-menu-item > .menu-link,
        .ast-builder-menu-mobile .main-navigation .main-header-menu .current_page_item > .menu-link {
            color: #F5C200 !important;
            border-left: 3px solid #CB1D11 !important;
            padding-left: 17px !important;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .ast-arrow-svg path {
            fill: #F8F7F5 !important;
        }
        .ast-builder-menu-mobile .main-navigation .ast-menu-toggle {
            color: #F8F7F5 !important;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu {
            background-color: #1a1c20 !important;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .menu-link {
            color: rgba(248,247,245,0.8) !important;
            font-size: 0.9em;
            padding-left: 32px !important;
            border-bottom-color: rgba(255,255,255,0.05) !important;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .menu-link:hover {
            color: #F5C200 !important;
            background-color: rgba(255,255,255,0.04) !important;
        }
        .ast-builder-menu-mobile .main-navigation .main-header-menu .sub-menu .ast-icon {
            display: none;
        }