.ph-add-to-cart {
    display: inline-flex !important;
    text-decoration: none !important;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    margin-top: 10px;
    margin: auto auto 0 auto;
}

.ph-js-ajax-add-to-cart:disabled {
    cursor: not-allowed !important;
    border: 1px solid #999999 !important;
    background-color: #cccccc !important;
    color: #666666 !important;
}

.ph-add-to-cart-wrapper {
    margin: auto auto 0 auto;
}

/*.ph-add-to-cart-button{*/
/*    min-width: 56px;*/
/*    border: 1px solid #2fb5d2;*/
/*    border-radius: 100px;*/
/*    color: #fff !important;*/
/*    height: 30px;*/
/*    padding: 5px 16px;*/
/*    margin: 0;*/
/*    cursor: pointer;*/
/*    display: inline-flex;*/
/*    font-size: 14px;*/
/*    font-weight: 700;*/
/*    white-space: nowrap;*/
/*    background: #2fb5d2;*/
/*}*/

.ph-cart-add-button-wrapper .ph-js-ajax-to-cart {
    color: #fff !important;
    text-decoration: none;
}

/*.ph-cart-action-wrapper {*/
/*    padding: 0 1px !important;*/
/*}*/

.ph-cart-action-wrapper .ph-qty {
    display: flex;
    align-items: center;
    justify-content: center;
    /*margin-top: 2px;*/
    /*padding: 4px 2px 0;*/
}

.ph-cart-action-wrapper .ph-js-ajax-remove-to-cart, .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
    height: 44px !important;
    width: 44px;
    min-width: 44px;
    text-align: center;
    color: #000 !important;
    border: none;
    background: transparent;
    border-radius: var(--bs-badge-border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
    padding: 0;
}

.ph-add-to-cart-button.ph-cart-action-wrapper {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 44px;
}

.ph-cart-action-wrapper .ph-js-ajax-remove-to-cart:hover,
.ph-cart-action-wrapper .ph-js-ajax-add-to-cart:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.ph-cart-action-wrapper .ph-js-ajax-remove-to-cart svg,
.ph-cart-action-wrapper .ph-js-ajax-add-to-cart svg {
    width: 18px;
    height: 18px;
    cursor: pointer;
    display: block;
}

.ph-add-to-cart-button.ph-qty-wrapper {
    /*background: var(--bs-primary);*/
    background: #8f2d56;
    border: none;
    color: #fff !important;
    text-align: center;
    min-width: 44px;
    /*height: 44px;*/
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;

}

.ph-add-to-cart .ph-option-button-wrapper a {
    color: #fff !important;
}


.ph-cart-icon-wrapper {
    color: #fff !important;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 44px;
    width: 44px;
    margin-left: 15px;
}

.ph-cart-icon-wrapper a {
    border-radius: 20px;
}

.ph-cart-icon-wrapper svg {
    width: 20px;
    height: 20px;
    color: #fff !important;
    background: transparent;
    /*margin: 0 0 0 10px;*/
}

.ph-add-to-cart span.loading {
    /*padding: 4px 2px;*/
    padding: 0px;
    display: inline-block;
    font-size: 7px;
    height: auto !important;
    max-width: 22px;
}

/*.ph-add-to-cart span.loading img {*/
/*    width: 18px;*/
/*    height: 18px;*/
/*    vertical-align: text-top;*/
/*}*/

.ph-qty span.loading {
    height: 30px;
    /*padding: 4px 2px;*/
    padding: 0px 2px;
    display: inline-block;
}

/*.ph-qty span.loading img {*/
/*    width: 18px;*/
/*    height: 18px;*/
/*}*/


.ph-cart-add-button-wrapper {
    max-height: 44px;
}

.ph-cart-add-button-wrapper .loading {
    max-width: min-content !important;
}

.ph-add-to-cart-button:hover::before {
    left: 100%;
}

.ph-qty-wrapper:before,
.ph-cart-add-button-wrapper:before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    /*transition: left 0.5s ease;*/
}

.showProductIsInCart .btn-primary:hover,
.ph-qty-wrapper:hover,
.ph-cart-add-button-wrapper:hover {
    /*background-color: var(--bs-primary);*/
    background-color: #8f2d56;
    color: #fff;
    text-decoration: none;
    /*transform: translateY(-2px);*/
    /*box-shadow: 0 4px 8px var(--bs-primary);*/
    /*box-shadow: 0 4px 8px #24b9d7;*/
}

.ph-add-to-cart-button {
    border: none;
    /*background-color: var(--bs-primary);*/
    background-color: #8f2d56;
    color: #fff !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-decoration: none;
    white-space: nowrap;
    width: auto;
    min-width: 44px;
    height: 40px;
    position: relative;
    overflow: hidden;
    padding: 0.75rem 1rem;
    font: inherit;
    font-size: 1rem;
    box-sizing: border-box;
    border-radius: 20px;
}

.ph-cart-add-button-wrapper .ph-js-ajax-to-cart
{
    padding: 0.6rem 1.5rem;
}

.ph-cart-add-button-wrapper .ph-js-option-to-cart {
    padding: 0.6rem 1.5rem;
    color: #fff !important;
}

.ph-add-to-cart-button.ph-cart-add-button-wrapper {
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-height: 40px;
}

.ph-js-ajax-remove-to-cart.ph-js-ajax-to-cart i.fa,
.ph-js-ajax-add-to-cart.ph-js-ajax-to-cart i.fa {
    color: #ffffff;
}

.ph-add-to-cart .ph-js-ajax-remove-to-cart:focus,
.ph-add-to-cart .ph-js-ajax-add-to-cart:focus {
    outline: 1px dotted;
}

.ph-qty {
    width: 22px;
    text-align: center;
}

.ph-add-to-cart span.loading,
    /*.ph-qty,*/
.ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
.ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
    height: 44px;
}

@media (max-width: 991px) {
    .ph-add-to-cart span.loading, .ph-qty {
        /*height: 40px;*/
    }

    .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
        height: 40px;
        width: 40px;
        min-width: 40px;
    }

    .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart svg,
    .ph-cart-action-wrapper .ph-js-ajax-add-to-cart svg {
        width: 18px;
        height: 18px;
    }

    .ph-add-to-cart-button.ph-cart-action-wrapper,
    .ph-add-to-cart-button.ph-cart-add-button-wrapper {
        height: 40px;
        min-height: 40px;
    }

    .ph-add-to-cart-button.ph-qty-wrapper {
        height: 40px;
        min-width: 40px;
    }

    .ph-cart-icon-wrapper svg {
        width: 20px;
        height: 28px;
    }

    .ph-cart-icon-wrapper {
        height: 40px;
        min-width: 40px;
        width: 40px;
    }

    .ph-add-to-cart-button {
        height: 40px;
        min-height: 40px;
    }
}

/* --- Quantity input field .ph-qty-input --- */
.ph-cart-action-wrapper .ph-qty-input {
    width: 40px;
    min-width: 40px;
    height: 48px;
    text-align: center;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: var(--bs-badge-border-radius);
    background: transparent;
    color: #ffffff;
    font-size: inherit;
    padding: 0 4px;
    -moz-appearance: textfield;
    appearance: textfield;
    cursor: pointer;
}

.ph-cart-action-wrapper .ph-qty-input::-webkit-outer-spin-button,
.ph-cart-action-wrapper .ph-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@media (max-width: 576px) {
    .ph-cart-action-wrapper .ph-qty-input {
        height: 40px;
        width: 36px;
        min-width: 36px;
    }
}
/* --------------------------------------------------------------------------
 * PrestaHeroes Modern Quick Add UI - 2026-06
 * Keeps the existing phaddtocart AJAX logic, but replaces the clumsy split
 * add/qty/cart display with a cleaner product-card purchase control.
 * -------------------------------------------------------------------------- */
.ph-modern-add-to-cart {
    --ph-atc-primary: var(--ca-primary, var(--bs-primary, #2F4A5F));
    --ph-atc-primary-hover: var(--ca-primary-dark, var(--bs-primary-hover, #223845));
    --ph-atc-accent: var(--ca-accent, var(--ph-atc-primary));
    --ph-atc-accent-dark: var(--ca-accent-dark, var(--ph-atc-primary-hover));
    --ph-atc-accent-soft: var(--ca-accent-soft, rgba(93, 127, 138, 0.16));
    --ph-atc-border: rgba(47, 74, 95, 0.22);
    --ph-atc-text: var(--ca-white, #ffffff);
    --ph-atc-muted: var(--ca-ink, #5b5360);
    --ph-atc-shadow: rgba(47, 74, 95, 0.18);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 10px auto 0 auto !important;
    line-height: 1 !important;
}

.ph-modern-add-to-cart *,
.ph-modern-add-to-cart *::before,
.ph-modern-add-to-cart *::after {
    box-sizing: border-box;
}

.ph-modern-add-to-cart .ph-add-to-cart-button,
.ph-modern-add-to-cart .ph-cart-add-button-wrapper,
.ph-modern-add-to-cart .ph-cart-action-wrapper,
.ph-modern-add-to-cart .ph-cart-icon-wrapper {
    position: relative !important;
    overflow: visible !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 42px !important;
    height: 42px !important;
}

.ph-modern-add-to-cart .ph-cart-add-button-wrapper {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-height: none !important;
}

.ph-modern-add-to-cart .ph-modern-add-button,
.ph-modern-add-to-cart .ph-modern-options-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 18px !important;
    border: 1px solid var(--ph-atc-accent) !important;
    border-radius: 999px !important;
    background: var(--ph-atc-accent) !important;
    color: var(--ph-atc-text) !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 18px rgba(152, 46, 95, 0.18) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, border-color 0.18s ease !important;
}

.ph-modern-add-to-cart .ph-modern-add-button:hover,
.ph-modern-add-to-cart .ph-modern-options-button:hover,
.ph-modern-add-to-cart .ph-modern-add-button:focus,
.ph-modern-add-to-cart .ph-modern-options-button:focus {
    background: var(--ph-atc-accent-dark) !important;
    border-color: var(--ph-atc-accent-dark) !important;
    color: var(--ph-atc-text) !important;
    text-decoration: none !important;
    box-shadow: 0 10px 22px rgba(152, 46, 95, 0.24) !important;
    transform: translateY(-1px);
}

.ph-modern-add-to-cart .ph-modern-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 19px !important;
    height: 19px !important;
    line-height: 1 !important;
}

.ph-modern-add-to-cart .ph-modern-icon svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
    fill: currentColor !important;
}

.ph-modern-add-to-cart .ph-modern-label {
    display: inline-flex !important;
    align-items: center !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-wrapper {
    display: flex;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 132px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border: 1px solid var(--ph-atc-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 4px 12px rgba(22, 20, 25, 0.06) !important;
    overflow: hidden !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--ph-atc-accent) !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: background-color 0.18s ease, color 0.18s ease !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-button:hover,
.ph-modern-add-to-cart .ph-modern-stepper-button:focus {
    background: var(--ph-atc-accent-soft) !important;
    color: var(--ph-atc-accent-dark) !important;
    outline: none !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-button:disabled {
    cursor: not-allowed !important;
    opacity: 0.45 !important;
    background: transparent !important;
    color: var(--ph-atc-muted) !important;
}

.ph-modern-add-to-cart .ph-modern-qty-input-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-left: 1px solid var(--ph-atc-border) !important;
    border-right: 1px solid var(--ph-atc-border) !important;
}

.ph-modern-add-to-cart .ph-modern-qty-input {
    display: block !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #2b2530 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    box-shadow: none !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

.ph-modern-add-to-cart .ph-modern-qty-input:focus {
    outline: none !important;
    background: rgba(152, 46, 95, 0.04) !important;
}

.ph-modern-add-to-cart .ph-modern-qty-input::-webkit-outer-spin-button,
.ph-modern-add-to-cart .ph-modern-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.ph-modern-add-to-cart .ph-qty-state,
.ph-modern-add-to-cart .ph-qty-state.showProductIsInCart,
.ph-modern-add-to-cart .ph-qty-state.action-shown {
    display: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link-wrapper {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 84px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid var(--ph-atc-border) !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    color: var(--ph-atc-accent) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(22, 20, 25, 0.05) !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link:hover,
.ph-modern-add-to-cart .ph-modern-cart-link:focus {
    background: var(--ph-atc-accent-soft) !important;
    color: var(--ph-atc-accent-dark) !important;
    text-decoration: none !important;
}

.ph-modern-add-to-cart .ph-cart-icon-wrapper svg {
    width: 18px !important;
    height: 18px !important;
    background: transparent !important;
    fill: currentColor !important;
}

.ph-modern-add-to-cart .ph-cart-icon-wrapper a.btn-primary {
    background: #ffffff !important;
    border-color: var(--ph-atc-border) !important;
}

.ph-modern-add-to-cart .hideProductIsInCart {
    display: none !important;
}

.ph-modern-add-to-cart .showProductIsInCart.ph-modern-stepper-wrapper.action-shown {
    display: flex !important;
}

@media (max-width: 991px) {
    .ph-modern-add-to-cart {
        gap: 8px !important;
    }

    .ph-modern-add-to-cart .ph-modern-add-button,
    .ph-modern-add-to-cart .ph-modern-options-button {
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 15px !important;
        font-size: 14px !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-wrapper,
    .ph-modern-add-to-cart .ph-modern-stepper-button,
    .ph-modern-add-to-cart .ph-modern-qty-input-wrap,
    .ph-modern-add-to-cart .ph-modern-qty-input,
    .ph-modern-add-to-cart .ph-modern-cart-link-wrapper,
    .ph-modern-add-to-cart .ph-modern-cart-link {
        height: 40px !important;
        min-height: 40px !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-wrapper {
        min-width: 124px !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-button {
        width: 40px !important;
        min-width: 40px !important;
    }

    .ph-modern-add-to-cart .ph-modern-qty-input-wrap,
    .ph-modern-add-to-cart .ph-modern-qty-input {
        width: 44px !important;
        min-width: 44px !important;
    }
}

@media (max-width: 420px) {
    .ph-modern-add-to-cart {
        flex-wrap: nowrap !important;
    }

    .ph-modern-add-to-cart .ph-modern-cart-link {
        min-width: 44px !important;
        width: 44px !important;
        padding: 0 !important;
    }

    .ph-modern-add-to-cart .ph-modern-cart-link span:not(.ph-modern-icon) {
        display: none !important;
    }
}

/* --- v1.3.0 refinements: readable stepper symbols + customise action --- */
.ph-modern-add-to-cart .ph-stepper-symbol {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: var(--ph-atc-accent) !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    width: 100% !important;
    height: 100% !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-button:hover .ph-stepper-symbol,
.ph-modern-add-to-cart .ph-modern-stepper-button:focus .ph-stepper-symbol {
    color: var(--ph-atc-accent-dark) !important;
}

.ph-modern-add-to-cart .ph-modern-customise-button {
    background: var(--ph-atc-accent) !important;
    border-color: var(--ph-atc-accent) !important;
}

.ph-modern-add-to-cart.ph-modern-needs-customise .ph-cart-add-button-wrapper {
    display: flex !important;
    width: 100% !important;
}

.ph-modern-add-to-cart.ph-modern-needs-customise .ph-modern-customise-button {
    width: 100% !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link span:not(.ph-modern-icon) {
    white-space: nowrap !important;
}

@media (max-width: 520px) {
    .ph-modern-add-to-cart .ph-modern-stepper-wrapper {
        min-width: 118px !important;
    }

    .ph-modern-add-to-cart .ph-modern-cart-link {
        min-width: 80px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }
}


/* --- v1.3.1 after-add display fix --- */
.ph-modern-add-to-cart .ph-modern-qty-value {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 42px !important;
    color: #2b2530 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    background: transparent !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-wrapper .ph-qty {
    color: #2b2530 !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link {
    min-width: 76px !important;
    padding: 0 12px !important;
}

@media (max-width: 520px) {
    .ph-modern-add-to-cart .ph-modern-cart-link {
        min-width: 44px !important;
        width: 44px !important;
        padding: 0 !important;
    }

    .ph-modern-add-to-cart .ph-modern-cart-link span:not(.ph-modern-icon) {
        display: none !important;
    }
}

/* v1.3.2: clearer after-add action states */
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart {
    min-width: 96px !important;
    border-color: var(--ph-atc-accent) !important;
    background: var(--ph-atc-accent) !important;
    color: #ffffff !important;
    box-shadow: 0 7px 16px rgba(152, 46, 95, 0.18) !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout:hover,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout:focus,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart:hover,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart:focus {
    border-color: var(--ph-atc-accent-dark) !important;
    background: var(--ph-atc-accent-dark) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 22px rgba(152, 46, 95, 0.24) !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout svg,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart svg {
    fill: currentColor !important;
    opacity: 1 !important;
}


/* v1.3.3: stronger contrast for after-add CTA pills */
.ph-modern-add-to-cart .ph-modern-cart-link-wrapper {
    filter: none !important;
    opacity: 1 !important;
}

.ph-modern-add-to-cart .ph-modern-cart-link {
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
}


/* v1.3.4: remove legacy shine/overlay and force high-contrast CTA state.
   Some themes/module legacy CSS leaves ::before overlays active on the wrapper,
   which creates the pale band seen across the button. */
.ph-modern-add-to-cart .ph-add-to-cart-button::before,
.ph-modern-add-to-cart .ph-add-to-cart-button::after,
.ph-modern-add-to-cart .ph-cart-add-button-wrapper::before,
.ph-modern-add-to-cart .ph-cart-add-button-wrapper::after,
.ph-modern-add-to-cart .ph-cart-action-wrapper::before,
.ph-modern-add-to-cart .ph-cart-action-wrapper::after,
.ph-modern-add-to-cart .ph-cart-icon-wrapper::before,
.ph-modern-add-to-cart .ph-cart-icon-wrapper::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    background: none !important;
}

.ph-modern-add-to-cart .ph-modern-add-button,
.ph-modern-add-to-cart .ph-modern-options-button,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart {
    background-color: #982e5f !important;
    background-image: none !important;
    color: #ffffff !important;
    text-shadow: none !important;
    opacity: 1 !important;
    filter: none !important;
}

.ph-modern-add-to-cart .ph-modern-add-button *,
.ph-modern-add-to-cart .ph-modern-options-button *,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout *,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart * {
    color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
}

.ph-modern-add-to-cart .ph-modern-add-button:hover,
.ph-modern-add-to-cart .ph-modern-add-button:focus,
.ph-modern-add-to-cart .ph-modern-options-button:hover,
.ph-modern-add-to-cart .ph-modern-options-button:focus,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout:hover,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout:focus,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart:hover,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart:focus {
    background-color: #7f254e !important;
    background-image: none !important;
    color: #ffffff !important;
}


/* v1.3.5: critical CTA hardening.
   The pale band is coming from a pseudo-element/shine overlay on the actual anchor/button,
   not only from the wrapper. Disable pseudo-elements on both wrapper and clickable CTA. */
.ph-modern-add-to-cart .ph-modern-add-button::before,
.ph-modern-add-to-cart .ph-modern-add-button::after,
.ph-modern-add-to-cart .ph-modern-options-button::before,
.ph-modern-add-to-cart .ph-modern-options-button::after,
.ph-modern-add-to-cart .ph-modern-cart-link::before,
.ph-modern-add-to-cart .ph-modern-cart-link::after,
.ph-modern-add-to-cart .ph-modern-stepper-button::before,
.ph-modern-add-to-cart .ph-modern-stepper-button::after {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

.ph-modern-add-to-cart .ph-modern-add-button,
.ph-modern-add-to-cart .ph-modern-options-button,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: #982e5f !important;
    background-color: #982e5f !important;
    background-image: none !important;
    color: #ffffff !important;
}

.ph-modern-add-to-cart .ph-modern-add-button .ph-modern-icon,
.ph-modern-add-to-cart .ph-modern-add-button .ph-modern-label,
.ph-modern-add-to-cart .ph-modern-options-button .ph-modern-icon,
.ph-modern-add-to-cart .ph-modern-options-button .ph-modern-label,
.ph-modern-add-to-cart .ph-modern-cart-link .ph-modern-icon,
.ph-modern-add-to-cart .ph-modern-cart-link span {
    position: relative !important;
    z-index: 2 !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.ph-modern-add-to-cart .ph-modern-add-button svg,
.ph-modern-add-to-cart .ph-modern-options-button svg,
.ph-modern-add-to-cart .ph-modern-cart-link svg {
    fill: #ffffff !important;
    color: #ffffff !important;
    opacity: 1 !important;
}


/* v1.3.6: after-add action is now module-only, no Bootstrap .btn/.btn-primary.
   This avoids theme button hover/opacity/overlay conflicts and removes the tooltip. */
.ph-modern-add-to-cart .ph-modern-cart-link,
.ph-modern-add-to-cart a.ph-modern-cart-link,
.ph-modern-add-to-cart a.ph-modern-cart-link:visited {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-width: 96px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border: 1px solid #8f2d56 !important;
    border-radius: 999px !important;
    background: #8f2d56 !important;
    background-color: #8f2d56 !important;
    background-image: none !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow: 0 7px 16px rgba(143, 45, 86, 0.18) !important;
}

.ph-modern-add-to-cart a.ph-modern-cart-link:hover,
.ph-modern-add-to-cart a.ph-modern-cart-link:focus,
.ph-modern-add-to-cart a.ph-modern-cart-link:active {
    border-color: #7f254e !important;
    background: #7f254e !important;
    background-color: #7f254e !important;
    background-image: none !important;
    color: #ffffff !important;
    text-decoration: none !important;
    opacity: 1 !important;
    filter: none !important;
    box-shadow: 0 10px 22px rgba(143, 45, 86, 0.24) !important;
}

.ph-modern-add-to-cart a.ph-modern-cart-link *,
.ph-modern-add-to-cart a.ph-modern-cart-link:hover *,
.ph-modern-add-to-cart a.ph-modern-cart-link:focus * {
    color: #ffffff !important;
    fill: #ffffff !important;
    opacity: 1 !important;
}

.ph-modern-add-to-cart a.ph-modern-cart-link::before,
.ph-modern-add-to-cart a.ph-modern-cart-link::after {
    content: none !important;
    display: none !important;
}


/* v1.4.6: mobile product-list purchase controls.
   Desktop can be richer; mobile cards must stay compact and never overflow adjacent cards. */
@media (max-width: 767px) {
    .ph-add-to-cart-wrapper,
    .ph-modern-add-to-cart {
        max-width: 100% !important;
        overflow: visible !important;
    }

    .ph-modern-add-to-cart {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        width: 100% !important;
        margin: 8px auto 0 auto !important;
    }

    .ph-modern-add-to-cart .ph-cart-add-button-wrapper {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .ph-modern-add-to-cart .ph-modern-add-button,
    .ph-modern-add-to-cart .ph-modern-options-button,
    .ph-modern-add-to-cart.ph-modern-needs-customise .ph-modern-customise-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    .ph-modern-add-to-cart .ph-modern-icon,
    .ph-modern-add-to-cart .ph-modern-icon svg {
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
    }

    .ph-modern-add-to-cart .ph-modern-label {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    /* Mobile product cards: after add, only show the quantity stepper.
       The extra cart/checkout pill is useful on desktop but causes mobile overflow. */
    .ph-modern-add-to-cart .ph-modern-cart-link-wrapper,
    .ph-modern-add-to-cart .ph-modern-cart-link-wrapper.showProductIsInCart {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-wrapper.showProductIsInCart,
    .ph-modern-add-to-cart .showProductIsInCart.ph-modern-stepper-wrapper.action-shown {
        display: flex !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-button {
        flex: 0 0 38px !important;
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        font-size: 16px !important;
    }

    .ph-modern-add-to-cart .ph-modern-qty-input-wrap,
    .ph-modern-add-to-cart .ph-modern-qty-value,
    .ph-modern-add-to-cart .ph-modern-qty-input {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 34px !important;
        height: 38px !important;
        min-height: 38px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 420px) {
    .ph-modern-add-to-cart {
        gap: 0 !important;
    }

    .ph-modern-add-to-cart .ph-modern-add-button,
    .ph-modern-add-to-cart .ph-modern-options-button,
    .ph-modern-add-to-cart.ph-modern-needs-customise .ph-modern-customise-button {
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 9px !important;
        font-size: 12px !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-wrapper.showProductIsInCart,
    .ph-modern-add-to-cart .showProductIsInCart.ph-modern-stepper-wrapper.action-shown {
        height: 36px !important;
        min-height: 36px !important;
    }

    .ph-modern-add-to-cart .ph-modern-stepper-button {
        flex-basis: 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    .ph-modern-add-to-cart .ph-modern-qty-input-wrap,
    .ph-modern-add-to-cart .ph-modern-qty-value,
    .ph-modern-add-to-cart .ph-modern-qty-input {
        height: 36px !important;
        min-height: 36px !important;
    }
}


/* v1.5.3: real-device mobile product-card overflow fix.
   Samsung/Android mobile grid cards are narrower than desktop emulation suggests.
   Product-list controls must be contained inside each product card. */
@media (max-width: 767px) {
    .product-miniature .ph-modern-add-to-cart,
    .js-product-miniature .ph-modern-add-to-cart,
    .product-miniature-default .ph-modern-add-to-cart {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-rows: auto !important;
        align-items: center !important;
        justify-items: stretch !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 8px auto 0 auto !important;
        padding: 0 6px !important;
        overflow: hidden !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart .ph-cart-action-wrapper,
    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-wrapper {
        grid-column: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-needs-customise .ph-modern-customise-button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-label {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-icon,
    .product-miniature .ph-modern-add-to-cart .ph-modern-icon svg {
        width: 16px !important;
        height: 16px !important;
        min-width: 16px !important;
    }

    /* After add on mobile product lists: show only the compact stepper.
       The separate cart/checkout pill causes the floating overlap seen on real Samsung devices. */
    .product-miniature .ph-modern-add-to-cart .ph-modern-cart-link-wrapper,
    .product-miniature .ph-modern-add-to-cart .ph-modern-cart-link-wrapper.showProductIsInCart,
    .product-miniature .ph-modern-add-to-cart .ph-modern-cart-link {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-wrapper.showProductIsInCart,
    .product-miniature .ph-modern-add-to-cart .showProductIsInCart.ph-modern-stepper-wrapper.action-shown {
        display: flex !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;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-button {
        flex: 0 0 38px !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        font-size: 16px !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart .ph-modern-qty-input {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 38px !important;
        min-height: 38px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 420px) {
    .product-miniature .ph-modern-add-to-cart {
        padding-left: 5px !important;
        padding-right: 5px !important;
        gap: 5px !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-needs-customise .ph-modern-customise-button,
    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-wrapper.showProductIsInCart {
        height: 36px !important;
        min-height: 36px !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-stepper-button {
        flex-basis: 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
    }

    .product-miniature .ph-modern-add-to-cart .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart .ph-modern-qty-input {
        height: 36px !important;
        min-height: 36px !important;
    }
}


/* PH Add to Cart Pro 1.6.0 */
.ph-modern-no-icons .ph-modern-icon {
    display: none !important;
}

.ph-modern-size-sm .ph-add-to-cart-button,
.ph-modern-size-sm .ph-modern-cart-link {
    height: 34px;
    min-height: 34px;
    border-radius: 17px;
    padding: 0.45rem 0.9rem;
    font-size: 0.9rem;
}
.ph-modern-size-sm .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
.ph-modern-size-sm .ph-cart-action-wrapper .ph-js-ajax-add-to-cart,
.ph-modern-size-sm .ph-add-to-cart-button.ph-cart-action-wrapper,
.ph-modern-size-sm .ph-cart-add-button-wrapper,
.ph-modern-size-sm .ph-add-to-cart-button.ph-qty-wrapper,
.ph-modern-size-sm .ph-cart-icon-wrapper {
    height: 34px !important;
    min-width: 36px;
}
.ph-modern-size-sm .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
.ph-modern-size-sm .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
    width: 36px;
}

.ph-modern-size-md .ph-add-to-cart-button,
.ph-modern-size-md .ph-modern-cart-link {
    border-radius: 20px;
}

.ph-modern-size-lg .ph-add-to-cart-button,
.ph-modern-size-lg .ph-modern-cart-link {
    height: 46px;
    min-height: 46px;
    border-radius: 23px;
    padding: 0.85rem 1.25rem;
    font-size: 1.02rem;
}
.ph-modern-size-lg .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
.ph-modern-size-lg .ph-cart-action-wrapper .ph-js-ajax-add-to-cart,
.ph-modern-size-lg .ph-add-to-cart-button.ph-cart-action-wrapper,
.ph-modern-size-lg .ph-cart-add-button-wrapper,
.ph-modern-size-lg .ph-add-to-cart-button.ph-qty-wrapper,
.ph-modern-size-lg .ph-cart-icon-wrapper {
    height: 46px !important;
    min-width: 48px;
}
.ph-modern-size-lg .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
.ph-modern-size-lg .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
    width: 48px;
}
.ph-modern-size-lg .ph-qty {
    width: 30px;
}

/* PH Add to Cart Pro 1.6.2 responsive controls */
@media (min-width: 768px) {
    .ph-modern-add-to-cart.ph-modern-hide-icons-desktop .ph-modern-icon {
        display: none !important;
    }
    .ph-modern-add-to-cart.ph-modern-hide-action-desktop .ph-modern-cart-link-wrapper,
    .ph-modern-add-to-cart.ph-modern-hide-action-desktop .ph-modern-cart-link-wrapper.showProductIsInCart {
        display: none !important;
    }

    .ph-modern-desktop-size-sm .ph-add-to-cart-button,
    .ph-modern-desktop-size-sm .ph-modern-cart-link {
        height: 34px;
        min-height: 34px;
        border-radius: 17px;
        padding: 0.45rem 0.9rem;
        font-size: 0.9rem;
    }
    .ph-modern-desktop-size-sm .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-desktop-size-sm .ph-cart-action-wrapper .ph-js-ajax-add-to-cart,
    .ph-modern-desktop-size-sm .ph-add-to-cart-button.ph-cart-action-wrapper,
    .ph-modern-desktop-size-sm .ph-cart-add-button-wrapper,
    .ph-modern-desktop-size-sm .ph-add-to-cart-button.ph-qty-wrapper,
    .ph-modern-desktop-size-sm .ph-cart-icon-wrapper {
        height: 34px !important;
        min-width: 36px;
    }
    .ph-modern-desktop-size-sm .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-desktop-size-sm .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
        width: 36px;
    }

    .ph-modern-desktop-size-md .ph-add-to-cart-button,
    .ph-modern-desktop-size-md .ph-modern-cart-link {
        border-radius: 20px;
    }

    .ph-modern-desktop-size-lg .ph-add-to-cart-button,
    .ph-modern-desktop-size-lg .ph-modern-cart-link {
        height: 46px;
        min-height: 46px;
        border-radius: 23px;
        padding: 0.85rem 1.25rem;
        font-size: 1.02rem;
    }
    .ph-modern-desktop-size-lg .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-desktop-size-lg .ph-cart-action-wrapper .ph-js-ajax-add-to-cart,
    .ph-modern-desktop-size-lg .ph-add-to-cart-button.ph-cart-action-wrapper,
    .ph-modern-desktop-size-lg .ph-cart-add-button-wrapper,
    .ph-modern-desktop-size-lg .ph-add-to-cart-button.ph-qty-wrapper,
    .ph-modern-desktop-size-lg .ph-cart-icon-wrapper {
        height: 46px !important;
        min-width: 48px;
    }
    .ph-modern-desktop-size-lg .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-desktop-size-lg .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
        width: 48px;
    }
    .ph-modern-desktop-size-lg .ph-qty {
        width: 30px;
    }
}

@media (max-width: 767px) {
    .ph-modern-add-to-cart.ph-modern-hide-icons-mobile .ph-modern-icon {
        display: none !important;
    }
    .ph-modern-add-to-cart.ph-modern-hide-action-mobile .ph-modern-cart-link-wrapper,
    .ph-modern-add-to-cart.ph-modern-hide-action-mobile .ph-modern-cart-link-wrapper.showProductIsInCart {
        display: none !important;
    }

    .ph-modern-mobile-size-sm .ph-add-to-cart-button,
    .ph-modern-mobile-size-sm .ph-modern-cart-link {
        height: 34px;
        min-height: 34px;
        border-radius: 17px;
        padding: 0.45rem 0.9rem;
        font-size: 0.9rem;
    }
    .ph-modern-mobile-size-sm .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-mobile-size-sm .ph-cart-action-wrapper .ph-js-ajax-add-to-cart,
    .ph-modern-mobile-size-sm .ph-add-to-cart-button.ph-cart-action-wrapper,
    .ph-modern-mobile-size-sm .ph-cart-add-button-wrapper,
    .ph-modern-mobile-size-sm .ph-add-to-cart-button.ph-qty-wrapper,
    .ph-modern-mobile-size-sm .ph-cart-icon-wrapper {
        height: 34px !important;
        min-width: 36px;
    }
    .ph-modern-mobile-size-sm .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-mobile-size-sm .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
        width: 36px;
    }

    .ph-modern-mobile-size-md .ph-add-to-cart-button,
    .ph-modern-mobile-size-md .ph-modern-cart-link {
        border-radius: 20px;
    }

    .ph-modern-mobile-size-lg .ph-add-to-cart-button,
    .ph-modern-mobile-size-lg .ph-modern-cart-link {
        height: 46px;
        min-height: 46px;
        border-radius: 23px;
        padding: 0.85rem 1.25rem;
        font-size: 1.02rem;
    }
    .ph-modern-mobile-size-lg .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-mobile-size-lg .ph-cart-action-wrapper .ph-js-ajax-add-to-cart,
    .ph-modern-mobile-size-lg .ph-add-to-cart-button.ph-cart-action-wrapper,
    .ph-modern-mobile-size-lg .ph-cart-add-button-wrapper,
    .ph-modern-mobile-size-lg .ph-add-to-cart-button.ph-qty-wrapper,
    .ph-modern-mobile-size-lg .ph-cart-icon-wrapper {
        height: 46px !important;
        min-width: 48px;
    }
    .ph-modern-mobile-size-lg .ph-cart-action-wrapper .ph-js-ajax-remove-to-cart,
    .ph-modern-mobile-size-lg .ph-cart-action-wrapper .ph-js-ajax-add-to-cart {
        width: 48px;
    }
    .ph-modern-mobile-size-lg .ph-qty {
        width: 30px;
    }
}


/* PH Add to Cart Pro 1.6.4 — inherit shop palette by default.
   Priority: Calligraphy Arts variables -> Bootstrap/theme primary -> ink-blue fallback. */
.ph-modern-add-to-cart {
    --ph-atc-primary: var(--ca-primary, var(--bs-primary, #2F4A5F));
    --ph-atc-primary-hover: var(--ca-primary-dark, var(--bs-primary-hover, #223845));
    --ph-atc-accent: var(--ca-accent, var(--ph-atc-primary));
    --ph-atc-accent-dark: var(--ca-accent-dark, var(--ph-atc-primary-hover));
    --ph-atc-accent-soft: var(--ca-accent-soft, rgba(93, 127, 138, .16));
    --ph-atc-border: rgba(47, 74, 95, .22);
    --ph-atc-text: var(--ca-white, #ffffff);
    --ph-atc-shadow: rgba(47, 74, 95, .18);
}

.ph-modern-add-to-cart.ph-color-mode-legacy {
    --ph-atc-primary: #982e5f;
    --ph-atc-primary-hover: #7f254e;
    --ph-atc-accent: #982e5f;
    --ph-atc-accent-dark: #7f254e;
    --ph-atc-accent-soft: rgba(152, 46, 95, .14);
    --ph-atc-border: rgba(152, 46, 95, .22);
    --ph-atc-text: #ffffff;
    --ph-atc-shadow: rgba(152, 46, 95, .18);
}

.ph-modern-add-to-cart .ph-modern-add-button,
.ph-modern-add-to-cart .ph-modern-options-button,
.ph-modern-add-to-cart .ph-modern-cart-link,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-checkout,
.ph-modern-add-to-cart .ph-modern-cart-link.ph-modern-cart-link-cart,
.ph-modern-add-to-cart a.ph-modern-cart-link,
.ph-modern-add-to-cart a.ph-modern-cart-link:visited {
    background: var(--ph-atc-primary) !important;
    background-color: var(--ph-atc-primary) !important;
    background-image: none !important;
    border-color: var(--ph-atc-primary) !important;
    color: var(--ph-atc-text) !important;
    box-shadow: 0 8px 22px var(--ph-atc-shadow) !important;
}

.ph-modern-add-to-cart .ph-modern-add-button:hover,
.ph-modern-add-to-cart .ph-modern-add-button:focus,
.ph-modern-add-to-cart .ph-modern-options-button:hover,
.ph-modern-add-to-cart .ph-modern-options-button:focus,
.ph-modern-add-to-cart .ph-modern-cart-link:hover,
.ph-modern-add-to-cart .ph-modern-cart-link:focus,
.ph-modern-add-to-cart a.ph-modern-cart-link:hover,
.ph-modern-add-to-cart a.ph-modern-cart-link:focus,
.ph-modern-add-to-cart a.ph-modern-cart-link:active {
    background: var(--ph-atc-primary-hover) !important;
    background-color: var(--ph-atc-primary-hover) !important;
    background-image: none !important;
    border-color: var(--ph-atc-primary-hover) !important;
    color: var(--ph-atc-text) !important;
    box-shadow: 0 10px 24px var(--ph-atc-shadow) !important;
}

.ph-modern-add-to-cart .ph-modern-add-button *,
.ph-modern-add-to-cart .ph-modern-options-button *,
.ph-modern-add-to-cart .ph-modern-cart-link *,
.ph-modern-add-to-cart .ph-modern-add-button svg,
.ph-modern-add-to-cart .ph-modern-options-button svg,
.ph-modern-add-to-cart .ph-modern-cart-link svg {
    color: var(--ph-atc-text) !important;
    fill: var(--ph-atc-text) !important;
    opacity: 1 !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-wrapper {
    border-color: var(--ph-atc-border) !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-plus,
.ph-modern-add-to-cart .ph-stepper-symbol {
    color: var(--ph-atc-primary) !important;
}

.ph-modern-add-to-cart .ph-modern-stepper-button:hover,
.ph-modern-add-to-cart .ph-modern-stepper-button:focus {
    background: var(--ph-atc-accent-soft) !important;
    color: var(--ph-atc-primary-hover) !important;
}

/* PH Add to Cart Pro 1.6.6 — definitive product-list pill sizing.
   Placed last to override earlier overflow safeguards and theme CSS. */
@media (min-width: 768px) {
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-add-to-cart-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-cart-link,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-cart-icon-wrapper {
        height: 34px !important;
        min-height: 34px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-options-button {
        padding: 0 14px !important;
        gap: 7px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-stepper-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-qty-input {
        height: 34px !important;
        min-height: 34px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-stepper-button {
        flex-basis: 34px !important;
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-icon,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-sm .ph-modern-icon svg {
        width: 15px !important;
        height: 15px !important;
        min-width: 15px !important;
    }

    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-add-to-cart-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-cart-link,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-cart-icon-wrapper {
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 999px !important;
        font-size: 15px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-stepper-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-qty-input {
        height: 42px !important;
        min-height: 42px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-md .ph-modern-stepper-button {
        flex-basis: 42px !important;
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }

    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-add-to-cart-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-cart-link,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-cart-icon-wrapper {
        height: 50px !important;
        min-height: 50px !important;
        border-radius: 999px !important;
        font-size: 16px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-options-button {
        padding: 0 22px !important;
        gap: 10px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-stepper-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-qty-input {
        height: 50px !important;
        min-height: 50px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-stepper-button {
        flex-basis: 50px !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-icon,
    .product-miniature .ph-modern-add-to-cart.ph-modern-desktop-size-lg .ph-modern-icon svg {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
    }
}

@media (max-width: 767px) {
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-add-to-cart-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-stepper-wrapper.showProductIsInCart {
        height: 32px !important;
        min-height: 32px !important;
        font-size: 12px !important;
        border-radius: 999px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-options-button {
        padding: 0 9px !important;
        gap: 6px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-stepper-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-qty-input {
        height: 32px !important;
        min-height: 32px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-stepper-button {
        flex-basis: 32px !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-icon,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-sm .ph-modern-icon svg {
        width: 14px !important;
        height: 14px !important;
        min-width: 14px !important;
    }

    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-add-to-cart-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-stepper-wrapper.showProductIsInCart {
        height: 38px !important;
        min-height: 38px !important;
        font-size: 13px !important;
        border-radius: 999px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-stepper-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-qty-input {
        height: 38px !important;
        min-height: 38px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-md .ph-modern-stepper-button {
        flex-basis: 38px !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
    }

    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-add-to-cart-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-cart-add-button-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-options-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-stepper-wrapper,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-stepper-wrapper.showProductIsInCart {
        height: 44px !important;
        min-height: 44px !important;
        font-size: 14px !important;
        border-radius: 999px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-add-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-options-button {
        padding: 0 13px !important;
        gap: 8px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-stepper-button,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-qty-input-wrap,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-qty-value,
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-qty-input {
        height: 44px !important;
        min-height: 44px !important;
    }
    .product-miniature .ph-modern-add-to-cart.ph-modern-mobile-size-lg .ph-modern-stepper-button {
        flex-basis: 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
    }
}
