/* Lokalwerk – subtle motion + polish */
:root{
  --lw-ease: cubic-bezier(.2,.8,.2,1);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  * { scroll-behavior: auto !important; }
  .wp-block-button__link,
  .wp-block-image img,
  .lw-card {
    transition: none !important;
    transform: none !important;
  }
}

/* Buttons */
.wp-block-button__link{
  transition: transform .18s var(--lw-ease), box-shadow .18s var(--lw-ease), background-color .18s var(--lw-ease), color .18s var(--lw-ease), border-color .18s var(--lw-ease);
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transform: translateY(0);
  will-change: transform, box-shadow;
}
.wp-block-button__link:hover{
  transform: translateY(-2px);
  box-shadow: var(--wp--preset--shadow--soft);
}
.wp-block-button__link:active{
  transform: translateY(0);
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
.wp-block-button__link:focus-visible{
  outline: 3px solid color-mix(in oklab, var(--wp--preset--color--copper) 55%, transparent);
  outline-offset: 3px;
}

/* Navigation – underline glide */
.wp-block-navigation a{
  position: relative;
  text-decoration: none;
}
.wp-block-navigation a::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: currentColor;
  opacity: .28;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s var(--lw-ease), opacity .2s var(--lw-ease);
}
.wp-block-navigation a:hover::after,
.wp-block-navigation a:focus-visible::after{
  transform: scaleX(1);
  opacity: .38;
}

/* Media hover */
.wp-block-image img{
  transition: transform .25s var(--lw-ease), filter .25s var(--lw-ease);
  transform: translateY(0) scale(1);
  will-change: transform, filter;
}
.wp-block-image:hover img{
  transform: translateY(-2px) scale(1.02);
  filter: saturate(1.04) contrast(1.02);
}

/* Cards */
.lw-card{
  transition: transform .22s var(--lw-ease), box-shadow .22s var(--lw-ease), border-color .22s var(--lw-ease);
  transform: translateY(0);
}
.lw-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--wp--preset--shadow--soft);
  border-color: color-mix(in oklab, var(--wp--preset--color--mist) 60%, var(--wp--preset--color--copper));
}

/* Tiny “sheen” on dark CTA bands */
.lw-cta{
  position: relative;
  overflow: hidden;
}
.lw-cta::before{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: radial-gradient(closest-side, rgba(255,255,255,.14), transparent 70%);
  transform: translateX(-25%) rotate(12deg);
  opacity:.35;
  pointer-events:none;
}
