/* H&B B2B Wholesale Order Form */
.hb-b2b-order-form {
    --hb-border: #dedede;
    --hb-muted: #777;
    --hb-heading: #2f2f2f;
    --hb-black: #050505;
    width: 100%;
    font-family: inherit;
}

.hb-b2b-title {
    margin: 0 0 38px;
    color: var(--hb-heading);
    font-size: 36px;
    line-height: 1.2;
    font-weight: 400;
}

.hb-b2b-toolbar {
    display: grid;
    grid-template-columns: 173px 110px 1fr;
    gap: 13px;
    margin-bottom: 20px;
}

.hb-filter-toggle,
.hb-search-wrap {
    height: 61px;
    border: 1px solid var(--hb-border);
    border-radius: 6px;
    background: #fff;
    box-sizing: border-box;
}

.hb-filter-toggle {
    padding: 0 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font: inherit;
    font-size: 18px;
    color: #444;
    cursor: pointer;
}

.hb-filter-icon {
    font-size: 27px;
    line-height: 1;
    transform: rotate(90deg);
    color: #777;
}

.hb-search-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

.hb-product-search {
    width: 100%;
    height: 100%;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    padding: 0 58px 0 26px !important;
    font: inherit;
    font-size: 16px;
    background: transparent !important;
}

.hb-product-search::placeholder {
    color: #c4c4c4;
}

.hb-search-icon {
    position: absolute;
    right: 27px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 31px;
    line-height: 1;
    color: #777;
}

.hb-filter-panel {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: -5px 0 18px;
}

.hb-filter-panel[hidden] {
    display: none;
}

.hb-category {
    border: 1px solid var(--hb-border);
    background: #fff;
    border-radius: 5px;
    padding: 8px 14px;
    cursor: pointer;
    font: inherit;
}

.hb-category.active {
    background: #111;
    color: #fff;
    border-color: #111;
}

.hb-b2b-table-wrap {
    overflow-x: auto;
    border-top: 1px solid #d8d8d8;
}

.hb-b2b-table {
    min-width: 880px;
}

.hb-b2b-head,
.hb-b2b-row {
    display: grid;
    grid-template-columns: minmax(430px, 1fr) 155px 155px 170px 210px;
    align-items: center;
}

.hb-b2b-head {
    min-height: 78px;
    background: #fafafa;
    border-bottom: 1px solid #d2d2d2;
    color: #7a7a7a;
    font-size: 20px;
    font-weight: 500;
}

.hb-b2b-head > div:first-child,
.hb-b2b-row > div:first-child {
    padding-left: 25px;
}

.hb-b2b-row {
    min-height: 102px;
    border-bottom: 1px solid #e2e2e2;
    background: #fff;
}

.hb-product-cell {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 0;
}

.hb-product-image-link {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f4f4;
    border-radius: 4px;
    overflow: hidden;
}

.hb-product-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.hb-product-name {
    color: #444;
    text-decoration: none;
    font-size: 20px;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hb-product-name:hover {
    text-decoration: underline;
}

.hb-qty {
    width: 95px !important;
    height: 56px !important;
    padding: 0 12px !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 6px !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: center;
    font: inherit;
    font-size: 17px;
    color: #555;
}

.hb-subtotal-cell {
    font-size: 20px;
    color: #454545;
}

.hb-add-to-cart {
    width: 210px;
    min-height: 56px;
    border: 0;
    border-radius: 5px;
    background: var(--hb-black);
    color: #fff;
    font: inherit;
    font-size: 19px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity .15s ease, transform .05s ease;
}

.hb-add-to-cart:hover {
    opacity: .88;
}

.hb-add-to-cart:active {
    transform: translateY(1px);
}

.hb-add-to-cart.loading {
    opacity: .55;
    cursor: wait;
}

.hb-b2b-status {
    min-height: 24px;
    padding: 12px 0;
    font-size: 14px;
}

.hb-b2b-login-required,
.hb-b2b-notice {
    padding: 18px 20px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fafafa;
}

.hb-b2b-login-required a {
    font-weight: 600;
}

.hb-no-results {
    padding: 35px 20px;
    text-align: center;
    color: #777;
}

@media (max-width: 900px) {
    .hb-b2b-title {
        font-size: 30px;
        margin-bottom: 24px;
    }

    .hb-b2b-toolbar {
        grid-template-columns: 130px 1fr;
    }

    .hb-filter-toggle {
        padding: 0 15px;
    }
}

@media (max-width: 600px) {
    .hb-b2b-title {
        font-size: 26px;
    }

    .hb-b2b-toolbar {
        grid-template-columns: 1fr;
    }

    .hb-filter-toggle {
        width: 100%;
    }
}

.hb-b2b-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7px;
    padding: 25px 0 10px;
}

.hb-b2b-pagination a {
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid #d7d7d7;
    border-radius: 5px;
    background: #fff;
    color: #444;
    text-decoration: none;
    font-size: 15px;
}

.hb-b2b-pagination a:hover,
.hb-b2b-pagination a.active {
    background: #050505;
    border-color: #050505;
    color: #fff;
}

.hb-cart-filter {
    height: 61px;
    border: 1px solid #dedede;
    border-radius: 6px;
    background: #fff;
    color: #444;
    font: inherit;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.hb-cart-filter.active {
    background: #050505;
    color: #fff;
    border-color: #050505;
}

.hb-cart-count {
    min-width: 24px;
    height: 24px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #eee;
    color: #222;
    font-size: 13px;
    font-weight: 700;
}

.hb-cart-filter.active .hb-cart-count {
    background: #fff;
    color: #111;
}

.hb-b2b-row[data-stock-status="outofstock"] {
    opacity: .55;
    background: #fafafa;
}

.hb-out-stock-button {
    background: #777;
    cursor: not-allowed;
}

.hb-b2b-cart-view[hidden] {
    display: none;
}

.hb-b2b-cart-view {
    border-top: 1px solid #d8d8d8;
}

.hb-b2b-cart-row {
    min-height: 102px;
    display: grid;
    grid-template-columns: minmax(430px, 1fr) 155px 155px 170px 210px;
    align-items: center;
    border-bottom: 1px solid #e2e2e2;
    background: #fff;
}

.hb-b2b-cart-row > div:first-child {
    padding-left: 25px;
}

.hb-view-cart-button {
    width: 210px;
    min-height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 5px;
    background: #050505;
    color: #fff;
    text-decoration: none;
    font-size: 19px;
    font-weight: 600;
}

.hb-empty-cart {
    padding: 40px 20px;
    text-align: center;
    color: #777;
    border-bottom: 1px solid #e2e2e2;
}

@media (max-width: 900px) {
    .hb-b2b-toolbar {
        grid-template-columns: 130px 95px 1fr;
    }
}

@media (max-width: 600px) {
    .hb-b2b-toolbar {
        grid-template-columns: 1fr;
    }
}

/* v1.4 quantity controls */
.hb-qty-cell {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.hb-qty-control {
    display: flex;
    align-items: center;
    width: 125px;
    height: 46px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}

.hb-qty-control button {
    width: 38px;
    height: 46px;
    border: 0;
    background: #fff;
    font-size: 24px;
    line-height: 1;
    font-weight: 700;
    cursor: pointer;
}

.hb-qty-minus {
    color: #d71920 !important;
    border-right: 1px solid #e6e6e6 !important;
}

.hb-qty-plus {
    color: #178a45 !important;
    border-left: 1px solid #e6e6e6 !important;
}

.hb-qty-control button:hover {
    background: #f6f6f6;
}

.hb-qty {
    width: 49px !important;
    height: 44px !important;
    min-width: 49px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    text-align: center;
    font: inherit;
    font-size: 16px;
    color: #333;
    -moz-appearance: textfield;
}

.hb-qty::-webkit-outer-spin-button,
.hb-qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.hb-stock-left {
    font-size: 12px;
    color: #777;
    line-height: 1.2;
}

.hb-stock-left.is-zero {
    color: #d71920;
    font-weight: 600;
}

.hb-b2b-status.is-error {
    color: #d71920;
    font-weight: 600;
}

.hb-b2b-status.is-success {
    color: #178a45;
}

/* Mobile layout matching the supplied reference: product card + mini item/price/qty row. */
@media (max-width: 600px) {
    .hb-b2b-order-form {
        width: 100%;
    }

    .hb-b2b-title {
        font-size: 24px;
        margin-bottom: 18px;
    }

    .hb-b2b-toolbar {
        grid-template-columns: 1fr 92px;
        gap: 8px;
    }

    .hb-search-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
        height: 50px;
    }

    .hb-filter-toggle {
        grid-column: 1;
        grid-row: 2;
        height: 50px;
        padding: 0 15px;
    }

    .hb-cart-filter {
        grid-column: 2;
        grid-row: 2;
        height: 50px;
    }

    .hb-b2b-table-wrap {
        overflow: visible;
        border-top: 0;
    }

    .hb-b2b-table {
        min-width: 0;
    }

    .hb-b2b-head {
        display: none;
    }

    .hb-b2b-row {
        display: block;
        min-height: 0;
        margin: 0 0 14px;
        border: 1px solid #dedede;
        background: #fff;
        border-radius: 0;
        overflow: hidden;
    }

    .hb-product-cell {
        min-height: 80px;
        padding: 10px 12px !important;
        gap: 12px;
        border-bottom: 1px solid #dedede;
        position: relative;
    }

    .hb-product-image-link {
        flex: 0 0 52px;
        width: 52px;
        height: 52px;
        background: #f5f5f5;
    }

    .hb-product-name {
        padding-right: 24px;
        white-space: normal;
        overflow: visible;
        text-overflow: initial;
        font-size: 14px;
        line-height: 1.35;
        font-weight: 700;
        color: #111;
        text-decoration: none;
    }

    .hb-product-cell::after {
        content: "›";
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        color: #777;
        font-size: 30px;
        line-height: 1;
        font-weight: 300;
    }

    .hb-qty-cell,
    .hb-subtotal-cell,
    .hb-cart-cell {
        display: block;
        box-sizing: border-box;
    }

    .hb-b2b-row::after {
        content: "";
        display: block;
        clear: both;
    }

    .hb-b2b-row > .hb-qty-cell,
    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-cart-cell {
        min-height: 50px;
    }

    .hb-b2b-row > .hb-qty-cell {
        float: right;
        width: 25%;
        padding: 7px 0 7px 8px;
        border-left: 1px solid #dedede;
        background: #fff;
    }

    .hb-b2b-row > .hb-subtotal-cell {
        float: right;
        width: 35%;
        padding: 8px 10px;
        border-left: 1px solid #dedede;
        color: #222;
        font-size: 14px;
        text-align: center;
        background: #fff;
    }

    .hb-b2b-row > .hb-cart-cell {
        float: left;
        width: 40%;
        padding: 8px 10px;
        color: #777;
        font-size: 12px;
        background: #fff;
    }

    .hb-b2b-row > .hb-cart-cell::before {
        content: "Item";
        display: block;
        margin-bottom: 4px;
        color: #777;
        font-size: 12px;
    }

    .hb-b2b-row > .hb-subtotal-cell::before {
        content: "Unit Price";
        display: block;
        margin-bottom: 4px;
        color: #777;
        font-size: 12px;
    }

    .hb-b2b-row > .hb-qty-cell::before {
        content: "Qty.";
        display: block;
        margin: 0 0 4px;
        color: #777;
        font-size: 12px;
        text-align: center;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart {
        display: none;
    }

    .hb-b2b-row .hb-cart-cell::after {
        content: attr(data-item);
    }

    .hb-qty-control {
        width: 100%;
        height: 34px;
        border: 1px solid #d6d6d6;
    }

    .hb-qty-control button {
        width: 30px;
        height: 34px;
        font-size: 20px;
    }

    .hb-qty {
        width: calc(100% - 60px) !important;
        min-width: 0 !important;
        height: 32px !important;
        font-size: 14px;
    }

    .hb-stock-left {
        text-align: center;
        font-size: 10px;
        margin-top: 2px;
    }

    .hb-product-cell + .hb-qty-cell {
        border-top: 0;
    }

    .hb-b2b-cart-view {
        border-top: 0;
    }

    .hb-b2b-cart-row {
        display: block;
        border: 1px solid #dedede;
        margin-bottom: 14px;
    }

    .hb-b2b-cart-row > .hb-product-cell {
        padding-left: 12px !important;
    }

    .hb-b2b-cart-row > .hb-qty-cell,
    .hb-b2b-cart-row > .hb-subtotal-cell,
    .hb-b2b-cart-row > .hb-cart-cell {
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
        width: 33.333%;
        min-height: 58px;
        padding: 8px;
        border-left: 1px solid #dedede;
        text-align: center;
    }

    .hb-b2b-cart-row > .hb-qty-cell::before {
        content: "Qty.";
        display: block;
        color: #777;
        font-size: 12px;
        margin-bottom: 4px;
    }

    .hb-b2b-cart-row > .hb-subtotal-cell::before {
        content: "Subtotal";
        display: block;
        color: #777;
        font-size: 12px;
        margin-bottom: 4px;
    }

    .hb-view-cart-button {
        width: 100%;
        min-height: 34px;
        font-size: 12px;
    }

    .hb-b2b-pagination {
        overflow-x: auto;
        justify-content: flex-start;
        padding: 15px 0;
    }
}

/* v1.6 mobile layout: Product + Unit Price + Qty + Add to Cart */
@media (max-width: 600px) {
    .hb-b2b-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr 1fr !important;
        width: 100%;
        min-width: 0 !important;
        margin-bottom: 14px;
        border: 1px solid #dedede;
        overflow: hidden;
    }

    .hb-b2b-row > .hb-product-cell {
        grid-column: 1 / -1 !important;
        grid-row: 1;
        width: 100% !important;
        min-width: 0;
        min-height: 80px;
        box-sizing: border-box;
        border-bottom: 1px solid #dedede;
    }

    /* Unit Price is the first bottom column */
    .hb-b2b-row > .hb-subtotal-cell {
        grid-column: 1;
        grid-row: 2;
        width: auto !important;
        min-width: 0;
        float: none !important;
        border-left: 0 !important;
        border-right: 1px solid #dedede;
        border-bottom: 0;
        padding: 10px 6px !important;
        min-height: 62px !important;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center !important;
        font-size: 14px;
        box-sizing: border-box;
    }

    .hb-b2b-row > .hb-subtotal-cell::before {
        content: "Unit Price" !important;
        display: block !important;
        margin: 0 0 5px !important;
        color: #777;
        font-size: 12px;
    }

    /* Qty is the center column */
    .hb-b2b-row > .hb-qty-cell {
        grid-column: 2;
        grid-row: 2;
        width: auto !important;
        min-width: 0;
        float: none !important;
        border-left: 0 !important;
        border-right: 1px solid #dedede;
        padding: 8px 4px !important;
        min-height: 62px !important;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .hb-b2b-row > .hb-qty-cell::before {
        content: "Qty." !important;
        display: block !important;
        margin: 0 0 5px !important;
        color: #777;
        font-size: 12px;
        text-align: center;
    }

    .hb-qty-control {
        width: 100% !important;
        max-width: 94px;
        height: 34px;
        margin: 0 auto;
        display: flex;
    }

    .hb-qty-control button {
        flex: 0 0 28px;
        width: 28px !important;
        height: 34px;
    }

    .hb-qty {
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0 !important;
        height: 32px !important;
        padding: 0 2px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        text-align: center;
    }

    .hb-stock-left {
        width: 100%;
        text-align: center;
        font-size: 10px;
        line-height: 12px;
        margin-top: 2px;
    }

    /* Add to Cart is always visible on mobile */
    .hb-b2b-row > .hb-cart-cell {
        grid-column: 3;
        grid-row: 2;
        width: auto !important;
        min-width: 0;
        float: none !important;
        padding: 10px 6px !important;
        min-height: 62px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        background: #fff;
    }

    .hb-b2b-row > .hb-cart-cell::before,
    .hb-b2b-row > .hb-cart-cell::after {
        display: none !important;
        content: none !important;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart {
        display: inline-flex !important;
        width: 100% !important;
        max-width: 112px;
        min-height: 38px;
        padding: 6px 8px;
        align-items: center;
        justify-content: center;
        border: 0;
        border-radius: 4px;
        background: #050505;
        color: #fff;
        font-size: 12px;
        line-height: 1.2;
        font-weight: 600;
        white-space: normal;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart:disabled {
        opacity: .65;
        cursor: not-allowed;
    }

    .hb-b2b-row .hb-cart-cell .hb-out-stock-button {
        background: #777;
    }

    /* Keep the product image/name section clean */
    .hb-product-cell::after {
        right: 10px;
        font-size: 28px;
    }
}


/* v1.7 polished UI */
.hb-b2b-row {
    transition: background-color .18s ease, box-shadow .18s ease;
}

.hb-b2b-row:hover {
    background: #fcfcfc;
}

.hb-product-cell {
    position: relative;
    padding-right: 44px;
}

.hb-product-image-link {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
    background: #f7f7f7;
    border: 1px solid #eeeeee;
    border-radius: 8px;
    transition: transform .15s ease, border-color .15s ease;
}

.hb-product-image-link:hover {
    transform: scale(1.03);
    border-color: #d8d8d8;
}

.hb-product-name {
    font-weight: 500;
}

.hb-product-open {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #777;
    text-decoration: none;
    font-size: 30px;
    line-height: 1;
    transition: background-color .15s ease, color .15s ease, transform .15s ease;
}

.hb-product-open:hover {
    background: #f1f1f1;
    color: #111;
    transform: translateY(-50%) translateX(2px);
}

.hb-qty-control {
    box-shadow: 0 1px 2px rgba(0,0,0,.04);
}

.hb-qty-control button {
    transition: background-color .15s ease;
}

.hb-add-to-cart {
    box-shadow: 0 2px 5px rgba(0,0,0,.08);
}

.hb-add-to-cart:hover {
    transform: translateY(-1px);
    opacity: 1;
}

.hb-subtotal-cell {
    font-weight: 500;
}

@media (min-width: 601px) {
    .hb-b2b-row {
        min-height: 116px;
    }
}


/* v1.7 final mobile polish */
@media (max-width: 600px) {
    .hb-b2b-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
        margin-bottom: 12px;
        border: 1px solid #e1e1e1;
        border-radius: 8px;
        box-shadow: 0 1px 3px rgba(0,0,0,.04);
    }

    .hb-product-cell {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        min-height: 82px !important;
        padding: 10px 12px !important;
        padding-right: 48px !important;
        gap: 11px;
        border-bottom: 1px solid #e5e5e5;
        background: #fff;
    }

    .hb-product-image-link {
        flex: 0 0 56px !important;
        width: 56px !important;
        height: 56px !important;
        border-radius: 7px;
        background: #f7f7f7;
    }

    .hb-product-name {
        font-size: 13px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        color: #111 !important;
    }

    .hb-product-open {
        right: 8px;
        width: 34px;
        height: 34px;
        font-size: 28px;
        color: #666;
        background: #fafafa;
        border: 1px solid #eee;
    }

    .hb-product-cell::after {
        display: none !important;
        content: none !important;
    }

    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-qty-cell,
    .hb-b2b-row > .hb-cart-cell {
        grid-row: 2 !important;
        min-height: 70px !important;
        padding: 8px 5px !important;
        background: #fff;
        box-sizing: border-box;
    }

    .hb-b2b-row > .hb-subtotal-cell {
        grid-column: 1 !important;
        border-right: 1px solid #e5e5e5;
        border-left: 0 !important;
        font-size: 14px !important;
    }

    .hb-b2b-row > .hb-qty-cell {
        grid-column: 2 !important;
        border-right: 1px solid #e5e5e5;
        border-left: 0 !important;
        align-items: center !important;
    }

    .hb-b2b-row > .hb-cart-cell {
        grid-column: 3 !important;
        border: 0 !important;
    }

    .hb-b2b-row > .hb-subtotal-cell::before,
    .hb-b2b-row > .hb-qty-cell::before {
        margin-bottom: 5px !important;
        color: #777 !important;
        font-size: 11px !important;
        font-weight: 400;
    }

    .hb-qty-control {
        width: 100% !important;
        max-width: 92px !important;
        height: 34px !important;
        border-radius: 6px;
        margin: 0 auto;
    }

    .hb-qty-control button {
        flex: 0 0 27px !important;
        width: 27px !important;
        height: 34px !important;
        font-size: 19px !important;
    }

    .hb-qty {
        min-width: 0 !important;
        width: auto !important;
        flex: 1 1 auto !important;
        height: 32px !important;
        font-size: 13px !important;
    }

    .hb-stock-left {
        margin-top: 3px !important;
        font-size: 10px !important;
        line-height: 12px !important;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart {
        width: 100% !important;
        max-width: 118px !important;
        min-height: 38px !important;
        padding: 6px 7px !important;
        border-radius: 5px !important;
        font-size: 11px !important;
        box-shadow: none;
    }
}

/* v1.8: desktop product column + no desktop arrow */
@media (min-width: 601px) {
    .hb-product-cell {
        grid-column: 1 !important;
        display: flex !important;
        align-items: center !important;
        min-width: 0 !important;
        padding-left: 25px !important;
        padding-right: 20px !important;
    }

    .hb-product-open {
        display: none !important;
    }

    .hb-product-image-link {
        flex: 0 0 64px;
        width: 64px;
        height: 64px;
    }

    .hb-product-name {
        display: block;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* v1.8: mobile keeps product on the left/top and clickable arrow */
@media (max-width: 600px) {
    .hb-product-cell {
        display: flex !important;
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }

    .hb-product-open {
        display: flex !important;
    }
}

/* v1.9 compact pagination: max 10 page numbers visible at once */
.hb-b2b-pagination {
    flex-wrap: wrap;
}

.hb-b2b-pagination a.prev,
.hb-b2b-pagination a.next {
    font-size: 22px;
    font-weight: 500;
}

/* v2.0 cart icon: direct WooCommerce cart link */
.hb-cart-icon-link {
    position: relative;
    height: 61px;
    width: 61px;
    min-width: 61px;
    border: 1px solid #dedede;
    border-radius: 6px;
    background: #fff;
    color: #222;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    cursor: pointer;
}

.hb-cart-icon-link:hover {
    background: #f7f7f7;
}

.hb-cart-icon {
    font-size: 27px;
    line-height: 1;
}

.hb-cart-icon-link .hb-cart-count {
    position: absolute;
    top: 7px;
    right: 5px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 999px;
    background: #1677c8;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 600px) {
    .hb-cart-icon-link {
        width: 100%;
        height: 48px;
        min-width: 0;
        border-radius: 5px;
    }

    .hb-cart-icon {
        font-size: 23px;
    }
}

/* v2.1 global search */
.hb-b2b-pagination a[data-search-page] {
    cursor: pointer;
}

/* v2.2: fix filter buttons against theme/global button CSS */
.hb-b2b-order-form .hb-filter-panel {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: -5px 0 18px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.hb-b2b-order-form .hb-filter-panel[hidden] {
    display: none !important;
}

.hb-b2b-order-form .hb-filter-panel .hb-category {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 48px !important;
    min-height: 40px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 1px solid #d7d7d7 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #444 !important;
    font-family: inherit !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-indent: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.hb-b2b-order-form .hb-filter-panel .hb-category:hover {
    background: #f5f8fb !important;
    border-color: #1677c8 !important;
    color: #1677c8 !important;
}

.hb-b2b-order-form .hb-filter-panel .hb-category.active {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

/* Website blue for Add to Cart */
.hb-b2b-order-form .hb-add-to-cart {
    background: #1677c8 !important;
    border-color: #1677c8 !important;
    color: #fff !important;
}

.hb-b2b-order-form .hb-add-to-cart:hover {
    background: #1268b0 !important;
    border-color: #1268b0 !important;
    opacity: 1 !important;
}

.hb-b2b-order-form .hb-add-to-cart:disabled,
.hb-b2b-order-form .hb-add-to-cart.loading {
    opacity: .65 !important;
}

/* Keep mobile filter panel neat */
@media (max-width: 600px) {
    .hb-b2b-order-form .hb-filter-panel {
        gap: 6px !important;
        margin-top: 8px !important;
        margin-bottom: 14px !important;
    }

    .hb-b2b-order-form .hb-filter-panel .hb-category {
        min-width: 44px !important;
        min-height: 36px !important;
        padding: 7px 11px !important;
        font-size: 13px !important;
    }
}

/* v2.4 brand archive: let the B2B form use the full archive width */
.hb-b2b-brand-archive,
.hb-b2b-brand-archive .hb-b2b-order-form {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.hb-b2b-brand-archive .hb-b2b-order-form {
    margin-top: 10px;
}

/* v2.5: logged-in brand archive is a dedicated B2B page, so no WooCommerce
   product loop can appear below the order form. */
.hb-b2b-brand-archive-page {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.hb-b2b-brand-breadcrumb {
    margin-bottom: 18px;
}

.hb-b2b-brand-title {
    margin: 0 0 24px;
}

.hb-b2b-brand-archive-page .hb-b2b-order-form {
    width: 100%;
}

/* v2.5.1: archive template uses WooCommerce's normal content wrapper */
.hb-b2b-brand-title {
    margin: 0 0 24px;
}

.hb-b2b-brand-archive-page {
    width: 100%;
    box-sizing: border-box;
}

/* v2.5.2: balanced desktop B2B order-form layout */
.hb-b2b-order-form {
    width: min(1400px, calc(100% - 48px)) !important;
    max-width: 1400px !important;
    margin: 32px auto 60px !important;
    box-sizing: border-box !important;
}

.hb-b2b-order-form .hb-order-header,
.hb-b2b-order-form .hb-order-table,
.hb-b2b-order-form .hb-products,
.hb-b2b-order-form .hb-pagination {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Keep the search/filter controls aligned with the centered content */
.hb-b2b-order-form .hb-order-toolbar {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 180px 56px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

/* Product rows: consistent vertical alignment */
.hb-b2b-order-form .hb-product-row {
    min-height: 96px !important;
    display: grid !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.hb-b2b-order-form .hb-product-row > * {
    box-sizing: border-box !important;
    align-self: center !important;
}

/* Prevent very wide product names from pushing the controls */
.hb-b2b-order-form .hb-product-name {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

/* Keep Qty, subtotal and cart visually centered in their columns */
.hb-b2b-order-form .hb-qty,
.hb-b2b-order-form .hb-subtotal,
.hb-b2b-order-form .hb-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hb-b2b-order-form .hb-qty-control {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Remove accidental full-viewport positioning from archive wrapper */
.hb-b2b-brand-archive-page {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Desktop only */
@media (min-width: 901px) {
    .hb-b2b-brand-archive-page .hb-b2b-order-form {
        width: min(1400px, calc(100% - 48px)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 900px) {
    .hb-b2b-order-form {
        width: calc(100% - 20px) !important;
        margin: 20px auto 40px !important;
    }

    .hb-b2b-order-form .hb-order-toolbar {
        grid-template-columns: 1fr !important;
    }
}


/* v2.5.4: keep breadcrumb, remove only the B2B brand title */
.hb-b2b-brand-breadcrumb {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

.hb-b2b-brand-archive-page .hb-b2b-brand-title {
    display: none !important;
}

/* v2.5.5: no breadcrumb on logged-in B2B brand archive */
.hb-b2b-brand-breadcrumb {
    display: none !important;
}

/* v2.6.0: Unit Price + Qty + Subtotal + Cart */
.hb-b2b-table {
    min-width: 1050px;
}

.hb-b2b-head,
.hb-b2b-row {
    grid-template-columns: minmax(390px, 1fr) 145px 155px 155px 210px !important;
}

.hb-b2b-head > div,
.hb-b2b-row > .hb-unit-price-cell,
.hb-b2b-row > .hb-qty-cell,
.hb-b2b-row > .hb-subtotal-cell,
.hb-b2b-row > .hb-cart-cell {
    display: flex;
    align-items: center;
    justify-content: center;
}

.hb-b2b-row > .hb-product-cell {
    justify-content: flex-start;
}

.hb-b2b-row > .hb-unit-price-cell,
.hb-b2b-row > .hb-subtotal-cell {
    font-size: 18px;
    color: #454545;
    font-weight: 500;
}

.hb-b2b-row > .hb-cart-cell {
    padding-right: 18px;
}

.hb-b2b-row > .hb-qty-cell {
    flex-direction: column;
    gap: 5px;
}

.hb-b2b-row > .hb-qty-cell .hb-qty-control {
    margin: 0 auto;
}

.hb-b2b-cart-row {
    grid-template-columns: minmax(390px, 1fr) 145px 155px 155px 210px !important;
}

/* Mobile: top = image + name + arrow; bottom = Unit Price | Qty | Subtotal | Cart */
@media (max-width: 600px) {
    .hb-b2b-table {
        min-width: 0 !important;
    }

    .hb-b2b-row {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    .hb-b2b-row > .hb-product-cell {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }

    .hb-b2b-row > .hb-unit-price-cell {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 70px !important;
        padding: 8px 5px !important;
        border-right: 1px solid #dedede;
        border-bottom: 0;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 14px;
        box-sizing: border-box;
    }

    .hb-b2b-row > .hb-unit-price-cell::before {
        content: "Unit Price";
        display: block;
        margin-bottom: 5px;
        color: #777;
        font-size: 11px;
        font-weight: 400;
    }

    .hb-b2b-row > .hb-qty-cell {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 70px !important;
        padding: 8px 4px !important;
        border-right: 1px solid #dedede;
        border-left: 0 !important;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .hb-b2b-row > .hb-qty-cell::before {
        content: "Qty.";
        display: block;
        margin-bottom: 5px;
        color: #777;
        font-size: 11px;
        font-weight: 400;
    }

    .hb-b2b-row > .hb-subtotal-cell {
        grid-column: 3 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 70px !important;
        padding: 8px 5px !important;
        border-right: 1px solid #dedede;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: 14px;
        box-sizing: border-box;
    }

    .hb-b2b-row > .hb-subtotal-cell::before {
        content: "Subtotal";
        display: block;
        margin-bottom: 5px;
        color: #777;
        font-size: 11px;
        font-weight: 400;
    }

    .hb-b2b-row > .hb-cart-cell {
        grid-column: 4 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 70px !important;
        padding: 8px 5px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart {
        display: inline-flex !important;
        width: 100% !important;
        max-width: 110px !important;
        min-height: 38px !important;
        padding: 5px 6px !important;
        font-size: 11px !important;
    }

    .hb-qty-control {
        width: 92px !important;
        max-width: 92px !important;
        height: 34px !important;
    }

    .hb-qty-control button {
        flex: 0 0 28px !important;
        width: 28px !important;
        height: 34px !important;
        font-size: 20px !important;
    }

    .hb-qty {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 32px !important;
        font-size: 13px !important;
    }

    .hb-stock-left {
        text-align: center;
        font-size: 10px;
        margin-top: 2px;
    }
}

/* v2.6.1 — correct 5-column desktop layout
   Product | Unit Price | Qty | Subtotal | Cart */
@media (min-width: 601px) {
    .hb-b2b-head,
    .hb-b2b-row {
        grid-template-columns: minmax(420px, 1fr) 145px 170px 170px 210px !important;
    }

    .hb-b2b-row > .hb-product-cell {
        grid-column: 1 !important;
    }

    .hb-b2b-row > .hb-unit-price-cell {
        grid-column: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 17px !important;
        color: #333 !important;
    }

    .hb-b2b-row > .hb-qty-cell {
        grid-column: 3 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hb-b2b-row > .hb-subtotal-cell {
        grid-column: 4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 17px !important;
    }

    .hb-b2b-row > .hb-cart-cell {
        grid-column: 5 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .hb-b2b-head > div {
        text-align: center;
    }

    .hb-b2b-head > div:first-child {
        text-align: left;
    }

    .hb-b2b-row .hb-stock-left {
        text-align: center;
        margin-top: 5px;
    }

    .hb-b2b-table {
        min-width: 0 !important;
    }
}

/* v2.6.1 — clean mobile card
   Image + name + arrow
   Unit Price | Qty | Subtotal | Cart */
@media (max-width: 600px) {
    .hb-b2b-row {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 12px !important;
        border: 1px solid #dedede !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: #fff !important;
    }

    .hb-b2b-row > .hb-product-cell {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 78px !important;
        padding: 10px 42px 10px 12px !important;
        box-sizing: border-box !important;
        border-bottom: 1px solid #e5e5e5 !important;
    }

    .hb-b2b-row > .hb-unit-price-cell {
        grid-column: 1 !important;
        grid-row: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 0 !important;
        min-height: 68px !important;
        padding: 8px 5px !important;
        box-sizing: border-box !important;
        border-right: 1px solid #e5e5e5 !important;
        color: #222 !important;
        font-size: 13px !important;
        text-align: center !important;
    }

    .hb-b2b-row > .hb-unit-price-cell::before {
        content: "Unit Price";
        display: block;
        margin-bottom: 5px;
        color: #777;
        font-size: 11px;
        font-weight: 400;
    }

    .hb-b2b-row > .hb-qty-cell {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 68px !important;
        padding: 8px 4px !important;
        box-sizing: border-box !important;
        border-right: 1px solid #e5e5e5 !important;
        border-left: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .hb-b2b-row > .hb-qty-cell::before {
        content: "Qty.";
        display: block;
        margin: 0 0 5px;
        color: #777;
        font-size: 11px;
        font-weight: 400;
    }

    .hb-b2b-row > .hb-subtotal-cell {
        grid-column: 3 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 68px !important;
        padding: 8px 5px !important;
        box-sizing: border-box !important;
        border-right: 1px solid #e5e5e5 !important;
        border-left: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        color: #222 !important;
        font-size: 13px !important;
        text-align: center !important;
    }

    .hb-b2b-row > .hb-subtotal-cell::before {
        content: "Subtotal";
        display: block;
        margin-bottom: 5px;
        color: #777;
        font-size: 11px;
        font-weight: 400;
    }

    .hb-b2b-row > .hb-cart-cell {
        grid-column: 4 !important;
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 68px !important;
        padding: 8px 6px !important;
        box-sizing: border-box !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #fff !important;
    }

    .hb-b2b-row > .hb-cart-cell::before,
    .hb-b2b-row > .hb-cart-cell::after {
        display: none !important;
        content: none !important;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart {
        display: inline-flex !important;
        width: 100% !important;
        max-width: 105px !important;
        min-height: 38px !important;
        padding: 5px 5px !important;
        border-radius: 5px !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        white-space: normal !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .hb-qty-control {
        width: 100% !important;
        max-width: 92px !important;
        height: 34px !important;
        margin: 0 auto !important;
    }

    .hb-qty-control button {
        flex: 0 0 27px !important;
        width: 27px !important;
        height: 34px !important;
        font-size: 19px !important;
    }

    .hb-qty {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 32px !important;
        font-size: 13px !important;
    }

    .hb-stock-left {
        width: 100% !important;
        margin-top: 3px !important;
        text-align: center !important;
        font-size: 10px !important;
        line-height: 12px !important;
    }
}

/* v2.6.2 FINAL ALIGNMENT OVERRIDE */
.hb-b2b-table { width: 100% !important; }
.hb-b2b-head { align-items: stretch !important; }
.hb-b2b-row { align-items: stretch !important; }

@media (min-width: 601px) {
    .hb-b2b-head,
    .hb-b2b-row {
        grid-template-columns: minmax(360px, 1fr) 150px 170px 170px 200px !important;
    }

    .hb-b2b-row {
        min-height: 104px !important;
    }

    .hb-b2b-row > .hb-product-cell,
    .hb-b2b-row > .hb-unit-price-cell,
    .hb-b2b-row > .hb-qty-cell,
    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-cart-cell {
        grid-row: 1 !important;
        height: 100% !important;
        min-height: 104px !important;
        align-self: stretch !important;
        box-sizing: border-box !important;
    }

    .hb-b2b-row > .hb-product-cell { grid-column: 1 !important; }
    .hb-b2b-row > .hb-unit-price-cell { grid-column: 2 !important; }
    .hb-b2b-row > .hb-qty-cell { grid-column: 3 !important; }
    .hb-b2b-row > .hb-subtotal-cell { grid-column: 4 !important; }
    .hb-b2b-row > .hb-cart-cell { grid-column: 5 !important; }

    .hb-b2b-row > .hb-unit-price-cell,
    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-cart-cell {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hb-b2b-row > .hb-qty-cell {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 0 !important;
    }

    .hb-b2b-row .hb-qty-control { margin: 0 auto !important; }
    .hb-b2b-row .hb-stock-left { margin-top: 5px !important; }
}

@media (max-width: 600px) {
    .hb-b2b-row {
        grid-template-columns: minmax(0, 1fr) minmax(82px, 1fr) minmax(0, 1fr) minmax(88px, 1.05fr) !important;
        align-items: stretch !important;
    }

    .hb-b2b-row > .hb-product-cell {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
    }

    .hb-b2b-row > .hb-unit-price-cell,
    .hb-b2b-row > .hb-qty-cell,
    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-cart-cell {
        grid-row: 2 !important;
        height: 76px !important;
        min-height: 76px !important;
        align-self: stretch !important;
        box-sizing: border-box !important;
    }

    .hb-b2b-row > .hb-unit-price-cell { grid-column: 1 !important; }
    .hb-b2b-row > .hb-qty-cell { grid-column: 2 !important; }
    .hb-b2b-row > .hb-subtotal-cell { grid-column: 3 !important; }
    .hb-b2b-row > .hb-cart-cell { grid-column: 4 !important; }

    /* Never allow an old pseudo-label to leak into the subtotal cell. */
    .hb-b2b-row > .hb-subtotal-cell::before {
        content: "Subtotal" !important;
        display: block !important;
    }
    .hb-b2b-row > .hb-unit-price-cell::before {
        content: "Unit Price" !important;
        display: block !important;
    }
    .hb-b2b-row > .hb-qty-cell::before {
        content: "Qty." !important;
        display: block !important;
    }

    .hb-b2b-row > .hb-unit-price-cell,
    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-cart-cell {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hb-b2b-row > .hb-qty-cell {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .hb-b2b-row .hb-qty-control {
        width: 100% !important;
        max-width: 88px !important;
        margin: 0 auto !important;
    }

    .hb-b2b-row .hb-stock-left {
        margin-top: 4px !important;
        line-height: 12px !important;
    }
}

/* v2.6.3 - force quantity +/- controls visible above theme/button CSS */
.hb-b2b-order-form .hb-qty-control {
    display: flex !important;
    align-items: center !important;
    justify-content: stretch !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    border: 1px solid #d6d6d6 !important;
    background: #fff !important;
}

.hb-b2b-order-form .hb-qty-control > button.hb-qty-minus,
.hb-b2b-order-form .hb-qty-control > button.hb-qty-plus {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 100% !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    font-family: Arial, sans-serif !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    text-transform: none !important;
    box-shadow: none !important;
}

.hb-b2b-order-form .hb-qty-control > button.hb-qty-minus {
    color: #e21b23 !important;
    border-right: 1px solid #e1e1e1 !important;
}

.hb-b2b-order-form .hb-qty-control > button.hb-qty-plus {
    color: #159447 !important;
    border-left: 1px solid #e1e1e1 !important;
}

.hb-b2b-order-form .hb-qty-control > input.hb-qty {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #333 !important;
    text-align: center !important;
    font-size: 14px !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.hb-b2b-order-form .hb-qty-control > button.hb-qty-minus:hover,
.hb-b2b-order-form .hb-qty-control > button.hb-qty-plus:hover {
    background: #f7f7f7 !important;
}

@media (max-width: 600px) {
    .hb-b2b-order-form .hb-qty-control {
        width: 92px !important;
        max-width: 92px !important;
        height: 34px !important;
        min-height: 34px !important;
    }

    .hb-b2b-order-form .hb-qty-control > button.hb-qty-minus,
    .hb-b2b-order-form .hb-qty-control > button.hb-qty-plus {
        flex: 0 0 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        height: 34px !important;
        min-height: 34px !important;
        font-size: 19px !important;
    }
}


/* v2.6.4: final responsive table/card alignment */
.hb-unit-price-cell,
.hb-subtotal-cell,
.hb-qty-cell,
.hb-cart-cell {
    box-sizing: border-box;
}

@media (min-width: 601px) {
    .hb-b2b-head,
    .hb-b2b-row,
    .hb-b2b-cart-row {
        grid-template-columns: minmax(430px, 1fr) 155px 155px 170px 210px !important;
    }

    .hb-b2b-head > div,
    .hb-b2b-row > div:not(.hb-product-cell),
    .hb-b2b-cart-row > div:not(.hb-product-cell) {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 0;
    }

    .hb-b2b-row,
    .hb-b2b-cart-row {
        min-height: 116px !important;
    }

    .hb-product-cell {
        height: 100%;
    }

    .hb-qty-cell {
        flex-direction: column;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px;
    }

    .hb-unit-price-cell,
    .hb-subtotal-cell {
        font-size: 16px;
        color: #222;
        text-align: center;
    }

    .hb-cart-cell .hb-add-to-cart {
        width: 180px;
        min-height: 50px;
        background: #1976c9;
        font-size: 16px;
    }
}

@media (max-width: 600px) {
    .hb-b2b-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 12px !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }

    .hb-b2b-row > .hb-product-cell {
        grid-column: 1 / -1 !important;
        grid-row: 1 !important;
        min-height: 78px !important;
        padding: 9px 42px 9px 12px !important;
        border-bottom: 1px solid #e5e5e5 !important;
    }

    .hb-b2b-row > .hb-unit-price-cell,
    .hb-b2b-row > .hb-qty-cell,
    .hb-b2b-row > .hb-subtotal-cell,
    .hb-b2b-row > .hb-cart-cell {
        grid-row: 2 !important;
        width: auto !important;
        min-width: 0 !important;
        min-height: 72px !important;
        margin: 0 !important;
        padding: 8px 5px !important;
        border-left: 0 !important;
        border-right: 1px solid #e5e5e5 !important;
        border-bottom: 0 !important;
        background: #fff !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    .hb-b2b-row > .hb-unit-price-cell {
        grid-column: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 13px !important;
        color: #222 !important;
    }

    .hb-b2b-row > .hb-unit-price-cell::before {
        content: "Unit Price" !important;
        display: block !important;
        margin-bottom: 5px !important;
        color: #777 !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .hb-b2b-row > .hb-qty-cell {
        grid-column: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
        text-align: center !important;
    }

    .hb-b2b-row > .hb-qty-cell::before {
        content: "Qty." !important;
        display: block !important;
        margin: 0 0 5px !important;
        color: #777 !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .hb-b2b-row > .hb-subtotal-cell {
        grid-column: 3 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 13px !important;
        color: #222 !important;
    }

    .hb-b2b-row > .hb-subtotal-cell::before {
        content: "Subtotal" !important;
        display: block !important;
        margin-bottom: 5px !important;
        color: #777 !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
    }

    .hb-b2b-row > .hb-cart-cell {
        grid-column: 4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-right: 0 !important;
    }

    .hb-b2b-row > .hb-cart-cell::before,
    .hb-b2b-row > .hb-cart-cell::after {
        display: none !important;
        content: none !important;
    }

    .hb-b2b-row .hb-cart-cell .hb-add-to-cart {
        display: inline-flex !important;
        width: 100% !important;
        max-width: 96px !important;
        min-height: 38px !important;
        padding: 5px 5px !important;
        border-radius: 5px !important;
        background: #1976c9 !important;
        color: #fff !important;
        font-size: 11px !important;
        line-height: 1.15 !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
    }

    .hb-qty-control {
        width: 100% !important;
        max-width: 92px !important;
        height: 34px !important;
        margin: 0 auto !important;
    }

    .hb-qty-control button {
        flex: 0 0 27px !important;
        width: 27px !important;
        height: 34px !important;
        font-size: 19px !important;
    }

    .hb-qty {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        height: 32px !important;
        font-size: 13px !important;
    }

    .hb-stock-left {
        margin-top: 3px !important;
        font-size: 10px !important;
        line-height: 12px !important;
        text-align: center !important;
    }

    .hb-product-image-link {
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
    }

    .hb-product-name {
        font-size: 13px !important;
        line-height: 1.3 !important;
    }
}

/* v2.6.5: final mobile quantity control repair */
@media (max-width: 600px) {
    .hb-b2b-order-form .hb-qty-cell {
        overflow: visible !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }

    .hb-b2b-order-form .hb-qty-control {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        width: 92px !important;
        max-width: 92px !important;
        min-width: 92px !important;
        height: 34px !important;
        min-height: 34px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        border: 1px solid #d4d4d4 !important;
        border-radius: 6px !important;
        overflow: hidden !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }

    .hb-b2b-order-form .hb-qty-control > button.hb-qty-minus,
    .hb-b2b-order-form .hb-qty-control > button.hb-qty-plus {
        display: flex !important;
        flex: 0 0 29px !important;
        width: 29px !important;
        min-width: 29px !important;
        max-width: 29px !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        align-items: center !important;
        justify-content: center !important;
        font-family: Arial, sans-serif !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        box-shadow: none !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .hb-b2b-order-form .hb-qty-control > button.hb-qty-minus {
        color: #e31b23 !important;
        border-right: 1px solid #e5e5e5 !important;
    }

    .hb-b2b-order-form .hb-qty-control > button.hb-qty-plus {
        color: #149447 !important;
        border-left: 1px solid #e5e5e5 !important;
    }

    .hb-b2b-order-form .hb-qty-control > input.hb-qty {
        display: block !important;
        flex: 1 1 auto !important;
        width: 32px !important;
        min-width: 0 !important;
        max-width: 34px !important;
        height: 32px !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #fff !important;
        text-align: center !important;
        font-size: 14px !important;
        line-height: 32px !important;
        color: #333 !important;
        box-shadow: none !important;
        outline: none !important;
        -moz-appearance: textfield !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    .hb-b2b-order-form .hb-qty-control > input.hb-qty::-webkit-outer-spin-button,
    .hb-b2b-order-form .hb-qty-control > input.hb-qty::-webkit-inner-spin-button {
        -webkit-appearance: none !important;
        margin: 0 !important;
    }

    .hb-b2b-order-form .hb-stock-left {
        display: block !important;
        width: 100% !important;
        margin-top: 4px !important;
        text-align: center !important;
        font-size: 10px !important;
        line-height: 12px !important;
        white-space: nowrap !important;
    }
}


/* v2.6.7: tighter Unit Price + Subtotal columns and wider Cart column */
@media (max-width: 600px) {
    .hb-b2b-order-form .hb-b2b-row {
        grid-template-columns: 21% 29% 16% 34% !important;
    }

    .hb-b2b-order-form .hb-unit-price-cell,
    .hb-b2b-order-form .hb-qty-cell,
    .hb-b2b-order-form .hb-subtotal-cell,
    .hb-b2b-order-form .hb-cart-cell {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .hb-b2b-order-form .hb-subtotal-cell {
        padding-left: 2px !important;
        padding-right: 2px !important;
        font-size: 12px !important;
    }

    .hb-b2b-order-form .hb-subtotal-cell::before,
    .hb-b2b-order-form .hb-unit-price-cell::before,
    .hb-b2b-order-form .hb-qty-cell::before {
        font-size: 9px !important;
        margin-bottom: 4px !important;
    }

    .hb-b2b-order-form .hb-qty-control {
        max-width: 96px !important;
    }

    .hb-b2b-order-form .hb-cart-cell .hb-add-to-cart {
        max-width: 100px !important;
    }
}

/* v2.7.0: dynamic Brand -> Product Range -> Type filters */
.hb-b2b-order-form .hb-filter-panel {
    display: block;
    padding: 16px;
    margin-top: 10px;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    background: #fff;
}

.hb-b2b-order-form .hb-filter-panel[hidden] { display: none !important; }

.hb-b2b-order-form .hb-filter-heading {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 12px;
}

.hb-b2b-order-form .hb-filter-group {
    padding: 12px 0;
    border-top: 1px solid #ededed;
}

.hb-b2b-order-form .hb-filter-group:first-child { border-top: 0; }

.hb-b2b-order-form .hb-filter-group-title {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
}

.hb-b2b-order-form .hb-filter-group-options {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.hb-b2b-order-form .hb-filter-panel a.hb-category {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 12px;
    line-height: 1.2;
    cursor: pointer;
}

.hb-b2b-order-form .hb-filter-panel a.hb-category:hover,
.hb-b2b-order-form .hb-filter-panel a.hb-category.active {
    background: #1976c9 !important;
    border-color: #1976c9 !important;
    color: #fff !important;
}

.hb-b2b-order-form .hb-filter-all {
    margin-bottom: 10px;
}

.hb-b2b-order-form .hb-filter-empty {
    color: #777;
    font-size: 12px;
}

.hb-b2b-order-form .hb-active-filter {
    margin: -8px 0 14px;
    font-size: 12px;
    color: #666;
}

.hb-b2b-order-form .hb-active-filter strong { color: #222; }
.hb-b2b-order-form .hb-active-filter a { margin-left: 8px; color: #1976c9; text-decoration: none; }

@media (max-width: 600px) {
    .hb-b2b-order-form .hb-filter-panel {
        padding: 12px;
        border-radius: 8px;
    }

    .hb-b2b-order-form .hb-filter-group-options {
        gap: 6px;
    }

    .hb-b2b-order-form .hb-filter-panel a.hb-category {
        min-height: 32px;
        padding: 6px 10px !important;
        font-size: 11px;
    }
}

/* v2.8.0: customer-friendly product-family filter */
.hb-b2b-order-form .hb-filter-panel {
    display: block !important;
    visibility: visible !important;
    padding: 18px !important;
    margin: 12px 0 18px !important;
    border: 1px solid #e1e7ee !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.04) !important;
}
.hb-b2b-order-form .hb-filter-panel[hidden] { display: block !important; }
.hb-b2b-order-form .hb-filter-panel-top {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding-bottom:14px; border-bottom:1px solid #edf0f3;
}
.hb-b2b-order-form .hb-filter-heading { margin:0 !important; font-size:16px !important; font-weight:700 !important; color:#14283d !important; }
.hb-b2b-order-form .hb-filter-subheading { margin-top:3px; color:#7a8794; font-size:12px; }
.hb-b2b-order-form .hb-filter-clear { font-size:12px; font-weight:600; color:#1976c9 !important; text-decoration:none !important; white-space:nowrap; }
.hb-b2b-order-form .hb-filter-common { margin:14px 0; }
.hb-b2b-order-form .hb-filter-common-btn {
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    width:100%; box-sizing:border-box; padding:11px 14px;
    border:1px solid #dce3ea; border-radius:10px; background:#f8fafc;
    color:#233548 !important; text-decoration:none !important;
}
.hb-b2b-order-form .hb-filter-common-btn.active { border-color:#1976c9; background:#eef7ff; }
.hb-b2b-order-form .hb-filter-common-title { font-size:13px; font-weight:700; }
.hb-b2b-order-form .hb-filter-common-meta { font-size:11px; color:#87929d; }
.hb-b2b-order-form .hb-dynamic-filter-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.hb-b2b-order-form .hb-filter-family {
    padding:13px; border:1px solid #e2e7ec; border-radius:11px; background:#fff;
    transition:border-color .15s ease, box-shadow .15s ease;
}
.hb-b2b-order-form .hb-filter-family.is-active { border-color:#1976c9; box-shadow:0 0 0 2px rgba(25,118,201,.07); }
.hb-b2b-order-form .hb-filter-family-head { display:flex; align-items:center; gap:8px; margin-bottom:10px; min-height:20px; }
.hb-b2b-order-form .hb-filter-family-dot { width:7px; height:7px; border-radius:50%; background:#1976c9; flex:0 0 7px; }
.hb-b2b-order-form .hb-filter-group-title { margin:0 !important; font-size:13px !important; line-height:1.3; font-weight:700 !important; color:#172b3d !important; }
.hb-b2b-order-form .hb-filter-family-options { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.hb-b2b-order-form .hb-family-option {
    display:flex !important; align-items:center; justify-content:center; min-height:34px;
    padding:7px 8px; box-sizing:border-box; border:1px solid #d9e0e7; border-radius:7px;
    background:#fff !important; color:#344454 !important; font-size:12px; font-weight:600;
    text-decoration:none !important; line-height:1.1; text-align:center;
}
.hb-b2b-order-form .hb-family-option:hover { border-color:#1976c9; color:#1976c9 !important; }
.hb-b2b-order-form .hb-family-option.active { background:#1976c9 !important; border-color:#1976c9 !important; color:#fff !important; }
.hb-b2b-order-form .hb-filter-other-family { margin-top:10px; }
.hb-b2b-order-form .hb-filter-other-options { display:flex; flex-wrap:wrap; }
@media (max-width: 700px) {
    .hb-b2b-order-form .hb-filter-panel { padding:13px !important; border-radius:12px !important; margin-top:10px !important; }
    .hb-b2b-order-form .hb-filter-panel-top { align-items:flex-start; }
    .hb-b2b-order-form .hb-filter-subheading { max-width:230px; }
    .hb-b2b-order-form .hb-dynamic-filter-groups { grid-template-columns:1fr; gap:8px; }
    .hb-b2b-order-form .hb-filter-family { padding:11px; }
    .hb-b2b-order-form .hb-filter-family-options { grid-template-columns:repeat(3,1fr); }
    .hb-b2b-order-form .hb-family-option { min-height:36px; font-size:11px; }
}

/* v2.8.3: compact, simple product-family filter UI */
.hb-b2b-order-form .hb-filter-panel {
    padding: 10px !important;
    margin: 8px 0 12px !important;
    border: 1px solid #e3e8ed !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}
.hb-b2b-order-form .hb-filter-panel-top {
    padding: 0 2px 8px !important;
    gap: 10px !important;
}
.hb-b2b-order-form .hb-filter-heading {
    font-size: 14px !important;
}
.hb-b2b-order-form .hb-filter-subheading {
    margin-top: 1px !important;
    font-size: 11px !important;
}
.hb-b2b-order-form .hb-filter-clear {
    font-size: 11px !important;
}
.hb-b2b-order-form .hb-filter-common {
    margin: 8px 0 !important;
}
.hb-b2b-order-form .hb-filter-common-btn {
    padding: 7px 10px !important;
    min-height: 34px !important;
    border-radius: 7px !important;
    background: #fff !important;
}
.hb-b2b-order-form .hb-filter-common-title {
    font-size: 12px !important;
}
.hb-b2b-order-form .hb-filter-common-meta {
    font-size: 10px !important;
}
.hb-b2b-order-form .hb-dynamic-filter-groups {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
}
.hb-b2b-order-form .hb-filter-family {
    padding: 8px !important;
    border: 1px solid #e3e8ed !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}
.hb-b2b-order-form .hb-filter-family.is-active {
    border-color: #1976c9 !important;
    box-shadow: none !important;
}
.hb-b2b-order-form .hb-filter-family-head {
    gap: 6px !important;
    margin-bottom: 6px !important;
    min-height: 17px !important;
}
.hb-b2b-order-form .hb-filter-family-dot {
    width: 5px !important;
    height: 5px !important;
    flex-basis: 5px !important;
}
.hb-b2b-order-form .hb-filter-group-title {
    font-size: 11px !important;
    line-height: 1.2 !important;
}
.hb-b2b-order-form .hb-filter-family-options {
    gap: 4px !important;
}
.hb-b2b-order-form .hb-family-option {
    min-height: 29px !important;
    padding: 5px 6px !important;
    border-radius: 5px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
}
@media (max-width: 900px) {
    .hb-b2b-order-form .hb-dynamic-filter-groups {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 700px) {
    .hb-b2b-order-form .hb-filter-panel {
        padding: 8px !important;
        margin: 7px 0 10px !important;
        border-radius: 8px !important;
    }
    .hb-b2b-order-form .hb-filter-panel-top {
        padding-bottom: 7px !important;
    }
    .hb-b2b-order-form .hb-dynamic-filter-groups {
        grid-template-columns: 1fr !important;
        gap: 5px !important;
    }
    .hb-b2b-order-form .hb-filter-family {
        padding: 7px !important;
    }
    .hb-b2b-order-form .hb-filter-family-head {
        margin-bottom: 5px !important;
    }
    .hb-b2b-order-form .hb-family-option {
        min-height: 31px !important;
        font-size: 10px !important;
    }
}


/* Filter navigation feedback */
.hb-b2b-order-form.hb-filter-loading { position: relative; }
.hb-b2b-order-form.hb-filter-loading::after {
    content: 'Loading products…';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    padding: 10px 16px;
    border-radius: 8px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 4px 18px rgba(0,0,0,.12);
    font-size: 13px;
    font-weight: 600;
    pointer-events: none;
}


/* v2.8.5: persistent toolbar + clear loading feedback */
.hb-b2b-toolbar {
    position: sticky;
    top: 0;
    z-index: 60;
    padding: 8px 0;
    background: #fff;
}

.hb-b2b-order-form {
    position: relative;
}

.hb-b2b-loading-overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 82px;
    min-height: 90px;
    z-index: 55;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(255,255,255,.86);
    border-radius: 8px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .15s ease, visibility .15s ease;
}

.hb-b2b-loading-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

.hb-loading-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid #d9d9d9;
    border-top-color: #1478c9;
    border-radius: 50%;
    animation: hb-spin .7s linear infinite;
}

.hb-loading-text {
    color: #444;
    font-size: 14px;
    font-weight: 600;
}

.hb-is-loading .hb-b2b-table {
    opacity: .45;
    transition: opacity .15s ease;
}

.hb-family-option.is-loading,
.hb-filter-common-btn.is-loading {
    opacity: .65;
}

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

@media (max-width: 600px) {
    .hb-b2b-toolbar {
        top: 0;
        padding: 6px 0;
    }

    .hb-b2b-loading-overlay {
        top: 116px;
        min-height: 80px;
    }
}

/* v2.8.7 — visible navigation loader */
.hb-b2b-loading-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255,255,255,.82) !important;
    min-height: 180px !important;
    border-radius: 8px !important;
}
.hb-b2b-loading-overlay.is-visible {
    display: flex !important;
}
.hb-b2b-loading-overlay .hb-loading-spinner {
    width: 28px !important;
    height: 28px !important;
    border: 3px solid #d7d7d7 !important;
    border-top-color: #1677ff !important;
    border-radius: 50% !important;
    animation: hbB2BSpin .7s linear infinite !important;
    margin-right: 10px !important;
}
.hb-b2b-loading-overlay .hb-loading-text {
    font-size: 14px !important;
    font-weight: 600 !important;
}
.hb-b2b-order-form {
    position: relative !important;
}
@keyframes hbB2BSpin { to { transform: rotate(360deg); } }

/* v2.8.8 — cart loading UI */
.hb-b2b-add-to-cart.is-loading,
.hb-add-to-cart.is-loading,
.hb-b2b-order-form .hb-cart-cell .is-loading {
    opacity: .78 !important;
    pointer-events: none !important;
    position: relative !important;
}
.hb-cart-spinner {
    display: inline-block !important;
    width: 13px !important;
    height: 13px !important;
    margin-right: 6px !important;
    vertical-align: -2px !important;
    border: 2px solid rgba(255,255,255,.55) !important;
    border-top-color: #fff !important;
    border-radius: 50% !important;
    animation: hbCartSpin .65s linear infinite !important;
}
.hb-cart-loading-text { vertical-align: middle !important; }
@keyframes hbCartSpin { to { transform: rotate(360deg); } }

/* v2.8.9 — full-page cart loading state */
.hb-b2b-order-form.hb-cart-page-loading {
    opacity: .72 !important;
    pointer-events: none !important;
}

/* v2.8.10 — full reload cart state */
.hb-b2b-order-form .hb-add-to-cart.is-loading {
  opacity:.85 !important;
  pointer-events:none !important;
}

/* v2.8.11 — sticky Search + Cart offset fix
   Keep the sticky controls below the site's own header/navigation. */
@media (min-width: 901px) {
    .hb-b2b-sticky-toolbar,
    .hb-b2b-toolbar.is-sticky,
    .hb-b2b-order-form .hb-b2b-toolbar {
        top: 92px !important;
        z-index: 90 !important;
    }
}

@media (min-width: 601px) and (max-width: 900px) {
    .hb-b2b-sticky-toolbar,
    .hb-b2b-toolbar.is-sticky,
    .hb-b2b-order-form .hb-b2b-toolbar {
        top: 78px !important;
        z-index: 90 !important;
    }
}

@media (max-width: 600px) {
    .hb-b2b-sticky-toolbar,
    .hb-b2b-toolbar.is-sticky,
    .hb-b2b-order-form .hb-b2b-toolbar {
        top: 74px !important;
        z-index: 90 !important;
    }
}

/* Small breathing room so sticky controls don't visually touch the site header. */
.hb-b2b-sticky-toolbar,
.hb-b2b-toolbar.is-sticky {
    margin-top: 4px !important;
}

/* v2.8.14 — header product search -> B2B form for logged-in users */
.hb-b2b-search-page-inner{
    width:min(1320px,calc(100% - 32px));
    margin:28px auto 60px;
}
@media(max-width:600px){
    .hb-b2b-search-page-inner{
        width:calc(100% - 20px);
        margin-top:16px;
    }
}

/* v2.8.15 — robust logged-in header-search B2B view */
.hb-b2b-search-page {
    width: 100%;
    box-sizing: border-box;
}
.hb-b2b-search-page-inner {
    width: min(1320px, calc(100% - 32px));
    margin: 28px auto 60px;
}
@media (max-width:600px) {
    .hb-b2b-search-page-inner {
        width: calc(100% - 20px);
        margin-top: 16px;
    }
}

/* v2.8.17 fast header-search feedback */
.hb-b2b-search-fast-note{
    padding:14px 16px;
    margin-bottom:12px;
    border:1px solid #e5e7eb;
    border-radius:6px;
    background:#fafafa;
    font-size:14px;
    color:#555;
}

/* v2.8.19 — header dropdowns/autocomplete must sit above B2B sticky controls.
   The B2B bar only needs to sit above its own product table. */
.hb-b2b-sticky-toolbar,
.hb-b2b-toolbar.is-sticky,
.hb-b2b-order-form .hb-b2b-toolbar {
    z-index: 8 !important;
}

/* Filter panel remains in the normal B2B layer and must not cover header autocomplete. */
.hb-b2b-order-form .hb-filter-panel,
.hb-b2b-order-form .hb-b2b-filters,
.hb-b2b-order-form .hb-b2b-filter-panel {
    z-index: 7 !important;
}

/* Common H&B/theme header search/category dropdown layers get priority. */
header,
.site-header,
#masthead,
.header-wrapper,
.header-main,
.header-search,
.search-results,
.search-suggestions,
.ajax-search-results,
.aws-search-result,
.dgwt-wcas-suggestions-wrapp,
.woocommerce-product-search,
.elementor-search-form__container {
    position: relative;
    z-index: 100 !important;
}

/* v2.8.20 — Nicotine Pouches: Brand + MG filters */
.hb-pouch-brand-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
}
.hb-pouch-brand-card{
    border:1px solid #dde3ea;
    border-radius:7px;
    padding:9px;
    background:#fff;
}
.hb-pouch-brand-card.is-active{
    border-color:#1677c8;
}
.hb-pouch-brand-name{
    margin-bottom:7px;
    font-size:12px;
    font-weight:700;
    color:#172033;
}
.hb-pouch-strengths{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
.hb-pouch-option{
    min-width:50px;
    padding:7px 10px;
    border:1px solid #d8e0e8;
    border-radius:5px;
    background:#fff;
    color:#263243;
    text-align:center;
    text-decoration:none;
    font-size:11px;
    line-height:1;
}
.hb-pouch-option:hover{
    border-color:#1677c8;
    color:#1677c8;
}
.hb-pouch-option.active{
    background:#1677c8;
    border-color:#1677c8;
    color:#fff;
}
@media(max-width:700px){
    .hb-pouch-brand-grid{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:480px){
    .hb-pouch-brand-grid{
        grid-template-columns:1fr;
    }
    .hb-pouch-strengths{
        gap:6px;
    }
    .hb-pouch-option{
        flex:1 1 auto;
    }
}

/* v2.8.24 — Nicotine pouch brand pages (VELO/KILLA/PABLO): compact MG-only filter */
.hb-pouch-brand-strength-only{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.hb-pouch-brand-strength-only .hb-pouch-option{
    min-width:64px;
    padding:9px 14px;
    font-size:12px;
    font-weight:600;
}
@media(max-width:480px){
    .hb-pouch-brand-strength-only{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .hb-pouch-brand-strength-only .hb-pouch-option{
        min-width:0;
    }
}

/* v2.8.25 — logged-in Shop page uses the B2B all-products order form */
.hb-b2b-order-form[data-shop-mode="yes"] .hb-b2b-toolbar {
    grid-template-columns: 58px minmax(0,1fr) !important;
}
@media (max-width:600px) {
    .hb-b2b-order-form[data-shop-mode="yes"] .hb-b2b-toolbar {
        grid-template-columns: 58px minmax(0,1fr) !important;
    }
}

/* v2.8.26 — stock text fallback */
.hb-stock-left.hb-stock-available{
    color:#178a45 !important;
    font-weight:600;
}

/* v2.8.27 — mixed vape/pod + MG brand filters (e.g. HAYATI) */
.hb-combined-filter-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.hb-combined-filter-section{
    padding-top:10px;
}
.hb-combined-filter-section + .hb-combined-filter-section{
    margin-top:12px;
    padding-top:14px;
    border-top:1px solid #e8edf3;
}
.hb-combined-filter-label{
    margin-bottom:8px;
    font-size:12px;
    font-weight:700;
    color:#27364a;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.hb-combined-all{
    margin-bottom:8px;
}
.hb-combined-mg-section .hb-pouch-brand-strength-only{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}
.hb-combined-mg-section .hb-pouch-option{
    min-width:62px;
}
@media(max-width:600px){
    .hb-combined-filter-head{
        align-items:center;
    }
    .hb-combined-filter-section{
        padding-top:8px;
    }
    .hb-combined-mg-section .hb-pouch-brand-strength-only{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .hb-combined-mg-section .hb-pouch-option{
        min-width:0;
    }
}

/* v2.8.28: MG lives inside the main filter area; default active = All Products */
.hb-mg-inline-filter{
    margin-top:8px;
    padding:9px 10px;
    border:1px solid #dfe6ee;
    border-radius:8px;
    background:#fff;
}
.hb-mg-inline-filter .hb-filter-family-head{margin-bottom:7px}
.hb-mg-inline-filter .hb-filter-family-options{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.hb-mg-inline-filter .hb-family-option{
    min-width:70px;
    flex:0 0 auto;
}
@media(max-width:600px){
    .hb-mg-inline-filter{padding:8px}
    .hb-mg-inline-filter .hb-filter-family-options{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .hb-mg-inline-filter .hb-family-option{min-width:0}
}

/* v2.8.29 — smart local-first/global search UX */

/* Search is the primary full-width row under the website menu. */
.hb-b2b-order-form .hb-b2b-toolbar{
    display:grid !important;
    grid-template-columns:minmax(120px,170px) 64px 1fr !important;
    gap:10px !important;
}

.hb-b2b-order-form .hb-search-wrap{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    position:relative !important;
    width:100% !important;
}

.hb-b2b-order-form .hb-filter-toggle{
    grid-column:1 !important;
    grid-row:2 !important;
}

.hb-b2b-order-form .hb-cart-filter{
    grid-column:2 !important;
    grid-row:2 !important;
}

/* Global button only appears when the current brand/category has no local match. */
.hb-b2b-order-form .hb-global-search-btn{
    position:absolute !important;
    top:50% !important;
    right:10px !important;
    transform:translateY(-50%) !important;
    height:38px !important;
    max-width:230px !important;
    padding:0 14px !important;
    border:0 !important;
    border-radius:6px !important;
    background:#1677c8 !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:600 !important;
    cursor:pointer !important;
    z-index:3 !important;
}

.hb-b2b-order-form .hb-global-search-btn[hidden]{
    display:none !important;
}

.hb-b2b-order-form .hb-global-search-btn:not([hidden]) ~ .hb-search-icon{
    display:none !important;
}

.hb-b2b-order-form .hb-search-wrap:has(.hb-global-search-btn:not([hidden])) .hb-product-search{
    padding-right:245px !important;
}

@media(max-width:600px){
    .hb-b2b-order-form .hb-b2b-toolbar{
        grid-template-columns:1fr 72px !important;
        gap:8px !important;
    }

    .hb-b2b-order-form .hb-search-wrap{
        grid-column:1 / -1 !important;
        grid-row:1 !important;
    }

    .hb-b2b-order-form .hb-filter-toggle{
        grid-column:1 !important;
        grid-row:2 !important;
    }

    .hb-b2b-order-form .hb-cart-filter{
        grid-column:2 !important;
        grid-row:2 !important;
    }

    .hb-b2b-order-form .hb-global-search-btn{
        right:6px !important;
        height:36px !important;
        max-width:160px !important;
        padding:0 9px !important;
        font-size:10px !important;
    }

    .hb-b2b-order-form .hb-search-wrap:has(.hb-global-search-btn:not([hidden])) .hb-product-search{
        padding-right:170px !important;
    }
}

/* Keep the sticky B2B toolbar under the site header/menu. */
.hb-b2b-sticky-toolbar,
.hb-b2b-toolbar.is-sticky,
.hb-b2b-order-form .hb-b2b-toolbar{
    z-index:8 !important;
}

/* v2.8.32 — search-result pagination stays scoped to current brand/category */
.hb-b2b-status{min-height:18px}

/* v2.8.35 — clean product-search mode */
.hb-b2b-order-form.hb-search-mode-active .hb-filter-panel,
.hb-b2b-order-form.hb-search-mode-active .hb-filter-toggle,
.hb-b2b-order-form.hb-search-mode-active .hb-active-filter{
    display:none !important;
}

.hb-b2b-order-form.hb-search-mode-active .hb-b2b-toolbar{
    grid-template-columns:64px minmax(0,1fr) !important;
}

.hb-b2b-order-form.hb-search-mode-active .hb-search-wrap{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
}

.hb-b2b-order-form.hb-search-mode-active .hb-cart-filter{
    grid-column:1 !important;
    grid-row:2 !important;
}

@media(max-width:600px){
    .hb-b2b-order-form.hb-search-mode-active .hb-b2b-toolbar{
        grid-template-columns:72px minmax(0,1fr) !important;
    }
}


/* v2.8.65 — guest catalogue mode */
.hb-b2b-order-form.hb-guest-catalogue .hb-unit-price,
.hb-b2b-order-form.hb-guest-catalogue .hb-price,
.hb-b2b-order-form.hb-guest-catalogue .hb-qty,
.hb-b2b-order-form.hb-guest-catalogue .hb-subtotal,
.hb-b2b-order-form.hb-guest-catalogue .hb-cart-cell,
.hb-b2b-order-form.hb-guest-catalogue .hb-add-to-cart,
.hb-b2b-order-form.hb-guest-catalogue .hb-stock-left,
.hb-b2b-order-form.hb-guest-catalogue [data-col="price"],
.hb-b2b-order-form.hb-guest-catalogue [data-col="qty"],
.hb-b2b-order-form.hb-guest-catalogue [data-col="subtotal"],
.hb-b2b-order-form.hb-guest-catalogue [data-col="cart"]{
    display:none!important;
}

.hb-login-price-btn{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    margin-top:8px;
    padding:8px 12px;
    border-radius:6px;
    background:#1677c8;
    color:#fff!important;
    font-size:12px;
    font-weight:700;
    text-decoration:none!important;
}

@media(max-width:600px){
    .hb-login-price-btn{
        margin-top:6px;
        padding:7px 10px;
        font-size:11px;
    }
}


/* v2.8.66 — robust guest catalogue lock */
.hb-guest-catalogue .hb-col-unit,
.hb-guest-catalogue .hb-col-price,
.hb-guest-catalogue .hb-col-qty,
.hb-guest-catalogue .hb-col-subtotal,
.hb-guest-catalogue .hb-col-cart,
.hb-guest-catalogue .hb-unit-price,
.hb-guest-catalogue .hb-price-cell,
.hb-guest-catalogue .hb-qty-cell,
.hb-guest-catalogue .hb-subtotal-cell,
.hb-guest-catalogue .hb-cart-cell,
.hb-guest-catalogue .hb-stock-left,
.hb-guest-catalogue .hb-add-to-cart,
.hb-guest-catalogue .hb-qty-control,
.hb-guest-catalogue .hb-qty-wrap{
    display:none!important;
}

/* Keep the exact same product list/card presentation; only buying columns are locked. */
.hb-guest-catalogue .hb-product-cell,
.hb-guest-catalogue .hb-product-main{
    width:100%!important;
    max-width:none!important;
}

.hb-login-price-btn{
    margin-left:10px;
    vertical-align:middle;
}
@media(max-width:600px){
    .hb-login-price-btn{
        display:flex!important;
        width:max-content;
        margin-left:0;
        margin-top:7px;
    }
}


/* v2.8.67 — guest rows must remain visible even when not purchasable */
.hb-guest-catalogue .hb-b2b-head > div:nth-child(2),
.hb-guest-catalogue .hb-b2b-head > div:nth-child(3),
.hb-guest-catalogue .hb-b2b-head > div:nth-child(4),
.hb-guest-catalogue .hb-b2b-head > div:nth-child(5){
    display:none!important;
}

.hb-guest-catalogue .hb-b2b-head{
    grid-template-columns:minmax(0,1fr)!important;
}

.hb-guest-catalogue .hb-b2b-row{
    grid-template-columns:minmax(0,1fr)!important;
}

.hb-guest-catalogue .hb-product-name-wrap{
    min-width:0;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.hb-guest-catalogue .hb-login-price-btn{
    margin-left:0!important;
    margin-top:7px!important;
}


/* v2.8.68 guest catalogue: image | name | login only, no price leakage */
.hb-guest-catalogue .hb-b2b-head{
    display:none!important;
}
.hb-guest-catalogue .hb-b2b-row{
    display:block!important;
    padding:16px 18px!important;
}
.hb-guest-catalogue .hb-product-cell{
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr)!important;
    column-gap:18px!important;
    align-items:center!important;
    width:100%!important;
}
.hb-guest-catalogue .hb-product-image-link{
    grid-column:1!important;
    grid-row:1!important;
}
.hb-guest-catalogue .hb-product-name-wrap{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    min-width:0!important;
}
.hb-guest-catalogue .hb-product-name{
    width:auto!important;
    margin:0!important;
}
.hb-guest-catalogue .hb-login-price-btn{
    display:inline-flex!important;
    margin:9px 0 0!important;
}
.hb-guest-catalogue .hb-product-open{
    display:none!important;
}
.hb-guest-catalogue .hb-unit-price-cell,
.hb-guest-catalogue .hb-qty-cell,
.hb-guest-catalogue .hb-subtotal-cell,
.hb-guest-catalogue .hb-cart-cell{
    display:none!important;
}

@media (max-width: 767px){
    .hb-guest-catalogue .hb-b2b-row{
        padding:12px!important;
    }
    .hb-guest-catalogue .hb-product-cell{
        grid-template-columns:64px minmax(0,1fr)!important;
        column-gap:12px!important;
        align-items:start!important;
    }
    .hb-guest-catalogue .hb-product-image-link{
        grid-column:1!important;
        grid-row:1!important;
    }
    .hb-guest-catalogue .hb-product-name-wrap{
        grid-column:2!important;
        grid-row:1!important;
    }
    .hb-guest-catalogue .hb-login-price-btn{
        margin-top:8px!important;
    }
}


/* v2.8.69 — exact logged-out table:
   Product Image | Product Name | Login to Check Price */
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-table{
    width:100%!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-head{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr) 220px!important;
    align-items:center!important;
    gap:18px!important;
    padding:16px 22px!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row{
    display:grid!important;
    grid-template-columns:120px minmax(0,1fr) 220px!important;
    align-items:center!important;
    gap:18px!important;
    padding:14px 22px!important;
    min-height:105px!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell .hb-product-image,
.hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell img{
    width:72px!important;
    height:72px!important;
    object-fit:contain!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell{
    min-width:0!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell .hb-product-name{
    display:block!important;
    margin:0!important;
    width:auto!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-login-cell{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-login-price-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    min-height:44px!important;
    padding:0 18px!important;
    white-space:nowrap!important;
}

/* Absolute guarantee: no wholesale prices/qty/cart controls are visible to guests. */
.hb-b2b-order-form.hb-guest-catalogue .hb-unit-price-cell,
.hb-b2b-order-form.hb-guest-catalogue .hb-qty-cell,
.hb-b2b-order-form.hb-guest-catalogue .hb-subtotal-cell,
.hb-b2b-order-form.hb-guest-catalogue .hb-cart-cell,
.hb-b2b-order-form.hb-guest-catalogue .hb-stock-left,
.hb-b2b-order-form.hb-guest-catalogue .hb-add-to-cart{
    display:none!important;
}

/* Phone: image | name | login button, compact but still 3 clear columns. */
@media(max-width:767px){
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-head{
        display:none!important;
    }

    .hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row{
        display:grid!important;
        grid-template-columns:58px minmax(0,1fr) auto!important;
        gap:9px!important;
        align-items:center!important;
        min-height:88px!important;
        padding:10px!important;
    }

    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell .hb-product-image,
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell img{
        width:52px!important;
        height:52px!important;
    }

    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell .hb-product-name{
        font-size:13px!important;
        line-height:1.3!important;
    }

    .hb-b2b-order-form.hb-guest-catalogue .hb-login-price-btn{
        min-height:38px!important;
        max-width:110px!important;
        padding:0 9px!important;
        font-size:10px!important;
        line-height:1.15!important;
        white-space:normal!important;
        text-align:center!important;
    }
}


/* v2.8.70 — polished guest catalogue proportions */
.hb-b2b-order-form.hb-guest-catalogue .hb-guest-head,
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row{
    grid-template-columns:140px minmax(0,1fr) 240px!important;
    column-gap:24px!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-head{
    padding:18px 28px!important;
    text-align:left!important;
}
.hb-b2b-order-form.hb-guest-catalogue .hb-guest-head > div:first-child{
    text-align:center!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row{
    padding:18px 28px!important;
    min-height:118px!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell{
    justify-content:center!important;
}
.hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell img{
    width:82px!important;
    height:82px!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell{
    width:100%!important;
    overflow:visible!important;
}
.hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell .hb-product-name{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    word-break:normal!important;
    font-size:18px!important;
    line-height:1.35!important;
    font-weight:600!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-guest-login-cell{
    justify-content:flex-start!important;
}
.hb-b2b-order-form.hb-guest-catalogue .hb-login-price-btn{
    min-width:190px!important;
    min-height:46px!important;
    padding:0 18px!important;
    border-radius:6px!important;
}

/* Phone: image + full name on first line, login button clearly below name. */
@media(max-width:767px){
    .hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row{
        grid-template-columns:62px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        column-gap:12px!important;
        row-gap:7px!important;
        padding:12px!important;
        min-height:100px!important;
    }
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell{
        grid-column:1!important;
        grid-row:1 / span 2!important;
        align-self:start!important;
    }
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-image-cell img{
        width:56px!important;
        height:56px!important;
    }
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell{
        grid-column:2!important;
        grid-row:1!important;
    }
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell .hb-product-name{
        font-size:13px!important;
        line-height:1.3!important;
        font-weight:700!important;
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
    }
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-login-cell{
        grid-column:2!important;
        grid-row:2!important;
        justify-content:flex-start!important;
    }
    .hb-b2b-order-form.hb-guest-catalogue .hb-login-price-btn{
        min-width:0!important;
        width:auto!important;
        max-width:none!important;
        min-height:36px!important;
        padding:0 12px!important;
        font-size:11px!important;
        white-space:nowrap!important;
    }
}


/* v2.8.72 — guest catalogue shows ALL products with identical working login CTA */
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row,
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row[data-stock-status="outofstock"],
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row.is-out-of-stock,
.hb-b2b-order-form.hb-guest-catalogue .outofstock{
    opacity:1!important;
    filter:none!important;
    pointer-events:auto!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-login-price-btn,
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row[data-stock-status="outofstock"] .hb-login-price-btn,
.hb-b2b-order-form.hb-guest-catalogue .outofstock .hb-login-price-btn{
    background:#1677c8!important;
    color:#fff!important;
    opacity:1!important;
    filter:none!important;
    pointer-events:auto!important;
    cursor:pointer!important;
    text-decoration:none!important;
}

.hb-b2b-order-form.hb-guest-catalogue .hb-login-price-btn:hover,
.hb-b2b-order-form.hb-guest-catalogue .hb-b2b-row[data-stock-status="outofstock"] .hb-login-price-btn:hover{
    background:#0f67ad!important;
    color:#fff!important;
}


/* v2.8.73 — full product names for logged-in + guest users */
.hb-b2b-order-form .hb-product-name,
.hb-b2b-order-form .hb-guest-name-cell .hb-product-name,
.hb-b2b-order-form .hb-product-name-wrap .hb-product-name{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:initial!important;
}

/* Give the product-name column more room on desktop for logged-in customers. */
@media(min-width:768px){
    .hb-b2b-order-form:not(.hb-guest-catalogue) .hb-b2b-head,
    .hb-b2b-order-form:not(.hb-guest-catalogue) .hb-b2b-row{
        grid-template-columns:
            minmax(460px, 2.3fr)
            minmax(105px, .65fr)
            minmax(145px, .8fr)
            minmax(110px, .65fr)
            minmax(185px, 1fr)!important;
        column-gap:18px!important;
    }

    .hb-b2b-order-form:not(.hb-guest-catalogue) .hb-product-cell{
        min-width:0!important;
    }

    .hb-b2b-order-form:not(.hb-guest-catalogue) .hb-product-name{
        font-size:17px!important;
        line-height:1.35!important;
        font-weight:500!important;
    }

    /* Guest names stay roomy and fully readable too. */
    .hb-b2b-order-form.hb-guest-catalogue .hb-guest-name-cell .hb-product-name{
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        font-size:18px!important;
        line-height:1.35!important;
    }
}

/* Phone/tablet: allow natural wrapping; never show ... */
@media(max-width:767px){
    .hb-b2b-order-form .hb-product-name,
    .hb-b2b-order-form .hb-guest-name-cell .hb-product-name{
        white-space:normal!important;
        overflow:visible!important;
        text-overflow:clip!important;
        word-break:normal!important;
        overflow-wrap:anywhere!important;
        -webkit-line-clamp:unset!important;
        font-size:13px!important;
        line-height:1.3!important;
    }
}
