/* Targeted visual and accessibility refinements for v2.1. */
:where(main, section, [id]) { scroll-margin-top: 7rem; }

/* Keep the header readable when backdrop filters are unavailable. */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .mm-header { background: rgba(245, 242, 234, .98) !important; }
}

:where(a, button, .wp-element-button):focus-visible {
  outline: 3px solid var(--mm-pink);
  outline-offset: 4px;
  border-radius: .25rem;
}
.mm-header .wp-block-navigation-item__content:focus-visible { outline-offset: 5px; }
.mm-nav-cta .wp-block-navigation-item__content {
  padding: .62rem 1rem;
  border-radius: 999px;
  color: var(--mm-ink);
  background: var(--mm-lime);
  box-shadow: 0 6px 16px rgba(117,151,38,.18);
}
.mm-header .mm-nav-cta .wp-block-navigation-item__content::after { display: none; }
.mm-nav-cta .wp-block-navigation-item__content:hover { box-shadow: 0 10px 24px rgba(117,151,38,.28); transform: translateY(-1px); }

.mm-flavour-link { position: relative; z-index: 2; margin-top: auto; font-weight: 850; }
.mm-flavour-link a { text-decoration: underline; text-decoration-thickness: 2px; }
.mm-flavour-link a:hover { text-decoration-color: var(--mm-pink); }
.mm-card.has-berry-background-color .mm-flavour-link a { color: #fff; }

/* Cards stay intentional when no editorial photograph has been supplied. */
.wp-block-post-template > li:not(:has(.wp-block-post-featured-image img))::before {
  display: block;
  aspect-ratio: 4 / 2;
  background:
    radial-gradient(circle at 72% 35%, rgba(255,255,255,.55) 0 8%, transparent 8.5%),
    radial-gradient(circle at 58% 60%, rgba(53,19,29,.16) 0 12%, transparent 12.5%),
    linear-gradient(135deg, var(--mm-lime), #fff3c8 48%, #ff91a7);
  content: "";
}
.wp-block-post-title { text-wrap: balance; }
.wp-block-post-excerpt__more-link { font-weight: 850; text-decoration: underline; text-decoration-thickness: 2px; }

.mm-story-cta { margin-top: clamp(2.5rem, 6vw, 5rem); padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: var(--mm-radius); background: #fff; box-shadow: var(--mm-shadow-sm); }
.mm-footer .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); background: transparent; }

@media (max-width: 781px) {
  .mm-announcement { letter-spacing: .06em; }
  .mm-announcement p { font-size: .68rem !important; }
  .mm-hero { padding-top: 3.25rem !important; padding-bottom: 4rem !important; }
  .mm-hero-title { font-size: clamp(3rem, 15vw, 4.6rem) !important; line-height: .92; }
  .mm-hero-orbit { min-height: 300px; }
  .mm-section { padding-top: 4.5rem !important; padding-bottom: 4.5rem !important; }
  .wp-block-navigation__responsive-container.is-menu-open .mm-nav-cta .wp-block-navigation-item__content { display: inline-block; padding: .72rem 1.1rem; }
}

@media (max-width: 420px) {
  .mm-header .wp-block-site-title { font-size: 1.25rem !important; }
  .mm-hero-title { font-size: clamp(2.85rem, 14.6vw, 3.8rem) !important; }
  .mm-hero-copy { font-size: 1.05rem !important; }
  .mm-hero-orbit { min-height: 270px; }
  .mm-jar { width: 178px; }
  .mm-sticker { width: 94px; right: 3%; }
  .wp-block-buttons { gap: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  .mm-card:hover, .wp-block-post-template > li:hover,
  .wp-block-button__link:hover, .wp-element-button:hover,
  .mm-jar:hover, .mm-nav-cta .wp-block-navigation-item__content:hover { transform: none !important; }
}