/*
 * SoldDolls desktop micro-interactions
 * Inspired by the interaction grammar used on Bestvibe desktop.
 * Scope: desktop + fine pointer only. No touch/mobile behavior is changed.
 */

@media (min-width:981px) and (hover:hover) and (pointer:fine) {

  /* Header + desktop navigation */
  #sd-header .sd-desktop-main-menu > li > a,
  #sd-header #menu-desktop-inline > li > a {
    background-image:linear-gradient(currentColor,currentColor);
    background-repeat:no-repeat;
    background-position:left calc(100% - 2px);
    background-size:0 2px;
    transition:color .24s ease,background-size .28s ease,opacity .24s ease!important;
  }
  #sd-header .sd-desktop-main-menu > li:hover > a,
  #sd-header #menu-desktop-inline > li:hover > a,
  #sd-header .sd-desktop-main-menu > li > a:focus-visible,
  #sd-header #menu-desktop-inline > li > a:focus-visible {
    background-size:100% 2px;
  }

  #sd-header .sd-menu-link-list a,
  #sd-header .sd-menu-product-card,
  #sd-header .hdr-btn {
    transition:color .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .28s ease,transform .28s ease!important;
  }
  #sd-header .sd-menu-link-list a:hover,
  #sd-header .sd-menu-link-list a:focus-visible {
    background:rgba(54,101,243,.08)!important;
    color:#7fa7ff!important;
  }
  #sd-header .sd-menu-product-card:hover,
  #sd-header .sd-menu-product-card:focus-visible {
    box-shadow:0 5px 18px rgba(0,0,0,.18)!important;
  }
  #sd-header .sd-menu-product-media {
    overflow:hidden;
  }
  #sd-header .sd-menu-product-media img {
    transition:transform .30s ease!important;
    transform-origin:center center;
  }
  #sd-header .sd-menu-product-card:hover .sd-menu-product-media img,
  #sd-header .sd-menu-product-card:focus-visible .sd-menu-product-media img {
    transform:scale(1.035);
  }
  #sd-header .hdr-btn:hover,
  #sd-header .hdr-btn:focus-visible {
    transform:translateY(-1px);
  }

  /* Product cards: existing shadow + subtle image/favorite response. */
  html body article.product-card-global .pcard-img img {
    transition:transform .30s ease,opacity .30s ease!important;
    transform-origin:center center;
  }
  html body article.product-card-global:hover .pcard-img img {
    transform:scale(1.022)!important;
  }
  html body article.product-card-global .pcard-wish {
    transition:transform .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease!important;
  }
  html body article.product-card-global .pcard-wish:hover,
  html body article.product-card-global .pcard-wish:focus-visible {
    transform:scale(1.08)!important;
    box-shadow:0 4px 12px rgba(0,0,0,.22)!important;
  }

  /* Home category pills / category icon navigation. */
  body.home .sd-v3-category-pills-desktop .sd-v3-intent-card,
  .tax-product_cat .sd-cat-image-nav__item {
    transition:color .25s ease,opacity .25s ease!important;
  }
  body.home .sd-v3-category-pills-desktop .sd-v3-intent-card img,
  .tax-product_cat .sd-cat-image-nav__item .sd-cat-image-nav__img img {
    transition:transform .30s ease!important;
    transform-origin:center center;
  }
  body.home .sd-v3-category-pills-desktop .sd-v3-intent-card:hover img,
  body.home .sd-v3-category-pills-desktop .sd-v3-intent-card:focus-visible img,
  .tax-product_cat .sd-cat-image-nav__item:hover .sd-cat-image-nav__img img,
  .tax-product_cat .sd-cat-image-nav__item:focus-visible .sd-cat-image-nav__img img {
    transform:scale(1.10);
  }

  /* Home promo tiles: Bestvibe-style light sweep + CTA response. */
  body.home .sd-v3-promo-card {
    isolation:isolate;
  }
  body.home .sd-v3-promo-card::before {
    content:"";
    position:absolute;
    z-index:2;
    top:-12%;
    bottom:-12%;
    left:-32%;
    width:18%;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.20),rgba(255,255,255,0));
    transform:skewX(-24deg);
    opacity:0;
  }
  body.home .sd-v3-promo-card:hover::before,
  body.home .sd-v3-promo-card:focus-visible::before {
    left:118%;
    opacity:1;
    transition:left .58s ease,opacity .10s ease!important;
  }
  body.home .sd-v3-promo-card img {
    transition:transform .38s ease,opacity .30s ease!important;
  }
  body.home .sd-v3-promo-card:hover img,
  body.home .sd-v3-promo-card:focus-visible img {
    transform:scale(1.018);
  }
  body.home .sd-v3-promo-card .sd-v3-promo-overlay em {
    transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease!important;
  }
  body.home .sd-v3-promo-card:hover .sd-v3-promo-overlay em,
  body.home .sd-v3-promo-card:focus-visible .sd-v3-promo-overlay em {
    transform:translateY(-1px)!important;
    background:rgba(35,35,38,.94)!important;
    box-shadow:0 5px 16px rgba(0,0,0,.22)!important;
  }

  /* Home hero: arrows/dots respond without changing idle layout. */
  body.home .sd-banner-arrow,
  body.home .sd-banner-dot {
    transition:transform .25s ease,background-color .25s ease,border-color .25s ease,opacity .25s ease,box-shadow .25s ease!important;
  }
  body.home .sd-banner-arrow:hover,
  body.home .sd-banner-arrow:focus-visible {
    transform:scale(1.08);
    box-shadow:0 5px 15px rgba(0,0,0,.24)!important;
  }
  body.home .sd-banner-dot:hover,
  body.home .sd-banner-dot:focus-visible {
    transform:scale(1.25);
  }

  /* Common pills, filter chips and sort/view controls. */
  .sd-filter-pill,
  .sd-filter-chip,
  .sd-sort-control,
  .sd-view-toggle button,
  .sd-view-toggle a,
  .sd-product-structure-tabs a,
  .sd-v3-products .sd-v3-text-link {
    transition:color .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s ease!important;
  }
  .sd-filter-pill:hover,
  .sd-filter-chip:hover,
  .sd-sort-control:hover,
  .sd-view-toggle button:hover,
  .sd-view-toggle a:hover,
  .sd-product-structure-tabs a:hover {
    transform:translateY(-1px);
  }
  [aria-expanded="true"] > svg:last-child,
  button[aria-expanded="true"] svg:last-child,
  a[aria-expanded="true"] svg:last-child {
    transform:rotate(180deg);
  }
  [aria-expanded] > svg:last-child,
  button[aria-expanded] svg:last-child,
  a[aria-expanded] svg:last-child {
    transition:transform .25s ease!important;
    transform-origin:center center;
  }

  /* FAQ/category accordions. */
  .category-faq-accordion summary {
    transition:color .24s ease,background-color .24s ease,border-color .24s ease!important;
  }
  .category-faq-accordion details:hover > summary,
  .category-faq-accordion summary:focus-visible {
    color:#7fa7ff;
  }

  /* Product gallery and thumbnails. */
  body.single-product .gallery-nav button,
  body.single-product .gallery-thumbs img {
    transition:transform .25s ease,opacity .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease!important;
  }
  body.single-product .gallery-nav button:hover,
  body.single-product .gallery-nav button:focus-visible {
    transform:scale(1.08);
    box-shadow:0 5px 14px rgba(0,0,0,.20)!important;
  }
  body.single-product .gallery-thumbs img:hover,
  body.single-product .gallery-thumbs img:focus-visible {
    transform:scale(1.045);
  }

  /* Product CTA buttons / option controls. */
  body.single-product .atc-btn-main,
  body.single-product .buy-now-btn,
  body.single-product .single_add_to_cart_button,
  body.single-product .tabs-nav .tab-btn,
  body.single-product .variations select,
  body.single-product .quantity button {
    transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .24s ease,transform .22s ease!important;
  }
  body.single-product .atc-btn-main:hover,
  body.single-product .atc-btn-main:focus-visible,
  body.single-product .buy-now-btn:hover,
  body.single-product .buy-now-btn:focus-visible,
  body.single-product .single_add_to_cart_button:hover,
  body.single-product .single_add_to_cart_button:focus-visible {
    transform:translateY(-1px);
    box-shadow:0 6px 18px rgba(54,101,243,.20)!important;
  }
  body.single-product .tabs-nav .tab-btn:hover,
  body.single-product .tabs-nav .tab-btn:focus-visible {
    transform:translateY(-1px);
  }

  /* Reviews, recommendations and generic editorial cards. */
  body.single-product .commentlist li,
  body.single-product .review,
  .sd-reel-review-slide,
  .sdsh-profile-button {
    transition:border-color .24s ease,box-shadow .25s ease,background-color .24s ease,transform .24s ease!important;
  }
  body.single-product .commentlist li:hover,
  body.single-product .review:hover,
  .sd-reel-review-slide:hover,
  .sdsh-profile-button:hover {
    box-shadow:0 5px 16px rgba(0,0,0,.14);
  }

  /* Back-to-top and safe generic non-transactional buttons. */
  #sd-back-to-top {
    transition:transform .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease!important;
  }
  #sd-back-to-top:hover,
  #sd-back-to-top:focus-visible {
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(0,0,0,.22)!important;
  }

  body:not(.woocommerce-checkout):not(.woocommerce-cart) .btn:not(.atc-btn-main),
  body:not(.woocommerce-checkout):not(.woocommerce-cart) .button:not(.add_to_cart_button):not(.single_add_to_cart_button) {
    transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .24s ease,transform .22s ease!important;
  }
  body:not(.woocommerce-checkout):not(.woocommerce-cart) .btn:not(.atc-btn-main):hover,
  body:not(.woocommerce-checkout):not(.woocommerce-cart) .button:not(.add_to_cart_button):not(.single_add_to_cart_button):hover {
    transform:translateY(-1px);
  }

  /* Search suggestions. */
  #sd-header .sd-search-suggest-item {
    transition:background-color .22s ease,color .22s ease,transform .22s ease!important;
  }
  #sd-header .sd-search-suggest-item:hover,
  #sd-header .sd-search-suggest-item:focus-visible {
    background:rgba(54,101,243,.08)!important;
    transform:translateX(2px);
  }
  #sd-header .sd-search-suggest-img {
    transition:transform .28s ease!important;
  }
  #sd-header .sd-search-suggest-item:hover .sd-search-suggest-img,
  #sd-header .sd-search-suggest-item:focus-visible .sd-search-suggest-img {
    transform:scale(1.045);
  }

  /* Review cards, customer photos and review lightbox controls. */
  body.single-product .review-card,
  body.single-product .sd-review-photo,
  body.single-product .sd-review-lightbox-nav,
  body.single-product .sd-review-lightbox-close,
  body.single-product .sd-review-lightbox-dismiss {
    transition:border-color .24s ease,background-color .24s ease,color .24s ease,box-shadow .25s ease,transform .24s ease,opacity .24s ease!important;
  }
  body.single-product .review-card:hover {
    box-shadow:0 5px 16px rgba(0,0,0,.14);
  }
  body.single-product .sd-review-photo {
    overflow:hidden!important;
  }
  body.single-product .sd-review-photo img {
    transition:transform .28s ease!important;
  }
  body.single-product .sd-review-photo:hover img,
  body.single-product .sd-review-photo:focus-visible img {
    transform:scale(1.06);
  }
  body.single-product .sd-review-lightbox-nav:hover,
  body.single-product .sd-review-lightbox-nav:focus-visible,
  body.single-product .sd-review-lightbox-close:hover,
  body.single-product .sd-review-lightbox-close:focus-visible {
    transform:scale(1.08);
  }
  body.single-product .sd-review-lightbox:not([hidden]) .sd-review-lightbox-panel {
    animation:sd-mi-pop-in .22s ease-out both;
  }

  /* Share, footer socials and newsletter CTA. */
  body.single-product .share-btn,
  .sd-footer-social,
  .sd-v3-email button,
  .sd-footer-newsletter button {
    transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .24s ease,transform .22s ease!important;
  }
  body.single-product .share-btn:hover,
  body.single-product .share-btn:focus-visible,
  .sd-footer-social:hover,
  .sd-footer-social:focus-visible {
    transform:translateY(-2px) scale(1.04);
  }
  .sd-v3-email button:hover,
  .sd-v3-email button:focus-visible,
  .sd-footer-newsletter button:hover,
  .sd-footer-newsletter button:focus-visible {
    transform:translateY(-1px);
    box-shadow:0 5px 14px rgba(54,101,243,.18);
  }
  .sd-v3-email input,
  .sd-footer-newsletter input {
    transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease!important;
  }
  .sd-v3-email input:focus,
  .sd-footer-newsletter input:focus {
    box-shadow:0 0 0 3px rgba(54,101,243,.12)!important;
  }

  /* Age gate and account dialogs: entrance + button response only. */
  #sd-age-gate.is-visible .sd-age-gate__panel,
  .sdsh-avatar-modal:not([hidden]) .sdsh-avatar-dialog {
    animation:sd-mi-pop-in .22s ease-out both;
  }
  #sd-age-gate .sd-age-gate__btn,
  .sdsh-avatar-dialog button {
    transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
  }
  #sd-age-gate .sd-age-gate__btn:hover,
  #sd-age-gate .sd-age-gate__btn:focus-visible,
  .sdsh-avatar-dialog button:hover,
  .sdsh-avatar-dialog button:focus-visible {
    transform:translateY(-1px);
    box-shadow:0 5px 14px rgba(0,0,0,.20)!important;
  }

  /* Mini-cart controls; cart/checkout pages themselves remain untouched. */
  #sd-mini-cart .mc-close,
  #sd-mini-cart .mc-qty-btn,
  #sd-mini-cart .mc-remove,
  #sd-mini-cart .mc-btn,
  #sd-mini-cart .mc-shop-btn {
    transition:color .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease!important;
  }
  #sd-mini-cart .mc-close:hover,
  #sd-mini-cart .mc-close:focus-visible,
  #sd-mini-cart .mc-qty-btn:hover,
  #sd-mini-cart .mc-qty-btn:focus-visible,
  #sd-mini-cart .mc-remove:hover,
  #sd-mini-cart .mc-remove:focus-visible {
    transform:scale(1.07);
  }
  #sd-mini-cart .mc-btn:hover,
  #sd-mini-cart .mc-btn:focus-visible,
  #sd-mini-cart .mc-shop-btn:hover,
  #sd-mini-cart .mc-shop-btn:focus-visible {
    transform:translateY(-1px);
  }
}

@keyframes sd-mi-pop-in {
  from { opacity:0; transform:translateY(8px) scale(.985); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}

@media (prefers-reduced-motion:reduce) {
  #sd-header *,
  .sd-home-v3 *,
  article.product-card-global *,
  body.single-product *,
  #sd-back-to-top {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
