/**
 * Theme-first guard against Elementor Site Kit globals.
 *
 * Elementor attaches something like body.elementor-kit-{id} and emits broad rules such as
 * `.elementor-kit-5 button { background-color: var(--e-global-color-accent); }`, which can
 * override WooCommerce and haveitall header/cart chrome after you define a palette in Site Settings.
 *
 * This file loads after Elementor kit CSS and restores theme tokens only inside commerce +
 * haveitall surfaces. Pure Elementor widgets (forms, Theme Builder buttons, etc.) keep kit styles.
 *
 * Disable: add_filter( 'haveitall_shop_elementor_kit_guard_enabled', '__return_false' );
 */

/* --- WooCommerce primary actions (match global.css intent, beat kit specificity) --- */
body[class*="elementor-kit"] .woocommerce :is(
  a.button.alt,
  button.button.alt,
  input.button.alt,
  .single_add_to_cart_button,
  .checkout-button,
  #place_order
) {
  background: var(--color-accent) !important;
  background-color: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
  color: #ffffff !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

body[class*="elementor-kit"] .woocommerce :is(
  a.button.alt,
  button.button.alt,
  input.button.alt,
  .single_add_to_cart_button,
  .checkout-button,
  #place_order
):hover,
body[class*="elementor-kit"] .woocommerce :is(
  a.button.alt,
  button.button.alt,
  input.button.alt,
  .single_add_to_cart_button,
  .checkout-button,
  #place_order
):focus-visible {
  background: var(--color-accent-hover) !important;
  background-color: var(--color-accent-hover) !important;
  border-color: var(--color-accent-hover) !important;
  color: #ffffff !important;
}

/* Secondary / outline Woo buttons (non-.alt) */
body[class*="elementor-kit"] .woocommerce a.button:not(.alt):not(.add_to_cart_button):not(.single_add_to_cart_button),
body[class*="elementor-kit"] .woocommerce button.button:not(.alt):not(.single_add_to_cart_button),
body[class*="elementor-kit"] .woocommerce input.button:not(.alt) {
  background: var(--haveitall-surface, #ffffff) !important;
  background-color: var(--haveitall-surface, #ffffff) !important;
  color: var(--color-primary) !important;
  border-color: var(--haveitall-border-ui, var(--color-border)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

/* Quantity +/- and other neutral Woo buttons */
body[class*="elementor-kit"] .woocommerce .quantity button,
body[class*="elementor-kit"] .woocommerce .quantity input[type="button"],
body[class*="elementor-kit"] .haveitall-cart-item-qty button {
  background: var(--haveitall-accent-soft, var(--color-accent-soft)) !important;
  background-color: var(--haveitall-accent-soft, var(--color-accent-soft)) !important;
  color: var(--haveitall-accent-on-soft, var(--color-accent-hover)) !important;
  border-color: var(--haveitall-accent-soft-strong, color-mix(in srgb, var(--color-accent) 20%, #ffffff)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

/* haveitall cart drawer chrome (native <button> gets kit accent otherwise) */
body[class*="elementor-kit"] .haveitall-cart-overlay {
  background: rgba(15, 23, 42, 0.45) !important;
  background-color: rgba(15, 23, 42, 0.45) !important;
  color: inherit !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

body[class*="elementor-kit"] .haveitall-cart-close {
  background: var(--haveitall-surface, #ffffff) !important;
  background-color: var(--haveitall-surface, #ffffff) !important;
  color: var(--haveitall-slate-700, var(--color-text)) !important;
  border-color: var(--haveitall-border-ui, var(--color-border)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

body[class*="elementor-kit"] .haveitall-cart-actions a:first-child {
  color: var(--haveitall-accent-on-soft, var(--color-accent-hover)) !important;
  background: var(--haveitall-accent-soft, var(--color-accent-soft)) !important;
  background-color: var(--haveitall-accent-soft, var(--color-accent-soft)) !important;
  border-color: var(--haveitall-accent-border, color-mix(in srgb, var(--color-accent) 20%, #ffffff)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

body[class*="elementor-kit"] .haveitall-cart-actions a:last-child {
  color: var(--haveitall-text-inverse, #ffffff) !important;
  background: var(--haveitall-dark-1, var(--color-text)) !important;
  background-color: var(--haveitall-dark-1, var(--color-text)) !important;
  border-color: var(--haveitall-dark-1, var(--color-text)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

/* Header search submit buttons */
body[class*="elementor-kit"] .haveitall-nav-search-form button,
body[class*="elementor-kit"] .haveitall-mobile-search-form button {
  background: var(--haveitall-accent-soft, var(--color-accent-soft)) !important;
  background-color: var(--haveitall-accent-soft, var(--color-accent-soft)) !important;
  color: var(--haveitall-accent-on-soft, var(--color-accent-hover)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

/* Theme marketing CTAs outside Woo but using haveitall classes */
body[class*="elementor-kit"] :is(.haveitall-btn, .haveitall-cta, .haveitall-btn--primary) {
  background: var(--button-primary-bg, var(--color-accent)) !important;
  background-color: var(--button-primary-bg, var(--color-accent)) !important;
  color: var(--button-primary-fg, #ffffff) !important;
  border-color: var(--button-primary-bg, var(--color-accent)) !important;
  font-family: var(--haveitall-font-primary, "IRANYekan", sans-serif) !important;
}

body[class*="elementor-kit"] :is(.haveitall-btn, .haveitall-cta, .haveitall-btn--primary):hover,
body[class*="elementor-kit"] :is(.haveitall-btn, .haveitall-cta, .haveitall-btn--primary):focus-visible {
  background: var(--button-primary-bg-hover, var(--color-accent-hover)) !important;
  background-color: var(--button-primary-bg-hover, var(--color-accent-hover)) !important;
  border-color: var(--button-primary-bg-hover, var(--color-accent-hover)) !important;
  color: var(--button-primary-fg, #ffffff) !important;
}
