/**
 * buttons.css
 * All theme buttons use configurable solid background/text/hover colors.
 * Change them in Appearance > Customize > Button colors.
 */
.hn-btn.loading{opacity:.6;pointer-events:none;}
.hn-btn.added::after{content:"\2713";font-weight:700;}
.hn-qbtn{width:40px;height:44px;border:0;background:none;font-size:20px;cursor:pointer;}
.hn-btn,.button,button.button,a.button,input[type=submit].button,.single_add_to_cart_button,#respond input#submit,.woocommerce-Button,.hn-news__form button{
display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 24px;
border:0;border-radius:10px;font:600 15px/1.2 var(--sans);letter-spacing:.01em;
color:var(--btn-primary-text);background:var(--btn-primary-bg);cursor:pointer;text-decoration:none;
box-shadow:0 4px 12px #0000001f;transition:background-color .2s,color .2s,transform .15s,box-shadow .2s;
}
.hn-btn:hover,.button:hover,.single_add_to_cart_button:hover,#respond input#submit:hover,.woocommerce-Button:hover,.hn-news__form button:hover{
background:var(--btn-primary-hover-bg);color:var(--btn-primary-hover-text);transform:translateY(-1px);box-shadow:0 6px 16px #00000029;
}
.hn-btn:active,.button:active{transform:none;}
.hn-btn--orange,.hn-btn--peach,.hn-news__form button{background:var(--btn-accent-bg);color:var(--btn-accent-text);}
.add_to_cart_button,.single_add_to_cart_button,.product_type_variable,.hn-sticky .hn-btn,#hn-sticky-btn{background:var(--btn-cart-bg);color:var(--btn-cart-text);}
.checkout-button{background:var(--btn-checkout-bg);color:var(--btn-checkout-text);}
.hn-btn--orange:hover,.hn-btn--peach:hover,.hn-news__form button:hover{background:var(--btn-accent-hover-bg);color:var(--btn-accent-hover-text);}
.add_to_cart_button:hover,.single_add_to_cart_button:hover,.product_type_variable:hover,.hn-sticky .hn-btn:hover,#hn-sticky-btn:hover{background:var(--btn-cart-hover-bg);color:var(--btn-cart-hover-text);}
.checkout-button:hover{background:var(--btn-checkout-hover-bg);color:var(--btn-checkout-hover-text);}
.hn-btn--light{background:var(--btn-light-bg);color:var(--btn-light-text);box-shadow:inset 0 0 0 1.5px var(--btn-light-border),0 2px 6px #0000000f;}
.hn-btn--light:hover{background:var(--btn-light-hover-bg);color:var(--btn-light-text);}
.hn-btn--block{display:flex;width:100%;}
.hn-btn--disabled,.hn-btn:disabled,.button:disabled,.button.disabled,.single_add_to_cart_button.disabled,.add_to_cart_button.disabled{
background:var(--btn-disabled-bg)!important;color:var(--btn-disabled-text)!important;box-shadow:none!important;cursor:not-allowed;pointer-events:none;filter:none;transform:none;
}
.btn-outofstock{
    background: #ffffff33 !important;
    color: red !important;
    border: 1px solid red !important;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:disabled[disabled]{
        color: #c62828 !important;
}
.hn-btn--disabled{
    color: #ff0000 !important;
    background: #c9cec685 !important;
}
.single_add_to_cart_button.hn-btn--buy,.hn-btn--buy{background:var(--btn-buy-bg);color:var(--btn-buy-text);}
.single_add_to_cart_button.hn-btn--buy:hover,.hn-btn--buy:hover{background:var(--btn-buy-hover-bg);color:var(--btn-buy-hover-text);}


/* Reusable Animated Button */
.hn-btn-animated {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    overflow: hidden;
    isolation: isolate;
    cursor: pointer;
    text-decoration: none !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        filter 0.25s ease !important;

    animation: hn-btn-pulse 3s ease-in-out infinite;
}

/* Shine animation */
.hn-btn-animated::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;

    background: linear-gradient(
        110deg,
        transparent,
        #ffffff45,
        transparent
    );

    transform: skewX(-20deg);
    pointer-events: none;
    z-index: 1;

    animation: hn-btn-shine 4s ease-in-out infinite;
}

/* Keep button content above shine */
.hn-btn-animated > * {
    position: relative;
    z-index: 2;
}

/* Hover effect */
.hn-btn-animated:hover {
    transform: translateY(-3px) scale(1.02);
    filter: brightness(1.08);
    box-shadow: 0 8px 22px #00000025;
}

/* Click effect */
.hn-btn-animated:active {
    transform: translateY(1px) scale(0.98);
}

/* Keyboard focus */
.hn-btn-animated:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

/* Gentle glow pulse */
@keyframes hn-btn-pulse {
    0%, 100% {
        box-shadow: 0 4px 12px #00000015;
    }
    50% {
        box-shadow: 0 7px 20px #00000025;
    }
}

/* Moving shine */
@keyframes hn-btn-shine {
    0%, 65% { left: -120%; }
    100% { left: 160%; }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .hn-btn-animated,
    .hn-btn-animated::before {
        animation: none !important;
        transition: none !important;
    }

    .hn-btn-animated:hover,
    .hn-btn-animated:active {
        transform: none;
    }
}