/**
 * Add-to-cart Button (a.add-to-cart_btn)  —  v1
 *
 * Cesta: /custom-features/add-to-cart-btn/add-to-cart-btn.css
 *
 * --------------------------------------------------------------------------
 *  Štýly pre fly-clone variant + loading sweep na linkových tlačidlách.
 *  `melino-fly-clone` base štýly (position, size, transition) a
 *  `melino-progress-sweep` keyframes sú globálne v child theme style.css,
 *  takže ich neduplikujeme — len pridávame override farieb a loading state.
 * --------------------------------------------------------------------------
 */

/* ============================================================
   FLY CLONE  —  modifikátor pre tlačidlový variant
   ============================================================
   Slider clone (default):   --awb-color6 bg / --awb-color5 text
   Tlačidlový clone (tu):    --melino-farba-2 bg / --awb-color4 text
   ============================================================ */

.melino-fly-clone.melino-fly-clone--button {
    background-color: var(--melino-farba-2);
    color: var(--awb-color4) !important;
}

/* ============================================================
   LOADING STATE — sweep animácia pri prebiehajúcom AJAX
   ============================================================
   Avada/WC sami pridávajú `.loading` triedu počas AJAX-u,
   my pridávame `.is-loading` v `adding_to_cart` event handleri.
   Pravidlo platí aj keď `.loading` zostane samé (poistka).
   ============================================================ */

a.add-to-cart_btn {
    position: relative;
    overflow: hidden;
}

a.add-to-cart_btn.is-loading,
a.add-to-cart_btn.loading {
    cursor: wait;
    /*
     * pointer-events: none zabráni opakovaným klikom počas AJAX-u.
     * WC sám má vlastný anti-double-click guard, ale defense in depth.
     */
    pointer-events: none;
}

a.add-to-cart_btn.is-loading::after,
a.add-to-cart_btn.loading::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255, 255, 255, 0.45) 50%,
        transparent 100%
    );
    background-size: 40% 100%;
    background-repeat: no-repeat;
    opacity: 0.6;
    will-change: background-position;
    animation: melino-progress-sweep 1.2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
    pointer-events: none;
    top: 50%;
    transform: translateY(-50%);
}

@media (prefers-reduced-motion: reduce) {
    a.add-to-cart_btn.is-loading::after,
    a.add-to-cart_btn.loading::after {
        animation: none;
    }
}
