html {
  scroll-behavior: smooth;
}

/* Offset anchors for fixed header */
section { scroll-margin-top: 90px; }

/* Responsive images */
img { max-width: 100%; height: auto; }

/* Screen reader only */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

/* Focus styles */
.nav-links a:focus-visible,
.btn:focus-visible,
.menu-toggle:focus-visible,
button:focus-visible { outline: 3px solid #c83d72; outline-offset: 2px; }

/* Active nav link */
.nav-links a.active { color: var(--primary-pink); }
.nav-links a.active:after { width: 100%; }

/* Better contrast */
.menu-title { color: #fff; }

/* Button-like menu toggle */
.menu-toggle { background: transparent; border: none; }

/* Back to top */
#backToTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffffcc;
  color: #e83e8c;
  border: 1px solid #eee;
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
  cursor: pointer;
}
#backToTop:hover { background: #fff; }

/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
