/*
 * Shahin Portfolio — WooCommerce button authority
 * Version 1.9.14
 *
 * This file is intentionally loaded after every other WooCommerce stylesheet.
 * All WooCommerce action buttons inherit the exact interaction model used by
 * the homepage buttons: translateY(-3px) on hover and a subtle pressed state.
 */

/* Shared foundation: secondary button by default. */
html body :is(
    .woocommerce a.button:not(.remove):not(.reset_variations),
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce input[type="submit"],
    .woocommerce #respond input#submit,
    .woocommerce form button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
    .woocommerce-page a.button:not(.remove):not(.reset_variations),
    .woocommerce-page button.button,
    .woocommerce-page input.button,
    .woocommerce-page input[type="submit"],
    .woocommerce-page #respond input#submit,
    .woocommerce-page form button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
    a.added_to_cart.wc-forward,
    .woocommerce-notices-wrapper a.button,
    .woocommerce-message a.button,
    .woocommerce-info a.button,
    .woocommerce-error a.button,
    .woocommerce-notice a.button,
    .woocommerce-mini-cart__buttons a.button,
    .wc-block-components-button:not(.wc-block-components-quantity-selector__button):not(.wc-block-components-drawer__close),
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-totals-coupon__button,
    .wc-block-components-product-button__button,
    .wc-block-mini-cart__footer-actions a,
    .shahin-commerce-widget a.button,
    .shahin-commerce-widget-actions a,
    .shahin-woo-shell .btn,
    .shahin-woo-layout .btn,
    .shahin-woo-layout button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
    .shahin-buy-now-button,
    .shahin-download-button
) {
    --shahin-wc-button-bg: rgba(255,255,255,.04);
    --shahin-wc-button-color: var(--text);
    --shahin-wc-button-border: var(--line);
    --shahin-wc-button-hover-border: rgba(255,255,255,.24);
    --shahin-wc-button-shadow: none;
    --shahin-wc-button-height: 48px;
    --shahin-wc-button-padding-inline: 20px;
    --shahin-wc-button-font-size: 14px;

    -webkit-appearance: none !important;
    appearance: none !important;
    position: relative !important;
    isolation: isolate !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: var(--shahin-wc-button-height) !important;
    padding: 0 var(--shahin-wc-button-padding-inline) !important;
    overflow: hidden !important;
    border: 1px solid var(--shahin-wc-button-border) !important;
    border-radius: 999px !important;
    color: var(--shahin-wc-button-color) !important;
    background: var(--shahin-wc-button-bg) !important;
    box-shadow: var(--shahin-wc-button-shadow) !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: var(--shahin-wc-button-font-size) !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transform: translateY(0) !important;
    filter: none !important;
    animation: none !important;
    transition: transform .25s ease, border-color .25s ease, background .25s ease !important;
}

/* Primary WooCommerce actions keep the homepage primary-button appearance. */
html body :is(
    .woocommerce a.button.alt,
    .woocommerce button.button.alt,
    .woocommerce input.button.alt,
    .woocommerce .single_add_to_cart_button,
    .woocommerce .checkout-button,
    .woocommerce #place_order,
    .woocommerce a.woocommerce-MyAccount-downloads-file,
    .woocommerce .woocommerce-Downloads a.button,
    .woocommerce .woocommerce-order-downloads a.button,
    .woocommerce .woocommerce-table--order-downloads a.button,
    .woocommerce-page a.button.alt,
    .woocommerce-page button.button.alt,
    .woocommerce-page input.button.alt,
    .woocommerce-page .single_add_to_cart_button,
    .woocommerce-page .checkout-button,
    .woocommerce-page #place_order,
    .woocommerce-page a.woocommerce-MyAccount-downloads-file,
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-product-button__button,
    .wc-block-mini-cart__footer-checkout,
    .shahin-solid-button,
    .shahin-buy-now-button,
    .shahin-download-button,
    .shahin-woo-checkout-button
) {
    --shahin-wc-button-bg: linear-gradient(135deg,var(--accent),var(--accent-2));
    --shahin-wc-button-color: #fff;
    --shahin-wc-button-border: transparent;
    --shahin-wc-button-hover-border: transparent;
    --shahin-wc-button-shadow: 0 16px 40px rgba(108,99,255,.26);
}

/* Exact homepage hover effect — no WooCommerce color/filter/shine override. */
@media (hover: hover) and (pointer: fine) {
    html body :is(
        .woocommerce a.button:not(.remove):not(.reset_variations),
        .woocommerce button.button,
        .woocommerce input.button,
        .woocommerce input[type="submit"],
        .woocommerce #respond input#submit,
        .woocommerce form button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
        .woocommerce-page a.button:not(.remove):not(.reset_variations),
        .woocommerce-page button.button,
        .woocommerce-page input.button,
        .woocommerce-page input[type="submit"],
        .woocommerce-page #respond input#submit,
        .woocommerce-page form button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
        a.added_to_cart.wc-forward,
        .woocommerce-notices-wrapper a.button,
        .woocommerce-message a.button,
        .woocommerce-info a.button,
        .woocommerce-error a.button,
        .woocommerce-notice a.button,
        .woocommerce-mini-cart__buttons a.button,
        .wc-block-components-button:not(.wc-block-components-quantity-selector__button):not(.wc-block-components-drawer__close),
        .wc-block-cart__submit-button,
        .wc-block-components-checkout-place-order-button,
        .wc-block-components-totals-coupon__button,
        .wc-block-components-product-button__button,
        .wc-block-mini-cart__footer-actions a,
        .shahin-commerce-widget a.button,
        .shahin-commerce-widget-actions a,
        .shahin-woo-shell .btn,
        .shahin-woo-layout .btn,
        .shahin-woo-layout button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
        .shahin-buy-now-button,
        .shahin-download-button
    ):not(:disabled):not(.disabled):not([aria-disabled="true"]):hover {
        color: var(--shahin-wc-button-color) !important;
        background: var(--shahin-wc-button-bg) !important;
        border-color: var(--shahin-wc-button-hover-border) !important;
        box-shadow: var(--shahin-wc-button-shadow) !important;
        transform: translateY(-3px) !important;
        filter: none !important;
    }
}

/* Same pressed state as .btn on the homepage. */
html body :is(
    .woocommerce a.button:not(.remove):not(.reset_variations),
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce input[type="submit"],
    .woocommerce #respond input#submit,
    .woocommerce form button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
    .woocommerce-page a.button:not(.remove):not(.reset_variations),
    .woocommerce-page button.button,
    .woocommerce-page input.button,
    .woocommerce-page input[type="submit"],
    .woocommerce-page #respond input#submit,
    .woocommerce-page form button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
    a.added_to_cart.wc-forward,
    .woocommerce-notices-wrapper a.button,
    .woocommerce-message a.button,
    .woocommerce-info a.button,
    .woocommerce-error a.button,
    .woocommerce-notice a.button,
    .woocommerce-mini-cart__buttons a.button,
    .wc-block-components-button:not(.wc-block-components-quantity-selector__button):not(.wc-block-components-drawer__close),
    .wc-block-cart__submit-button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-totals-coupon__button,
    .wc-block-components-product-button__button,
    .wc-block-mini-cart__footer-actions a,
    .shahin-commerce-widget a.button,
    .shahin-commerce-widget-actions a,
    .shahin-woo-shell .btn,
    .shahin-woo-layout .btn,
    .shahin-woo-layout button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch),
    .shahin-buy-now-button,
    .shahin-download-button
):not(:disabled):not(.disabled):not([aria-disabled="true"]):active {
    color: var(--shahin-wc-button-color) !important;
    background: var(--shahin-wc-button-bg) !important;
    border-color: var(--shahin-wc-button-hover-border) !important;
    box-shadow: var(--shahin-wc-button-shadow) !important;
    transform: translateY(-1px) scale(.98) !important;
    filter: none !important;
}

html body :is(
    .woocommerce a.button:not(.remove):not(.reset_variations),
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce input[type="submit"],
    .woocommerce #respond input#submit,
    .woocommerce-page a.button:not(.remove):not(.reset_variations),
    .woocommerce-page button.button,
    .woocommerce-page input.button,
    .wc-block-components-button:not(.wc-block-components-quantity-selector__button):not(.wc-block-components-drawer__close),
    .shahin-woo-shell .btn,
    .shahin-woo-layout .btn
):focus-visible {
    outline: 2px solid var(--accent-2) !important;
    outline-offset: 3px !important;
}

html body :is(
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce input[type="submit"],
    .woocommerce-page button.button,
    .woocommerce-page input.button,
    .wc-block-components-button,
    .shahin-woo-layout button[type="submit"]
):disabled,
html body :is(
    .woocommerce a.button,
    .woocommerce-page a.button,
    .wc-block-components-button,
    .shahin-woo-layout .btn
).disabled,
html body :is(
    .woocommerce a.button,
    .woocommerce-page a.button,
    .wc-block-components-button,
    .shahin-woo-layout .btn
)[aria-disabled="true"] {
    opacity: .5 !important;
    cursor: not-allowed !important;
    transform: none !important;
    filter: none !important;
}

/* Keep WooCommerce loading feedback, but never let it become a shine layer. */
html body :is(
    .woocommerce .button.loading,
    .woocommerce-page .button.loading,
    .wc-block-components-button.is-loading
)::before {
    animation-duration: .8s !important;
}

/* On touch devices there is no synthetic hover movement. */
@media (hover: none), (pointer: coarse) {
    html body :is(
        .woocommerce a.button:not(.remove):not(.reset_variations),
        .woocommerce button.button,
        .woocommerce input.button,
        .woocommerce input[type="submit"],
        .woocommerce-page a.button:not(.remove):not(.reset_variations),
        .woocommerce-page button.button,
        .woocommerce-page input.button,
        a.added_to_cart.wc-forward,
        .woocommerce-notices-wrapper a.button,
        .woocommerce-mini-cart__buttons a.button,
        .wc-block-components-button:not(.wc-block-components-quantity-selector__button):not(.wc-block-components-drawer__close),
        .shahin-woo-shell .btn,
        .shahin-woo-layout .btn,
        .shahin-woo-layout button[type="submit"]:not(.shahin-woo-remove):not(.shahin-woo-switch)
    ):hover {
        transform: translateY(0) !important;
    }
}

/* ---------------------------------------------------------
 * Product-card action size authority — v1.9.14
 * ---------------------------------------------------------
 * WooCommerce's catalog CSS assigns a smaller font and padding to the first
 * add-to-cart button, while its dynamic "View cart" link uses another rule.
 * These high-specificity selectors force both actions through one size system.
 */
html body .woocommerce ul.products li.product :is(
    a.button:not(.remove):not(.reset_variations),
    button.button,
    a.added_to_cart.wc-forward
),
html body.woocommerce-page ul.products li.product :is(
    a.button:not(.remove):not(.reset_variations),
    button.button,
    a.added_to_cart.wc-forward
),
html body .wc-block-grid__products .wc-block-grid__product :is(
    .wp-block-button__link,
    .wc-block-grid__product-add-to-cart a,
    a.added_to_cart.wc-forward
),
html body .wc-block-product-template :is(
    .wc-block-components-product-button__button,
    a.added_to_cart.wc-forward
) {
    min-height: var(--shahin-wc-button-height, 48px) !important;
    padding-block: 0 !important;
    padding-inline: var(--shahin-wc-button-padding-inline, 20px) !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    font-size: var(--shahin-wc-button-font-size, 14px) !important;
    font-weight: 800 !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    text-indent: 0 !important;
}

/* The two catalog actions must occupy the same visual width. */
html body .woocommerce ul.products li.product > :is(
    a.button:not(.remove):not(.reset_variations),
    a.added_to_cart.wc-forward
),
html body.woocommerce-page ul.products li.product > :is(
    a.button:not(.remove):not(.reset_variations),
    a.added_to_cart.wc-forward
),
html body .wc-block-grid__product :is(
    .wc-block-grid__product-add-to-cart a,
    a.added_to_cart.wc-forward
) {
    width: 100% !important;
    max-width: none !important;
}

/* Dynamic view-cart links keep only a small vertical separation. */
html body .woocommerce ul.products li.product a.added_to_cart.wc-forward,
html body.woocommerce-page ul.products li.product a.added_to_cart.wc-forward,
html body .wc-block-grid__product a.added_to_cart.wc-forward,
html body .wc-block-product-template a.added_to_cart.wc-forward {
    margin-block: 8px 0 !important;
    margin-inline: 0 !important;
    white-space: nowrap !important;
}

