/* Fast unified cart control. The original WooCommerce control is fully replaced. */
.suntk-cart-control{
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    direction:rtl;
    --suntk-control-radius:12px;
}
body.suntk-cart-controls-shape-pill .suntk-cart-control{--suntk-control-radius:999px}
body.suntk-cart-controls-shape-square .suntk-cart-control{--suntk-control-radius:5px}

.suntk-cart-control__add,
.suntk-cart-control__button{
    appearance:none;
    -webkit-appearance:none;
    border:0;
    cursor:pointer;
    font:inherit;
    font-weight:850;
    transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,opacity .14s ease;
}

/* Always use the general Suntk theme primary color, injected directly by PHP. */
body .suntk-cart-control__add{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0 12px!important;
    background:var(--suntk-cart-controls-add-bg,#0f766e)!important;
    color:var(--suntk-cart-controls-add-text,#fff)!important;
    border:1px solid var(--suntk-cart-controls-add-bg,#0f766e)!important;
    border-radius:var(--suntk-control-radius)!important;
    box-shadow:none!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    line-height:1.35!important;
}
body .suntk-cart-control__add:hover,
body .suntk-cart-control__add:focus-visible{
    background:var(--suntk-cart-controls-add-bg,#0f766e)!important;
    border-color:var(--suntk-cart-controls-add-bg,#0f766e)!important;
    color:var(--suntk-cart-controls-add-text,#fff)!important;
    filter:brightness(.88);
    transform:translateY(-1px);
    outline:none;
}
body .suntk-cart-control__add:active{filter:brightness(.8);transform:translateY(0)}
.suntk-cart-control__add:disabled,
.suntk-cart-control__button:disabled{
    cursor:not-allowed;
    opacity:.45;
    transform:none!important;
}

.suntk-cart-control__stepper{
    display:flex!important;
    flex-direction:row!important;
    direction:rtl!important;
    align-items:stretch!important;
    width:100%!important;
    height:100%;
    overflow:hidden;
    border:1px solid var(--suntk-cart-controls-border,#dbe4e7)!important;
    border-radius:var(--suntk-control-radius)!important;
    background:var(--suntk-cart-controls-count-bg,#fff)!important;
    box-shadow:0 5px 16px rgba(18,59,69,.08)!important;
}
.suntk-cart-control__button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 30%;
    min-width:34px;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    font-family:Arial,Tahoma,sans-serif!important;
    font-size:22px!important;
    line-height:1!important;
    box-shadow:none!important;
    user-select:none;
}
.suntk-cart-control__button--plus{
    order:1;
    background:var(--suntk-cart-controls-plus-bg,#16a34a)!important;
    color:var(--suntk-cart-controls-plus-text,#fff)!important;
}
.suntk-cart-control__button--minus{
    order:3;
    background:var(--suntk-cart-controls-minus-bg,#dc2626)!important;
    color:var(--suntk-cart-controls-minus-text,#fff)!important;
}
.suntk-cart-control__button:hover{filter:brightness(.9);transform:none!important}
.suntk-cart-control__button:active{filter:brightness(.82);transform:scale(.94)!important}

.suntk-cart-control__count{
    order:2;
    display:flex!important;
    flex:1 1 40%;
    align-items:center!important;
    justify-content:center!important;
    min-width:42px;
    margin:0!important;
    padding:0!important;
    background:var(--suntk-cart-controls-count-bg,#fff)!important;
    color:var(--suntk-cart-controls-count-text,#17323a)!important;
    border-right:1px solid var(--suntk-cart-controls-border,#dbe4e7)!important;
    border-left:1px solid var(--suntk-cart-controls-border,#dbe4e7)!important;
}
.suntk-cart-control__input{
    appearance:textfield;
    -moz-appearance:textfield;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    padding:0 4px!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    color:var(--suntk-cart-controls-count-text,#17323a)!important;
    box-shadow:none!important;
    text-align:center!important;
    direction:ltr!important;
    font:900 16px/1 Tahoma,Arial,sans-serif!important;
}
.suntk-cart-control__input::-webkit-outer-spin-button,
.suntk-cart-control__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.suntk-cart-control__input:focus{
    background:color-mix(in srgb,var(--suntk-cart-controls-add-bg,#0f766e) 7%,white)!important;
    box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--suntk-cart-controls-add-bg,#0f766e) 25%,transparent)!important;
}

.suntk-cart-control.is-syncing .suntk-cart-control__stepper{
    box-shadow:0 5px 16px rgba(18,59,69,.08),inset 0 -2px 0 color-mix(in srgb,var(--suntk-cart-controls-add-bg,#0f766e) 55%,transparent)!important;
}
.suntk-cart-control.has-error .suntk-cart-control__stepper,
.suntk-cart-control.has-error .suntk-cart-control__add{
    animation:suntkCartError .28s ease 2;
}
@keyframes suntkCartError{50%{transform:translateX(2px)}}

/* Strong replacement rules: old buttons and old quantities must never remain. */
body .suntk-cart-original-button,
body .suntk-cart-original-quantity,
body .suntk-cart-original-card-button,
body.suntk-global-cart-controls-enabled .suntk-mobile-cart-control,
body.suntk-global-cart-controls-enabled .suntk-product-card .added_to_cart{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
    position:absolute!important;
    pointer-events:none!important;
}
body.single-product.suntk-global-cart-controls-enabled form.cart.suntk-cart-controls-enhanced > .quantity,
body.single-product.suntk-global-cart-controls-enabled form.cart.suntk-cart-controls-enhanced > .single_add_to_cart_button,
body.single-product.suntk-global-cart-controls-enabled form.cart.suntk-cart-controls-enhanced .woocommerce-variation-add-to-cart > .quantity,
body.single-product.suntk-global-cart-controls-enabled form.cart.suntk-cart-controls-enhanced .woocommerce-variation-add-to-cart > .single_add_to_cart_button{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
    position:absolute!important;
    pointer-events:none!important;
}

/* Single product layout. */
body.single-product.suntk-global-cart-controls-enabled.suntk-single-modern .suntk-buy-cart-area form.cart.suntk-cart-controls-enhanced:not(.variations_form),
body.single-product.suntk-global-cart-controls-enabled .suntk-buy-cart-area form.cart.suntk-cart-controls-enhanced:not(.variations_form){
    display:block!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"suntk-control"!important;
    width:100%!important;
}
body.single-product.suntk-global-cart-controls-enabled.suntk-single-modern .suntk-buy-cart-area form.variations_form .woocommerce-variation-add-to-cart.suntk-cart-controls-target,
body.single-product.suntk-global-cart-controls-enabled .suntk-buy-cart-area form.variations_form .woocommerce-variation-add-to-cart.suntk-cart-controls-target,
body.single-product.suntk-global-cart-controls-enabled .woocommerce-variation-add-to-cart.suntk-cart-controls-target{
    display:block!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"suntk-control"!important;
    width:100%!important;
}
.suntk-cart-control--single{
    grid-area:suntk-control!important;
    flex:1 1 100%;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
}
.suntk-cart-control--single .suntk-cart-control__add,
.suntk-cart-control--single .suntk-cart-control__stepper{
    width:100%!important;
    min-height:var(--suntk-cart-controls-single-height,52px)!important;
    height:var(--suntk-cart-controls-single-height,52px)!important;
}
.suntk-cart-control--single .suntk-cart-control__add{font-size:14px!important}
.suntk-cart-control--single .suntk-cart-control__button{font-size:25px!important}
.suntk-cart-control--single .suntk-cart-control__input{font-size:18px!important}

/* Product cards: full text first, then a full-width stepper in exactly the same place. */
.suntk-product-card__actions.has-suntk-cart-control{
    display:flex!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    width:100%!important;
    min-width:112px!important;
}
.suntk-cart-control--card{
    width:100%!important;
    min-width:112px!important;
    max-width:150px!important;
}
.suntk-cart-control--card .suntk-cart-control__add,
.suntk-cart-control--card .suntk-cart-control__stepper{
    width:100%!important;
    min-height:var(--suntk-cart-controls-card-height,40px)!important;
    height:var(--suntk-cart-controls-card-height,40px)!important;
}
.suntk-cart-control--card .suntk-cart-control__add{
    padding:0 8px!important;
    font-size:10px!important;
    letter-spacing:-.1px;
}
.suntk-cart-control--card .suntk-cart-control__button{
    flex-basis:31%;
    min-width:30px;
    font-size:20px!important;
}
.suntk-cart-control--card .suntk-cart-control__count{min-width:38px}
.suntk-cart-control--card .suntk-cart-control__input{font-size:13px!important}
.products .product > .suntk-cart-control--generic{margin-top:8px;max-width:150px}

@media(max-width:1100px){
    .suntk-product-card__actions.has-suntk-cart-control{min-width:0!important}
    .suntk-cart-control--card{max-width:none!important;min-width:0!important}
}

@media(max-width:782px){
    .suntk-cart-control--single{width:100%!important;max-width:none!important;min-width:0!important}
    .suntk-cart-control--single .suntk-cart-control__add,
    .suntk-cart-control--single .suntk-cart-control__stepper{width:100%!important}
    .suntk-cart-control--single .suntk-cart-control__button{flex-basis:30%;min-width:50px}
    .suntk-cart-control--single .suntk-cart-control__count{flex:1 1 40%;min-width:70px}

    .suntk-product-card__actions.has-suntk-cart-control{width:100%!important;max-width:none!important}
    .suntk-cart-control--card{width:100%!important;max-width:none!important;min-width:0!important}
    .suntk-cart-control--card .suntk-cart-control__add{font-size:9px!important;padding:0 4px!important}
    .suntk-cart-control--card .suntk-cart-control__button{min-width:28px;font-size:19px!important}
    .suntk-cart-control--card .suntk-cart-control__input{font-size:12px!important}
}

@media(prefers-reduced-motion:reduce){
    .suntk-cart-control__add,
    .suntk-cart-control__button,
    .suntk-cart-control.has-error .suntk-cart-control__stepper,
    .suntk-cart-control.has-error .suntk-cart-control__add{transition:none!important;animation:none!important}
}
