/**
* 2025 Addify
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author    Addify
* @copyright 2025 Addify
* @license   http://opensource.org/licenses/afl-3.0.php
*/
/* Quick Checkout Button Container - ALWAYS VISIBLE */
.addify-digital-goods-quick-checkout {
    margin: 10px 0;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
}
.material-icons {
    display: inline-block;
    width: 1em;
    height: 1em;
    font-family: "Material Icons", Arial, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    -webkit-font-feature-settings: "liga";
    font-feature-settings: "liga";
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    vertical-align: middle;
    text-rendering: "optimizeLegibility";
}
/* Quick Checkout Button - ALWAYS VISIBLE */
.addify-quick-checkout-btn {
    display: block !important;
    padding: .5rem 1.25rem;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: #28a745;
    color: #ffffff;
    text-align: center !important;
    min-width: 150px;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    left: auto !important;
    /* Match Add to Cart button dimensions */
    height: 2.75rem;
    line-height: 1.5;
    box-sizing: border-box;
    /* Ensure no position shifting */
    transform: none !important;
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
    width: 100% !important;
    margin: 0 auto !important;
}
/* CSS Classes to prevent JavaScript style manipulation */
.addify-shop-page-quick-checkout {
    display: block !important;
    vertical-align: top !important;
    height: 2.75rem !important;
    line-height: inherit !important;
    padding-top: 0.625rem !important;
    padding: 0.5rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    box-shadow: 2px 2px 4px 0 rgb(0 0 0 / 20%) !important;
    border-color: transparent !important;
    box-sizing: border-box !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: ellipsis !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: translateZ(0) !important;
}
.addify-standalone-quick-checkout {
    display: block !important;
    width: 100% !important;
    margin: 10px 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}
.addify-product-page-quick-checkout {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
}
.addify-container-styles {
    transform: translateZ(0) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    display: block !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: auto !important;
    padding-bottom: 15px !important;
}
.addify-button-styles {
    transform: translateZ(0) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    margin-bottom: 8px !important;
}
.addify-form-styles {
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    padding-bottom: 10px !important;
}
.addify-product-description-styles {
    padding-bottom: 15px !important;
    overflow: visible !important;
}
.addify-product-description-192 {
    height: 192px !important;
    min-height: 192px !important;
}
.addify-product-description-157 {
    height: 157px !important;
    min-height: 157px !important;
}
.addify-product-description-auto {
    height: auto !important;
    min-height: auto !important;
}
.addify-hidden {
    display: none !important;
}
.addify-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    /* Remove high z-index to prevent overlap with confirmation cards */
    /* z-index: 9999 !important; */
}
/* When button has both classes (new structure) */
.addify-quick-checkout-btn.addify-digital-goods-quick-checkout {
    margin: 10px 0;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
}
.addify-quick-checkout-btn:hover {
    background-color: #218838;
    color: #ffffff;
    text-decoration: none;
    /* Remove transform that causes misalignment */
    /* transform: translateY(-2px); */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    /* Ensure hover doesn't affect positioning */
    position: relative;
    z-index: 1;
    /* Maintain exact positioning */
    transform: none !important;
}
.addify-quick-checkout-btn:active {
    /* Remove transform that causes misalignment */
    /* transform: translateY(0); */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    /* Ensure active state doesn't affect positioning */
    position: relative;
    z-index: 1;
    /* Maintain exact positioning */
    transform: none !important;
}
.addify-quick-checkout-btn:focus {
    /* Ensure focus state doesn't affect positioning */
    outline: 2px solid #007bff;
    outline-offset: 2px;
    /* Maintain exact positioning */
    transform: none !important;
    position: relative;
    z-index: 1;
}
/* Button positioning and spacing */
.addify-digital-goods-quick-checkout {
    /* Ensure proper spacing when positioned relative to Add to Cart buttons */
    margin: 8px 0;
}
/* When positioned before Add to Cart button */
.addify-digital-goods-quick-checkout + .btn.btn-primary.add-to-cart,
.addify-digital-goods-quick-checkout + button.btn.btn-primary.add-to-cart,
.addify-digital-goods-quick-checkout + input.btn.btn-primary.add-to-cart {
    margin-top: 8px;
    margin-left: 10px; /* Add horizontal spacing */
}
/* When positioned after Add to Cart button */
.btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout,
button.btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout,
input.btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout {
    margin-top: 8px;
    margin-left: 10px; /* Add horizontal spacing */
}
/* Shop page specific positioning */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout {
    margin: 5px 0;
}
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout + .adatcb_btn,
.product-miniature.addify-dg-has-qc .adatcb_btn + .addify-digital-goods-quick-checkout {
    margin-top: 5px;
}
/* Shop page button styling when Add to Cart is VISIBLE - use original styling */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn {
    /* Original shop page styling when Add to Cart is visible */
    font-size: 12px !important;
    padding: 8px 16px !important;
    min-width: 100px !important;
    height: auto !important;
    line-height: normal !important;
    padding-top: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    border-color: initial !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    /* Ensure proper vertical stacking */
    display: block !important;
    width: 100% !important;
    /* Ensure no position shifting */
    transform: none !important;
    transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease !important;
}
/* Shop page button hover - no position shifting */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn:hover {
    /* Maintain exact positioning */
    transform: none !important;
    position: relative;
    z-index: 1;
}
/* Shop page button active - no position shifting */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn:active {
    /* Maintain exact positioning */
    transform: none !important;
    position: relative;
    z-index: 1;
}
/* Shop page button focus - no position shifting */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn:focus {
    /* Maintain exact positioning */
    transform: none !important;
    position: relative;
    z-index: 1;
    outline: 2px solid #007bff;
    outline-offset: 2px;
}
/* Shop page button alignment - vertical layout based on BO position setting */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout {
    display: block !important;
    vertical-align: top !important;
    margin: 5px 0 !important;
    /* Ensure buttons don't overflow container */
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent overflow issues */
    width: 100% !important;
    min-width: 0 !important;
    /* Ensure button is visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* When positioned before Add to Cart button */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout + .adatcb_btn {
    margin-left: 0;
    margin-top: 5px;
    vertical-align: top;
    /* Ensure buttons don't overflow container */
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent overflow issues */
    width: 100% !important;
    min-width: 0 !important;
}
/* When positioned after Add to Cart button */
.product-miniature.addify-dg-has-qc .adatcb_btn + .addify-digital-goods-quick-checkout {
    margin-left: 0;
    margin-top: 5px;
    vertical-align: top;
    /* Ensure buttons don't overflow container */
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent overflow issues */
    width: 100% !important;
    min-width: 0 !important;
}
/* Ensure both shop page buttons have identical dimensions and alignment */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn,
.product-miniature.addify-dg-has-qc .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart {
    height: 2.75rem !important;
    line-height: inherit !important;
    padding-top: .625rem !important;
    padding: 0.5rem !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    box-shadow: 2px 2px 4px 0 rgb(0 0 0 / 20%) !important;
    border-color: transparent !important;
    box-sizing: border-box !important;
    /* Ensure proper vertical stacking */
    display: block !important;
    width: 100% !important;
    /* Ensure buttons fit properly */
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    /* Prevent overflow issues */
    min-width: 0 !important;
    /* Ensure proper text display */
    word-wrap: break-word !important;
    hyphens: auto !important;
    /* Ensure button is visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* Container fixes to prevent button overflow - vertical layout */
.product-miniature.addify-dg-has-qc .adatcb_add,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Ensure container can accommodate both buttons vertically */
    display: block !important;
    vertical-align: top !important;
    /* Prevent overflow */
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Ensure proper button layout */
    white-space: normal !important;
    /* Fix for overflow issues */
    width: 100% !important;
    min-width: 0 !important;
    /* Ensure container expands to fit content */
    overflow: visible !important;
    /* Ensure container is visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* Fix for center-aligned containers */
div[style*="text-align: center"] .adatcb_add,
div[style*="text-align: center"] .adatcb_product-quantity {
    /* Override center alignment for button containers */
    text-align: center !important;
    /* Ensure buttons fit */
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Fix for overflow issues */
    width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    /* Ensure container is visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* Ensure buttons don't wrap or overflow - FIRST OCCURRENCE */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn,
.product-miniature.addify-dg-has-qc .adatcb_btn {
    /* Prevent wrapping */
    white-space: nowrap !important;
    /* Prevent overflow */
    overflow: hidden !important;
    /* Ensure proper sizing */
    box-sizing: border-box !important;
    /* Prevent text overflow */
    text-overflow: ellipsis !important;
    /* Fix for overflow issues */
    width: 100% !important;
    min-width: 0 !important;
    /* Ensure buttons stack vertically */
    max-width: 100% !important;
    display: block !important;
}
/* Fix product card container sizing to prevent button cutoff */
.product-miniature.addify-dg-has-qc {
    /* Force layout recalculation */
    transform: translateZ(0) !important;
    /* Ensure proper sizing */
    width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent overflow */
    overflow: visible !important;
    /* Ensure container can accommodate buttons */
    min-height: auto !important;
    height: auto !important;
}
/* Ensure button containers have proper height and don't cutoff buttons */
.product-miniature.addify-dg-has-qc .product-description,
.product-miniature.addify-dg-has-qc .product-miniature__bottom,
.product-miniature.addify-dg-has-qc .product-actions {
    /* Ensure button containers don't overflow */
    overflow: visible !important;
    width: 100% !important;
    box-sizing: border-box !important;
    /* Ensure proper height for buttons */
    min-height: auto !important;
    height: auto !important;
    /* Prevent cutoff */
    padding-bottom: 10px !important;
}
/* Fix button container layout - vertical stacking with proper height */
.product-miniature.addify-dg-has-qc .adatcb_add,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Ensure proper button layout - vertical stacking */
    display: block !important;
    width: 100% !important;
    /* Prevent overflow */
    overflow: visible !important;
    box-sizing: border-box !important;
    /* Remove inline layout that causes side-by-side display */
    display: block !important;
    /* Ensure container is visible */
    visibility: visible !important;
    opacity: 1 !important;
    /* Ensure proper height for buttons */
    min-height: auto !important;
    height: auto !important;
    /* Prevent cutoff */
    padding-bottom: 10px !important;
}
/* Ensure buttons in container don't overflow - vertical layout */
.product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity .adatcb_btn,
.product-miniature.addify-dg-has-qc #CART_BUTTON .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc #CART_BUTTON .adatcb_btn {
    /* Ensure buttons fit in container - vertical layout */
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    /* Prevent text overflow */
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    /* Ensure proper spacing between buttons */
    margin-bottom: 5px !important;
    box-sizing: border-box !important;
    /* Ensure buttons are visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* Responsive button layout for different screen sizes - vertical stacking */
@media (min-width: 992px) {
    /* Large screens - buttons stacked vertically */
    .product-miniature.addify-dg-has-qc .adatcb_add,
    .product-miniature.addify-dg-has-qc .adatcb_product-quantity,
    .product-miniature.addify-dg-has-qc #CART_BUTTON {
        display: block !important;
        width: 100% !important;
        white-space: normal !important;
        overflow: visible !important;
        min-width: 0 !important;
        max-width: 100% !important;
        /* Ensure container is visible */
        visibility: visible !important;
        opacity: 1 !important;
    }
    .product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
    .product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
    .product-miniature.addify-dg-has-qc .adatcb_product-quantity .addify-digital-goods-quick-checkout,
    .product-miniature.addify-dg-has-qc .adatcb_product-quantity .adatcb_btn,
    .product-miniature.addify-dg-has-qc #CART_BUTTON .addify-digital-goods-quick-checkout,
    .product-miniature.addify-dg-has-qc #CART_BUTTON .adatcb_btn {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin-bottom: 5px !important;
        /* Ensure buttons are visible */
        visibility: visible !important;
        opacity: 1 !important;
    }
}
@media (max-width: 991px) {
    /* Medium and small screens - buttons stacked vertically */
    .product-miniature.addify-dg-has-qc .adatcb_add,
    .product-miniature.addify-dg-has-qc .adatcb_product-quantity,
    .product-miniature.addify-dg-has-qc #CART_BUTTON {
        display: block !important;
        width: 100% !important;
        /* Ensure container is visible */
        visibility: visible !important;
        opacity: 1 !important;
    }
    .product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
    .product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
    .product-miniature.addify-dg-has-qc .adatcb_product-quantity .addify-digital-goods-quick-checkout,
    .product-miniature.addify-dg-has-qc .adatcb_product-quantity .adatcb_btn,
    .product-miniature.addify-dg-has-qc #CART_BUTTON .addify-digital-goods-quick-checkout,
    .product-miniature.addify-dg-has-qc #CART_BUTTON .adatcb_btn {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 5px !important;
        /* Ensure buttons are visible */
        visibility: visible !important;
        opacity: 1 !important;
    }
}
/* Ensure buttons don't wrap or overflow - SECOND OCCURRENCE */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn,
.product-miniature.addify-dg-has-qc .adatcb_btn {
    /* Prevent wrapping */
    white-space: nowrap !important;
    /* Prevent overflow */
    overflow: hidden !important;
    /* Ensure proper sizing */
    box-sizing: border-box !important;
    /* Prevent text overflow */
    text-overflow: ellipsis !important;
    /* Fix for overflow issues */
    width: 100% !important;
    min-width: 0 !important;
    /* Ensure buttons stack vertically */
    max-width: 100% !important;
    display: block !important;
}
/* Fix for specific button text overflow */
.product-miniature.addify-dg-has-qc .addify-quick-checkout-btn {
    /* Ensure "Quick Checkout" text is fully visible */
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    /* Adjust padding to accommodate text */
    padding: 0.5rem 0.75rem !important;
    /* Ensure button expands to fit content */
    width: 100% !important;
    min-width: 0 !important;
}
/* Force layout recalculation to prevent overflow */
.product-miniature.addify-dg-has-qc .adatcb_add,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Force layout recalculation */
    transform: translateZ(0) !important;
    /* Ensure proper sizing */
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    /* Prevent overflow */
    overflow: visible !important;
    /* Force container to expand */
    display: block !important;
}
/* Ensure buttons are properly sized within containers */
.product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity .adatcb_btn,
.product-miniature.addify-dg-has-qc #CART_BUTTON .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc #CART_BUTTON .adatcb_btn {
    /* Ensure buttons don't overflow their containers */
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    /* Prevent text overflow */
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    /* Ensure proper vertical stacking */
    display: block !important;
    margin-bottom: 0px !important;
}
/* Force layout recalculation for product cards */
.product-miniature.addify-dg-has-qc {
    /* Force layout recalculation */
    transform: translateZ(0) !important;
    /* Ensure proper sizing */
    width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent overflow */
    overflow: visible !important;
}
/* Fix for Bootstrap grid system */
.col-lg-4 .product-miniature.addify-dg-has-qc,
.col-xl-3 .product-miniature.addify-dg-has-qc,
.col-sm-6 .product-miniature.addify-dg-has-qc {
    /* Ensure product cards fit within grid columns */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}
/* Ensure button containers fit within product cards */
.col-lg-4 .product-miniature.addify-dg-has-qc .adatcb_add,
.col-xl-3 .product-miniature.addify-dg-has-qc .adatcb_add,
.col-sm-6 .product-miniature.addify-dg-has-qc .adatcb_add,
.col-lg-4 .product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.col-xl-3 .product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.col-sm-6 .product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.col-lg-4 .product-miniature.addify-dg-has-qc #CART_BUTTON,
.col-xl-3 .product-miniature.addify-dg-has-qc #CART_BUTTON,
.col-sm-6 .product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Ensure containers fit within grid */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    /* Force proper layout */
    display: block !important;
}
/* Ensure buttons fit within containers */
.col-lg-4 .product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
.col-xl-3 .product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
.col-sm-6 .product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
.col-lg-4 .product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
.col-xl-3 .product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
.col-sm-6 .product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn {
    /* Ensure buttons fit within grid containers */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent text overflow */
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    /* Ensure proper display */
    display: block !important;
    margin-bottom: 5px !important;
}
/* Final override to ensure buttons work in all scenarios - vertical layout */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_btn {
    /* Force proper sizing for vertical layout */
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    /* Ensure proper display for vertical stacking */
    display: block !important;
    vertical-align: top !important;
    /* Prevent overflow */
    overflow: visible !important;
    /* Force layout recalculation */
    transform: translateZ(0) !important;
    /* Ensure buttons are visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* Ensure button containers expand properly for vertical layout */
.product-miniature.addify-dg-has-qc .adatcb_add,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Force container expansion for vertical layout */
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    /* Ensure proper layout for vertical stacking */
    display: block !important;
    white-space: normal !important;
    /* Prevent overflow */
    overflow: visible !important;
    /* Force layout recalculation */
    transform: translateZ(0) !important;
    /* Ensure containers are visible */
    visibility: visible !important;
    opacity: 1 !important;
}
/* Specific positioning rules based on Back Office setting */
/* When Quick Checkout is positioned BEFORE Add to Cart */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout[data-position="before_add_to_cart"] {
    order: 1 !important;
    margin-bottom: 5px !important;
}
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout[data-position="before_add_to_cart"] + .adatcb_btn {
    order: 2 !important;
    margin-top: 5px !important;
}
/* When Quick Checkout is positioned AFTER Add to Cart */
.product-miniature.addify-dg-has-qc .adatcb_btn + .addify-digital-goods-quick-checkout[data-position="after_add_to_cart"] {
    order: 2 !important;
    margin-top: 5px !important;
}
.product-miniature.addify-dg-has-qc .adatcb_btn + .addify-digital-goods-quick-checkout[data-position="after_add_to_cart"] {
    order: 2 !important;
    margin-top: 5px !important;
}
/* Ensure proper spacing between buttons in vertical layout */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_btn {
    /* Ensure proper spacing in vertical layout */
    margin-bottom: 5px !important;
}
/* Remove bottom margin from last button */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout:last-child,
.product-miniature.addify-dg-has-qc .adatcb_btn:last-child {
    margin-bottom: 0 !important;
}
/* Fix for center-aligned containers that cause overflow */
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc .adatcb_add,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc .adatcb_product-quantity,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Override center alignment for button containers */
    text-align: left !important;
    /* Ensure buttons fit */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Fix for overflow issues */
    overflow: visible !important;
    display: block !important;
}
/* Ensure buttons in center-aligned containers don't overflow */
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc .adatcb_add .addify-digital-goods-quick-checkout,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc .adatcb_add .adatcb_btn,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc .adatcb_product-quantity .addify-digital-goods-quick-checkout,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc .adatcb_product-quantity .adatcb_btn,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc #CART_BUTTON .addify-digital-goods-quick-checkout,
div[style*="text-align: center"] .product-miniature.addify-dg-has-qc #CART_BUTTON .adatcb_btn {
    /* Ensure buttons fit in center-aligned containers */
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    /* Prevent text overflow */
    white-space: normal !important;
    word-wrap: break-word !important;
    hyphens: auto !important;
    /* Ensure proper display */
    display: block !important;
    margin-bottom: 5px !important;
    /* Override center alignment */
    text-align: center !important;
}
/* Fix for form containers that might cutoff buttons */
.product-miniature.addify-dg-has-qc form,
.product-miniature.addify-dg-has-qc #add-to-cart-or-refresh22,
.product-miniature.addify-dg-has-qc .unique22 {
    /* Ensure form containers don't cutoff buttons */
    overflow: visible !important;
    height: auto !important;
    min-height: auto !important;
    /* Ensure proper spacing */
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
}
/* Ensure the CART_BUTTON container has proper height */
.product-miniature.addify-dg-has-qc #CART_BUTTON {
    /* Ensure proper height for buttons */
    min-height: auto !important;
    height: auto !important;
    /* Prevent cutoff */
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
    /* Ensure container expands */
    overflow: visible !important;
}
/* Fix for product card bottom spacing */
.product-miniature.addify-dg-has-qc .thumbnail-container {
    /* Ensure proper spacing at bottom */
    padding-bottom: 10px !important;
    margin-bottom: 0 !important;
    /* Prevent cutoff */
    overflow: visible !important;
}
/* Ensure product description has proper bottom spacing */
.product-miniature.addify-dg-has-qc .product-description {
    /* Ensure proper spacing for buttons */
    padding-bottom: 15px !important;
    margin-bottom: 0 !important;
    /* Prevent cutoff */
    overflow: visible !important;
    /* Ensure container expands */
    height: auto !important;
    min-height: auto !important;
}
/* Set 192px ONLY when ATC is truly visible (avoid flicker when hidden by BO) */
.product-miniature.addify-dg-has-qc .product-description:not(.addify-add-to-cart-hidden):has(.addify-digital-goods-quick-checkout):has(.adatcb_btn):not(:has(.adatcb_btn.addify-hidden)):not(:has(.adatcb_btn[style*="display: none"])) {
    height: 192px !important;
    min-height: 192px !important;
}
/* When Add to Cart is hidden by BO (element exists but is hidden), force 125px */
.product-miniature.addify-dg-has-qc .product-description:has(.addify-digital-goods-quick-checkout):has(.adatcb_btn.addify-hidden),
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden:has(.addify-digital-goods-quick-checkout),
.product-miniature.addify-dg-has-qc .product-description:has(.addify-digital-goods-quick-checkout):has(#CART_BUTTON .adatcb_add.addify-hidden),
.product-miniature.addify-dg-has-qc .product-description:has(.addify-digital-goods-quick-checkout):has(.adatcb_qty.addify-hidden),
.product-miniature.addify-dg-has-qc .product-description:has(.addify-digital-goods-quick-checkout):has(.adatcb_btn[style*="display: none"]) {
    height: 125px !important;
    min-height: 125px !important;
}
/* Override when module hides Add to Cart (BO) but element still exists in DOM */
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden:has(.addify-digital-goods-quick-checkout):has(.adatcb_btn) {
    height: 125px !important;
    min-height: 125px !important;
}
/* Set product-description height to 125px when Add to Cart button is hidden by BO setting (even if Quick Checkout is present) */
.product-miniature.addify-dg-has-qc .product-description:not(:has(.adatcb_btn)) {
    height: 125px !important;
    min-height: 125px !important;
}
/* Ensure Quick Checkout button is visible when Add to Cart is hidden */
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden .addify-digital-goods-quick-checkout {
    /* Position button to be visible within 157px height */
    margin: 10px 0 !important;
    display: block !important;
    width: 100% !important;
    /* Ensure button is visible */
    visibility: visible !important;
    opacity: 1 !important;
    /* Position above the bottom to prevent cutoff */
    position: relative !important;
    z-index: 10 !important;
}
/* Alternative selector for browsers that don't support :has() */
.product-miniature.addify-dg-has-qc .product-description.addify-has-quick-checkout.addify-has-add-to-cart {
    height: 192px !important;
    min-height: 192px !important;
}
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden {
    height: 125px !important;
    min-height: 125px !important;
}
/* Collapse residual Add to Cart containers when hidden on shop cards */
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden #CART_BUTTON,
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden .adatcb_add,
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden .adatcb_qty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
/* Fallback for browsers using :has() based detection */
.product-miniature.addify-dg-has-qc .product-description:not(:has(.adatcb_btn)) #CART_BUTTON,
.product-miniature.addify-dg-has-qc .product-description:not(:has(.adatcb_btn)) .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc .product-description:not(:has(.adatcb_btn)) .adatcb_add,
.product-miniature.addify-dg-has-qc .product-description:not(:has(.adatcb_btn)) .adatcb_qty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
/* Card-level collapse when description indicates Add to Cart is hidden */
.product-miniature.addify-dg-has-qc:has(.product-description.addify-add-to-cart-hidden) #CART_BUTTON,
.product-miniature.addify-dg-has-qc:has(.product-description.addify-add-to-cart-hidden) .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc:has(.product-description.addify-add-to-cart-hidden) .adatcb_add,
.product-miniature.addify-dg-has-qc:has(.product-description.addify-add-to-cart-hidden) .adatcb_qty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
/* Remove padding from form wrapper when ATC hidden */
.product-miniature.addify-dg-has-qc:has(.product-description.addify-add-to-cart-hidden) form.addify-form-styles {
    padding-bottom: 0 !important;
}
/* Absolute bottom padding killer for stubborn inline styles */
.product-miniature.addify-dg-has-qc .addify-add-to-cart-hidden ~ form.addify-form-styles,
.product-miniature.addify-dg-has-qc .product-description.addify-add-to-cart-hidden + div form.addify-form-styles,
.product-miniature.addify-dg-has-qc form.addify-form-styles:has(#CART_BUTTON .adatcb_add.addify-hidden) {
    padding-bottom: 0 !important;
}
/* Card-level collapse when no Add to Cart exists anywhere inside card */
.product-miniature.addify-dg-has-qc:not(:has(.adatcb_btn)) #CART_BUTTON,
.product-miniature.addify-dg-has-qc:not(:has(.adatcb_btn)) .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc:not(:has(.adatcb_btn)) .adatcb_add,
.product-miniature.addify-dg-has-qc:not(:has(.adatcb_btn)) .adatcb_qty {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
}
/* Fix for the adatcb_add container specifically */
.product-miniature.addify-dg-has-qc .adatcb_add {
    /* Ensure proper height and spacing */
    min-height: auto !important;
    height: auto !important;
    /* Prevent cutoff */
    padding-bottom: 15px !important;
    margin-bottom: 0 !important;
    /* Ensure container expands */
    overflow: visible !important;
    /* Ensure proper display */
    display: block !important;
    width: 100% !important;
}
/* Ensure buttons have proper spacing and don't get cut off */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout,
.product-miniature.addify-dg-has-qc .adatcb_btn {
    /* Ensure proper spacing */
    margin-bottom: 8px !important;
    /* Prevent cutoff */
    position: relative !important;
    z-index: 1 !important;
    /* Ensure button is fully visible */
    overflow: visible !important;
}
/* Remove bottom margin from last button to prevent extra spacing */
.product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout:last-child,
.product-miniature.addify-dg-has-qc .adatcb_btn:last-child {
    margin-bottom: 0 !important;
}
/* Fix for the product card grid system to prevent cutoff */
.col-lg-4 .product-miniature.addify-dg-has-qc,
.col-xl-3 .product-miniature.addify-dg-has-qc,
.col-sm-6 .product-miniature.addify-dg-has-qc {
    /* Ensure product cards have proper height */
    height: auto !important;
    min-height: auto !important;
    /* Prevent cutoff */
    overflow: visible !important;
    /* Ensure proper spacing */
    margin-bottom: 20px !important;
}
/* Responsive fixes for small containers */
@media (max-width: 480px) {
    .addify-quick-checkout-btn {
        font-size: 14px;
        padding: 10px 20px;
        min-width: 120px;
        /* Ensure text is centered on medium mobile screens */
        text-align: center !important;
    }
    .cart-summary .addify-quick-checkout-btn {
        font-size: 16px;
        padding: 12px 24px;
        text-align: center !important;
    }
    .product-miniature.addify-dg-has-qc .addify-quick-checkout-btn {
        font-size: 11px;
        padding: 6px 12px;
        min-width: 90px;
        text-align: center !important;
    }
    /* Product page specific mobile centering */
    .product-actions .addify-quick-checkout-btn {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }
    /* Ensure all quick checkout buttons are centered on mobile */
    .addify-digital-goods-quick-checkout .addify-quick-checkout-btn {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }
}
@media (max-width: 480px) {
    .addify-quick-checkout-btn {
        font-size: 13px;
        padding: 8px 16px;
        min-width: 100px;
        /* Ensure text is always centered on mobile */
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }
    .product-actions .addify-quick-checkout-btn {
        margin-bottom: 8px;
        /* Force text centering on mobile for product page */
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }
    /* Ensure all quick checkout buttons are centered on mobile */
    .addify-digital-goods-quick-checkout .addify-quick-checkout-btn {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
    }
}
/* Message display */
.addify-digital-goods-message {
    padding: 15px;
    margin: 10px 0;
    border-radius: 4px;
    font-weight: 600;
    text-align: center;
    position: relative;
    z-index: 1000;
}
.addify-digital-goods-message.addify-digital-goods-error {
    background-color: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}
.addify-digital-goods-message.addify-digital-goods-success {
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}
.addify-digital-goods-message.addify-digital-goods-warning {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeaa7;
}
/* Fix for cart icon line-height issue */
.product-actions .add-to-cart .material-icons {
    line-height: 1 !important;
}
/* Comprehensive fix for cart icon - higher specificity */
body .product-actions .add-to-cart .material-icons,
body .product-actions .add-to-cart button .material-icons,
body .product-actions .add-to-cart a .material-icons {
    line-height: 1 !important;
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    font-size: 24px !important;
    vertical-align: middle !important;
    text-rendering: "optimizeLegibility" !important;
}
/* Maximum specificity fix - this should override ANY theme CSS */
html body .product-actions .add-to-cart .material-icons,
html body .product-actions .add-to-cart button .material-icons,
html body .product-actions .add-to-cart a .material-icons,
html body .product-actions .add-to-cart span .material-icons,
html body .product-actions .add-to-cart div .material-icons {
    line-height: 1 !important;
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    font-size: 24px !important;
    vertical-align: middle !important;
    text-rendering: "optimizeLegibility" !important;
}
/* Nuclear option - override any line-height inherit anywhere */
html body .material-icons[style*="line-height"],
html body .material-icons {
    line-height: 1 !important;
}
/* Nuclear option - override any line-height inherit anywhere */
.addify-digital-goods-quick-checkout .material-icons,
.addify-quick-checkout-btn .material-icons {
    line-height: 1 !important;
}
/* FINAL OVERRIDE: Ensure button spacing is always enforced */
/* These rules have maximum specificity and should override any conflicting styles */
/* Force spacing between Buy Now and Add to Cart buttons */
html body .product-actions .addify-digital-goods-quick-checkout + .btn.btn-primary.add-to-cart,
html body .product-actions .btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout,
html body .product-add-to-cart .addify-digital-goods-quick-checkout + .btn.btn-primary.add-to-cart,
html body .product-add-to-cart .btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout {
    margin-left: 4px !important;
}
/* Force spacing for all button combinations */
html body .addify-digital-goods-quick-checkout + .btn.btn-primary.add-to-cart,
html body .addify-digital-goods-quick-checkout + button.btn.btn-primary.add-to-cart,
html body .addify-digital-goods-quick-checkout + input.btn.btn-primary.add-to-cart,
html body .btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout,
html body button.btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout,
html body input.btn.btn-primary.add-to-cart + .addify-digital-goods-quick-checkout {
    margin-left: 0px !important;
}
/* Ensure buttons don't touch each other */
html body .addify-digital-goods-quick-checkout,
html body .btn.btn-primary.add-to-cart,
html body button.btn.btn-primary.add-to-cart,
html body input.btn.btn-primary.add-to-cart {
    margin-right: 3px !important;
}
/* Remove right margin from last button */
html body .addify-digital-goods-quick-checkout:last-child,
html body .btn.btn-primary.add-to-cart:last-child,
html body button.btn-primary.add-to-cart:last-child,
html body input.btn-primary.add-to-cart:last-child {
    margin-right: 0 !important;
}
/* Override any inline styles set by JavaScript */
.addify-digital-goods-quick-checkout[style*="margin"] {
    margin-right: -4px !important;
    margin-left: 0 !important;
}
.btn.btn-primary.add-to-cart[style*="margin"],
button.btn-primary.add-to-cart[style*="margin"],
input.btn-primary.add-to-cart[style*="margin"] {
    margin-left: 10px !important;
}
/* Force spacing even when JavaScript sets inline styles */
.addify-digital-goods-quick-checkout[style*="margin: 0"] {
    margin-right: -4px !important;
    margin-left: 0 !important;
}
.btn.btn-primary.add-to-cart[style*="margin: 0"],
button.btn-primary.add-to-cart[style*="margin: 0"],
input.btn-primary.add-to-cart[style*="margin: 0"] {
    margin-left: 0px !important;
}
/* FINAL OVERRIDE: Ensure shop page buttons are always stacked vertically */
/* This rule has maximum specificity and overrides any conflicting styles */
/* Shop page button vertical stacking - maximum priority */
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout,
html body .product-miniature.addify-dg-has-qc .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 8px !important;
    float: none !important;
    clear: both !important;
}
/* Ensure proper spacing between buttons in vertical stack */
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout + .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart,
html body .product-miniature.addify-dg-has-qc .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart + .addify-digital-goods-quick-checkout {
    margin-top: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* Remove bottom margin from last button to prevent extra spacing */
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout:last-child,
html body .product-miniature.addify-dg-has-qc .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart:last-child {
    margin-bottom: 0 !important;
}
/* Override any inline styles that might force horizontal layout */
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout[style*="display: inline"],
html body .product-miniature.addify-dg-has-qc .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart[style*="display: inline"] {
    display: block !important;
}
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout[style*="width: auto"],
html body .product-miniature.addify-dg-has-qc .adatcb_btn.adatcb_btn-primary.adatcb_cart_btn.adatcb_add-to-cart[style*="width: auto"] {
    width: 100% !important;
}
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout .addify-quick-checkout-btn[style*="width: auto"] {
    width: 100% !important;
}
/* FINAL OVERRIDE: Ensure button text is always centered on mobile devices */
/* This rule has maximum specificity and overrides any conflicting styles */
/* Mobile text centering - maximum priority */
@media (max-width: 768px) {
    html body .addify-quick-checkout-btn,
    html body .addify-digital-goods-quick-checkout .addify-quick-checkout-btn {
        justify-self: center !important;
        align-self: center !important;
        text-align: center !important;
    }
    /* Product page specific mobile centering */
    html body .product-actions .addify-quick-checkout-btn,
    html body .product-actions .addify-digital-goods-quick-checkout .addify-quick-checkout-btn {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
        margin: 0 auto !important;
    }
    /* Override any inline styles that might affect centering */
    html body .addify-quick-checkout-btn[style*="text-align"],
    html body .addify-digital-goods-quick-checkout .addify-quick-checkout-btn[style*="text-align"] {
        text-align: center !important;
    }
    html body .addify-quick-checkout-btn[style*="display: inline"],
    html body .addify-digital-goods-quick-checkout .addify-quick-checkout-btn[style*="display: inline"] {
        display: block !important;
    }
    html body .addify-quick-checkout-btn[style*="width: auto"],
    html body .addify-digital-goods-quick-checkout .addify-quick-checkout-btn[style*="width: auto"] {
        width: 100% !important;
    }
}
/* Extra small mobile devices */
@media (max-width: 480px) {
    html body .addify-quick-checkout-btn,
    html body .addify-digital-goods-quick-checkout .addify-quick-checkout-btn {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    /* Product page specific extra small mobile centering */
    html body .product-actions .addify-quick-checkout-btn,
    html body .product-actions .addify-digital-goods-quick-checkout .addify-quick-checkout-btn {
        text-align: center !important;
        display: block !important;
        width: 100% !important;
        margin: 0 auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        padding-top: 13px !important;
    }
}
/* FINAL OVERRIDE: Ensure product page buttons are always centered */
/* This rule has maximum specificity and overrides any conflicting styles */
/* Product page button centering - maximum priority */
html body .product-actions .addify-digital-goods-quick-checkout,
html body .product-actions .addify-quick-checkout-btn,
html body .product-add-to-cart .addify-digital-goods-quick-checkout,
html body .product-add-to-cart .addify-quick-checkout-btn {
    display: inline-block !important;
    width: auto !important;
    text-align: center !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}
/* Override any inline styles that might force horizontal layout */
html body .product-actions .addify-digital-goods-quick-checkout[style*="display: inline"],
html body .product-actions .addify-quick-checkout-btn[style*="display: inline"],
html body .product-add-to-cart .addify-digital-goods-quick-checkout[style*="display: inline"],
html body .product-add-to-cart .addify-quick-checkout-btn[style*="display: inline"] {
    display: block !important;
}
html body .product-actions .addify-digital-goods-quick-checkout[style*="width: auto"],
html body .product-actions .addify-quick-checkout-btn[style*="width: auto"],
html body .product-add-to-cart .addify-digital-goods-quick-checkout[style*="width: auto"],
html body .product-add-to-cart .addify-quick-checkout-btn[style*="width: auto"] {
    width: 100% !important;
}
/* Ensure buttons don't have conflicting margins */
html body .product-actions .addify-digital-goods-quick-checkout[style*="margin"],
html body .product-actions .addify-quick-checkout-btn[style*="margin"],
html body .product-add-to-cart .addify-digital-goods-quick-checkout[style*="margin"],
html body .product-add-to-cart .addify-quick-checkout-btn[style*="margin"] {
    margin: 0 auto !important;
}
/* Center Add to Cart on physical/pack cards (no Quick Checkout marker) */
.products .product-miniature:not(.addify-dg-has-qc) .adatcb_product-quantity .adatcb_add {
    float: none !important;
    display: inline-block !important;
}

/* Scoped override: When quantity box is present, restore default Add to Cart styling on shop card */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: none !important;
    box-shadow: none !important;
    white-space: normal !important;
}
/* Align quantity and Add to Cart inline with spacing */
.product-miniature.addify-has-qty .adatcb_product-quantity {
    display: inline-flex !important;
    gap: .8rem !important;
    align-items: center !important;
    width: auto !important;
    flex-wrap: nowrap !important;
}
/* Removed custom quantity styling - let other module handle it */
/* Container behaviors */
.product-miniature.addify-has-qty .adatcb_add {
    display: inline-flex !important;
    align-items: flex-start !important;
    width: auto !important;
    flex-direction: column !important;
}
.product-miniature.addify-has-qty #CART_BUTTON {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
}
/* Keep Quick Checkout styling intact and positioned below */
.product-miniature.addify-has-qty .addify-quick-checkout-btn,
.product-miniature.addify-has-qty .addify-digital-goods-quick-checkout {
    display: block !important;
    width: 100% !important;
    margin-top: .5rem !important;
}
/* Highest priority: defeat any previous full-width rules on A2C when qty present */
html body .product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_add .adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart {
    width: auto !important;
    max-width: none !important;
    display: inline-flex !important;
}

/* Ultra-high specificity overrides to prevent any layout flipping */
html body.ps-theme-classic .product-miniature.addify-has-qty .adatcb_product-quantity {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: .8rem !important;
    width: auto !important;
}

html body.ps-theme-classic .product-miniature.addify-has-qty .adatcb_add {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: auto !important;
}

html body.ps-theme-classic .product-miniature.addify-has-qty .adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart {
    width: auto !important;
    max-width: none !important;
    display: inline-flex !important;
    white-space: normal !important;
}

html body.ps-theme-classic .product-miniature.addify-has-qty .addify-digital-goods-quick-checkout {
    display: block !important;
    width: 100% !important;
    margin-top: .5rem !important;
}

/* Emergency overrides with maximum specificity */
html body div.product-miniature.addify-has-qty div.adatcb_product-quantity {
    display: inline-flex !important;
    flex-direction: row !important;
}

html body div.product-miniature.addify-has-qty div.adatcb_add {
    display: inline-flex !important;
    flex-direction: column !important;
}

html body div.product-miniature.addify-has-qty button.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart,
html body div.product-miniature.addify-has-qty input.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart {
    width: auto !important;
    display: inline-flex !important;
}

/* Nuclear-level overrides - target exact structure from the other module */
html body div.js-product.product article.product-miniature.addify-has-qty div.adatcb_product-quantity {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: .8rem !important;
    width: auto !important;
    flex-wrap: nowrap !important;
}

html body div.js-product.product article.product-miniature.addify-has-qty div.adatcb_add {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: auto !important;
}

html body div.js-product.product article.product-miniature.addify-has-qty button.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart {
    width: auto !important;
    max-width: none !important;
    min-width: auto !important;
    display: inline-flex !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    height: auto !important;
    line-height: inherit !important;
    padding: .625rem 1rem !important;
}

html body div.js-product.product article.product-miniature.addify-has-qty a.addify-digital-goods-quick-checkout {
    display: block !important;
    width: 100% !important;
    margin-top: .5rem !important;
}

/* Let quantity box use its natural styling */

/* Fix quantity box layout - ensure buttons appear beside input field */
html body div.js-product.product article.product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
}

html body div.js-product.product article.product-miniature.addify-has-qty .adatcb_input-group-btn-vertical {
    display: inline-flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
}

/* Override quantity input field height */
html body div.js-product.product article.product-miniature.addify-has-qty .adatcb_product-quantity input[id*="quantity_wanted"] {
    height: 2.94rem !important;
}

/* Digital/virtual cards only: ensure quantity input and arrows are perfectly aligned */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity .adatcb_input-group.adatcb_bootstrap-touchspin {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    vertical-align: top !important;
}
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity .adatcb_input-group-btn-vertical {
    display: inline-flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
}
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity input[id*="quantity_wanted"] {
    height: auto !important; /* let theme control height */
    line-height: normal !important;
}

/* Note: No overrides applied to physical products to preserve theme behavior */

/* Let the other module handle quantity box styling naturally - no interference */

/* Force specific button dimensions to match other module's expectations */
html body div.js-product.product article.product-miniature.addify-has-qty button.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart[style*="color: blue"] {
    color: blue !important;
    background-color: white !important;
    font-size: 10px !important;
    width: auto !important;
    max-width: none !important;
    height: 2.75rem !important;
    line-height: inherit !important;
    padding: .625rem 1rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

/* Add hover effect for better interaction */
html body div.js-product.product article.product-miniature.addify-has-qty button.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart[style*="color: blue"]:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* General Add to Cart button depth when quantity box is present */
html body div.js-product.product article.product-miniature.addify-has-qty button.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart {
    width: auto !important;
    max-width: none !important;
    min-width: auto !important;
    display: inline-flex !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    height: auto !important;
    line-height: inherit !important;
    padding: .625rem 1rem !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

/* Add hover effect for all Add to Cart buttons with quantity box */
html body div.js-product.product article.product-miniature.addify-has-qty button.adatcb_btn.adatcb_cart_btn.adatcb_add-to-cart:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
    transform: translateY(-1px) !important;
}

/* Hide quantity box when Add to Cart is hidden for virtual/digital products */
.product-miniature.addify-dg-has-qc .adatcb_qty.addify-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* Ensure the entire quantity container is hidden when both quantity box and add to cart are hidden */
.product-miniature.addify-dg-has-qc .adatcb_product-quantity:has(.adatcb_qty.addify-hidden) {
    display: none !important;
}

/* Alternative selector for browsers that dont support :has() */
.product-miniature.addify-dg-has-qc .adatcb_product-quantity.addify-quantity-hidden {
    display: none !important;
}

/* Position-specific styling for Quick Checkout button */
.addify-position-before_add_to_cart {
    order: 1 !important;
    margin-bottom: 8px !important;
}

.addify-position-after_add_to_cart {
    order: 2 !important;
    margin-top: 8px !important;
}

/* Ensure proper vertical stacking with position classes */
.product-miniature.addify-dg-has-qc .addify-position-before_add_to_cart + .adatcb_btn {
    order: 2 !important;
    margin-top: 8px !important;
}

.product-miniature.addify-dg-has-qc .adatcb_btn + .addify-position-after_add_to_cart {
    order: 2 !important;
    margin-top: 8px !important;
}

/* Force vertical stacking layout */
.product-miniature.addify-dg-has-qc .adatcb_add,
.product-miniature.addify-dg-has-qc .adatcb_product-quantity,
.product-miniature.addify-dg-has-qc #CART_BUTTON {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

/* Force vertical stacking layout with quantity box present */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_add,
.product-miniature.addify-dg-has-qty .adatcb_product-quantity,
.product-miniature.addify-dg-has-qty #CART_BUTTON {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0px !important;
}

/* Ensure proper positioning when quantity box is present */
.product-miniature.addify-dg-has-qc.addify-has-qty .addify-position-before_add_to_cart {
    order: 1 !important;
    margin-bottom: 8px !important;
}

.product-miniature.addify-dg-has-qc.addify-has-qty .addify-position-after_add_to_cart {
    order: 3 !important;
    margin-top: 8px !important;
}

/* Position Add to Cart button correctly with quantity box */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_btn.adatcb_add-to-cart {
    order: 2 !important;
    margin-top: 8px !important;
}

/* Make sure quantity box stays in the middle */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_qty {
    order: 0 !important;
    margin-bottom: 8px !important;
}

/* When position is "before", Quick Checkout comes before quantity box */
.product-miniature.addify-dg-has-qc.addify-has-qty .addify-position-before_add_to_cart {
    order: 1 !important;
    margin-bottom: 8px !important;
}

.product-miniature.addify-dg-has-qc.addify-has-qty .addify-position-before_add_to_cart + .adatcb_qty {
    order: 2 !important;
    margin: 0 0 8px 0 !important;
}

.product-miniature.addify-dg-has-qc.addify-has-qty .addify-position-before_add_to_cart + .adatcb_qty + .adatcb_btn.adatcb_add-to-cart {
    order: 3 !important;
    margin-top: 0 !important;
}

/* When position is "after", Quick Checkout comes after Add to Cart button */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_qty + .adatcb_btn.adatcb_add-to-cart + .addify-position-after_add_to_cart {
    order: 3 !important;
    margin-top: 8px !important;
}

/* FINAL OVERRIDE: Perfect text centering on shop page Quick Checkout button */
/* Scope strictly to product listing (shop) cards to avoid product page changes */
html body .product-miniature.addify-dg-has-qc .addify-quick-checkout-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 2.75rem !important;
    line-height: 2.75rem !important;
    padding: 0 !important;
}

/* Absolute final: use CSS grid to center in all edge cases on shop cards */
html body .products .product-miniature.addify-dg-has-qc a.addify-quick-checkout-btn,
html body .product-miniature.addify-dg-has-qc a.addify-quick-checkout-btn {
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 2.75rem !important;
    min-height: 2.75rem !important;
    line-height: normal !important;
    padding: 0 0.75rem !important;
}

/* Quantity spinner alignment fix: remove bottom sliver and align with buttons */
.product-miniature.addify-has-qty .adatcb_qty {
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}
.product-miniature.addify-has-qty .adatcb_qty .input-group,
.product-miniature.addify-has-qty .adatcb_qty .bootstrap-touchspin {
    margin: 0 !important;
}
.product-miniature.addify-has-qty .adatcb_qty .input-group {
    align-items: stretch !important;
}
.product-miniature.addify-has-qty .adatcb_qty input,
.product-miniature.addify-has-qty .adatcb_qty .form-control {
    line-height: 1 !important;
}

/* Remove residual bottom gap under quantity box on cards */
html body .product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_qty {
    margin-bottom: 0 !important;
}
html body .product-miniature.addify-dg-has-qc.addify-has-qty .addify-position-before_add_to_cart + .adatcb_qty {
    margin: 0 !important;
}

/* Final hard override: remove any baseline/margin gap under qty spinner */
html body .product-miniature.addify-has-qty .adatcb_qty {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    vertical-align: top !important;
}
html body .product-miniature.addify-has-qty .adatcb_qty * {
    line-height: normal !important;
}

/* Also kill baseline gap on the inline container itself */
html body .product-miniature.addify-has-qty .adatcb_product-quantity {
    line-height: 0 !important;
}
html body .product-miniature.addify-has-qty .adatcb_product-quantity * {
    line-height: normal !important;
}
/* Remove any framework margins on inner input groups */
html body .product-miniature.addify-has-qty .adatcb_qty .adatcb_input-group,
html body .product-miniature.addify-has-qty .adatcb_qty .input-group,
html body .product-miniature.addify-has-qty .adatcb_qty .bootstrap-touchspin {
    margin-bottom: 0 !important;
}

/* Restore native input height only for virtual/digital cards to match arrow column */
html body div.js-product.product article.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity input[id*="quantity_wanted"] {
    height: auto !important;
}
html body div.js-product.product article.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin {
    align-items: stretch !important;
    box-sizing: border-box !important;
}
html body div.js-product.product article.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_input-group-btn-vertical {
    display: flex !important;
    flex-direction: column !important;
    align-self: stretch !important;
    height: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* Prevent sub-pixel rounding that creates a 1px white strip */
html body .product-miniature.addify-has-qty .adatcb_product-quantity {
    transform: none !important;
}

/* Ensure the touchspin group fills its container with no internal gap */
html body .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin {
    align-items: stretch !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
html body .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin > *,
html body .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin input,
html body .product-miniature.addify-has-qty .adatcb_input-group-btn-vertical > * {
    height: 100% !important;
}

/* Absolute margin reset on the touchspin wrapper and its button column */
html body .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin,
html body .product-miniature.addify-has-qty .adatcb_input-group,
html body .product-miniature.addify-has-qty .adatcb_input-group-btn-vertical {
    margin: 0 !important;
}

/* Make arrow column fill remaining height and remove bottom notch on digital cards */
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_input-group-btn-vertical {
    height: 100% !important;
}
.product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_input-group-btn-vertical > * {
    flex: 1 1 50% !important;
    min-height: 0 !important;
}

/* Remove legacy bottom spacing under qty on digital/virtual cards */
html body .product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
html body .product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity .adatcb_add,
html body .product-miniature.addify-dg-has-qc.addify-has-qty .adatcb_product-quantity .adatcb_qty {
    margin-bottom: 0 !important;
}

/* Final fix: ensure the vertical arrow column aligns perfectly with the input box */
/* Scope to listing cards with quantity so we do not affect unrelated inputs */
.product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin {
    position: relative !important;
    overflow: hidden !important; /* hide any sub‑pixel overflow */
    align-items: stretch !important;
}
.product-miniature.addify-has-qty .adatcb_input-group-btn-vertical,
.product-miniature.addify-has-qty .bootstrap-touchspin .input-group-btn-vertical {
    height: calc(100% + 1px) !important; /* compensate rounding that leaves a 1px notch */
    margin: 0 !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: 1fr 1fr !important; /* make up/down halves equal */
}
.product-miniature.addify-has-qty .adatcb_input-group-btn-vertical > *,
.product-miniature.addify-has-qty .bootstrap-touchspin .input-group-btn-vertical > * {
    min-height: 0 !important;
    height: auto !important;
}
/* Keep split line between the two buttons consistent without changing theme colors */
.product-miniature.addify-has-qty .bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down,
.product-miniature.addify-has-qty .adatcb_input-group-btn-vertical .bootstrap-touchspin-down {
    border-top-width: 1px !important;
}

/* Hard alignment on product cards: make spinner exactly as tall as buttons */
html body .products .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin,
html body .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin {
    height: 2.75rem !important; /* match button height */
}
html body .products .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin input,
html body .product-miniature.addify-has-qty .adatcb_input-group.adatcb_bootstrap-touchspin input {
    height: 100% !important;
}
html body .products .product-miniature.addify-has-qty .adatcb_input-group-btn-vertical,
html body .product-miniature.addify-has-qty .adatcb_input-group-btn-vertical {
    height: 100% !important; /* fill wrapper with no bottom notch */
}

/* ... existing code ... */
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout .addify-quick-checkout-btn[style*="width: auto"] {
    width: 100% !important;
}
/* Targeted shop-page fix: add space only when Quick Checkout is directly
   before the Add to Cart button, without affecting quantity boxes */
html body .product-miniature.addify-dg-has-qc .addify-digital-goods-quick-checkout[data-position="before_add_to_cart"] + .adatcb_btn {
    margin-top: 12px !important;
}
/* FINAL OVERRIDE: Ensure button text is always centered on mobile devices */
/* ... existing code ... */

/* Shop page: ensure spacing when ADD TO CART precedes a BEFORE_ADD_TO_CART quick checkout (container-based) */
html body .adatcb_add:has(> a.addify-digital-goods-quick-checkout.addify-position-before_add_to_cart[data-location="shop_page"]) > .adatcb_btn {
    margin-bottom: 12px !important;
}
