/**
 * Site-wide motion — short, quiet, the same on every page.
 */

.js-motion [data-motion] {
  opacity: 0;
  translate: 0 18px;
  transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1), translate 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--motion-delay, 0ms);
}
.js-motion [data-motion].is-in {
  opacity: 1;
  translate: 0 0;
}

.k-header {
  transition: box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}
.k-header.is-scrolled {
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 10px 28px rgba(27, 23, 32, 0.08);
}

.k-mega {
  transform: translate3d(0, -8px, 0);
  transition: opacity 0.22s ease, visibility 0.22s, transform 0.22s ease;
}
.k-nav__item.is-open > .k-mega,
.k-nav__item:hover > .k-mega,
.k-nav__item:focus-within > .k-mega {
  transform: none;
}

.k-icon {
  transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.k-icon:hover { transform: translateY(-1px); }

.s-btn,
.k-catalog__cat,
.pdp-cta,
.secheal-btn,
.c-cta,
.c-news__form button {
  transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.s-btn:hover,
.k-catalog__cat:hover,
.pdp-cta:hover,
.secheal-btn:hover,
.c-cta:hover {
  transform: translateY(-2px);
}
.s-btn:active,
.k-catalog__cat:active,
.pdp-cta:active,
.secheal-btn:active {
  transform: translateY(0);
}

.s-cat,
.s-product,
.s-exp__card,
.s-mood__card,
.s-trust__item,
.k-product,
.c-attach article,
.c-quote {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.s-cat:hover,
.s-product:hover,
.s-exp__card:hover,
.s-mood__card:hover,
.c-attach article:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 40px rgba(27, 23, 32, 0.12);
}
.k-product:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(27, 23, 32, 0.08);
}

.s-cat:before {
  transition: transform 0.5s ease, opacity 0.5s ease;
}
.s-cat:hover:before {
  transform: rotate(18deg) scale(1.08) translate(-8px, -6px);
}

.s-product__media .c-device,
.s-product__media .s-mini-clamp,
.s-product__media .s-mini-care {
  transition: transform 0.45s ease;
}
.s-product:hover .s-product__media .c-device,
.s-product:hover .s-product__media .s-mini-clamp,
.s-product:hover .s-product__media .s-mini-care {
  transform: scale(1.06);
}

.k-catalog .k-product__media img,
.k-product__media img {
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.k-product:hover .k-product__media img { transform: scale(1.06); }

.pdp-thumb {
  transition: transform 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}
.pdp-thumb:hover { transform: translateY(-2px); }

.s-faq details,
.c-faq details {
  transition: background 0.2s ease;
}
.s-faq details[open],
.c-faq details[open] {
  background: rgba(255, 255, 255, 0.55);
}

.secheal-age:not([hidden]) .secheal-age__card {
  animation: sRise 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.secheal-cookie:not([hidden]) .secheal-cookie__card {
  animation: sRise 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.secheal-cart-count {
  transition: transform 0.2s ease;
}
.k-icon--cart:hover .secheal-cart-count { transform: scale(1.08); }

@keyframes sRise {
  from { opacity: 0; transform: translate3d(0, 14px, 0) scale(0.98); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .js-motion [data-motion],
  .js-motion [data-motion].is-in {
    opacity: 1 !important;
    translate: 0 !important;
    transition: none !important;
  }
  .k-header,
  .k-mega,
  .k-icon,
  .s-btn,
  .k-catalog__cat,
  .pdp-cta,
  .secheal-btn,
  .c-cta,
  .s-cat,
  .s-product,
  .s-exp__card,
  .s-mood__card,
  .k-product,
  .k-product__media img,
  .pdp-thumb {
    transition: none !important;
    animation: none !important;
    transform: none !important;
  }
  .secheal-age:not([hidden]) .secheal-age__card,
  .secheal-cookie:not([hidden]) .secheal-cookie__card {
    animation: none !important;
  }
}
