/* FunnelKit/Grouped UI hotfix v3.6 (single-source, cache-bustable asset) */

/* Grouped row stability (default + translated DOM). */
.group_table td.product-thumbnail,
.group_table td.product-name,
.group_table td.product-quantity,
.group_table td.product-price,
table.woocommerce-grouped-product-list td.woocommerce-grouped-product-list-item__thumbnail,
table.woocommerce-grouped-product-list td.woocommerce-grouped-product-list-item__name,
table.woocommerce-grouped-product-list td.woocommerce-grouped-product-list-item__quantity,
table.woocommerce-grouped-product-list td.woocommerce-grouped-product-list-item__price {
    vertical-align: middle !important;
}

.group_table td.product-thumbnail img,
table.woocommerce-grouped-product-list td.woocommerce-grouped-product-list-item__thumbnail img {
    display: block !important;
    vertical-align: middle !important;
}

.group_table td.product-quantity,
td.woocommerce-grouped-product-list-item__quantity {
    white-space: nowrap !important;
}

/* Quantity control: medium size, legible, and translation-safe. */
.group_table td.product-quantity .quantity,
td.woocommerce-grouped-product-list-item__quantity .quantity,
html.translated-ltr .group_table td.product-quantity .quantity,
html.translated-ltr td.woocommerce-grouped-product-list-item__quantity .quantity,
html.translated-rtl .group_table td.product-quantity .quantity,
html.translated-rtl td.woocommerce-grouped-product-list-item__quantity .quantity,
body.translated-ltr .group_table td.product-quantity .quantity,
body.translated-ltr td.woocommerce-grouped-product-list-item__quantity .quantity,
body.translated-rtl .group_table td.product-quantity .quantity,
body.translated-rtl td.woocommerce-grouped-product-list-item__quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    white-space: nowrap !important;
    width: auto !important;
    min-width: 140px !important;
    height: 40px !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    border: 1px solid #d8dee8 !important;
    border-radius: 2px !important;
    background: #fff !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.group_table td.product-quantity .quantity .minus,
.group_table td.product-quantity .quantity .qty,
.group_table td.product-quantity .quantity .plus,
td.woocommerce-grouped-product-list-item__quantity .quantity .minus,
td.woocommerce-grouped-product-list-item__quantity .quantity .qty,
td.woocommerce-grouped-product-list-item__quantity .quantity .plus,
html.translated-ltr .group_table td.product-quantity .quantity .minus,
html.translated-ltr .group_table td.product-quantity .quantity .qty,
html.translated-ltr .group_table td.product-quantity .quantity .plus,
html.translated-rtl .group_table td.product-quantity .quantity .minus,
html.translated-rtl .group_table td.product-quantity .quantity .qty,
html.translated-rtl .group_table td.product-quantity .quantity .plus,
body.translated-ltr .group_table td.product-quantity .quantity .minus,
body.translated-ltr .group_table td.product-quantity .quantity .qty,
body.translated-ltr .group_table td.product-quantity .quantity .plus,
body.translated-rtl .group_table td.product-quantity .quantity .minus,
body.translated-rtl .group_table td.product-quantity .quantity .qty,
body.translated-rtl .group_table td.product-quantity .quantity .plus {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    position: relative !important;
    top: 0 !important;
    bottom: 0 !important;
    transform: none !important;
    margin: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    line-height: 40px !important;
    vertical-align: middle !important;
}

.group_table td.product-quantity .quantity .minus,
.group_table td.product-quantity .quantity .plus,
td.woocommerce-grouped-product-list-item__quantity .quantity .minus,
td.woocommerce-grouped-product-list-item__quantity .quantity .plus {
    width: 40px !important;
    min-width: 40px !important;
    border: 0 !important;
    background: #f8fafc !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: 21px !important;
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    padding: 0 !important;
    text-align: center !important;
    text-indent: 0 !important;
    letter-spacing: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    transition: background-color 140ms ease !important;
}

.group_table td.product-quantity .quantity .minus:hover,
.group_table td.product-quantity .quantity .plus:hover,
td.woocommerce-grouped-product-list-item__quantity .quantity .minus:hover,
td.woocommerce-grouped-product-list-item__quantity .quantity .plus:hover {
    background: #eef2f7 !important;
}

.group_table td.product-quantity .quantity .minus:active,
.group_table td.product-quantity .quantity .plus:active,
td.woocommerce-grouped-product-list-item__quantity .quantity .minus:active,
td.woocommerce-grouped-product-list-item__quantity .quantity .plus:active {
    background: #e2e8f0 !important;
}

.group_table td.product-quantity .quantity .minus,
td.woocommerce-grouped-product-list-item__quantity .quantity .minus {
    border-right: 1px solid #cfd8e3 !important;
}

.group_table td.product-quantity .quantity .plus,
td.woocommerce-grouped-product-list-item__quantity .quantity .plus {
    border-left: 1px solid #cfd8e3 !important;
}

.group_table td.product-quantity .quantity .minus::before,
.group_table td.product-quantity .quantity .plus::before,
td.woocommerce-grouped-product-list-item__quantity .quantity .minus::before,
td.woocommerce-grouped-product-list-item__quantity .quantity .plus::before {
    content: none !important;
    display: none !important;
}

.group_table td.product-quantity .quantity button.minus:empty::after,
.group_table td.product-quantity .quantity button.plus:empty::after,
td.woocommerce-grouped-product-list-item__quantity .quantity button.minus:empty::after,
td.woocommerce-grouped-product-list-item__quantity .quantity button.plus:empty::after {
    display: block !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.group_table td.product-quantity .quantity button.minus:empty::after,
td.woocommerce-grouped-product-list-item__quantity .quantity button.minus:empty::after {
    content: '-' !important;
}

.group_table td.product-quantity .quantity button.plus:empty::after,
td.woocommerce-grouped-product-list-item__quantity .quantity button.plus:empty::after {
    content: '+' !important;
}

.group_table td.product-quantity .quantity .qty,
td.woocommerce-grouped-product-list-item__quantity .quantity .qty {
    width: 52px !important;
    min-width: 52px !important;
    border: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    padding: 0 !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

.group_table td.product-quantity .quantity .qty::-webkit-outer-spin-button,
.group_table td.product-quantity .quantity .qty::-webkit-inner-spin-button,
td.woocommerce-grouped-product-list-item__quantity .quantity .qty::-webkit-outer-spin-button,
td.woocommerce-grouped-product-list-item__quantity .quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.group_table td.product-quantity .quantity .fkcart-qty-notranslate,
td.woocommerce-grouped-product-list-item__quantity .quantity .fkcart-qty-notranslate {
    unicode-bidi: isolate !important;
}

/* Disable soldout CTA interactions across default + translated views. */
.group_table tr.outofstock td.product-quantity a,
.group_table tr.outofstock td.product-quantity button,
.group_table tr.outofstock td.product-quantity input,
.group_table tr.out-of-stock td.product-quantity a,
.group_table tr.out-of-stock td.product-quantity button,
.group_table tr.out-of-stock td.product-quantity input,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity a,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity button,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity input,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity a,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity button,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity input,
a.outofstock,
a.out-of-stock,
button.outofstock,
button.out-of-stock,
input.outofstock,
input.out-of-stock,
a.add_to_cart_button.outofstock,
a.add_to_cart_button.out-of-stock,
button.add_to_cart_button.outofstock,
button.add_to_cart_button.out-of-stock,
input.add_to_cart_button.outofstock,
input.add_to_cart_button.out-of-stock,
a.fkcart-soldout-disabled,
button.fkcart-soldout-disabled,
input.fkcart-soldout-disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
    opacity: 0.52 !important;
    filter: grayscale(0.46) saturate(0.4) !important;
    background: #eef2f7 !important;
    color: #7f8b9c !important;
    -webkit-text-fill-color: #7f8b9c !important;
    border-color: #d4dce7 !important;
    box-shadow: none !important;
}

.group_table tr.outofstock td.product-quantity a:focus,
.group_table tr.outofstock td.product-quantity button:focus,
.group_table tr.outofstock td.product-quantity input:focus,
.group_table tr.out-of-stock td.product-quantity a:focus,
.group_table tr.out-of-stock td.product-quantity button:focus,
.group_table tr.out-of-stock td.product-quantity input:focus,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity a:focus,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity button:focus,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity input:focus,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity a:focus,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity button:focus,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity input:focus,
a.fkcart-soldout-disabled:focus,
button.fkcart-soldout-disabled:focus,
input.fkcart-soldout-disabled:focus {
    outline: none !important;
    box-shadow: none !important;
}

.group_table tr.outofstock td.product-name,
.group_table tr.out-of-stock td.product-name,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__name,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__name {
    color: #7b8798 !important;
    text-decoration: line-through !important;
    text-decoration-thickness: 1px !important;
}

.group_table tr.outofstock td.product-thumbnail img,
.group_table tr.out-of-stock td.product-thumbnail img,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__thumbnail img,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__thumbnail img {
    opacity: 0.5 !important;
    filter: grayscale(0.35) !important;
}

.group_table tr.outofstock td.product-quantity .quantity,
.group_table tr.out-of-stock td.product-quantity .quantity,
tr.woocommerce-grouped-product-list-item.outofstock td.woocommerce-grouped-product-list-item__quantity .quantity,
tr.woocommerce-grouped-product-list-item.out-of-stock td.woocommerce-grouped-product-list-item__quantity .quantity {
    border-color: #d8e0ea !important;
    background: #f8fafc !important;
}

/* Checkout button feedback states. */
#fkcart-checkout-button.fkcart-feedback-pressed {
    transform: translateY(1px) !important;
    filter: brightness(0.97) !important;
}

#fkcart-checkout-button.fkcart-feedback-loading,
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button.fkcart-feedback-loading {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0.78 !important;
    cursor: progress !important;
    transition: opacity 140ms ease !important;
}

#fkcart-checkout-button.fkcart-feedback-loading > :not(.fkcart-feedback-spinner) {
    opacity: 0.18 !important;
}

#fkcart-checkout-button.fkcart-feedback-loading::before,
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button.fkcart-feedback-loading::before {
    content: none !important;
    display: none !important;
}

#fkcart-checkout-button.fkcart-feedback-loading::after,
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button.fkcart-feedback-loading::after {
    content: none !important;
    display: none !important;
}

#fkcart-checkout-button .fkcart-feedback-spinner,
#fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button .fkcart-feedback-spinner {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 18px !important;
    height: 18px !important;
    margin: -9px 0 0 -9px !important;
    border: 2.5px solid currentColor !important;
    border-right-color: transparent !important;
    border-radius: 50% !important;
    transform: rotate(0deg);
    transform-origin: center center !important;
    backface-visibility: hidden !important;
    will-change: transform !important;
    animation: fkcart-feedback-spin-centered 0.55s linear infinite !important;
    animation-play-state: running !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

@keyframes fkcart-feedback-spin-centered {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    #fkcart-checkout-button.fkcart-feedback-loading,
    #fkcart-checkout-button.fkcart-feedback-pressed {
        transition: none !important;
        transform: none !important;
    }

    #fkcart-checkout-button .fkcart-feedback-spinner,
    #fkcart-modal .fkcart-checkout-wrap #fkcart-checkout-button .fkcart-feedback-spinner {
        animation-duration: 0.8s !important;
    }
}

@media (max-width: 767px) {
    .group_table td.product-quantity .quantity,
    td.woocommerce-grouped-product-list-item__quantity .quantity,
    html.translated-ltr .group_table td.product-quantity .quantity,
    html.translated-ltr td.woocommerce-grouped-product-list-item__quantity .quantity,
    html.translated-rtl .group_table td.product-quantity .quantity,
    html.translated-rtl td.woocommerce-grouped-product-list-item__quantity .quantity,
    body.translated-ltr .group_table td.product-quantity .quantity,
    body.translated-ltr td.woocommerce-grouped-product-list-item__quantity .quantity,
    body.translated-rtl .group_table td.product-quantity .quantity,
    body.translated-rtl td.woocommerce-grouped-product-list-item__quantity .quantity {
        min-width: 98px !important;
        height: 30px !important;
    }

    .group_table td.product-quantity .quantity .minus,
    .group_table td.product-quantity .quantity .qty,
    .group_table td.product-quantity .quantity .plus,
    td.woocommerce-grouped-product-list-item__quantity .quantity .minus,
    td.woocommerce-grouped-product-list-item__quantity .quantity .qty,
    td.woocommerce-grouped-product-list-item__quantity .quantity .plus,
    html.translated-ltr .group_table td.product-quantity .quantity .minus,
    html.translated-ltr .group_table td.product-quantity .quantity .qty,
    html.translated-ltr .group_table td.product-quantity .quantity .plus,
    html.translated-rtl .group_table td.product-quantity .quantity .minus,
    html.translated-rtl .group_table td.product-quantity .quantity .qty,
    html.translated-rtl .group_table td.product-quantity .quantity .plus,
    body.translated-ltr .group_table td.product-quantity .quantity .minus,
    body.translated-ltr .group_table td.product-quantity .quantity .qty,
    body.translated-ltr .group_table td.product-quantity .quantity .plus,
    body.translated-rtl .group_table td.product-quantity .quantity .minus,
    body.translated-rtl .group_table td.product-quantity .quantity .qty,
    body.translated-rtl .group_table td.product-quantity .quantity .plus {
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        line-height: 30px !important;
    }

    .group_table td.product-quantity .quantity .minus,
    .group_table td.product-quantity .quantity .plus,
    td.woocommerce-grouped-product-list-item__quantity .quantity .minus,
    td.woocommerce-grouped-product-list-item__quantity .quantity .plus {
        width: 30px !important;
        min-width: 30px !important;
        font-size: 16px !important;
    }

    .group_table td.product-quantity .quantity .qty,
    td.woocommerce-grouped-product-list-item__quantity .quantity .qty {
        width: 38px !important;
        min-width: 38px !important;
        font-size: 14px !important;
    }
}
