/* Saboon De Luxe — unified button hover layer (additive, load last) */

:root {
  --btn-hover-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --btn-hover-gold-soft: rgba(216, 194, 122, 0.12);
  --btn-hover-gold-glow: rgba(216, 194, 122, 0.2);
}

/* ── Primary buttons ── */
.btn:not(.btn-outline):not(.btn--danger),
.quick-view,
.campaign-popup__cta,
.pd-add-cart,
.cart-checkout-btn {
  transition:
    background-color 0.45s var(--btn-hover-ease),
    color 0.45s var(--btn-hover-ease),
    border-color 0.45s var(--btn-hover-ease),
    box-shadow 0.45s var(--btn-hover-ease);
}

.btn:not(.btn-outline):not(.btn--danger):hover,
.btn:not(.btn-outline):not(.btn--danger):focus-visible,
.quick-view:hover,
.quick-view:focus-visible,
.campaign-popup__cta:hover,
.campaign-popup__cta:focus-visible,
.pd-add-cart:hover,
.pd-add-cart:focus-visible,
.qv-add:hover,
.qv-add:focus-visible,
.cart-checkout-btn:hover,
.cart-checkout-btn:focus-visible {
  background-color: var(--ivory);
  color: var(--bg);
  box-shadow: 0 6px 22px var(--btn-hover-gold-glow);
}

/* ── Outline buttons ── */
.btn-outline,
.cart-continue,
.shop-quick-add__btn {
  transition:
    background-color 0.45s var(--btn-hover-ease),
    color 0.45s var(--btn-hover-ease),
    border-color 0.45s var(--btn-hover-ease),
    box-shadow 0.45s var(--btn-hover-ease);
}

.btn-outline:hover,
.btn-outline:focus-visible,
.cart-continue:hover,
.cart-continue:focus-visible,
.shop-quick-add__btn:hover,
.shop-quick-add__btn:focus-visible {
  background-color: var(--btn-hover-gold-soft);
  border-color: var(--gold);
  color: var(--gold);
  box-shadow: 0 4px 16px rgba(216, 194, 122, 0.1);
}

/* ── Danger buttons ── */
.btn--danger {
  transition:
    background-color 0.45s var(--btn-hover-ease),
    color 0.45s var(--btn-hover-ease),
    border-color 0.45s var(--btn-hover-ease);
}

.btn--danger:hover,
.btn--danger:focus-visible {
  background-color: rgba(232, 164, 164, 0.12);
  border-color: rgba(232, 164, 164, 0.62);
  color: #e8a4a4;
}

/* ── Luxury buttons (enhance existing hovers) ── */
.lux-btn:hover:not(:disabled),
.lux-btn:focus-visible:not(:disabled) {
  box-shadow: 0 4px 20px rgba(216, 194, 122, 0.14);
}

/* ── Icon / utility buttons ── */
.shop-wishlist,
.admin-topbar__toggle,
.qty-btn,
.icon-link,
.nav-toggle,
.lang-switch__btn,
.search-close,
.scroll-top,
.mega-menu__close,
.qv-close,
.nl-popup__close,
.campaign-popup__close,
.shop-sort__btn,
.chip,
.brand-video__play,
.lux-discover__nav,
.lux-wishlist {
  transition:
    background-color 0.45s var(--btn-hover-ease),
    color 0.45s var(--btn-hover-ease),
    border-color 0.45s var(--btn-hover-ease),
    box-shadow 0.45s var(--btn-hover-ease),
    transform 0.45s var(--btn-hover-ease),
    opacity 0.45s var(--btn-hover-ease);
}

.shop-wishlist:hover,
.shop-wishlist:focus-visible,
.shop-wishlist.is-active {
  border-color: var(--gold);
  color: var(--gold);
}

.admin-topbar__toggle:hover,
.admin-topbar__toggle:focus-visible {
  border-color: var(--gold);
  color: var(--gold);
}

.qv-qty .qty-btn:hover,
.qv-qty .qty-btn:focus-visible {
  color: var(--gold);
  border-color: var(--gold);
}

.shop-sort__btn:hover,
.shop-sort__btn:focus-visible {
  background-color: var(--btn-hover-gold-soft);
  color: var(--gold);
}

.chip:hover:not(.active),
.chip:focus-visible:not(.active) {
  background-color: var(--btn-hover-gold-soft);
}

.brand-video__play:hover .brand-video__play-icon,
.brand-video__play:focus-visible .brand-video__play-icon {
  border-color: var(--gold);
  box-shadow: 0 8px 28px rgba(216, 194, 122, 0.18);
}

/* ── FAQ / accordion triggers ── */
.contact-faq-trigger:hover,
.contact-faq-trigger:focus-visible,
.cp-faq__trigger:hover,
.cp-faq__trigger:focus-visible {
  opacity: 0.92;
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  .btn-outline,
  .btn--danger,
  .quick-view,
  .shop-quick-add__btn,
  .shop-wishlist,
  .admin-topbar__toggle,
  .qty-btn,
  .lux-btn,
  .icon-link,
  .nav-toggle,
  .lang-switch__btn,
  .search-close,
  .scroll-top,
  .mega-menu__close,
  .qv-close,
  .nl-popup__close,
  .campaign-popup__close,
  .shop-sort__btn,
  .chip,
  .brand-video__play,
  .lux-discover__nav,
  .lux-wishlist,
  .cart-continue,
  .campaign-popup__cta,
  .pd-add-cart,
  .qv-add,
  .cart-checkout-btn {
    transition: none;
  }
}
