/* ============================================================
   Virtual Mart Clean Mobile Reset v1
   Loaded after custom.css
   Goal: stable mobile layout before advanced redesign
   ============================================================ */

@media (max-width: 767px) {

    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
        background: #f5f6f8;
    }

    .page-wrapper,
    .page-main,
    .columns,
    .column.main {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .page-main {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .columns,
    .column.main,
    .sidebar,
    .sidebar-main,
    .sidebar-additional {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
        display: block !important;
    }

    /* Header */
    .page-header,
    .header.content {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .logo {
        max-width: 165px !important;
        margin: 6px auto 8px auto !important;
        display: block !important;
        float: none !important;
        text-align: center !important;
    }

    .logo img {
        max-width: 165px !important;
        height: auto !important;
    }

    .minicart-wrapper {
        right: 12px !important;
    }

    .block-search {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
        padding: 0 8px !important;
        margin: 8px 0 10px 0 !important;
        box-sizing: border-box !important;
    }

    .block-search input {
        width: 100% !important;
        height: 40px !important;
        border: 1px solid #cfcfcf !important;
        border-radius: 0 !important;
        font-size: 14px !important;
        padding-left: 10px !important;
        box-sizing: border-box !important;
    }

    /* Toolbar and filter */
    .toolbar,
    .toolbar-products {
        width: 100% !important;
        max-width: 100% !important;
        margin: 8px 0 10px 0 !important;
        padding: 8px !important;
        background: #fff !important;
        border: 1px solid #e5e5e5 !important;
        box-sizing: border-box !important;
    }

    .toolbar .toolbar-amount {
        font-size: 13px !important;
        line-height: 1.3 !important;
        margin-bottom: 6px !important;
    }

    .filter,
    .sidebar-main {
        background: #fff !important;
        border: 1px solid #e5e5e5 !important;
        margin-bottom: 10px !important;
        padding: 8px !important;
        box-sizing: border-box !important;
    }

    /* Category/search product grid */
    body.catalog-category-view .products-grid .product-items,
    body.catalogsearch-result-index .products-grid .product-items,
    body.page-products .products-grid .product-items {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
        padding: 0 !important;
    }

    body.catalog-category-view .products-grid .product-item,
    body.catalogsearch-result-index .products-grid .product-item,
    body.page-products .products-grid .product-item {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        padding: 4px !important;
        margin: 0 0 8px 0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    .products-grid .product-item-info,
    .product-items .product-item-info {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 360px !important;
        padding: 8px !important;
        background: #fff !important;
        border: 1px solid #ddd !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .products-grid .product-item-photo,
    .product-items .product-item-photo,
    .products-grid .product-image-container,
    .product-items .product-image-container {
        width: 100% !important;
        height: 130px !important;
        min-height: 130px !important;
        max-height: 130px !important;
        margin: 0 auto 8px auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .products-grid .product-image-wrapper,
    .product-items .product-image-wrapper {
        width: 100% !important;
        height: 130px !important;
        min-height: 130px !important;
        max-height: 130px !important;
        padding-bottom: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
    }

    .products-grid .product-image-photo,
    .product-items .product-image-photo {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 122px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    /* Simple mobile badges: small, horizontal, not circular */
    .vm-delivery-badge,
    .vm-card-badge,
    .vm-product-badge {
        display: inline-block !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        padding: 4px 7px !important;
        margin: 0 0 6px 0 !important;
        border-radius: 6px !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
        font-weight: 800 !important;
        text-align: left !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
        box-shadow: none !important;
    }

    .vm-delivery-badge:before,
    .vm-card-badge:before,
    .vm-product-badge:before {
        display: none !important;
        content: "" !important;
    }

    .vm-badge-available {
        background: #e7f8ee !important;
        color: #137a38 !important;
        border: 1px solid #b9ebcc !important;
    }

    .vm-badge-out {
        background: #fdeaea !important;
        color: #c62828 !important;
        border: 1px solid #f5b6b6 !important;
    }

    .vm-badge-special {
        background: #fff1df !important;
        color: #b95d00 !important;
        border: 1px solid #ffd3a3 !important;
    }

    .products-grid .product-item-details,
    .product-items .product-item-details {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
    }

    .products-grid .product-item-name,
    .product-items .product-item-name,
    .products-grid .product.name.product-item-name {
        font-size: 12px !important;
        line-height: 1.3 !important;
        min-height: 38px !important;
        max-height: 40px !important;
        overflow: hidden !important;
        margin: 0 0 6px 0 !important;
        color: #222 !important;
    }

    .products-grid .product-item-name a,
    .product-items .product-item-name a {
        color: #222 !important;
        text-decoration: none !important;
    }

    .products-grid .price-box,
    .product-items .price-box {
        margin: 0 0 6px 0 !important;
        min-height: 44px !important;
        max-height: 50px !important;
        overflow: hidden !important;
        line-height: 1.2 !important;
    }

    .products-grid .price,
    .product-items .price,
    .price-box .price {
        font-size: 13px !important;
        line-height: 1.2 !important;
        color: #e53935 !important;
        font-weight: 900 !important;
    }

    .old-price,
    .old.price,
    .price-box .old-price .price {
        font-size: 11px !important;
        line-height: 1.1 !important;
    }

    /* Quantity: keep horizontal */
    .product-item .field.qty,
    .product-item .control.qty,
    .product-item .qty-wrapper,
    .product-item .qty-changer {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        flex-wrap: nowrap !important;
        gap: 2px !important;
        margin: 0 0 7px 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .product-item .field.qty .label,
    .product-item label.label {
        display: none !important;
    }

    .product-item input.qty,
    .product-item .input-text.qty,
    .product-item .qty {
        width: 34px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 !important;
        font-size: 12px !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .product-item .qty-btn,
    .product-item .add1,
    .product-item .minus1,
    .product-item .increase,
    .product-item .decrease {
        width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        line-height: 28px !important;
        padding: 0 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .products-grid .product-item-actions,
    .product-items .product-item-actions {
        width: 100% !important;
        margin-top: auto !important;
        display: block !important;
    }

    .products-grid .action.tocart,
    .product-items .action.tocart {
        width: 100% !important;
        max-width: 100% !important;
        height: 36px !important;
        min-height: 36px !important;
        line-height: 36px !important;
        padding: 0 8px !important;
        margin: 0 !important;
        border-radius: 7px !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* Trive Revo product slider - leave Slick positioning alone */
    .block-product-slider,
    .block-product-slider .product-slider-wrapper,
    .block-product-slider .slick-list {
        max-width: 100% !important;
        overflow: hidden !important;
    }

    .block-product-slider .product-item-info,
    .block-product-slider [class*="product-item-info"] {
        min-height: 345px !important;
        height: auto !important;
    }

    /* Product detail mobile */
    .catalog-product-view .product.media,
    .catalog-product-view .product-info-main {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
        margin: 0 0 14px 0 !important;
        padding: 14px !important;
        box-sizing: border-box !important;
        border-radius: 10px !important;
        background: #fff !important;
    }

    .catalog-product-view .box-tocart .action.tocart {
        width: 100% !important;
        min-height: 44px !important;
        border-radius: 8px !important;
        font-size: 15px !important;
    }
}



/* ============================================================
   End Virtual Mart Clean Mobile Reset v1
   ============================================================ */


/* ============================================================
   Virtual Mart Desktop Slider Add Button Fix v1
   Fixes clipped Add to Cart buttons in Trive Revo desktop sliders
   ============================================================ */

@media (min-width: 768px) {

    .block-product-slider .product-item-info,
    .block-product-slider [class*="product-item-info"] {
        overflow: hidden !important;
        padding-bottom: 14px !important;
        box-sizing: border-box !important;
    }

    .block-product-slider .product-item-details {
        display: flex !important;
        flex-direction: column !important;
        min-height: 210px !important;
    }

    .block-product-slider .product-item-inner {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: auto !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .block-product-slider .product-item-actions {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
        margin: 8px 0 0 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .block-product-slider .actions-primary {
        position: static !important;
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .block-product-slider .action.tocart,
    .block-product-slider button.action.tocart,
    .block-product-slider button.action.tocart.primary,
    .block-product-slider .actions-primary .action.tocart {
        position: static !important;
        display: flex !important;
        float: none !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 38px !important;
        min-height: 38px !important;
        line-height: 38px !important;
        margin: 8px 0 0 0 !important;
        padding: 0 10px !important;
        border-radius: 8px !important;
        background: #e53935 !important;
        border: 1px solid #e53935 !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        text-align: center !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        transform: none !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        top: auto !important;
    }

    .block-product-slider .action.tocart:hover,
    .block-product-slider button.action.tocart:hover,
    .block-product-slider button.action.tocart.primary:hover {
        background: #c62828 !important;
        border-color: #c62828 !important;
    }

    /* Keep qty controls above the button */
    .block-product-slider .field.qty,
    .block-product-slider .control.qty,
    .block-product-slider .qty-wrapper,
    .block-product-slider .qty-changer {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 2px !important;
        max-width: 100% !important;
        margin: 0 0 6px 0 !important;
        overflow: visible !important;
    }
}

/* ============================================================
   End Virtual Mart Desktop Slider Add Button Fix v1
   ============================================================ */



/* ============================================================
   Virtual Mart Fresh-In Slider Button Fix v2
   Targets old custom.css rules for Whats New / Trending / Ordered
   ============================================================ */

/* Desktop and mobile */
.fresh-in .whats-new .product-item-inner,
.fresh-in .trending .product-item-inner,
.fresh-in .ordered .product-item-inner,
.fresh-in .whats-new .product-item-actions,
.fresh-in .trending .product-item-actions,
.fresh-in .ordered .product-item-actions,
.fresh-in .whats-new .actions-primary,
.fresh-in .trending .actions-primary,
.fresh-in .ordered .actions-primary {
    position: static !important;
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
}

.fresh-in .whats-new .actions-primary button.action.tocart.primary,
.fresh-in .trending .actions-primary button.action.tocart.primary,
.fresh-in .ordered .actions-primary button.action.tocart.primary,
.fresh-in .whats-new button.action.tocart.primary,
.fresh-in .trending button.action.tocart.primary,
.fresh-in .ordered button.action.tocart.primary {
    position: static !important;
    display: flex !important;
    float: none !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    height: 38px !important;
    min-height: 38px !important;
    line-height: 38px !important;

    margin: 8px 0 0 0 !important;
    padding: 0 10px !important;

    border-radius: 8px !important;
    background: #e53935 !important;
    border: 1px solid #e53935 !important;
    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 800 !important;
    text-align: center !important;
    white-space: nowrap !important;

    box-sizing: border-box !important;
    overflow: hidden !important;

    right: auto !important;
    left: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
}

.fresh-in .whats-new .actions-primary button.action.tocart.primary span,
.fresh-in .trending .actions-primary button.action.tocart.primary span,
.fresh-in .ordered .actions-primary button.action.tocart.primary span {
    display: inline-block !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 38px !important;
}

/* Keep qty row compact */
.fresh-in .whats-new .product-item-inner .sl-qa,
.fresh-in .trending .product-item-inner .sl-qa,
.fresh-in .ordered .product-item-inner .sl-qa {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 30px !important;
    box-sizing: border-box !important;
}

.fresh-in .whats-new .product-item-inner input.qty,
.fresh-in .trending .product-item-inner input.qty,
.fresh-in .ordered .product-item-inner input.qty,
.fresh-in .whats-new .product-item-inner input#qty,
.fresh-in .trending .product-item-inner input#qty,
.fresh-in .ordered .product-item-inner input#qty {
    display: inline-block !important;
    width: 42px !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 30px !important;
    box-sizing: border-box !important;
}

/* ============================================================
   End Virtual Mart Fresh-In Slider Button Fix v2
   ============================================================ */



/* ============================================================
   Virtual Mart Homepage Mobile Cleanup v1
   Fixes homepage width, hero, and tall blank slider areas
   ============================================================ */

@media (max-width: 767px) {

    /* Homepage main container */
    .cms-index-index .page-main,
    .cms-index-index .columns,
    .cms-index-index .column.main {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    /* Main homepage white sections */
    .cms-index-index .vm-widget-section,
    .cms-index-index .vm-whats-new-top,
    .cms-index-index .vm-home-section,
    .cms-index-index .fresh-in,
    .cms-index-index .block-product-slider,
    .cms-index-index .brands-sources,
    .cms-index-index .choose-store,
    .cms-index-index .category-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    /* Hero/intro card */
    .cms-index-index .vm-gateway,
    .cms-index-index .vm-home-gateway,
    .cms-index-index .vm-intro,
    .cms-index-index .vm-hero-card,
    .cms-index-index .vm-home-hero,
    .cms-index-index .hero,
    .cms-index-index .banner {
        width: 100% !important;
        max-width: 100% !important;
        padding: 12px !important;
        margin: 10px auto 14px auto !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    .cms-index-index .vm-gateway img,
    .cms-index-index .vm-home-gateway img,
    .cms-index-index .vm-intro img,
    .cms-index-index .vm-hero-card img,
    .cms-index-index .vm-home-hero img,
    .cms-index-index .hero img,
    .cms-index-index .banner img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        object-fit: contain !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .cms-index-index h1,
    .cms-index-index .page-title,
    .cms-index-index .vm-widget-title,
    .cms-index-index .block-title,
    .cms-index-index .title {
        font-size: 18px !important;
        line-height: 1.25 !important;
        text-align: center !important;
        margin: 10px 0 8px 0 !important;
    }

    .cms-index-index p {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* Fix large blank space in What's New / product sliders */
    .cms-index-index .vm-whats-new-top,
    .cms-index-index .vm-whats-new-top .fresh-in,
    .cms-index-index .vm-whats-new-top .whats-new,
    .cms-index-index .vm-whats-new-top .product-slider-wrapper,
    .cms-index-index .vm-whats-new-top .block-product-slider {
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 18px !important;
        overflow: hidden !important;
    }

    .cms-index-index .block-product-slider .slick-list,
    .cms-index-index .block-product-slider .slick-track,
    .cms-index-index .block-product-slider .slick-slide {
        min-height: 0 !important;
        height: auto !important;
        max-height: none !important;
    }

    .cms-index-index .block-product-slider .product-item-info,
    .cms-index-index .block-product-slider [class*="product-item-info"] {
        min-height: 330px !important;
        height: auto !important;
        max-height: none !important;
    }

    /* Product slider should not create huge empty areas */
    .cms-index-index .block-product-slider .product-item-photo,
    .cms-index-index .block-product-slider .product-image-container,
    .cms-index-index .block-product-slider .product-image-wrapper {
        height: 125px !important;
        min-height: 125px !important;
        max-height: 125px !important;
    }

    .cms-index-index .block-product-slider .product-image-photo {
        max-height: 118px !important;
    }

    /* Store cards and category cards */
    .cms-index-index .vm-store-grid,
    .cms-index-index .store-grid,
    .cms-index-index .vm-category-grid,
    .cms-index-index .category-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .cms-index-index .vm-store-card,
    .cms-index-index .store-card,
    .cms-index-index .vm-category-card,
    .cms-index-index .category-card,
    .cms-index-index .cat-item,
    .cms-index-index .cat-box {
        width: 100% !important;
        max-width: 100% !important;
        padding: 8px !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    .cms-index-index .vm-store-card img,
    .cms-index-index .store-card img,
    .cms-index-index .vm-category-card img,
    .cms-index-index .category-card img,
    .cms-index-index .cat-item img,
    .cms-index-index .cat-box img {
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* Footer categories should not overflow */
    .cms-index-index .footer,
    .cms-index-index .page-footer,
    .cms-index-index .footer.content {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================
   End Virtual Mart Homepage Mobile Cleanup v1
   ============================================================ */



/* ============================================================
   Virtual Mart Category Mobile 2-Column Force Fix v1
   ============================================================ */

@media (max-width: 767px) {
    body.catalog-category-view .products-grid .product-items,
    body.catalogsearch-result-index .products-grid .product-items,
    body.page-products .products-grid .product-items {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        margin-left: -4px !important;
        margin-right: -4px !important;
    }

    body.catalog-category-view .products-grid .product-item,
    body.catalogsearch-result-index .products-grid .product-item,
    body.page-products .products-grid .product-item {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 50% !important;
        padding: 4px !important;
        margin: 0 0 8px 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================
   End Virtual Mart Category Mobile 2-Column Force Fix v1
   ============================================================ */



/* ============================================================
   Virtual Mart Final Mobile Badge Flatten Fix v5
   Makes badges small horizontal labels instead of round circles
   ============================================================ */

@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .products-grid .vm-card-badge,
    .product-items .vm-card-badge,
    .products-grid .vm-product-badge,
    .product-items .vm-product-badge {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;
        min-width: 64px !important;
        max-width: 96px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;

        padding: 0 8px !important;
        margin: 0 0 6px 0 !important;

        border-radius: 6px !important;
        box-shadow: none !important;

        font-size: 0 !important;
        line-height: 24px !important;
        text-align: center !important;

        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .products-grid .vm-delivery-badge *,
    .product-items .vm-delivery-badge *,
    .block-product-slider .vm-delivery-badge * {
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .products-grid .vm-delivery-badge:before,
    .product-items .vm-delivery-badge:before,
    .block-product-slider .vm-delivery-badge:before {
        display: none !important;
        content: "" !important;
    }

    .products-grid .vm-badge-available:after,
    .product-items .vm-badge-available:after,
    .block-product-slider .vm-badge-available:after {
        content: "Available" !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        line-height: 24px !important;
        color: #137a38 !important;
    }

    .products-grid .vm-badge-out:after,
    .product-items .vm-badge-out:after,
    .block-product-slider .vm-badge-out:after {
        content: "Out" !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        line-height: 24px !important;
        color: #c62828 !important;
    }

    .products-grid .vm-badge-special:after,
    .product-items .vm-badge-special:after,
    .block-product-slider .vm-badge-special:after {
        content: "Special" !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        line-height: 24px !important;
        color: #b95d00 !important;
    }

    .products-grid .vm-badge-available,
    .product-items .vm-badge-available,
    .block-product-slider .vm-badge-available {
        background: #e7f8ee !important;
        border: 1px solid #b9ebcc !important;
        color: #137a38 !important;
    }

    .products-grid .vm-badge-out,
    .product-items .vm-badge-out,
    .block-product-slider .vm-badge-out {
        background: #fdeaea !important;
        border: 1px solid #f5b6b6 !important;
        color: #c62828 !important;
    }

    .products-grid .vm-badge-special,
    .product-items .vm-badge-special,
    .block-product-slider .vm-badge-special {
        background: #fff1df !important;
        border: 1px solid #ffd3a3 !important;
        color: #b95d00 !important;
    }
}

/* ============================================================
   End Virtual Mart Final Mobile Badge Flatten Fix v5
   ============================================================ */



/* ============================================================
   Virtual Mart Category Card Height Fix v1
   ============================================================ */

@media (max-width: 767px) {
    body.catalog-category-view .products-grid .product-item-info,
    body.catalogsearch-result-index .products-grid .product-item-info,
    body.page-products .products-grid .product-item-info {
        min-height: 320px !important;
        height: auto !important;
        padding: 8px !important;
    }

    body.catalog-category-view .products-grid .product-item-photo,
    body.catalog-category-view .products-grid .product-image-container,
    body.catalog-category-view .products-grid .product-image-wrapper,
    body.catalogsearch-result-index .products-grid .product-item-photo,
    body.catalogsearch-result-index .products-grid .product-image-container,
    body.catalogsearch-result-index .products-grid .product-image-wrapper {
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
        padding-bottom: 0 !important;
    }

    body.catalog-category-view .products-grid .product-image-photo,
    body.catalogsearch-result-index .products-grid .product-image-photo {
        max-height: 112px !important;
    }
}

/* ============================================================
   End Virtual Mart Category Card Height Fix v1
   ============================================================ */



/* ============================================================
   Virtual Mart Active Badge Markup Override v6
   Targets actual custom.css badge structure:
   .vm-delivery-badge-icon + .vm-delivery-badge-text
   ============================================================ */

@media (max-width: 767px) {

    body.page-products .products-grid .product-item .vm-delivery-badge,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge,
    body.cms-index-index .products-grid .product-item .vm-delivery-badge,
    body.cms-page-view .products-grid .product-item .vm-delivery-badge,
    body.catalog-category-view .products-grid .vm-delivery-badge,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge,
    body.page-products .products-grid .vm-delivery-badge {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;
        min-width: 72px !important;
        max-width: 112px !important;

        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;

        padding: 0 8px !important;
        margin: 0 0 8px 0 !important;

        border-radius: 6px !important;
        box-shadow: none !important;

        font-size: 10px !important;
        line-height: 24px !important;
        text-align: center !important;

        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.page-products .products-grid .product-item .vm-delivery-badge-icon,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge-icon,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge-icon,
    body.cms-index-index .products-grid .product-item .vm-delivery-badge-icon,
    body.cms-page-view .products-grid .product-item .vm-delivery-badge-icon,
    body.catalog-category-view .products-grid .vm-delivery-badge-icon,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-icon,
    body.page-products .products-grid .vm-delivery-badge-icon {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    body.page-products .products-grid .product-item .vm-delivery-badge-text,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge-text,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge-text,
    body.cms-index-index .products-grid .product-item .vm-delivery-badge-text,
    body.cms-page-view .products-grid .product-item .vm-delivery-badge-text,
    body.catalog-category-view .products-grid .vm-delivery-badge-text,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text,
    body.page-products .products-grid .vm-delivery-badge-text {
        display: inline-block !important;
        width: auto !important;
        max-width: 100% !important;
        height: 24px !important;
        line-height: 24px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
        overflow: hidden !important;
    }

    body.page-products .products-grid .product-item .vm-delivery-badge-text span,
    body.page-products .products-grid .product-item .vm-delivery-badge-text small,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge-text span,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge-text small,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge-text span,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge-text small,
    body.cms-index-index .products-grid .product-item .vm-delivery-badge-text span,
    body.cms-index-index .products-grid .product-item .vm-delivery-badge-text small,
    body.catalog-category-view .products-grid .vm-delivery-badge-text span,
    body.catalog-category-view .products-grid .vm-delivery-badge-text small,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text span,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text small {
        display: inline !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
    }

    body.page-products .products-grid .product-item .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge-text span:after,
    body.cms-index-index .products-grid .product-item .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text span:after {
        content: "Available" !important;
        font-size: 10px !important;
        line-height: 24px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.page-products .products-grid .product-item .vm-delivery-badge.vm-badge-out .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge.vm-badge-out .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge.vm-badge-out .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .vm-delivery-badge.vm-badge-out .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge.vm-badge-out .vm-delivery-badge-text span:after {
        content: "Out" !important;
    }

    body.page-products .products-grid .product-item .vm-delivery-badge.vm-badge-special .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .product-item .vm-delivery-badge.vm-badge-special .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .product-item .vm-delivery-badge.vm-badge-special .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .vm-delivery-badge.vm-badge-special .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge.vm-badge-special .vm-delivery-badge-text span:after {
        content: "Special" !important;
    }

    body.catalog-category-view .products-grid .vm-badge-available,
    body.catalogsearch-result-index .products-grid .vm-badge-available,
    body.page-products .products-grid .vm-badge-available {
        background: #e7f8ee !important;
        border: 1px solid #b9ebcc !important;
        color: #137a38 !important;
    }

    body.catalog-category-view .products-grid .vm-badge-out,
    body.catalogsearch-result-index .products-grid .vm-badge-out,
    body.page-products .products-grid .vm-badge-out {
        background: #fdeaea !important;
        border: 1px solid #f5b6b6 !important;
        color: #c62828 !important;
        min-width: 52px !important;
        max-width: 64px !important;
    }

    body.catalog-category-view .products-grid .vm-badge-special,
    body.catalogsearch-result-index .products-grid .vm-badge-special,
    body.page-products .products-grid .vm-badge-special {
        background: #fff1df !important;
        border: 1px solid #ffd3a3 !important;
        color: #b95d00 !important;
    }
}

/* ============================================================
   End Virtual Mart Active Badge Markup Override v6
   ============================================================ */


/* ============================================================
   Virtual Mart Category Mobile Full Width Fix v2
   Force category/search product cards to use full mobile screen
   ============================================================ */

@media (max-width: 767px) {

    body.catalog-category-view .columns,
    body.catalogsearch-result-index .columns,
    body.page-products .columns,
    body.catalog-category-view .column.main,
    body.catalogsearch-result-index .column.main,
    body.page-products .column.main {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        float: none !important;
        clear: both !important;
    }

    body.catalog-category-view .products.wrapper,
    body.catalogsearch-result-index .products.wrapper,
    body.page-products .products.wrapper,
    body.catalog-category-view .products-grid,
    body.catalogsearch-result-index .products-grid,
    body.page-products .products-grid,
    body.catalog-category-view ol.products.list.items,
    body.catalogsearch-result-index ol.products.list.items,
    body.page-products ol.products.list.items,
    body.catalog-category-view ul.products.list.items,
    body.catalogsearch-result-index ul.products.list.items,
    body.page-products ul.products.list.items {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        float: none !important;
        clear: both !important;
        overflow: visible !important;
    }

    body.catalog-category-view .products-grid .product-item,
    body.catalogsearch-result-index .products-grid .product-item,
    body.page-products .products-grid .product-item,
    body.catalog-category-view ol.products.list.items > li.product-item,
    body.catalogsearch-result-index ol.products.list.items > li.product-item,
    body.page-products ol.products.list.items > li.product-item,
    body.catalog-category-view ul.products.list.items > li.product-item,
    body.catalogsearch-result-index ul.products.list.items > li.product-item,
    body.page-products ul.products.list.items > li.product-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        flex: none !important;
        float: none !important;
        clear: both !important;
        margin: 0 0 14px 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body.catalog-category-view .products-grid .product-item-info,
    body.catalogsearch-result-index .products-grid .product-item-info,
    body.page-products .products-grid .product-item-info,
    body.catalog-category-view .product-item-info,
    body.catalogsearch-result-index .product-item-info,
    body.page-products .product-item-info {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        float: none !important;
        clear: both !important;
        background: #ffffff !important;
        border: 1px solid #dddddd !important;
        border-radius: 10px !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .product-item-photo,
    body.catalogsearch-result-index .product-item-photo,
    body.page-products .product-item-photo,
    body.catalog-category-view .product-image-container,
    body.catalogsearch-result-index .product-image-container,
    body.page-products .product-image-container,
    body.catalog-category-view .product-image-wrapper,
    body.catalogsearch-result-index .product-image-wrapper,
    body.page-products .product-image-wrapper {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 180px !important;
        min-height: 180px !important;
        max-height: 180px !important;
        padding-bottom: 0 !important;
        margin: 0 auto 10px auto !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .product-image-photo,
    body.catalogsearch-result-index .product-image-photo,
    body.page-products .product-image-photo {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 170px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    body.catalog-category-view .product-item-details,
    body.catalogsearch-result-index .product-item-details,
    body.page-products .product-item-details {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        clear: both !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body.catalog-category-view .product-item-name,
    body.catalogsearch-result-index .product-item-name,
    body.page-products .product-item-name,
    body.catalog-category-view .product.name.product-item-name,
    body.catalogsearch-result-index .product.name.product-item-name,
    body.page-products .product.name.product-item-name {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 8px 0 !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        overflow: visible !important;
        color: #222222 !important;
    }

    body.catalog-category-view .price-box,
    body.catalogsearch-result-index .price-box,
    body.page-products .price-box {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 6px 0 8px 0 !important;
        overflow: visible !important;
    }

    body.catalog-category-view .price,
    body.catalogsearch-result-index .price,
    body.page-products .price {
        font-size: 16px !important;
        line-height: 1.25 !important;
        font-weight: 900 !important;
        color: #e53935 !important;
    }

    body.catalog-category-view .product-item-inner,
    body.catalogsearch-result-index .product-item-inner,
    body.page-products .product-item-inner,
    body.catalog-category-view .product-item-actions,
    body.catalogsearch-result-index .product-item-actions,
    body.page-products .product-item-actions,
    body.catalog-category-view .actions-primary,
    body.catalogsearch-result-index .actions-primary,
    body.page-products .actions-primary {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 8px 0 0 0 !important;
        padding: 0 !important;
        clear: both !important;
        float: none !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        right: auto !important;
        left: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important;
    }

    body.catalog-category-view .action.tocart,
    body.catalogsearch-result-index .action.tocart,
    body.page-products .action.tocart,
    body.catalog-category-view button.action.tocart.primary,
    body.catalogsearch-result-index button.action.tocart.primary,
    body.page-products button.action.tocart.primary {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 42px !important;
        min-height: 42px !important;
        line-height: 42px !important;
        margin: 8px 0 0 0 !important;
        padding: 0 10px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        float: none !important;
        clear: both !important;
        right: auto !important;
        left: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important;
    }
}

/* ============================================================
   End Virtual Mart Category Mobile Full Width Fix v2
   ============================================================ */



/* ============================================================
   Virtual Mart Mobile Static Product Grid v1
   Replaces mobile Slick carousel with fast static grid
   ============================================================ */

@media (max-width: 767px) {

    /* Static product grid used when Slick is disabled on mobile */
    .cms-index-index .vm-mobile-static-products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Show only first 4 products on mobile homepage for speed */
    .cms-index-index .vm-mobile-static-products > li.product-item:nth-child(n+5) {
        display: none !important;
    }

    .cms-index-index .vm-mobile-static-products > li.product-item {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        float: none !important;
        box-sizing: border-box !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-info {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 310px !important;
        height: auto !important;
        padding: 8px !important;
        background: #ffffff !important;
        border: 1px solid #dddddd !important;
        border-radius: 12px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-photo,
    .cms-index-index .vm-mobile-static-products .product-image-container,
    .cms-index-index .vm-mobile-static-products .product-image-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 115px !important;
        min-height: 115px !important;
        max-height: 115px !important;
        padding-bottom: 0 !important;
        margin: 0 auto 7px auto !important;
        background: #ffffff !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .cms-index-index .vm-mobile-static-products .product-image-photo {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 108px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    /* Mobile homepage badge: small and horizontal */
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 64px !important;
        max-width: 100px !important;
        height: 22px !important;
        min-height: 22px !important;
        max-height: 22px !important;
        padding: 0 7px !important;
        margin: 0 0 6px 0 !important;
        border-radius: 6px !important;
        box-shadow: none !important;
        font-size: 10px !important;
        line-height: 22px !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-icon {
        display: none !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text,
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span,
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text small {
        display: inline !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span:after {
        content: "Available" !important;
        font-size: 10px !important;
        font-weight: 900 !important;
        line-height: 22px !important;
        white-space: nowrap !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-out .vm-delivery-badge-text span:after {
        content: "Out" !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-special .vm-delivery-badge-text span:after {
        content: "Special" !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-available {
        background: #e7f8ee !important;
        color: #137a38 !important;
        border: 1px solid #b9ebcc !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-out {
        background: #fdeaea !important;
        color: #c62828 !important;
        border: 1px solid #f5b6b6 !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-special {
        background: #fff1df !important;
        color: #b95d00 !important;
        border: 1px solid #ffd3a3 !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-details {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        overflow: hidden !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-name,
    .cms-index-index .vm-mobile-static-products .product.name.product-item-name {
        display: block !important;
        width: 100% !important;
        min-height: 34px !important;
        max-height: 38px !important;
        margin: 4px 0 6px 0 !important;
        font-size: 11.5px !important;
        line-height: 1.3 !important;
        color: #222222 !important;
        overflow: hidden !important;
    }

    .cms-index-index .vm-mobile-static-products .price-box {
        width: 100% !important;
        min-height: 40px !important;
        max-height: 46px !important;
        margin: 0 0 6px 0 !important;
        overflow: hidden !important;
    }

    .cms-index-index .vm-mobile-static-products .price {
        color: #e53935 !important;
        font-size: 12.5px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
    }

    /* Qty controls compact */
    .cms-index-index .vm-mobile-static-products .product-item-inner,
    .cms-index-index .vm-mobile-static-products .product-item-actions,
    .cms-index-index .vm-mobile-static-products .actions-primary {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: auto 0 0 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .cms-index-index .vm-mobile-static-products .sl-qa {
        display: none !important;
    }

    .cms-index-index .vm-mobile-static-products input.qty {
        width: 34px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        font-size: 12px !important;
        text-align: center !important;
    }

    .cms-index-index .vm-mobile-static-products button.action.tocart.primary,
    .cms-index-index .vm-mobile-static-products .action.tocart {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 34px !important;
        min-height: 34px !important;
        line-height: 34px !important;
        margin: 6px 0 0 0 !important;
        padding: 0 8px !important;
        border-radius: 7px !important;
        background: #ef3b35 !important;
        border: 1px solid #ef3b35 !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* Hide Slick arrows on mobile because slider becomes static grid */
    .cms-index-index .vm-mobile-static-products ~ .slick-prev,
    .cms-index-index .vm-mobile-static-products ~ .slick-next,
    .cms-index-index .block-product-slider .slick-prev,
    .cms-index-index .block-product-slider .slick-next {
        display: none !important;
    }

    .cms-index-index .vm-whats-new-top,
    .cms-index-index .vm-whats-new-top .block-product-slider {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin-bottom: 18px !important;
        overflow: visible !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile Static Product Grid v1
   ============================================================ */


/* ============================================================
   Virtual Mart Mobile Header + Compact Home Product Cards v2
   Fix logo alignment and reduce homepage product card height/load feel
   ============================================================ */

@media (max-width: 767px) {

    /* ------------------------------
       Header/logo alignment
       ------------------------------ */

    .page-header,
    .header.content {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 92px !important;
        padding: 12px 14px 8px 14px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
    }

    .nav-toggle,
    .action.nav-toggle {
        position: absolute !important;
        left: 16px !important;
        top: 28px !important;
        z-index: 30 !important;
    }

    .logo {
        position: static !important;
        display: block !important;
        float: none !important;
        width: 190px !important;
        max-width: 190px !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .logo img {
        display: block !important;
        width: 190px !important;
        max-width: 190px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .minicart-wrapper {
        position: absolute !important;
        top: 24px !important;
        right: 16px !important;
        z-index: 30 !important;
        margin: 0 !important;
    }

    .block-search {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        clear: both !important;
        float: none !important;
        margin: 12px 0 10px 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }

    .block-search input {
        width: 100% !important;
        height: 42px !important;
        font-size: 14px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }

    /* ------------------------------
       Homepage static product grid
       Make cards shorter and faster-feeling
       ------------------------------ */

    .cms-index-index .vm-mobile-static-products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 0 6px !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-info {
        min-height: 250px !important;
        height: 250px !important;
        padding: 7px !important;
        border-radius: 10px !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-photo,
    .cms-index-index .vm-mobile-static-products .product-image-container,
    .cms-index-index .vm-mobile-static-products .product-image-wrapper {
        height: 95px !important;
        min-height: 95px !important;
        max-height: 95px !important;
        margin-bottom: 5px !important;
    }

    .cms-index-index .vm-mobile-static-products .product-image-photo {
        max-height: 90px !important;
    }

    /* Smaller clean badge */
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge {
        min-width: 58px !important;
        max-width: 82px !important;
        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
        padding: 0 6px !important;
        margin-bottom: 5px !important;
        border-radius: 6px !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 20px !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-icon {
        display: none !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text,
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span,
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text small {
        font-size: 0 !important;
        line-height: 0 !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span:after {
        content: "Today" !important;
        font-size: 9px !important;
        font-weight: 900 !important;
        line-height: 20px !important;
        white-space: nowrap !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-out .vm-delivery-badge-text span:after {
        content: "Out" !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-special .vm-delivery-badge-text span:after {
        content: "Special" !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-name,
    .cms-index-index .vm-mobile-static-products .product.name.product-item-name {
        min-height: 32px !important;
        max-height: 34px !important;
        margin: 3px 0 5px 0 !important;
        font-size: 11px !important;
        line-height: 1.25 !important;
    }

    .cms-index-index .vm-mobile-static-products .price-box {
        min-height: 32px !important;
        max-height: 36px !important;
        margin: 0 0 4px 0 !important;
        overflow: hidden !important;
    }

    .cms-index-index .vm-mobile-static-products .price {
        font-size: 11.5px !important;
        line-height: 1.15 !important;
    }

    .cms-index-index .vm-mobile-static-products .old-price,
    .cms-index-index .vm-mobile-static-products .old-price .price,
    .cms-index-index .vm-mobile-static-products .price-label {
        font-size: 9.5px !important;
        line-height: 1.1 !important;
    }

    /* Hide quantity controls only on homepage mobile product grid */
    .cms-index-index .vm-mobile-static-products .sl-qa,
    .cms-index-index .vm-mobile-static-products input.qty,
    .cms-index-index .vm-mobile-static-products .qty,
    .cms-index-index .vm-mobile-static-products .add1,
    .cms-index-index .vm-mobile-static-products .minus1 {
        display: none !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-inner,
    .cms-index-index .vm-mobile-static-products .product-item-actions,
    .cms-index-index .vm-mobile-static-products .actions-primary {
        margin-top: auto !important;
    }

    .cms-index-index .vm-mobile-static-products button.action.tocart.primary,
    .cms-index-index .vm-mobile-static-products .action.tocart {
        height: 30px !important;
        min-height: 30px !important;
        line-height: 30px !important;
        margin-top: 4px !important;
        border-radius: 7px !important;
        font-size: 11px !important;
        padding: 0 6px !important;
    }

    /* Show only 2 products in the first row for fastest mobile homepage feel */
    .cms-index-index .vm-mobile-static-products > li.product-item:nth-child(n+3) {
        display: none !important;
    }

    .cms-index-index .vm-whats-new-top,
    .cms-index-index .vm-whats-new-top .block-product-slider {
        margin-bottom: 16px !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile Header + Compact Home Product Cards v2
   ============================================================ */


/* ============================================================
   Virtual Mart Mobile Homepage Light Badge Polish v4
   Keeps badges visible but lighter and readable on mini cards
   ============================================================ */

@media (max-width: 767px) {

    /* Light homepage mini-grid badge */
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge,
    .cms-index-index .vm-mobile-static-products .vm-card-badge,
    .cms-index-index .vm-mobile-static-products .vm-product-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;
        min-width: 58px !important;
        max-width: 86px !important;

        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;

        padding: 0 7px !important;
        margin: 0 0 5px 0 !important;

        border-radius: 999px !important;
        box-shadow: none !important;

        font-size: 0 !important;
        line-height: 20px !important;
        font-weight: 800 !important;
        text-align: center !important;

        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* Hide large icon only on homepage mini cards */
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-icon {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text,
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span,
    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text small {
        display: inline !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span:after {
        content: "Available" !important;
        font-size: 9px !important;
        line-height: 20px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-out .vm-delivery-badge-text span:after {
        content: "Out" !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-special .vm-delivery-badge-text span:after {
        content: "Special" !important;
    }

    /* Lighter badge colors */
    .cms-index-index .vm-mobile-static-products .vm-badge-available {
        background: #ecfff2 !important;
        color: #127a35 !important;
        border: 1px solid #bfeccb !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-out {
        background: #fff0f0 !important;
        color: #c62828 !important;
        border: 1px solid #f3b7b7 !important;
        min-width: 42px !important;
        max-width: 54px !important;
    }

    .cms-index-index .vm-mobile-static-products .vm-badge-special {
        background: #fff7e8 !important;
        color: #a85a00 !important;
        border: 1px solid #ffd9a8 !important;
        min-width: 54px !important;
        max-width: 68px !important;
    }

    /* Keep mini cards compact but not cramped */
    .cms-index-index .vm-mobile-static-products .product-item-info {
        height: 250px !important;
        min-height: 250px !important;
        max-height: 250px !important;
        padding: 7px !important;
    }

    .cms-index-index .vm-mobile-static-products .product-item-photo,
    .cms-index-index .vm-mobile-static-products .product-image-container,
    .cms-index-index .vm-mobile-static-products .product-image-wrapper {
        height: 100px !important;
        min-height: 100px !important;
        max-height: 100px !important;
        margin-bottom: 5px !important;
    }

    .cms-index-index .vm-mobile-static-products .product-image-photo {
        max-height: 94px !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile Homepage Light Badge Polish v4
   ============================================================ */



/* ============================================================
   Virtual Mart Final Mobile UI Fix v7
   Menu modernization + category 2-column cards + readable badges
   ============================================================ */

@media (max-width: 767px) {

    /* ========================================================
       1. Modern mobile menu
       ======================================================== */

    .nav-sections {
        background: #ffffff !important;
        box-shadow: 0 8px 30px rgba(0,0,0,0.18) !important;
        border-right: 1px solid #e5e5e5 !important;
    }

    .nav-sections .nav-sections-items {
        background: #ffffff !important;
    }

    .nav-sections .nav-sections-item-title {
        height: 58px !important;
        line-height: 58px !important;
        background: #f7f9fb !important;
        border: 0 !important;
        color: #25364a !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        text-align: center !important;
    }

    .nav-sections .nav-sections-item-title.active {
        background: #a8cb22 !important;
        color: #ffffff !important;
    }

    .nav-sections .navigation {
        background: #ffffff !important;
        padding: 10px 12px 18px 12px !important;
    }

    .nav-sections .navigation ul,
    .nav-sections .navigation li {
        background: transparent !important;
        border: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .nav-sections .navigation a,
    .nav-sections .navigation .level-top,
    .nav-sections-item-content a {
        display: flex !important;
        align-items: center !important;
        min-height: 46px !important;
        padding: 0 12px !important;
        margin: 0 0 8px 0 !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        border: 1px solid #eef0f3 !important;
        color: #25364a !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
    }

    .nav-sections .navigation a:hover,
    .nav-sections .navigation .level-top:hover,
    .nav-sections-item-content a:hover {
        background: #f4f8e8 !important;
        color: #1d2f44 !important;
        text-decoration: none !important;
    }

    .nav-sections .navigation .level0:first-child > .level-top,
    .nav-sections .navigation li:first-child > a {
        background: #a8cb22 !important;
        color: #102030 !important;
        border-color: #a8cb22 !important;
    }

    .nav-sections .navigation .submenu {
        padding: 6px 0 8px 8px !important;
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .nav-sections .navigation .submenu a {
        min-height: 40px !important;
        font-size: 13px !important;
        text-transform: none !important;
        background: #f8fafc !important;
    }

    /* ========================================================
       2. Force category/search back to clean 2-column mobile
       This must be at the bottom to override earlier 1-column rules.
       ======================================================== */

    body.catalog-category-view .page-main,
    body.catalogsearch-result-index .page-main,
    body.page-products .page-main,
    body.catalog-category-view .columns,
    body.catalogsearch-result-index .columns,
    body.page-products .columns,
    body.catalog-category-view .column.main,
    body.catalogsearch-result-index .column.main,
    body.page-products .column.main {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin: 0 auto !important;
        background: #f5f6f8 !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }

    body.catalog-category-view .products.wrapper,
    body.catalogsearch-result-index .products.wrapper,
    body.page-products .products.wrapper,
    body.catalog-category-view .products-grid,
    body.catalogsearch-result-index .products-grid,
    body.page-products .products-grid {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-items,
    body.catalogsearch-result-index .products-grid .product-items,
    body.page-products .products-grid .product-items,
    body.catalog-category-view ol.products.list.items,
    body.catalogsearch-result-index ol.products.list.items,
    body.page-products ol.products.list.items {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-item,
    body.catalogsearch-result-index .products-grid .product-item,
    body.page-products .products-grid .product-item,
    body.catalog-category-view ol.products.list.items > li.product-item,
    body.catalogsearch-result-index ol.products.list.items > li.product-item,
    body.page-products ol.products.list.items > li.product-item {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body.catalog-category-view .products-grid .product-item-info,
    body.catalogsearch-result-index .products-grid .product-item-info,
    body.page-products .products-grid .product-item-info {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 310px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 8px !important;
        background: #ffffff !important;
        border: 1px solid #dddddd !important;
        border-radius: 10px !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .product-item-photo,
    body.catalogsearch-result-index .product-item-photo,
    body.page-products .product-item-photo,
    body.catalog-category-view .product-image-container,
    body.catalogsearch-result-index .product-image-container,
    body.page-products .product-image-container,
    body.catalog-category-view .product-image-wrapper,
    body.catalogsearch-result-index .product-image-wrapper,
    body.page-products .product-image-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
        margin: 0 auto 7px auto !important;
        padding-bottom: 0 !important;
        background: #ffffff !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .product-image-photo,
    body.catalogsearch-result-index .product-image-photo,
    body.page-products .product-image-photo {
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 112px !important;
        object-fit: contain !important;
        margin: 0 auto !important;
    }

    body.catalog-category-view .product-item-details,
    body.catalogsearch-result-index .product-item-details,
    body.page-products .product-item-details {
        display: flex !important;
        flex-direction: column !important;
        flex: 1 1 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .product-item-name,
    body.catalogsearch-result-index .product-item-name,
    body.page-products .product-item-name,
    body.catalog-category-view .product.name.product-item-name,
    body.catalogsearch-result-index .product.name.product-item-name,
    body.page-products .product.name.product-item-name {
        display: block !important;
        width: 100% !important;
        min-height: 34px !important;
        max-height: 38px !important;
        margin: 5px 0 6px 0 !important;
        font-size: 12px !important;
        line-height: 1.28 !important;
        color: #222222 !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .price-box,
    body.catalogsearch-result-index .price-box,
    body.page-products .price-box {
        min-height: 40px !important;
        max-height: 48px !important;
        margin: 0 0 6px 0 !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .price,
    body.catalogsearch-result-index .price,
    body.page-products .price {
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 900 !important;
        color: #e53935 !important;
    }

    body.catalog-category-view .product-item-inner,
    body.catalogsearch-result-index .product-item-inner,
    body.page-products .product-item-inner,
    body.catalog-category-view .product-item-actions,
    body.catalogsearch-result-index .product-item-actions,
    body.page-products .product-item-actions,
    body.catalog-category-view .actions-primary,
    body.catalogsearch-result-index .actions-primary,
    body.page-products .actions-primary {
        position: static !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: auto 0 0 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        right: auto !important;
        left: auto !important;
        top: auto !important;
        bottom: auto !important;
        transform: none !important;
    }

    body.catalog-category-view .action.tocart,
    body.catalogsearch-result-index .action.tocart,
    body.page-products .action.tocart,
    body.catalog-category-view button.action.tocart.primary,
    body.catalogsearch-result-index button.action.tocart.primary,
    body.page-products button.action.tocart.primary {
        position: static !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 34px !important;
        min-height: 34px !important;
        line-height: 34px !important;
        margin: 6px 0 0 0 !important;
        padding: 0 8px !important;
        border-radius: 7px !important;
        background: #ef3b35 !important;
        border: 1px solid #ef3b35 !important;
        color: #ffffff !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        text-align: center !important;
        box-sizing: border-box !important;
        float: none !important;
        clear: both !important;
        transform: none !important;
    }

    /* ========================================================
       3. Final readable badges for category/search/home cards
       Handles old classes and new classes.
       ======================================================== */

    body.catalog-category-view .products-grid .vm-delivery-badge,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge,
    body.page-products .products-grid .vm-delivery-badge,
    body.cms-index-index .products-grid .vm-delivery-badge,
    body.cms-index-index .vm-mobile-static-products .vm-delivery-badge {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        min-width: 58px !important;
        max-width: 92px !important;
        height: 20px !important;
        min-height: 20px !important;
        max-height: 20px !important;
        padding: 0 7px !important;
        margin: 0 0 5px 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        font-size: 0 !important;
        line-height: 20px !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-icon,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-icon,
    body.page-products .products-grid .vm-delivery-badge-icon,
    body.cms-index-index .products-grid .vm-delivery-badge-icon,
    body.cms-index-index .vm-mobile-static-products .vm-delivery-badge-icon {
        display: none !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-text,
    body.catalog-category-view .products-grid .vm-delivery-badge-text span,
    body.catalog-category-view .products-grid .vm-delivery-badge-text small,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text span,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text small,
    body.page-products .products-grid .vm-delivery-badge-text,
    body.page-products .products-grid .vm-delivery-badge-text span,
    body.page-products .products-grid .vm-delivery-badge-text small,
    body.cms-index-index .products-grid .vm-delivery-badge-text,
    body.cms-index-index .products-grid .vm-delivery-badge-text span,
    body.cms-index-index .products-grid .vm-delivery-badge-text small,
    body.cms-index-index .vm-mobile-static-products .vm-delivery-badge-text,
    body.cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span,
    body.cms-index-index .vm-mobile-static-products .vm-delivery-badge-text small {
        display: inline !important;
        font-size: 0 !important;
        line-height: 0 !important;
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        writing-mode: horizontal-tb !important;
        transform: none !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-text span:after,
    body.page-products .products-grid .vm-delivery-badge-text span:after,
    body.cms-index-index .products-grid .vm-delivery-badge-text span:after,
    body.cms-index-index .vm-mobile-static-products .vm-delivery-badge-text span:after {
        content: "Today" !important;
        font-size: 9px !important;
        line-height: 20px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-special-order .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .vm-badge-special .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-special-order .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-badge-special .vm-delivery-badge-text span:after,
    body.page-products .products-grid .vm-delivery-badge-special-order .vm-delivery-badge-text span:after,
    body.page-products .products-grid .vm-badge-special .vm-delivery-badge-text span:after,
    body.cms-index-index .products-grid .vm-delivery-badge-special-order .vm-delivery-badge-text span:after,
    body.cms-index-index .products-grid .vm-badge-special .vm-delivery-badge-text span:after {
        content: "Special" !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-out-of-stock .vm-delivery-badge-text span:after,
    body.catalog-category-view .products-grid .vm-badge-out .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-out-of-stock .vm-delivery-badge-text span:after,
    body.catalogsearch-result-index .products-grid .vm-badge-out .vm-delivery-badge-text span:after,
    body.page-products .products-grid .vm-delivery-badge-out-of-stock .vm-delivery-badge-text span:after,
    body.page-products .products-grid .vm-badge-out .vm-delivery-badge-text span:after,
    body.cms-index-index .products-grid .vm-delivery-badge-out-of-stock .vm-delivery-badge-text span:after,
    body.cms-index-index .products-grid .vm-badge-out .vm-delivery-badge-text span:after {
        content: "Out" !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-available-today,
    body.catalog-category-view .products-grid .vm-badge-available,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-available-today,
    body.catalogsearch-result-index .products-grid .vm-badge-available,
    body.page-products .products-grid .vm-delivery-badge-available-today,
    body.page-products .products-grid .vm-badge-available,
    body.cms-index-index .products-grid .vm-delivery-badge-available-today,
    body.cms-index-index .products-grid .vm-badge-available {
        background: #ecfff2 !important;
        color: #127a35 !important;
        border: 1px solid #bfeccb !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-special-order,
    body.catalog-category-view .products-grid .vm-badge-special,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-special-order,
    body.catalogsearch-result-index .products-grid .vm-badge-special,
    body.page-products .products-grid .vm-delivery-badge-special-order,
    body.page-products .products-grid .vm-badge-special,
    body.cms-index-index .products-grid .vm-delivery-badge-special-order,
    body.cms-index-index .products-grid .vm-badge-special {
        background: #fff7e8 !important;
        color: #a85a00 !important;
        border: 1px solid #ffd9a8 !important;
        min-width: 62px !important;
        max-width: 78px !important;
    }

    body.catalog-category-view .products-grid .vm-delivery-badge-out-of-stock,
    body.catalog-category-view .products-grid .vm-badge-out,
    body.catalogsearch-result-index .products-grid .vm-delivery-badge-out-of-stock,
    body.catalogsearch-result-index .products-grid .vm-badge-out,
    body.page-products .products-grid .vm-delivery-badge-out-of-stock,
    body.page-products .products-grid .vm-badge-out,
    body.cms-index-index .products-grid .vm-delivery-badge-out-of-stock,
    body.cms-index-index .products-grid .vm-badge-out {
        background: #fff0f0 !important;
        color: #c62828 !important;
        border: 1px solid #f3b7b7 !important;
        min-width: 42px !important;
        max-width: 54px !important;
    }
}

/* ============================================================
   End Virtual Mart Final Mobile UI Fix v7
   ============================================================ */



/* ============================================================
   Virtual Mart Unified Product Badge CSS v9
   Category + search + sliders + homepage
   ============================================================ */

.vm-delivery-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 108px !important;
    max-width: 155px !important;
    min-height: 28px !important;
    height: auto !important;
    padding: 6px 12px !important;
    margin: 0 0 5px 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
    box-sizing: border-box !important;
}

.vm-delivery-badge-icon {
    display: none !important;
}

.vm-delivery-badge-text,
.vm-delivery-badge-text span,
.vm-delivery-badge-text small {
    display: inline !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-transform: none !important;
}

.vm-delivery-badge-available-today,
.vm-badge-available {
    background: #dcf8e6 !important;
    color: #08712d !important;
    border: 1px solid #8edaa8 !important;
}

.vm-delivery-badge-special-order,
.vm-badge-special {
    background: #fff0d7 !important;
    color: #9a4e00 !important;
    border: 1px solid #ffbd5a !important;
}

.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    background: #fde3e3 !important;
    color: #b00000 !important;
    border: 1px solid #ec9999 !important;
}

.vm-delivery-date-line {
    display: block !important;
    margin: 0 0 7px 0 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    color: #9a4e00 !important;
    background: #fff7eb !important;
    border-left: 3px solid #ffbd5a !important;
    padding: 3px 6px !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        min-width: 100px !important;
        max-width: 145px !important;
        min-height: 26px !important;
        padding: 5px 9px !important;
        margin-bottom: 5px !important;
        font-size: 10.5px !important;
        line-height: 1.1 !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 10.5px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
    }

    .vm-delivery-date-line {
        font-size: 10px !important;
        line-height: 1.2 !important;
        padding: 3px 5px !important;
        margin-bottom: 6px !important;
    }
}

/* ============================================================
   End Virtual Mart Unified Product Badge CSS v9
   ============================================================ */


/* ============================================================
   Virtual Mart Single-Line Badge Polish v10
   Force badge text and delivered-by line onto one line
   ============================================================ */

.vm-delivery-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    line-height: 1 !important;
}

.vm-delivery-badge-icon {
    display: none !important;
}

.vm-delivery-badge-text,
.vm-delivery-badge-text span,
.vm-delivery-badge-text small {
    display: inline !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
}

/* Full text badges must fit on one line */
.vm-delivery-badge-available-today,
.vm-badge-available {
    min-width: 124px !important;
}

.vm-delivery-badge-special-order,
.vm-badge-special {
    min-width: 112px !important;
}

.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    min-width: 108px !important;
}

/* Delivered by line must also stay on one line */
.vm-delivery-date-line {
    display: inline-block !important;
    width: auto !important;
    min-width: 132px !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.15 !important;
}

/* Mobile cards */
@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        min-height: 28px !important;
        padding: 6px 10px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 10px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .products-grid .vm-delivery-badge-available-today,
    .product-items .vm-delivery-badge-available-today,
    .block-product-slider .vm-delivery-badge-available-today,
    .vm-mobile-static-products .vm-delivery-badge-available-today,
    .products-grid .vm-badge-available,
    .product-items .vm-badge-available,
    .block-product-slider .vm-badge-available,
    .vm-mobile-static-products .vm-badge-available {
        min-width: 116px !important;
    }

    .products-grid .vm-delivery-badge-special-order,
    .product-items .vm-delivery-badge-special-order,
    .block-product-slider .vm-delivery-badge-special-order,
    .vm-mobile-static-products .vm-delivery-badge-special-order,
    .products-grid .vm-badge-special,
    .product-items .vm-badge-special,
    .block-product-slider .vm-badge-special,
    .vm-mobile-static-products .vm-badge-special {
        min-width: 106px !important;
    }

    .products-grid .vm-delivery-badge-out-of-stock,
    .product-items .vm-delivery-badge-out-of-stock,
    .block-product-slider .vm-delivery-badge-out-of-stock,
    .vm-mobile-static-products .vm-delivery-badge-out-of-stock,
    .products-grid .vm-badge-out,
    .product-items .vm-badge-out,
    .block-product-slider .vm-badge-out,
    .vm-mobile-static-products .vm-badge-out {
        min-width: 102px !important;
    }

    .vm-delivery-date-line {
        min-width: 120px !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        padding: 3px 6px !important;
        white-space: nowrap !important;
    }
}

/* ============================================================
   End Virtual Mart Single-Line Badge Polish v10
   ============================================================ */


/* ============================================================
   Virtual Mart Single-Line Badge Polish v10
   Force badge text and delivered-by line onto one line
   ============================================================ */

.vm-delivery-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 28px !important;
    padding: 6px 10px !important;
    margin: 0 0 5px 0 !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

.vm-delivery-badge-icon {
    display: none !important;
}

.vm-delivery-badge-text,
.vm-delivery-badge-text span,
.vm-delivery-badge-text small {
    display: inline-block !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.vm-delivery-badge-available-today,
.vm-badge-available {
    min-width: 124px !important;
}

.vm-delivery-badge-special-order,
.vm-badge-special {
    min-width: 116px !important;
}

.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    min-width: 108px !important;
}

.vm-delivery-date-line {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1.15 !important;
}

/* Mobile and slider cards */
@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        min-height: 26px !important;
        padding: 5px 8px !important;
        font-size: 9.5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 9.5px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .products-grid .vm-delivery-badge-available-today,
    .product-items .vm-delivery-badge-available-today,
    .block-product-slider .vm-delivery-badge-available-today,
    .vm-mobile-static-products .vm-delivery-badge-available-today,
    .products-grid .vm-badge-available,
    .product-items .vm-badge-available,
    .block-product-slider .vm-badge-available,
    .vm-mobile-static-products .vm-badge-available {
        min-width: 108px !important;
    }

    .products-grid .vm-delivery-badge-special-order,
    .product-items .vm-delivery-badge-special-order,
    .block-product-slider .vm-delivery-badge-special-order,
    .vm-mobile-static-products .vm-delivery-badge-special-order,
    .products-grid .vm-badge-special,
    .product-items .vm-badge-special,
    .block-product-slider .vm-badge-special,
    .vm-mobile-static-products .vm-badge-special {
        min-width: 102px !important;
    }

    .products-grid .vm-delivery-badge-out-of-stock,
    .product-items .vm-delivery-badge-out-of-stock,
    .block-product-slider .vm-delivery-badge-out-of-stock,
    .vm-mobile-static-products .vm-delivery-badge-out-of-stock,
    .products-grid .vm-badge-out,
    .product-items .vm-badge-out,
    .block-product-slider .vm-badge-out,
    .vm-mobile-static-products .vm-badge-out {
        min-width: 96px !important;
    }

    .vm-delivery-date-line {
        font-size: 9.5px !important;
        line-height: 1.1 !important;
        padding: 3px 5px !important;
        margin-bottom: 5px !important;
        white-space: nowrap !important;
    }
}

/* ============================================================
   End Virtual Mart Single-Line Badge Polish v10
   ============================================================ */


/* ============================================================
   Virtual Mart Bright Unified Delivery Badges v12
   Applies to product detail, category, search, homepage, and sliders
   ============================================================ */

.vm-product-detail-delivery-wrap {
    display: block !important;
    margin: 0 0 10px 0 !important;
}

.vm-delivery-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    width: auto !important;
    min-width: 118px !important;
    max-width: 100% !important;

    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;

    padding: 0 12px !important;
    margin: 0 0 6px 0 !important;

    border-radius: 999px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.16) !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 30px !important;
    letter-spacing: .15px !important;
    text-align: center !important;
    text-transform: none !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.vm-delivery-badge-icon {
    display: none !important;
}

.vm-delivery-badge-text,
.vm-delivery-badge-text span,
.vm-delivery-badge-text small {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;

    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 30px !important;
    letter-spacing: .15px !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    text-transform: none !important;
}

/* Brighter Available Today */
.vm-delivery-badge-available-today,
.vm-badge-available {
    background: linear-gradient(180deg, #29c85a 0%, #11943a 100%) !important;
    color: #ffffff !important;
    border: 1px solid #0f7f32 !important;
}

/* Brighter Special Order */
.vm-delivery-badge-special-order,
.vm-badge-special {
    background: linear-gradient(180deg, #ffb52f 0%, #e67900 100%) !important;
    color: #ffffff !important;
    border: 1px solid #c86500 !important;
}

/* Brighter Out of Stock */
.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    background: linear-gradient(180deg, #ff5555 0%, #c90000 100%) !important;
    color: #ffffff !important;
    border: 1px solid #a80000 !important;
}

.vm-delivery-date-line {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;

    margin: 0 0 7px 0 !important;
    padding: 4px 8px !important;

    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;

    color: #a14c00 !important;
    background: #fff3df !important;
    border: 1px solid #ffc46f !important;
    border-radius: 6px !important;

    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Mobile/card sizing */
@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        height: 28px !important;
        min-height: 28px !important;
        max-height: 28px !important;

        padding: 0 6px !important;
        margin-bottom: 6px !important;

        font-size: 10px !important;
        line-height: 28px !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 10px !important;
        line-height: 28px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    .vm-delivery-date-line {
        width: 100% !important;
        max-width: 100% !important;
        padding: 3px 5px !important;
        font-size: 9.5px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

/* Product detail can be larger */
.catalog-product-view .vm-delivery-badge {
    width: auto !important;
    min-width: 150px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 16px !important;
    font-size: 13px !important;
    line-height: 34px !important;
}

.catalog-product-view .vm-delivery-badge-text,
.catalog-product-view .vm-delivery-badge-text span {
    font-size: 13px !important;
    line-height: 34px !important;
}

.catalog-product-view .vm-delivery-date-line {
    font-size: 12px !important;
    padding: 5px 10px !important;
}

/* ============================================================
   End Virtual Mart Bright Unified Delivery Badges v12
   ============================================================ */


/* ============================================================
   Virtual Mart Final Bright Consistent Badges v13
   Stronger words, brighter colors, consistent across all areas
   ============================================================ */

.vm-delivery-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    width: 100% !important;
    max-width: 230px !important;
    min-height: 34px !important;
    height: 34px !important;

    padding: 0 12px !important;
    margin: 0 0 7px 0 !important;

    border-radius: 999px !important;
    border-width: 2px !important;
    border-style: solid !important;

    box-shadow: 0 3px 8px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.28) !important;

    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 34px !important;
    letter-spacing: .2px !important;
    text-align: center !important;
    text-transform: none !important;

    color: #ffffff !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.vm-delivery-badge-icon {
    display: none !important;
}

.vm-delivery-badge-text,
.vm-delivery-badge-text span,
.vm-delivery-badge-text small {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;

    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 34px !important;
    letter-spacing: .2px !important;

    color: #ffffff !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    overflow: hidden !important;
    text-transform: none !important;
}

/* Brighter green */
.vm-delivery-badge-available-today,
.vm-badge-available {
    background: linear-gradient(180deg, #38df64 0%, #12a83c 100%) !important;
    border-color: #087d2a !important;
    color: #ffffff !important;
}

/* Brighter orange */
.vm-delivery-badge-special-order,
.vm-badge-special {
    background: linear-gradient(180deg, #ffbd31 0%, #f28a00 100%) !important;
    border-color: #bd6500 !important;
    color: #ffffff !important;
}

/* Brighter red */
.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    background: linear-gradient(180deg, #ff5b5b 0%, #d90000 100%) !important;
    border-color: #a90000 !important;
    color: #ffffff !important;
}

.vm-delivery-date-line {
    display: block !important;
    width: 100% !important;
    max-width: 230px !important;

    margin: 0 0 8px 0 !important;
    padding: 5px 8px !important;

    font-size: 12px !important;
    line-height: 1.15 !important;
    font-weight: 900 !important;
    text-align: center !important;

    color: #9a4e00 !important;
    background: #fff2dc !important;
    border: 1px solid #ffb34d !important;
    border-radius: 7px !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Mobile card sizing */
@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 6px !important;
        margin-bottom: 6px !important;
        font-size: 10.5px !important;
        line-height: 30px !important;
        letter-spacing: 0 !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 10.5px !important;
        line-height: 30px !important;
        font-weight: 950 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    .vm-delivery-date-line {
        width: 100% !important;
        max-width: 100% !important;
        padding: 4px 5px !important;
        font-size: 10px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }
}

/* Product detail badge can be larger */
.catalog-product-view .vm-delivery-badge {
    width: auto !important;
    min-width: 170px !important;
    max-width: 260px !important;
    height: 36px !important;
    min-height: 36px !important;
    line-height: 36px !important;
    padding: 0 18px !important;
}

.catalog-product-view .vm-delivery-badge-text,
.catalog-product-view .vm-delivery-badge-text span {
    font-size: 14px !important;
    line-height: 36px !important;
}

.catalog-product-view .vm-delivery-date-line {
    width: auto !important;
    min-width: 170px !important;
    max-width: 260px !important;
    font-size: 12px !important;
}

/* ============================================================
   End Virtual Mart Final Bright Consistent Badges v13
   ============================================================ */


/* ============================================================
   Virtual Mart Badge Text Visibility Boost v14
   Makes badge wording very visible and removes duplicate text layers
   ============================================================ */

/* Remove any old generated pseudo text that can duplicate wording */
.vm-delivery-badge-text span:before,
.vm-delivery-badge-text span:after,
.vm-delivery-badge-text:before,
.vm-delivery-badge-text:after {
    content: none !important;
    display: none !important;
}

/* Main badge */
.vm-delivery-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;

    width: 100% !important;
    max-width: 240px !important;
    min-height: 38px !important;
    height: 38px !important;

    padding: 0 14px !important;
    margin: 0 0 8px 0 !important;

    border-radius: 999px !important;
    border: 2px solid rgba(255,255,255,0.95) !important;
    box-shadow: 0 3px 10px rgba(0,0,0,0.24), inset 0 1px 0 rgba(255,255,255,0.24) !important;

    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Hide icon so words stay clear */
.vm-delivery-badge-icon {
    display: none !important;
}

/* Main badge text */
.vm-delivery-badge-text,
.vm-delivery-badge-text span {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;

    font-size: 15px !important;
    font-weight: 950 !important;
    line-height: 38px !important;
    letter-spacing: 0.2px !important;
    text-transform: uppercase !important;
    text-align: center !important;

    color: #ffffff !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Extra strong bright colors */
.vm-delivery-badge-available-today,
.vm-badge-available {
    background: linear-gradient(180deg, #42e96e 0%, #149d3d 100%) !important;
    border-color: #0d7b2f !important;
}

.vm-delivery-badge-special-order,
.vm-badge-special {
    background: linear-gradient(180deg, #ffc539 0%, #ef8400 100%) !important;
    border-color: #be6700 !important;
}

.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    background: linear-gradient(180deg, #ff6666 0%, #d70000 100%) !important;
    border-color: #aa0000 !important;
}

/* Delivered-by line */
.vm-delivery-date-line {
    display: block !important;
    width: 100% !important;
    max-width: 240px !important;

    margin: 0 0 8px 0 !important;
    padding: 6px 9px !important;

    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    text-align: center !important;

    color: #924800 !important;
    background: #fff3dd !important;
    border: 1px solid #ffb24c !important;
    border-radius: 8px !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

/* Mobile */
@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        max-width: 100% !important;
        min-height: 32px !important;
        height: 32px !important;
        padding: 0 8px !important;
        margin-bottom: 6px !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 12px !important;
        font-weight: 950 !important;
        line-height: 32px !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
        color: #ffffff !important;
        text-shadow: 0 1px 2px rgba(0,0,0,0.35) !important;
    }

    .vm-delivery-date-line {
        max-width: 100% !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        padding: 5px 6px !important;
    }
}

/* Product detail can be larger */
.catalog-product-view .vm-delivery-badge {
    width: auto !important;
    min-width: 190px !important;
    max-width: 280px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 18px !important;
}

.catalog-product-view .vm-delivery-badge-text,
.catalog-product-view .vm-delivery-badge-text span {
    font-size: 16px !important;
    font-weight: 950 !important;
    line-height: 40px !important;
}

.catalog-product-view .vm-delivery-date-line {
    width: auto !important;
    min-width: 190px !important;
    max-width: 280px !important;
    font-size: 13px !important;
}

/* ============================================================
   End Virtual Mart Badge Text Visibility Boost v14
   ============================================================ */


/* ============================================================
   Virtual Mart Final Mobile Badge + Card Cleanup v17
   Fix blank category/search badges and reduce card height
   ============================================================ */

/* Remove old generated pseudo text everywhere */
.vm-delivery-badge-text:before,
.vm-delivery-badge-text:after,
.vm-delivery-badge-text span:before,
.vm-delivery-badge-text span:after {
    content: none !important;
    display: none !important;
}

/* Badge shell */
.vm-delivery-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 230px !important;
    height: 34px !important;
    min-height: 34px !important;

    padding: 0 10px !important;
    margin: 0 0 7px 0 !important;

    border-radius: 999px !important;
    border: 2px solid rgba(255,255,255,0.95) !important;
    box-shadow: 0 3px 8px rgba(0,0,0,0.24) !important;

    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Hide icon so the words have enough room */
.vm-delivery-badge-icon {
    display: none !important;
}

/* Force words visible */
.vm-delivery-badge-text,
.vm-delivery-badge-text span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    letter-spacing: .1px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4) !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Bright, high-contrast colors */
.vm-delivery-badge-available-today,
.vm-badge-available {
    background: linear-gradient(180deg, #3bea6e 0%, #119c3b 100%) !important;
    border-color: #087d2d !important;
}

.vm-delivery-badge-special-order,
.vm-badge-special {
    background: linear-gradient(180deg, #ffc43d 0%, #ef8500 100%) !important;
    border-color: #b96200 !important;
}

.vm-delivery-badge-out-of-stock,
.vm-badge-out {
    background: linear-gradient(180deg, #ff6262 0%, #d80000 100%) !important;
    border-color: #a70000 !important;
}

/* Delivered-by line */
.vm-delivery-date-line {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    max-width: 230px !important;
    min-height: 24px !important;

    margin: 0 0 8px 0 !important;
    padding: 4px 7px !important;

    color: #914600 !important;
    background: #fff2dc !important;
    border: 1px solid #ffb24c !important;
    border-radius: 7px !important;

    font-size: 11.5px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-align: center !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}

/* Product detail */
.catalog-product-view .vm-product-detail-delivery-wrap {
    display: block !important;
    margin: 0 0 12px 0 !important;
}

.catalog-product-view .vm-delivery-badge {
    width: auto !important;
    min-width: 190px !important;
    max-width: 280px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 18px !important;
}

.catalog-product-view .vm-delivery-badge-text,
.catalog-product-view .vm-delivery-badge-text span {
    font-size: 15px !important;
}

.catalog-product-view .vm-delivery-date-line {
    width: auto !important;
    min-width: 190px !important;
    max-width: 280px !important;
    font-size: 12px !important;
}

/* Mobile category/search/cards */
@media (max-width: 767px) {
    .products-grid .vm-delivery-badge,
    .product-items .vm-delivery-badge,
    .block-product-slider .vm-delivery-badge,
    .vm-mobile-static-products .vm-delivery-badge {
        width: 100% !important;
        max-width: 100% !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 5px !important;
        margin-bottom: 6px !important;
    }

    .products-grid .vm-delivery-badge-text,
    .products-grid .vm-delivery-badge-text span,
    .product-items .vm-delivery-badge-text,
    .product-items .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span,
    .vm-mobile-static-products .vm-delivery-badge-text,
    .vm-mobile-static-products .vm-delivery-badge-text span {
        font-size: 10.5px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .vm-delivery-date-line {
        max-width: 100% !important;
        min-height: 22px !important;
        padding: 3px 5px !important;
        font-size: 10px !important;
    }

    /* Make product cards less tall */
    body.catalog-category-view .product-item-info,
    body.catalogsearch-result-index .product-item-info {
        min-height: 300px !important;
    }

    /* Optional: reduce quantity control height */
    body.catalog-category-view .product-item .sl-qa,
    body.catalogsearch-result-index .product-item .sl-qa {
        margin: 4px 0 6px 0 !important;
    }

    body.catalog-category-view .product-item input.qty,
    body.catalogsearch-result-index .product-item input.qty {
        height: 30px !important;
        min-height: 30px !important;
    }

    body.catalog-category-view .product-item button.action.tocart.primary,
    body.catalogsearch-result-index .product-item button.action.tocart.primary,
    body.catalog-category-view .product-item .action.tocart,
    body.catalogsearch-result-index .product-item .action.tocart {
        height: 36px !important;
        min-height: 36px !important;
        line-height: 36px !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }
}

/* Search page extra protection against blank badge boxes */
.catalogsearch-result-index .vm-delivery-badge,
.catalogsearch-result-index .vm-delivery-badge-text,
.catalogsearch-result-index .vm-delivery-badge-text span,
.catalog-category-view .vm-delivery-badge,
.catalog-category-view .vm-delivery-badge-text,
.catalog-category-view .vm-delivery-badge-text span {
    opacity: 1 !important;
    visibility: visible !important;
}

/* ============================================================
   End Virtual Mart Final Mobile Badge + Card Cleanup v17
   ============================================================ */


/* ============================================================
   Virtual Mart Badge Text Restore v18
   Fixes blank badge boxes on category/search cards
   ============================================================ */

.catalog-category-view .vm-delivery-badge,
.catalogsearch-result-index .vm-delivery-badge,
.block-product-slider .vm-delivery-badge,
.catalog-product-view .vm-delivery-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-clip: padding-box !important;
}

.catalog-category-view .vm-delivery-badge-text,
.catalog-category-view .vm-delivery-badge-text span,
.catalogsearch-result-index .vm-delivery-badge-text,
.catalogsearch-result-index .vm-delivery-badge-text span,
.block-product-slider .vm-delivery-badge-text,
.block-product-slider .vm-delivery-badge-text span,
.catalog-product-view .vm-delivery-badge-text,
.catalog-product-view .vm-delivery-badge-text span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;

    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.45) !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.catalog-category-view .vm-delivery-badge-text span:before,
.catalog-category-view .vm-delivery-badge-text span:after,
.catalogsearch-result-index .vm-delivery-badge-text span:before,
.catalogsearch-result-index .vm-delivery-badge-text span:after,
.block-product-slider .vm-delivery-badge-text span:before,
.block-product-slider .vm-delivery-badge-text span:after,
.catalog-product-view .vm-delivery-badge-text span:before,
.catalog-product-view .vm-delivery-badge-text span:after {
    content: none !important;
    display: none !important;
}

/* Strong final colors */
.vm-delivery-badge-available-today {
    background: linear-gradient(180deg, #39e867 0%, #10973a 100%) !important;
    border-color: #087d2d !important;
}

.vm-delivery-badge-special-order {
    background: linear-gradient(180deg, #ffc13d 0%, #ee8400 100%) !important;
    border-color: #b96200 !important;
}

.vm-delivery-badge-out-of-stock {
    background: linear-gradient(180deg, #ff6262 0%, #d80000 100%) !important;
    border-color: #a70000 !important;
}

@media (max-width: 767px) {
    .catalog-category-view .vm-delivery-badge-text,
    .catalog-category-view .vm-delivery-badge-text span,
    .catalogsearch-result-index .vm-delivery-badge-text,
    .catalogsearch-result-index .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span {
        font-size: 10.5px !important;
        font-weight: 950 !important;
    }
}

/* ============================================================
   End Virtual Mart Badge Text Restore v18
   ============================================================ */


/* ============================================================
   Virtual Mart Badge Text Restore v18
   Fixes blank badge boxes on category/search cards
   ============================================================ */

.catalog-category-view .vm-delivery-badge,
.catalogsearch-result-index .vm-delivery-badge,
.block-product-slider .vm-delivery-badge,
.catalog-product-view .vm-delivery-badge {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-clip: padding-box !important;
}

.catalog-category-view .vm-delivery-badge-text,
.catalog-category-view .vm-delivery-badge-text span,
.catalogsearch-result-index .vm-delivery-badge-text,
.catalogsearch-result-index .vm-delivery-badge-text span,
.block-product-slider .vm-delivery-badge-text,
.block-product-slider .vm-delivery-badge-text span,
.catalog-product-view .vm-delivery-badge-text,
.catalog-product-view .vm-delivery-badge-text span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;

    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.45) !important;

    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.catalog-category-view .vm-delivery-badge-text span:before,
.catalog-category-view .vm-delivery-badge-text span:after,
.catalogsearch-result-index .vm-delivery-badge-text span:before,
.catalogsearch-result-index .vm-delivery-badge-text span:after,
.block-product-slider .vm-delivery-badge-text span:before,
.block-product-slider .vm-delivery-badge-text span:after,
.catalog-product-view .vm-delivery-badge-text span:before,
.catalog-product-view .vm-delivery-badge-text span:after {
    content: none !important;
    display: none !important;
}

/* Strong final colors */
.vm-delivery-badge-available-today {
    background: linear-gradient(180deg, #39e867 0%, #10973a 100%) !important;
    border-color: #087d2d !important;
}

.vm-delivery-badge-special-order {
    background: linear-gradient(180deg, #ffc13d 0%, #ee8400 100%) !important;
    border-color: #b96200 !important;
}

.vm-delivery-badge-out-of-stock {
    background: linear-gradient(180deg, #ff6262 0%, #d80000 100%) !important;
    border-color: #a70000 !important;
}

@media (max-width: 767px) {
    .catalog-category-view .vm-delivery-badge-text,
    .catalog-category-view .vm-delivery-badge-text span,
    .catalogsearch-result-index .vm-delivery-badge-text,
    .catalogsearch-result-index .vm-delivery-badge-text span,
    .block-product-slider .vm-delivery-badge-text,
    .block-product-slider .vm-delivery-badge-text span {
        font-size: 10.5px !important;
        font-weight: 950 !important;
    }
}

/* ============================================================
   End Virtual Mart Badge Text Restore v18
   ============================================================ */












/* ============================================================
   Virtual Mart Mobile-Only Badge Text Fix v21
   Desktop badges are already correct. This affects mobile only.
   ============================================================ */

@media (max-width: 767px) {
    /*
      Mobile badge text recovery:
      The live HTML already contains the correct badge classes/text.
      On mobile, force the visible words from the badge class only.
    */

    body.catalog-category-view .vm-delivery-badge,
    body.catalogsearch-result-index .vm-delivery-badge,
    body.cms-index-index .vm-delivery-badge,
    body.catalog-product-view .block-product-slider .vm-delivery-badge {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;
        height: 30px !important;
        min-height: 30px !important;

        padding: 0 6px !important;
        margin: 0 0 6px 0 !important;

        border-radius: 999px !important;
        border: 2px solid rgba(255,255,255,.95) !important;
        box-shadow: 0 3px 8px rgba(0,0,0,.22) !important;

        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    /* Hide mobile inner badge layers only; desktop remains untouched */
    body.catalog-category-view .vm-delivery-badge-icon,
    body.catalog-category-view .vm-delivery-badge-text,
    body.catalog-category-view .vm-delivery-badge-text span,
    body.catalogsearch-result-index .vm-delivery-badge-icon,
    body.catalogsearch-result-index .vm-delivery-badge-text,
    body.catalogsearch-result-index .vm-delivery-badge-text span,
    body.cms-index-index .vm-delivery-badge-icon,
    body.cms-index-index .vm-delivery-badge-text,
    body.cms-index-index .vm-delivery-badge-text span,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-icon,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-text,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-text span {
        display: none !important;
    }

    /* Mobile generated text layer */
    body.catalog-category-view .vm-delivery-badge:before,
    body.catalogsearch-result-index .vm-delivery-badge:before,
    body.cms-index-index .vm-delivery-badge:before,
    body.catalog-product-view .block-product-slider .vm-delivery-badge:before {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: 100% !important;

        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;

        font-size: 10.5px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: uppercase !important;
        text-shadow: 0 1px 2px rgba(0,0,0,.45) !important;

        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.catalog-category-view .vm-delivery-badge-available-today:before,
    body.catalogsearch-result-index .vm-delivery-badge-available-today:before,
    body.cms-index-index .vm-delivery-badge-available-today:before,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-available-today:before {
        content: "AVAILABLE TODAY" !important;
    }

    body.catalog-category-view .vm-delivery-badge-special-order:before,
    body.catalogsearch-result-index .vm-delivery-badge-special-order:before,
    body.cms-index-index .vm-delivery-badge-special-order:before,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-special-order:before {
        content: "SPECIAL ORDER" !important;
    }

    body.catalog-category-view .vm-delivery-badge-out-of-stock:before,
    body.catalogsearch-result-index .vm-delivery-badge-out-of-stock:before,
    body.cms-index-index .vm-delivery-badge-out-of-stock:before,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-out-of-stock:before {
        content: "OUT OF STOCK" !important;
    }

    /* Mobile bright colors */
    body.catalog-category-view .vm-delivery-badge-available-today,
    body.catalogsearch-result-index .vm-delivery-badge-available-today,
    body.cms-index-index .vm-delivery-badge-available-today,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-available-today {
        background: linear-gradient(180deg, #38ea68 0%, #0fa13a 100%) !important;
        border-color: #087a2c !important;
    }

    body.catalog-category-view .vm-delivery-badge-special-order,
    body.catalogsearch-result-index .vm-delivery-badge-special-order,
    body.cms-index-index .vm-delivery-badge-special-order,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-special-order {
        background: linear-gradient(180deg, #ffc43d 0%, #ef8500 100%) !important;
        border-color: #b96200 !important;
    }

    body.catalog-category-view .vm-delivery-badge-out-of-stock,
    body.catalogsearch-result-index .vm-delivery-badge-out-of-stock,
    body.cms-index-index .vm-delivery-badge-out-of-stock,
    body.catalog-product-view .block-product-slider .vm-delivery-badge-out-of-stock {
        background: linear-gradient(180deg, #ff6262 0%, #d80000 100%) !important;
        border-color: #a70000 !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile-Only Badge Text Fix v21
   ============================================================ */


/* ============================================================
   Virtual Mart Mobile Badge Contrast Fix v22
   Mobile only. Desktop badges remain unchanged.
   ============================================================ */

@media (max-width: 767px) {
    /*
      Force mobile badge text to be highly readable.
      We use dark text on light badge backgrounds because mobile is still
      receiving pale badge styles from another theme layer.
    */

    body.catalog-category-view .product-item .vm-delivery-badge,
    body.catalogsearch-result-index .product-item .vm-delivery-badge,
    body.cms-index-index .product-item .vm-delivery-badge,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;
        height: 30px !important;
        min-height: 30px !important;

        padding: 0 6px !important;
        margin: 0 0 7px 0 !important;

        border-radius: 8px !important;
        box-shadow: none !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge-available-today,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-available-today,
    body.cms-index-index .product-item .vm-delivery-badge-available-today,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge-available-today {
        background: #d9fbe5 !important;
        background-image: none !important;
        border: 1px solid #70d991 !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge-special-order,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-special-order,
    body.cms-index-index .product-item .vm-delivery-badge-special-order,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge-special-order {
        background: #fff0cf !important;
        background-image: none !important;
        border: 1px solid #ffad3d !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge-out-of-stock,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-out-of-stock,
    body.cms-index-index .product-item .vm-delivery-badge-out-of-stock,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge-out-of-stock {
        background: #ffe0e0 !important;
        background-image: none !important;
        border: 1px solid #ef7777 !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge:before,
    body.catalogsearch-result-index .product-item .vm-delivery-badge:before,
    body.cms-index-index .product-item .vm-delivery-badge:before,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge:before {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: 100% !important;

        opacity: 1 !important;
        visibility: visible !important;

        font-size: 10.5px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-transform: uppercase !important;
        text-shadow: none !important;

        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge-available-today:before,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-available-today:before,
    body.cms-index-index .product-item .vm-delivery-badge-available-today:before,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge-available-today:before {
        content: "AVAILABLE TODAY" !important;
        color: #075f27 !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge-special-order:before,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-special-order:before,
    body.cms-index-index .product-item .vm-delivery-badge-special-order:before,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge-special-order:before {
        content: "SPECIAL ORDER" !important;
        color: #8a4500 !important;
    }

    body.catalog-category-view .product-item .vm-delivery-badge-out-of-stock:before,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-out-of-stock:before,
    body.cms-index-index .product-item .vm-delivery-badge-out-of-stock:before,
    body.catalog-product-view .block-product-slider .product-item .vm-delivery-badge-out-of-stock:before {
        content: "OUT OF STOCK" !important;
        color: #a90000 !important;
    }

    /* Keep the real inner text hidden only on mobile cards to prevent duplication */
    body.catalog-category-view .product-item .vm-delivery-badge-icon,
    body.catalog-category-view .product-item .vm-delivery-badge-text,
    body.catalog-category-view .product-item .vm-delivery-badge-text span,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-icon,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-text,
    body.catalogsearch-result-index .product-item .vm-delivery-badge-text span,
    body.cms-index-index .product-item .vm-delivery-badge-icon,
    body.cms-index-index .product-item .vm-delivery-badge-text,
    body.cms-index-index .product-item .vm-delivery-badge-text span {
        display: none !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile Badge Contrast Fix v22
   ============================================================ */























/* ============================================================
   Virtual Mart Mobile Category Card Qty Fix v1
   Category/search mobile product-card cleanup
   ============================================================ */

@media only screen and (max-width: 767px) {

    body.catalog-category-view .products-grid .product-item-info,
    body.catalogsearch-result-index .products-grid .product-item-info,
    body.catalog-category-view .products .product-item-info,
    body.catalogsearch-result-index .products .product-item-info {
        padding: 10px 10px 12px 10px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-item-photo,
    body.catalogsearch-result-index .products-grid .product-item-photo {
        margin-bottom: 8px !important;
    }

    body.catalog-category-view .products-grid .product-item-name,
    body.catalogsearch-result-index .products-grid .product-item-name {
        min-height: 42px !important;
        max-height: 44px !important;
        margin: 7px 0 6px 0 !important;
        overflow: hidden !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    body.catalog-category-view .products-grid .price-box,
    body.catalogsearch-result-index .products-grid .price-box {
        min-height: 38px !important;
        margin: 4px 0 8px 0 !important;
        overflow: hidden !important;
    }

    /*
      Keep product-card quantity controls on one row:
      QTY | - | 1 | +
    */
    body.catalog-category-view .products-grid .product-item .field.qty,
    body.catalog-category-view .products-grid .product-item .control.qty,
    body.catalog-category-view .products-grid .product-item .qty-wrapper,
    body.catalog-category-view .products-grid .product-item .vm-qty-wrapper,
    body.catalog-category-view .products-grid .product-item .qty-box,
    body.catalogsearch-result-index .products-grid .product-item .field.qty,
    body.catalogsearch-result-index .products-grid .product-item .control.qty,
    body.catalogsearch-result-index .products-grid .product-item .qty-wrapper,
    body.catalogsearch-result-index .products-grid .product-item .vm-qty-wrapper,
    body.catalogsearch-result-index .products-grid .product-item .qty-box {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 6px 0 8px 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-item .field.qty label,
    body.catalog-category-view .products-grid .product-item .qty-label,
    body.catalogsearch-result-index .products-grid .product-item .field.qty label,
    body.catalogsearch-result-index .products-grid .product-item .qty-label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        min-width: 42px !important;
        height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-align: center !important;
        white-space: nowrap !important;
    }

    body.catalog-category-view .products-grid .product-item input.qty,
    body.catalog-category-view .products-grid .product-item input[name="qty"],
    body.catalogsearch-result-index .products-grid .product-item input.qty,
    body.catalogsearch-result-index .products-grid .product-item input[name="qty"] {
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        font-size: 14px !important;
        line-height: 36px !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-item button.qty,
    body.catalog-category-view .products-grid .product-item .qty-btn,
    body.catalog-category-view .products-grid .product-item .qtyplus,
    body.catalog-category-view .products-grid .product-item .qtyminus,
    body.catalog-category-view .products-grid .product-item .plus,
    body.catalog-category-view .products-grid .product-item .minus,
    body.catalogsearch-result-index .products-grid .product-item button.qty,
    body.catalogsearch-result-index .products-grid .product-item .qty-btn,
    body.catalogsearch-result-index .products-grid .product-item .qtyplus,
    body.catalogsearch-result-index .products-grid .product-item .qtyminus,
    body.catalogsearch-result-index .products-grid .product-item .plus,
    body.catalogsearch-result-index .products-grid .product-item .minus {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 36px !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        clear: none !important;
        line-height: 36px !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-item .actions-primary,
    body.catalogsearch-result-index .products-grid .product-item .actions-primary {
        width: 100% !important;
        margin-top: 8px !important;
        clear: both !important;
    }

    body.catalog-category-view .products-grid .product-item .action.tocart,
    body.catalogsearch-result-index .products-grid .product-item .action.tocart {
        width: 100% !important;
        height: 46px !important;
        min-height: 46px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        font-weight: 900 !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile Category Card Qty Fix v1
   ============================================================ */


/* ============================================================
   Virtual Mart Mobile Category Qty Horizontal Final v2
   Forces category/search qty buttons into one row: - 1 +
   ============================================================ */

@media only screen and (max-width: 767px) {

    /*
      Product listing cards only: category + search.
      Do not affect product detail page main qty.
    */
    body.catalog-category-view .products-grid .product-item .product-item-actions,
    body.catalog-category-view .products-grid .product-item .actions-primary,
    body.catalogsearch-result-index .products-grid .product-item .product-item-actions,
    body.catalogsearch-result-index .products-grid .product-item .actions-primary {
        display: block !important;
        width: 100% !important;
        clear: both !important;
    }

    /*
      Common qty wrappers in the current product-card templates.
    */
    body.catalog-category-view .products-grid .product-item .field.qty,
    body.catalog-category-view .products-grid .product-item .control.qty,
    body.catalog-category-view .products-grid .product-item .qty,
    body.catalog-category-view .products-grid .product-item .qty-box,
    body.catalog-category-view .products-grid .product-item .qty-wrapper,
    body.catalog-category-view .products-grid .product-item .cart-qty,
    body.catalog-category-view .products-grid .product-item .vm-qty-wrapper,
    body.catalogsearch-result-index .products-grid .product-item .field.qty,
    body.catalogsearch-result-index .products-grid .product-item .control.qty,
    body.catalogsearch-result-index .products-grid .product-item .qty,
    body.catalogsearch-result-index .products-grid .product-item .qty-box,
    body.catalogsearch-result-index .products-grid .product-item .qty-wrapper,
    body.catalogsearch-result-index .products-grid .product-item .cart-qty,
    body.catalogsearch-result-index .products-grid .product-item .vm-qty-wrapper {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;

        width: 100% !important;
        max-width: 150px !important;
        margin: 8px auto 8px auto !important;
        padding: 0 !important;

        float: none !important;
        clear: both !important;
        box-sizing: border-box !important;
    }

    /*
      Override theme rules making each qty control full width.
    */
    body.catalog-category-view .products-grid .product-item .qty button,
    body.catalog-category-view .products-grid .product-item button.qty,
    body.catalog-category-view .products-grid .product-item button.qtyplus,
    body.catalog-category-view .products-grid .product-item button.qtyminus,
    body.catalog-category-view .products-grid .product-item .qtyplus,
    body.catalog-category-view .products-grid .product-item .qtyminus,
    body.catalog-category-view .products-grid .product-item .plus,
    body.catalog-category-view .products-grid .product-item .minus,
    body.catalog-category-view .products-grid .product-item .increase,
    body.catalog-category-view .products-grid .product-item .decrease,
    body.catalogsearch-result-index .products-grid .product-item .qty button,
    body.catalogsearch-result-index .products-grid .product-item button.qty,
    body.catalogsearch-result-index .products-grid .product-item button.qtyplus,
    body.catalogsearch-result-index .products-grid .product-item button.qtyminus,
    body.catalogsearch-result-index .products-grid .product-item .qtyplus,
    body.catalogsearch-result-index .products-grid .product-item .qtyminus,
    body.catalogsearch-result-index .products-grid .product-item .plus,
    body.catalogsearch-result-index .products-grid .product-item .minus,
    body.catalogsearch-result-index .products-grid .product-item .increase,
    body.catalogsearch-result-index .products-grid .product-item .decrease {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;

        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        clear: none !important;

        border-radius: 5px !important;
        line-height: 34px !important;
        box-sizing: border-box !important;
    }

    body.catalog-category-view .products-grid .product-item input.qty,
    body.catalog-category-view .products-grid .product-item input[name="qty"],
    body.catalogsearch-result-index .products-grid .product-item input.qty,
    body.catalogsearch-result-index .products-grid .product-item input[name="qty"] {
        display: inline-block !important;

        width: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;

        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
        clear: none !important;

        text-align: center !important;
        line-height: 34px !important;
        border-radius: 5px !important;
        box-sizing: border-box !important;
    }

    /*
      If the template puts the three controls directly inside the add-to-cart form,
      make only the qty controls inline but keep Add to Cart full width.
    */
    body.catalog-category-view .products-grid .product-item form[data-role="tocart-form"] > button:not(.tocart),
    body.catalog-category-view .products-grid .product-item form[data-role="tocart-form"] > input.qty,
    body.catalog-category-view .products-grid .product-item form[data-role="tocart-form"] > input[name="qty"],
    body.catalogsearch-result-index .products-grid .product-item form[data-role="tocart-form"] > button:not(.tocart),
    body.catalogsearch-result-index .products-grid .product-item form[data-role="tocart-form"] > input.qty,
    body.catalogsearch-result-index .products-grid .product-item form[data-role="tocart-form"] > input[name="qty"] {
        vertical-align: middle !important;
    }

    /*
      Add to Cart remains full width below qty row.
    */
    body.catalog-category-view .products-grid .product-item .action.tocart,
    body.catalog-category-view .products-grid .product-item button.action.tocart,
    body.catalogsearch-result-index .products-grid .product-item .action.tocart,
    body.catalogsearch-result-index .products-grid .product-item button.action.tocart {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;
        height: 42px !important;
        min-height: 42px !important;

        margin: 8px 0 0 0 !important;
        padding: 0 10px !important;

        clear: both !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================
   End Virtual Mart Mobile Category Qty Horizontal Final v2
   ============================================================ */
