/* Progressive enhancement: content stays visible without JavaScript.
   Motion stays short and local — no autoplay, parallax or large transforms. */
:root {
  --lb-wine: #4a1525;
  --lb-wine-soft: #792b3b;
  --lb-ease: 180ms ease;
}

body .elementor-button,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .elementor-nav-menu a,
body .lb-search button,
body .lb-clear,
body .lb-pagination button,
body .lb-shipping button,
body .lb-age button,
body .lb-producer-link,
body .lb-catalog-cta a {
  transition: background-color var(--lb-ease), color var(--lb-ease), box-shadow var(--lb-ease), border-color var(--lb-ease);
}

body .elementor-button:focus-visible,
body .woocommerce a.button:focus-visible,
body .woocommerce button.button:focus-visible,
body .elementor-nav-menu a:focus-visible,
body input:focus-visible,
body select:focus-visible,
body summary:focus-visible,
body .lb-search button:focus-visible,
body .lb-search a:focus-visible,
body .lb-faq summary:focus-visible,
body .lb-age button:focus-visible,
body .fkcart-toggler:focus-visible,
body .lb-producer-link:focus-visible {
  outline: 2px solid var(--lb-wine-soft);
  outline-offset: 4px;
}

body .lb-search input,
body .lb-shipping input,
body .woocommerce-form-register input {
  transition: border-color var(--lb-ease), box-shadow var(--lb-ease);
}

body .lb-search input:focus,
body .lb-shipping input:focus {
  border-color: var(--lb-wine-soft);
  box-shadow: 0 0 0 3px rgb(121 43 59 / 14%);
}

body .lb-producer-link {
  display: inline-block;
  color: var(--lb-wine);
  text-underline-offset: 0.2em;
}

body .lb-faq summary {
  transition: color var(--lb-ease);
}

body .lb-search-results:not(:empty) {
  animation: lb-enter 160ms ease;
}

body .lb-age[open] {
  animation: lb-enter 200ms ease;
}

body .lb-age[open]::backdrop {
  animation: lb-enter 200ms ease;
}

@keyframes lb-enter {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body .elementor-button:hover,
  body .woocommerce a.button:hover,
  body .woocommerce button.button:hover,
  body .lb-search button:hover,
  body .lb-shipping button:hover,
  body .lb-clear:hover,
  body .lb-pagination button:hover {
    box-shadow: 0 5px 16px rgb(68 25 35 / 16%);
  }

  body [data-e-type="e-collection-loop-item"] img,
  body .lb-related-grid img,
  body .lb-card-media img {
    transition: transform 240ms ease;
  }

  body .woocommerce ul.products li.product a:hover img,
  body [data-e-type="e-collection-loop-item"]:hover img,
  body .lb-related-grid a:hover img,
  body .lb-card:hover .lb-card-media img {
    transform: translateY(-3px);
  }

  body [data-e-type="e-collection-loop-item"],
  body .lb-related-grid > *,
  body .lb-card,
  body .lb-quote {
    transition: box-shadow 240ms ease;
  }

  body [data-e-type="e-collection-loop-item"]:hover,
  body .lb-related-grid > *:hover,
  body .lb-card:hover,
  body .lb-quote:hover {
    box-shadow: 0 6px 20px rgb(68 25 35 / 9%);
  }

  body .lb-faq summary:hover,
  body .lb-producer-link:hover {
    color: var(--lb-wine-soft);
  }

  body .checkbox-label:hover {
    color: var(--lb-wine);
  }
}

body .add_to_cart_button.lb-just-added,
body .elementor-button.lb-just-added {
  box-shadow: 0 0 0 2px var(--lb-wine-soft);
}

@media (prefers-reduced-motion: reduce) {
  body .elementor-button,
  body .woocommerce a.button,
  body .woocommerce button.button,
  body .woocommerce input.button,
  body .elementor-nav-menu a,
  body .woocommerce ul.products li.product img,
  body [data-e-type="e-collection-loop-item"],
  body [data-e-type="e-collection-loop-item"] img,
  body .lb-related-grid img,
  body .lb-related-grid > *,
  body .lb-card,
  body .lb-card-media img,
  body .lb-quote,
  body .lb-search button,
  body .lb-search input,
  body .lb-shipping button,
  body .lb-shipping input,
  body .lb-producer-link,
  body .lb-faq summary,
  body .lb-age[open],
  body .lb-age[open]::backdrop,
  body .lb-search-results:not(:empty) {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
}
