@media (prefers-reduced-motion: no-preference) {
  a,
  button,
  summary,
  article,
  img {
    transition-duration: 220ms;
    transition-property: background-color, border-color, color, opacity, transform, box-shadow, filter;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  }
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible {
  outline: 2px solid #007aff;
  outline-offset: 4px;
}

header nav a:hover {
  color: #ff4b51;
}

header nav a:hover img,
button:hover img {
  transform: translateX(2px);
}

a[class*="bg-memoBlue"]:hover,
button[class*="bg-memoBlue"]:hover {
  background-color: #0066d6;
  box-shadow: 0 14px 28px rgba(0, 122, 255, 0.24);
  transform: translateY(-2px);
}

a[class*="text-memoBlue"]:hover,
button[class*="text-memoBlue"]:hover {
  color: #005ecb;
  transform: translateY(-1px);
}

a[class*="bg-memoWhats"]:hover,
button[class*="bg-memoWhats"]:hover {
  background-color: #1aa80f;
  box-shadow: 0 14px 28px rgba(33, 188, 18, 0.26);
  transform: translateY(-2px);
}

a[class*="bg-white"]:hover,
button[class*="bg-white"]:hover {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

a[class*="bg-[#D7D7D7]"]:hover {
  background-color: #cfcfcf;
  transform: translateY(-2px);
}

section article:hover {
  transform: translateY(-4px);
}

article.overflow-hidden:hover > img,
section[aria-label="Produtos em destaque"] article:hover > img {
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.035);
}

#solutionsCarousel article:hover img,
#faqCarousel article:hover img,
#reasonsCarousel article:hover img {
  transform: scale(1.04);
}

details summary:hover {
  color: #1d1d20;
}

details summary:hover span:last-child,
details summary:hover span:nth-last-child(2) {
  transform: translateY(2px);
}

footer a:hover {
  color: #ed1c24;
}

footer .rounded-full:hover {
  background-color: #ed1c24;
  color: #ffffff;
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: no-preference) {
  .blog-motion-ready main section,
  .blog-motion-ready main article {
    opacity: 0;
    transform: translateY(18px);
    transition-duration: 520ms;
    transition-property: opacity, transform, box-shadow, filter, color;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .blog-motion-ready main section.is-visible,
  .blog-motion-ready main article.is-visible {
    opacity: 1;
    transform: translateY(0);
    transition-delay: var(--reveal-delay, 0ms);
  }

  .blog-motion-ready main article.is-visible:hover {
    transform: translateY(-4px);
  }

  .blog-page article,
  .blog-page article img,
  .blog-page article h2,
  .blog-page article h3,
  .blog-page a span,
  .blog-page nav a,
  .blog-page form label,
  .blog-page [class*="border-l-white"] {
    transition-duration: 260ms;
    transition-property: background-color, border-color, color, opacity, transform, box-shadow, filter;
    transition-timing-function: cubic-bezier(0.2, 0.8, 0.2, 1);
  }

  .blog-page section[aria-labelledby="featured-blog-title"] img,
  .blog-page section[aria-label="Harmonização de chope"] img,
  .blog-page section[aria-label="Loja Memo e newsletter"] > div:first-child img {
    transition-duration: 700ms;
  }
}

.blog-page memo-blog-header a:hover {
  color: #ed1c24;
}

.blog-page memo-blog-header nav a {
  position: relative;
}

.blog-page memo-blog-header nav a::after {
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  content: "";
  background: #ed1c24;
  border-radius: 999px;
  opacity: 0;
  transform: scaleX(0.2);
  transform-origin: center;
  transition: opacity 220ms ease, transform 220ms ease;
}

.blog-page memo-blog-header nav a:hover::after,
.blog-page memo-blog-header nav a:focus-visible::after {
  opacity: 1;
  transform: scaleX(1);
}

.blog-page article {
  will-change: transform;
}

.blog-page article:hover {
  box-shadow: 0 18px 38px rgba(17, 17, 20, 0.12);
}

.blog-page article:hover h2,
.blog-page article:hover h3 {
  color: #ed1c24;
}

.blog-page article a:hover span,
.blog-page section > div > div > a:hover span,
.blog-page section > div > a:hover span,
.blog-page section[aria-labelledby="featured-blog-title"] a:hover span,
.blog-page section[aria-labelledby="video-highlight-title"] a:hover span {
  transform: translateX(5px);
}

.blog-page a[class*="bg-memoRed"]:hover,
.blog-page button[class*="bg-memoRed"]:hover {
  background-color: #d91018;
  box-shadow: 0 14px 30px rgba(237, 28, 36, 0.24);
  transform: translateY(-2px);
}

.blog-page a[class*="border-memoRed"]:hover {
  background-color: #ed1c24;
  color: #ffffff;
  box-shadow: 0 14px 30px rgba(237, 28, 36, 0.18);
  transform: translateY(-2px);
}

.blog-page section[aria-labelledby="featured-blog-title"] > div:first-child:hover img,
.blog-page section[aria-label="Harmonização de chope"]:hover img,
.blog-page section[aria-label="Loja Memo e newsletter"] > div:first-child:hover img {
  filter: saturate(1.08) contrast(1.04);
  transform: scale(1.025);
}

.blog-page article:hover [class*="brightness"] {
  filter: brightness(0.72) saturate(1.08);
}

.blog-page article:hover [class*="border-l-white"] {
  transform: translateX(-38%) translateY(-50%) scale(1.12);
}

.blog-page article [class*="border-l-white"] {
  filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.28));
}

.blog-page form label:focus-within {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
  transform: translateY(-2px);
}
