/* Motion stays on compositor-friendly properties and never hides content. */
.pp-motion-control {
  --pp-control-y: 0px;
  --pp-control-scale: 1;
  --pp-arrow-x: 0px;
  translate: 0 var(--pp-control-y);
  scale: var(--pp-control-scale);
}
html.pp-micro-interactions .pp-motion-control {
  transition-property: color, background-color, border-color, box-shadow;
  transition-duration: 180ms;
}
.pp-motion-control :is(.elementor-button-icon, .jet-subscribe-form__submit-icon) {
  translate: var(--pp-arrow-x) 0;
}
.pp-motion-nav { --pp-nav-progress: 0; }
.pp-motion-nav.elementor-item-active { --pp-nav-progress: 1; }
#pp-header .pp-motion-underline {
  position: absolute;
  pointer-events: none;
  left: 12px;
  right: 12px;
  bottom: 5px;
  height: 2px;
  border-radius: 2px;
  background: #529e67;
  transform: scaleX(var(--pp-nav-progress));
  transform-origin: left center;
}
.pp-motion-card { --pp-card-y: 0px; --pp-image-scale: 1; }
.pp-post-archive-listing.pp-motion-card { translate: 0 var(--pp-card-y); }
.pp-product-listing.pp-motion-card .elementor-image-box-img { overflow: clip; }
.pp-product-listing.pp-motion-card .elementor-image-box-img img {
  scale: var(--pp-image-scale);
  transform-origin: center;
}

/* Keyboard feedback remains available even when JavaScript or motion is off. */
body:not(.elementor-editor-active) :is(
  .elementor-button, .jet-form__submit, .elementor-swiper-button,
  .jet-apb-calendar-btn, .e-search-submit, .e-n-accordion-item-title,
  #pp-header a, #pp-menu-toggler a, #pp-footer a
):focus-visible {
  outline: 2px solid #368c57;
  outline-offset: 4px;
}
body:not(.elementor-editor-active) :is(
  .jet-form__field:not([type="hidden"]), .jet-subscribe-form__input,
  .elementor-field:not([type="hidden"]), .e-search-input
) {
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
body:not(.elementor-editor-active) :is(
  .jet-form__field:not([type="hidden"]), .jet-subscribe-form__input,
  .elementor-field:not([type="hidden"]), .e-search-input
):focus-visible {
  outline: 2px solid #368c57;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgb(82 158 103 / 12%);
}
#pp-footer a { text-underline-offset: 4px; text-decoration-thickness: 1px; }
#pp-footer a:is(:hover, :focus-visible) { text-decoration-line: underline; }

@media (prefers-reduced-motion: reduce) {
  .pp-motion-control { translate: none; scale: none; }
  .pp-motion-control :is(.elementor-button-icon, .jet-subscribe-form__submit-icon) { translate: none; }
  .pp-post-archive-listing.pp-motion-card { translate: none; }
  .pp-product-listing.pp-motion-card .elementor-image-box-img img { scale: none; }
  #pp-header .pp-motion-nav:is(:hover, :focus-visible, .elementor-item-active) .pp-motion-underline { transform: scaleX(1); }
  html.pp-micro-interactions :is(.pp-motion-control, input, textarea, select) { transition-duration: 0s; }
}
