/**
 * Cubner — états hover globaux (convention DS inférée, non Figma)
 * Source: .cursor/design-system/implementation.md
 */

:root {
  --cubner-hover-filter: brightness(0.9);
  --cubner-hover-image-filter: brightness(0.96);
  --cubner-hover-duration: 150ms;
  --cubner-hover-link-opacity: 0.8;
  --cubner-shadow-card-hover: 0 4px 22px rgb(0 0 0 / 12%);
  --cubner-shadow-blog-card-hover: 0 4px 16px rgb(0 0 0 / 8%);
  --cubner-shadow-shop-card-hover: 0 4px 14px rgb(0 0 0 / 8%);
  --cubner-shadow-blog-featured-hover: 0 4px 8px rgb(0 0 0 / 8%);
}

@media (prefers-reduced-motion: no-preference) {
  .cubner-v2-button .elementor-button,
  .cubner-v2-quote .elementor-button,
  .cubner-button,
  .cbn-devis-btn,
  .cubner-p-btn,
  .cubner-p-page .elementor-button.cubner-p-btn,
  .cubner-blog-featured__cta,
  .cubner-cart-checkout,
  .cubner-cart-reco__add,
  .cubner-mini-cart__btn,
  .cbn-wizard__btn--primary,
  .cubner-checkout__submit,
  .cubner-devis-form .elementor-button[type="submit"],
  .cubner-devis-form .elementor-field-type-upload > label,
  .cubner-v2-nav .elementor-item,
  .cubner-v2-hero__links a,
  .cubner-v2-utility__link a,
  .cubner-v2-phone a,
  .cubner-v2-footer__links a,
  .cubner-v2-footer__legal-links a,
  .cubner-v2-footer__address a,
  .cubner-v2-footer__social a,
  .cubner-blog-card__link,
  .cubner-blog-featured__title a,
  .cubner-shop__breadcrumb a,
  .cubner-blog__breadcrumb a,
  .cubner-v2-product-card,
  .cubner-v2-standards-card,
  .cubner-v2-amenagement-card,
  .cubner-shop-card,
  .cubner-blog-card,
  .cubner-blog-featured__card,
  .cubner-cart-reco__card {
    transition:
      filter var(--cubner-hover-duration) ease,
      box-shadow var(--cubner-hover-duration) ease,
      color var(--cubner-hover-duration) ease,
      opacity var(--cubner-hover-duration) ease,
      text-decoration-color var(--cubner-hover-duration) ease;
  }
}

/* ── Boutons ─────────────────────────────────────────────────────────────── */

.cubner-v2-button .elementor-button:hover,
.cubner-v2-quote .elementor-button:hover,
.cubner-button:hover,
.cbn-devis-btn:hover,
.cubner-p-btn:hover,
.cubner-p-page .elementor-button.cubner-p-btn:hover,
.cubner-p-page .elementor-widget-button.cubner-p-btn .elementor-button:hover,
.cubner-blog-featured__cta:hover,
.cubner-cart-checkout:hover,
.cubner-cart-reco__add:hover,
.cubner-mini-cart__btn:hover,
.cbn-wizard__btn--primary:hover,
.cubner-checkout__submit:hover,
.cubner-checkout-page #place_order:hover,
.cubner-devis-form .elementor-button[type="submit"]:hover,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
  filter: var(--cubner-hover-filter);
}

.cubner-v2-button--outline .elementor-button:hover {
  filter: var(--cubner-hover-filter);
}

.cubner-v2-button--outline-blue .elementor-button:hover,
.cubner-v2-products .cubner-v2-product-card__button .elementor-button:hover {
  filter: var(--cubner-hover-filter);
}

/* CTA devis barre navy : léger éclaircissement, texte blanc lisible */
.cubner-v2-utility .cubner-v2-quote .elementor-button:hover,
.cubner-v2-utility .cubner-v2-quote .elementor-button:focus-visible {
  filter: brightness(1.06);
  color: var(--cb-white) !important;
  background-color: var(--cb-orange) !important;
}

/* Toggle panier header : pas d’assombrissement de l’icône */
.cubner-v2-cart .elementor-button:hover,
.cubner-v2-cart .elementor-menu-cart__toggle .elementor-button:hover {
  filter: none;
}

/* ── Liens texte ─────────────────────────────────────────────────────────── */

.cubner-v2-nav .elementor-nav-menu--main .elementor-item:hover,
.cubner-v2-nav .elementor-nav-menu--main .elementor-item:focus-visible {
  color: var(--cubner-heading-accent) !important;
}

.cubner-v2-hero__links a:hover,
.cubner-v2-hero__links a:focus-visible {
  text-decoration: underline;
}

.cubner-v2-footer__links a:hover,
.cubner-v2-footer__links a:focus-visible,
.cubner-v2-footer__legal-links a:hover,
.cubner-v2-footer__legal-links a:focus-visible,
.cubner-v2-footer__address a:hover,
.cubner-v2-footer__address a:focus-visible,
.cubner-v2-footer__social a:hover,
.cubner-v2-footer__social a:focus-visible {
  opacity: var(--cubner-hover-link-opacity);
}

/* Liens barre utilitaire (fond navy) : pas d’opacité ni couleur Kit au survol */
.cubner-v2-utility .cubner-v2-utility__link a:hover,
.cubner-v2-utility .cubner-v2-utility__link a:focus-visible,
.cubner-v2-utility .cubner-v2-phone a:hover,
.cubner-v2-utility .cubner-v2-phone a:focus-visible,
.cubner-v2-utility .cubner-v2-phone__text a:hover,
.cubner-v2-utility .cubner-v2-phone__text a:focus-visible,
.cubner-v2-utility .elementor-widget-text-editor a:hover,
.cubner-v2-utility .elementor-widget-text-editor a:focus-visible {
  color: var(--cb-white) !important;
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgb(255 255 255 / 0.85);
}

.cubner-blog-card__link:hover,
.cubner-blog-card__link:focus-visible {
  text-decoration: underline;
  filter: var(--cubner-hover-filter);
}

.cubner-blog-featured__title a:hover,
.cubner-blog-featured__title a:focus-visible,
.cubner-shop__breadcrumb a:hover,
.cubner-shop__breadcrumb a:focus-visible,
.cubner-blog__breadcrumb a:hover,
.cubner-blog__breadcrumb a:focus-visible {
  text-decoration: underline;
}

/* ── Cards cliquables ────────────────────────────────────────────────────── */

.cubner-v2-product-card:hover,
.cubner-v2-standards-card:hover,
.cubner-v2-amenagement-card:hover {
  box-shadow: var(--cubner-shadow-card-hover);
}

.cubner-v2-product-card:hover .cubner-v2-product-card__image img,
.cubner-v2-standards-card:hover .cubner-v2-standards-card__image img,
.cubner-v2-amenagement-card:hover .cubner-v2-amenagement-card__image img {
  filter: var(--cubner-hover-image-filter);
}

.cubner-shop-card:hover {
  box-shadow: var(--cubner-shadow-shop-card-hover);
}

.cubner-shop-card:hover .cubner-shop-card__image,
.cubner-shop-card:hover .cubner-shop-card__media img {
  filter: var(--cubner-hover-image-filter);
}

.cubner-blog-card:hover {
  box-shadow: var(--cubner-shadow-blog-card-hover);
}

.cubner-blog-card:hover .cubner-blog-card__image {
  filter: var(--cubner-hover-image-filter);
}

.cubner-blog-featured__card:hover {
  box-shadow: var(--cubner-shadow-blog-featured-hover);
}

.cubner-blog-featured__card:hover .cubner-blog-featured__image {
  filter: var(--cubner-hover-image-filter);
}

.cubner-cart-reco__card:hover {
  box-shadow: var(--cubner-shadow-blog-card-hover);
}

.cubner-cart-reco__card:hover .cubner-cart-reco__img {
  filter: var(--cubner-hover-image-filter);
}
