/* LC Variation Table v1.1.4 */

.lcvt-wrap{
    width:100%;
    margin:20px 0;
    clear:both;
}

.lcvt-scroll{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.lcvt-table{
    width:100%;
    min-width:650px;
    border-collapse:separate;
    border-spacing:0;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:6px;
    overflow:hidden;
    font-size:14px;
}

.lcvt-table th{
    background:#69a82f;
    color:#fff;
    font-weight:700;
    text-align:left;
    padding:12px 14px;
    white-space:nowrap;
}

.lcvt-table th:nth-child(n+2){
    text-align:center;
}

.lcvt-table td{
    padding:11px 14px;
    border-top:1px solid #e9e9e9;
    vertical-align:middle;
    background:#fff;
}

.lcvt-table tr:hover td{
    background:#fafafa;
}

.lcvt-pack{
    font-weight:600;
    color:#222;
}

.lcvt-row td:nth-child(n+2){
    text-align:center;
}

.lcvt-qty{
    width:58px!important;
    height:38px!important;
    padding:5px!important;
    text-align:center;
    border:1px solid #d8d8d8!important;
    border-radius:4px!important;
    background:#fff!important;
}

.lcvt-add{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    padding:10px 17px!important;
    border:1px solid rgba(0,0,0,.10)!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,#ffffff 0%,#f5f7f8 100%)!important;
    color:#171a1c!important;
    font-size:14px!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.1px;
    box-shadow:0 3px 10px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.9);
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
    white-space:nowrap;
}

.lcvt-add:hover:not(.lcvt-disabled){
    transform:translateY(-1px);
    background:linear-gradient(180deg,#ffffff 0%,#eef2f3 100%)!important;
    border-color:rgba(0,0,0,.16)!important;
    box-shadow:0 6px 16px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.95);
}

.lcvt-add:active:not(.lcvt-disabled){
    transform:translateY(0);
}

.lcvt-add.is-loading{
    opacity:.72;
    cursor:wait;
}

.lcvt-cart-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
}

.lcvt-cart-icon svg{
    display:block;
}

.lcvt-status{
    display:inline-block;
    margin-left:7px;
    font-size:11px;
    color:#69a82f;
    min-width:55px;
}

.lcvt-spinner{
    width:15px;
    height:15px;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    display:inline-block;
    animation:lcvtSpin .65s linear infinite;
}

@keyframes lcvtSpin{
    to{transform:rotate(360deg)}
}

/* Out-of-stock row keeps exactly the same table structure. */
.lcvt-row.lcvt-out-of-stock td{
    background:#fafafa;
}

.lcvt-row.lcvt-out-of-stock .lcvt-pack,
.lcvt-row.lcvt-out-of-stock .lcvt-price,
.lcvt-row.lcvt-out-of-stock .lcvt-unit{
    color:#777;
}

.lcvt-row .lcvt-disabled{
    background:#e8e8e8!important;
    border-color:#d7d7d7!important;
    color:#777!important;
    box-shadow:none!important;
    cursor:not-allowed!important;
    transform:none!important;
}

/* Hide native WooCommerce form and generated View Cart link. */
.lcvt-wrap+form.variations_form,
.lcvt-wrap~form.variations_form,
.lcvt-native-hidden{
    display:none!important;
}

.lcvt-wrap .added_to_cart.wc-forward,
.added_to_cart.wc-forward{
    display:none!important;
}


/* =========================
   MOBILE: all 5 columns fit
   ========================= */

@media(max-width:767px){

    .lcvt-scroll{
        overflow-x:hidden;
        width:100%;
    }

    .lcvt-table{
        width:100%;
        min-width:0;
        table-layout:fixed;
        font-size:12px;
        border-radius:5px;
    }

    .lcvt-table th,
    .lcvt-table td{
        padding:8px 5px;
    }

    .lcvt-table th:nth-child(1){
        text-align:left;
        padding-left:8px;
    }

    /* Pack Size | Qty | Price | Unit Price | Add to Cart
       Give Pack Size a dedicated wider column so it never visually
       merges with Qty, and keep the price cells separated. */
    .lcvt-table th:nth-child(1),
    .lcvt-table td:nth-child(1){width:29%;}

    .lcvt-table th:nth-child(2),
    .lcvt-table td:nth-child(2){width:13%;}

    .lcvt-table th:nth-child(3),
    .lcvt-table td:nth-child(3){width:17%;}

    .lcvt-table th:nth-child(4),
    .lcvt-table td:nth-child(4){width:14%;}

    .lcvt-table th:nth-child(5),
    .lcvt-table td:nth-child(5){width:27%;}

    .lcvt-table th{
        font-size:12px;
        padding:8px 4px;
        white-space:normal;
        line-height:1.15;
    }

    .lcvt-table td{
        font-size:12px;
        line-height:1.25;
    }

    .lcvt-pack{
        width:29%;
        padding-left:8px!important;
        padding-right:9px!important;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal;
        text-align:left!important;
    }

    .lcvt-qty-cell{
        padding-left:5px!important;
        padding-right:5px!important;
        border-left:1px solid #eeeeee;
    }

    .lcvt-price{
        padding-left:7px!important;
        padding-right:7px!important;
        border-left:1px solid #eeeeee;
    }

    .lcvt-unit{
        padding-left:6px!important;
        padding-right:6px!important;
        border-left:1px solid #eeeeee;
        line-height:1.25!important;
        white-space:normal!important;
    }

    .lcvt-action{
        padding-left:7px!important;
        padding-right:6px!important;
        border-left:1px solid #eeeeee;
    }

    /* Stack regular price and sale price vertically on mobile */
    .lcvt-price{
        white-space:normal!important;
        line-height:1.25!important;
        overflow:visible;
    }

    .lcvt-price del,
    .lcvt-price ins{
        display:block!important;
        width:100%;
        margin:0!important;
        padding:0!important;
        white-space:nowrap!important;
        line-height:1.25!important;
    }

    .lcvt-price del{
        margin-bottom:2px!important;
        font-size:10px!important;
    }

    .lcvt-price ins{
        font-size:12px!important;
        font-weight:600;
        text-decoration:none;
    }

    .lcvt-price .woocommerce-Price-amount{
        white-space:nowrap!important;
    }

    .lcvt-qty{
        width:38px!important;
        max-width:100%;
        height:34px!important;
        padding:3px 2px!important;
        font-size:12px!important;
    }

    .lcvt-add{
        width:100%;
        min-width:0!important;
        min-height:36px;
        height:auto;
        padding:7px 4px!important;
        gap:4px;
        border-radius:6px!important;
        font-size:11px!important;
        line-height:1.05!important;
        white-space:normal;
    }

    .lcvt-cart-icon svg{
        width:14px;
        height:14px;
    }

    .lcvt-status{
        display:none;
    }

    .lcvt-price,
    .lcvt-unit{
        white-space:nowrap;
    }

    .lcvt-table .woocommerce-Price-amount{
        white-space:nowrap;
    }
}

/* Very narrow phones */
@media(max-width:360px){
    .lcvt-table th,
    .lcvt-table td{
        padding-left:3px;
        padding-right:3px;
    }

    .lcvt-add{
        font-size:10px!important;
    }

    .lcvt-cart-icon svg{
        width:12px;
        height:12px;
    }
}


/* ==========================================
   LCVT MOBILE QTY — HARD THEME OVERRIDE
   Forces +/-/number into ONE horizontal row.
   ========================================== */
@media(max-width:767px){
    .lcvt-table .lcvt-qty-control{
        display:inline-flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        align-items:center!important;
        justify-content:center!important;
        vertical-align:middle!important;
        position:relative!important;
        float:none!important;
        width:100%!important;
        max-width:58px!important;
        height:34px!important;
        min-height:34px!important;
        margin:0 auto!important;
        padding:0!important;
        border:1px solid #d8d8d8!important;
        border-radius:5px!important;
        overflow:hidden!important;
        box-sizing:border-box!important;
        background:#fff!important;
    }

    .lcvt-table .lcvt-qty-control button,
    .lcvt-table .lcvt-qty-control .lcvt-qty-minus,
    .lcvt-table .lcvt-qty-control .lcvt-qty-plus{
        display:inline-flex!important;
        flex:0 0 18px!important;
        flex-direction:row!important;
        align-items:center!important;
        justify-content:center!important;
        position:static!important;
        float:none!important;
        width:18px!important;
        min-width:18px!important;
        max-width:18px!important;
        height:32px!important;
        min-height:32px!important;
        max-height:32px!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:0!important;
        background:#fff!important;
        color:#222!important;
        font-size:16px!important;
        font-weight:600!important;
        line-height:32px!important;
        text-align:center!important;
        box-shadow:none!important;
        transform:none!important;
        cursor:pointer!important;
        -webkit-appearance:none!important;
        appearance:none!important;
    }

    .lcvt-table .lcvt-qty-control .lcvt-qty{
        display:block!important;
        flex:1 1 22px!important;
        width:22px!important;
        min-width:22px!important;
        max-width:22px!important;
        height:32px!important;
        min-height:32px!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-left:1px solid #ededed!important;
        border-right:1px solid #ededed!important;
        border-radius:0!important;
        background:#fff!important;
        color:#222!important;
        font-size:12px!important;
        font-weight:500!important;
        line-height:32px!important;
        text-align:center!important;
        box-shadow:none!important;
        float:none!important;
        position:static!important;
        -moz-appearance:textfield!important;
        -webkit-appearance:none!important;
        appearance:none!important;
    }

    .lcvt-table .lcvt-qty-control button:hover,
    .lcvt-table .lcvt-qty-control button:focus{
        background:#f5f5f5!important;
        color:#222!important;
        outline:none!important;
        box-shadow:none!important;
    }

    .lcvt-table .lcvt-qty-control button:disabled{
        opacity:.45!important;
        cursor:not-allowed!important;
    }

    .lcvt-table .lcvt-qty-control .lcvt-qty::-webkit-outer-spin-button,
    .lcvt-table .lcvt-qty-control .lcvt-qty::-webkit-inner-spin-button{
        -webkit-appearance:none!important;
        margin:0!important;
    }

    /* More balanced mobile columns */
    .lcvt-table th:nth-child(1),
    .lcvt-table td:nth-child(1){width:24%!important;}

    .lcvt-table th:nth-child(2),
    .lcvt-table td:nth-child(2){width:16%!important;}

    .lcvt-table th:nth-child(3),
    .lcvt-table td:nth-child(3){width:17%!important;}

    .lcvt-table th:nth-child(4),
    .lcvt-table td:nth-child(4){width:14%!important;}

    .lcvt-table th:nth-child(5),
    .lcvt-table td:nth-child(5){width:29%!important;}

    .lcvt-table .lcvt-pack{
        width:24%!important;
        padding-left:7px!important;
        padding-right:6px!important;
    }

    .lcvt-table .lcvt-qty-cell{
        padding-left:3px!important;
        padding-right:3px!important;
        text-align:center!important;
    }
}


/* =========================================================
   LCVT 1.1.9 — QUANTITY CONTROL HARD OVERRIDE
   All devices: keep - / number / + in one visible row.
   Prevent theme button CSS, flex wrapping and clipping.
   ========================================================= */
.lcvt-table .lcvt-qty-control{
    display:inline-flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:center!important;
    vertical-align:middle!important;
    position:relative!important;
    float:none!important;
    width:60px!important;
    min-width:60px!important;
    max-width:60px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    margin:0 auto!important;
    padding:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    border:1px solid #d8d8d8!important;
    border-radius:5px!important;
    background:#fff!important;
    line-height:1!important;
}

.lcvt-table .lcvt-qty-control > button,
.lcvt-table .lcvt-qty-control > .lcvt-qty-minus,
.lcvt-table .lcvt-qty-control > .lcvt-qty-plus{
    display:inline-flex!important;
    flex:0 0 20px!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    color:#222!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-family:inherit!important;
    font-size:16px!important;
    font-weight:600!important;
    line-height:32px!important;
    box-shadow:none!important;
    transform:none!important;
    position:static!important;
    float:none!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
    -webkit-appearance:none!important;
    appearance:none!important;
    cursor:pointer!important;
}

.lcvt-table .lcvt-qty-control > .lcvt-qty{
    display:block!important;
    flex:0 0 18px!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
    border:0!important;
    border-left:1px solid #ededed!important;
    border-right:1px solid #ededed!important;
    border-radius:0!important;
    background:#fff!important;
    color:#222!important;
    text-align:center!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:500!important;
    line-height:32px!important;
    box-shadow:none!important;
    position:static!important;
    float:none!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
    -moz-appearance:textfield!important;
    -webkit-appearance:none!important;
    appearance:none!important;
}

.lcvt-table .lcvt-qty-control > button:hover,
.lcvt-table .lcvt-qty-control > button:focus,
.lcvt-table .lcvt-qty-control > .lcvt-qty-minus:hover,
.lcvt-table .lcvt-qty-control > .lcvt-qty-plus:hover{
    background:#f5f5f5!important;
    color:#111!important;
    outline:none!important;
    box-shadow:none!important;
}

.lcvt-table .lcvt-qty-control > button:disabled{
    opacity:.45!important;
    visibility:visible!important;
}

.lcvt-table .lcvt-qty-control .lcvt-qty::-webkit-outer-spin-button,
.lcvt-table .lcvt-qty-control .lcvt-qty::-webkit-inner-spin-button{
    -webkit-appearance:none!important;
    margin:0!important;
}

/* Quantity cell must not clip the control */
.lcvt-table td:nth-child(2),
.lcvt-table .lcvt-qty-cell{
    overflow:visible!important;
    white-space:nowrap!important;
    text-align:center!important;
    padding-left:4px!important;
    padding-right:4px!important;
}

/* Keep Pack Size compact but readable */
.lcvt-table td:nth-child(1),
.lcvt-table .lcvt-pack{
    padding-left:7px!important;
    padding-right:7px!important;
    white-space:nowrap!important;
}

/* Mobile: give Qty enough width so - and + never disappear */
@media(max-width:767px){
    .lcvt-table th:nth-child(1),
    .lcvt-table td:nth-child(1){width:23%!important;}

    .lcvt-table th:nth-child(2),
    .lcvt-table td:nth-child(2){width:20%!important;}

    .lcvt-table th:nth-child(3),
    .lcvt-table td:nth-child(3){width:16%!important;}

    .lcvt-table th:nth-child(4),
    .lcvt-table td:nth-child(4){width:13%!important;}

    .lcvt-table th:nth-child(5),
    .lcvt-table td:nth-child(5){width:28%!important;}

    .lcvt-table .lcvt-qty-control{
        width:58px!important;
        min-width:58px!important;
        max-width:58px!important;
        height:34px!important;
    }

    .lcvt-table .lcvt-qty-control > button,
    .lcvt-table .lcvt-qty-control > .lcvt-qty-minus,
    .lcvt-table .lcvt-qty-control > .lcvt-qty-plus{
        flex-basis:19px!important;
        width:19px!important;
        min-width:19px!important;
        max-width:19px!important;
    }

    .lcvt-table .lcvt-qty-control > .lcvt-qty{
        flex-basis:18px!important;
        width:18px!important;
        min-width:18px!important;
        max-width:18px!important;
    }
}
