
    /* Bulk pricing card (softened, optional-feeling) */
    .solas-bulk-card {
        clear: both;
        border: 1px solid var(--solas-hairline, #E4E7EC);
        border-radius: var(--solas-radius-rect, 4px);
        padding: 16px;
        margin: 0 0 18px 0;
        background: var(--solas-wash, #F4F8FF);
    }
    .solas-bulk-card-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 12px;
    }
    .solas-bulk-card-label {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .04em;
        text-transform: uppercase;
        color: #5A6472;
    }
    .solas-bulk-card-save {
        font-size: 12px;
        font-weight: 700;
        background: var(--solas-wash, #F4F8FF);
        color: var(--solas-link, #385E9B);
        padding: 4px 10px;
        border-radius: 999px;
        white-space: nowrap;
    }
    .solas-bulk-buttons {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin: 0;
    }
    .solas-bulk-btn {/* solas-size: large */
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        background: #fff;
        border: 1px solid var(--solas-hairline, #E4E7EC);
        border-radius: var(--solas-radius-rect, 4px);
        padding: var(--solas-btn-pad-lg, 16px 24px);
        color: var(--solas-text, #0B2349);
        cursor: pointer;
        transition: 0.15s ease;
        text-align: left;
    }
    .solas-bulk-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
        width: 100%;
    }
    .solas-bulk-free {
        font-size: 12px;
        font-weight: 500;
        color: #8792A2;
    }
    .solas-bulk-btn:hover {
        border-color: #1E4574;
        transform: translateY(-1px);
    }
    .solas-bulk-btn.solas-bulk-tier-selected {
        border-color: #1E4574;
        background: #F3F7FD;
        box-shadow: inset 0 0 0 1px #1E4574;
    }
    .solas-bulk-text {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
        color: var(--solas-text, #0B2349);
    }
    .solas-bulk-meta {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
    }
    .solas-bulk-price {
        font-size: 15px;
        font-weight: 700;
        color: var(--solas-text, #0B2349);
        white-space: nowrap;
    }
    .solas-bulk-price small {
        font-size: 11px;
        font-weight: 500;
        color: #8792A2;
    }
    .solas-bulk-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        background: #1E7A4C;
        color: #fff;
        border-radius: 999px;
        padding: 6px 13px;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: 0.02em;
        white-space: nowrap;
    }
    /* The "Bought Together" plugin's own bundle widget is hidden site-wide
       (display:none), but its script still stamps a stray product count onto
       the Add to Cart button text (e.g. "Add to Cart2"). Since customers never
       see the bundle widget itself, that count is meaningless -- hide it. */
    .woobt-count {
        display: none !important;
    }
    .solas-bulk-btn-single {
        background: #FAFBFC;
    }
    .solas-bulk-standard-tag {
        background: #EEF1F5;
        color: #5A6472;
        border-radius: 999px;
        padding: 5px 10px;
        font-size: 12px;
        font-weight: 700;
        white-space: nowrap;
    }
    .solas-bulk-divider {
        display: flex;
        align-items: center;
        gap: 10px;
        margin: 2px 2px 4px;
        color: #8792A2;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }
    .solas-bulk-divider::before,
    .solas-bulk-divider::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #E4E7EC;
    }
    .solas-price-override {
        display: none;
        margin: 0 0 0.6em;
    }
    .solas-price-override-row {
        display: flex;
        align-items: baseline;
        gap: 10px;
        flex-wrap: wrap;
    }
    .solas-price-override-was {
        text-decoration: line-through;
        color: #8792A2;
        font-weight: 600;
        font-size: 24px;
    }
    .solas-price-override-now {
        color: var(--solas-link, #385E9B);
        font-weight: 800;
        font-size: 24px;
    }
    .solas-price-override-label {
        display: block;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #8792A2;
        margin-top: 2px;
    }
    .solas-price-override-total {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: var(--solas-link, #385E9B);
        margin-top: 4px;
        white-space: normal;
        max-width: 100%;
    }
    .solas-qty-price-row {
        float: left;
        display: flex;
        align-items: center;
        gap: 16px;
        margin: 0 14px 0 0;
    }
    .solas-qty-price-row > .quantity.solas-qty-enhanced {
        margin: 0 !important;
    }
    .solas-qty-price-block {
        display: flex;
        align-items: baseline;
        gap: 8px;
        flex-wrap: wrap;
    }
    @media (max-width: 767px) {
        .solas-bulk-card-save { font-size: 11px; }
        .solas-bulk-text { font-size: 13px; }
        .solas-bulk-price { font-size: 14px; }
        .solas-bulk-pill { padding: 5px 10px; font-size: 11px; }
        .solas-bulk-standard-tag { padding: 4px 8px; font-size: 11px; }
        .solas-bulk-divider { font-size: 10px; }
    }

    /* On narrow screens the qty stepper + price row doesn't have room to stay
       on one line next to the Add to Cart button, so let the price wrap to
       its own line under the stepper instead of overflowing. */
    @media (max-width: 480px) {
        .solas-qty-price-row {
            flex-wrap: wrap;
            row-gap: 4px;
            min-width: 0;
        }
        .solas-qty-price-block {
            flex-basis: 100%;
            min-width: 0;
            max-width: 100%;
        }
    }

    /* Put the quantity stepper and Add to Cart button side by side on mobile,
       and keep the bulk card / bundle table / shipping note each on their own
       full-width row so nothing forces the button down or wraps oddly. */
            .woocommerce-variation-add-to-cart {
            display: flex !important;
            flex-wrap: wrap !important;
            align-items: flex-start !important;
            gap: 10px !important;
        }
        .woocommerce-variation-add-to-cart > .woobt-wrap,
        .woocommerce-variation-add-to-cart > .solas-bulk-card {
            flex: 0 1 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
        }
        .woocommerce-variation-add-to-cart > .solas-qty-price-row {
            flex: 0 0 auto !important;
            margin: 0 0 0 16px !important;
            min-width: 0 !important;
            max-width: 100% !important;
        }
        .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
        .woocommerce-variation-add-to-cart button.single_add_to_cart_button {/* solas-size: large */
            flex: 1 1 0 !important;
            width: auto !important;
            min-width: 0 !important;
            margin: 0 16px 0 0 !important;
            height: 38px !important;
            line-height: 1 !important;
            box-sizing: border-box !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding: 0 24px !important;
            font-size: 14px !important;
            white-space: nowrap !important;
        }
        /* Shipping note now lives outside this row entirely (see JS) -- style it
           as a simple centered line below the card instead of a packed pill. */
        .solas-shipping-note {
            background: none !important;
            padding: 0 16px !important;
            margin: 10px 0 0 0 !important;
        }
        /* Take the Reset link out of the stepper's horizontal flex flow so it
           doesn't compete for width with the Add to Cart button next to it --
           instead pin it below the stepper, with its row-height always reserved
           (regardless of visibility) so nothing shifts when it appears. */
        form.cart .quantity.solas-qty-enhanced {
            position: relative !important;
            padding-bottom: 22px !important;
        }
        form.cart .quantity .solas-qty-reset {
            position: absolute !important;
            left: 50% !important;
            bottom: 0 !important;
            margin: 0 !important;
            transform: translateX(-50%) !important;
        }
        /* Trim the stepper and button a bit more so "Add to Cart" reliably fits
           on one line next to it on narrow phones. */
        form.cart .quantity.solas-qty-enhanced {
            gap: 8px !important;
        }
        form.cart .quantity .solas-qty-btn {
            width: 38px !important;
            height: 38px !important;
            min-width: 38px !important;
            font-size: 18px !important;
        }
        form.cart .quantity.solas-qty-enhanced input.qty {
            width: 50px !important;
            min-width: 50px !important;
            height: 38px !important;
            font-size: 18px !important;
            line-height: 38px !important;
            box-sizing: border-box !important;
            padding: 0 !important;
            text-align: center !important;
        }

    /* Bigger, clearer quantity stepper */
    form.cart .quantity.solas-qty-enhanced {
        display: flex;
        align-items: center;
        gap: 14px;
        margin: 0 14px 0 0;
    }
    form.cart .quantity .solas-qty-btn {
        width: 46px;
        height: 46px;
        min-width: 46px;
        border-radius: 50%;
        background: var(--solas-btn-fill, #0B2349);
        color: #fff;
        border: none;
        font-size: 20px;
        font-weight: 600;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: background .15s ease;
        padding: 0;
    }
    form.cart .quantity .solas-qty-btn:hover {
        background: var(--solas-btn-hover, #1D3E72);
    }
    form.cart .quantity .solas-qty-reset {
        display: inline-flex;
        visibility: hidden;
        pointer-events: none;
        align-items: center;
        background: none;
        border: none;
        padding: 0;
        margin-left: 4px;
        font-size: 16px;
        font-weight: 600;
        color: #8792A2;
        text-decoration: underline;
        text-underline-offset: 2px;
        cursor: pointer;
        white-space: nowrap;
    }
    form.cart .quantity .solas-qty-reset:hover {
        color: var(--solas-link, #385E9B);
    }
    form.cart .quantity.solas-qty-enhanced input.qty {
        width: 54px;
        text-align: center;
        border: none;
        background: transparent;
        font-size: 24px;
        font-weight: 700;
        color: var(--solas-text, #0B2349);
        padding: 0;
        -moz-appearance: textfield;
    }
    form.cart .quantity.solas-qty-enhanced input.qty::-webkit-inner-spin-button,
    form.cart .quantity.solas-qty-enhanced input.qty::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    