/*
 * BVC UX Polish Styles
 * =====================
 * Smooth variation transitions and express payment button visibility.
 * Colors use CSS variables from bvc-variables.css.
 */

/* === SMOOTH VARIATION TRANSITIONS === */
.woocommerce-variation-price,
.woocommerce-variation-availability,
.single_variation_wrap .woocommerce-variation {
    transition: opacity var(--bvc-transition-slow), transform var(--bvc-transition-slow);
}

.single_variation_wrap .woocommerce-variation.bvc-fading {
    opacity: 0;
    transform: translateY(8px);
}

.single_variation_wrap .woocommerce-variation.bvc-visible {
    opacity: 1;
    transform: translateY(0);
}

.product_meta .sku_wrapper,
.product_meta {
    transition: opacity var(--bvc-transition-slow);
}

/* === Additional Information Table Transition === */
.woocommerce-product-attributes,
.woocommerce-Tabs-panel--additional_information table,
.woocommerce-Tabs-panel--additional_information {
    transition: opacity var(--bvc-transition-slow), transform var(--bvc-transition-slow);
}

.woocommerce-product-attributes.bvc-fading {
    opacity: 0;
    transform: translateY(6px);
}

.woocommerce-product-attributes.bvc-visible {
    opacity: 1;
    transform: translateY(0);
}

/* === Variation Swatch Hover Effects === */
.woo-variation-swatches .swatch-anchor {
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}

.woo-variation-swatches .swatch-anchor:hover {
    transform: translateY(-2px);
    box-shadow: var(--bvc-shadow-hover) !important;
}

.woo-variation-swatches .swatch-anchor.selected,
.woo-variation-swatches .swatch-anchor[aria-checked="true"] {
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2) !important;
}

/* === Add to Cart Button Pulse === */
.single_add_to_cart_button {
    transition: all var(--bvc-transition) !important;
}

.single_add_to_cart_button.bvc-pulse {
    animation: bvc-btn-pulse 0.5s ease;
}

@keyframes bvc-btn-pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.04); }
    100% { transform: scale(1); }
}

/* === HIDE EXPRESS/QUICK PAY BUTTONS OUTSIDE CHECKOUT === */
.single-product .wc-stripe-express-checkout-element,
.single-product #wc-stripe-express-checkout-wrapper,
.single-product .stripe-express-checkout-container,
.single-product #wc-stripe-payment-request-wrapper,
.single-product #wc-stripe-express-checkout-button-separator,
.single-product [id*="amazon-pay"],
.single-product [class*="amazon-pay"],
.single-product [id*="amazonpay"],
.single-product [class*="amazonpay"],
.single-product [id*="stripe-express"],
.single-product [class*="stripe-express"],
.single-product [id*="payment-request"],
.single-product [class*="payment-request"],
.single-product .wc-stripe-ece-wrapper,
.woocommerce-cart .wc-stripe-express-checkout-element,
.woocommerce-cart #wc-stripe-express-checkout-wrapper,
.woocommerce-cart .stripe-express-checkout-container,
.woocommerce-cart #wc-stripe-payment-request-wrapper,
.woocommerce-cart #wc-stripe-express-checkout-button-separator,
.woocommerce-cart [id*="amazon-pay"],
.woocommerce-cart [class*="amazon-pay"],
.woocommerce-cart [id*="amazonpay"],
.woocommerce-cart [class*="amazonpay"],
.woocommerce-cart [id*="stripe-express"],
.woocommerce-cart [class*="stripe-express"],
.woocommerce-cart .wc-stripe-ece-wrapper {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* === Allow Express Buttons on Checkout === */
.woocommerce-checkout .wc-stripe-express-checkout-element,
.woocommerce-checkout #wc-stripe-express-checkout-wrapper,
.woocommerce-checkout .stripe-express-checkout-container,
.woocommerce-checkout [id*="amazon-pay"],
.woocommerce-checkout [class*="amazon-pay"] {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

/* === User Approval — Pending Notice === */
.bvc-pending-notice {
    background: var(--bvc-warning-bg);
    border: 1px solid var(--bvc-warning);
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 20px;
}

.bvc-pending-notice h3 {
    margin-top: 0;
    color: var(--bvc-warning-text);
}

.bvc-pending-notice a {
    color: var(--bvc-accent);
}

/* === Price Tier Label === */
.bvc-price-label {
    color: var(--bvc-accent);
    font-weight: 600;
}
