.wp-mobile-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 80;
  max-height: calc(100vh - var(--nav-h, 64px));
  overflow-y: auto;
  padding: .75rem 1rem 1rem;
  border-bottom: 1px solid var(--border);
  background: color-mix(in srgb, var(--background) 97%, transparent);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  backdrop-filter: blur(16px);
}
.wp-mobile-nav[hidden] { display: none !important; }
.wp-mobile-nav__link {
  display: block;
  padding: .78rem .85rem;
  border-radius: .55rem;
  color: var(--muted-foreground);
  font-family: var(--font-mono);
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
}
.wp-mobile-nav__link:hover,
.wp-mobile-nav__link:focus-visible { background: var(--surface); color: var(--primary); outline: none; }
.wp-mobile-nav__cta { margin-top: .45rem; background: var(--primary); color: #fff; text-align: center; font-weight: 700; }
.wp-mobile-nav__cta:hover,
.wp-mobile-nav__cta:focus-visible { background: var(--primary); color: #fff; filter: brightness(.9); }
.wp-mobile-menu-lock { overflow: hidden; }
button.wp-menu-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
button.wp-menu-open span:nth-child(2) { opacity: 0; }
button.wp-menu-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.wp-form-status { margin-top: 1rem; min-height: 1.5rem; border-radius: .65rem; font-size: .875rem; line-height: 1.5; }
.wp-form-status:not(:empty) { padding: .85rem 1rem; border: 1px solid var(--border); background: var(--background); }
.wp-form-status--success { border-color: rgba(34,197,94,.5) !important; background: rgba(34,197,94,.09) !important; color: #bbf7d0; }
.wp-form-status--error { border-color: rgba(239,68,68,.55) !important; background: rgba(239,68,68,.09) !important; color: #fecaca; }
form button[disabled] { cursor: wait; opacity: .7; }
@media (min-width: 1024px) { .wp-mobile-nav { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Mobile sticky CTA: do not cover footer navigation. */
.wp-mobile-sticky-cta {
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  will-change: opacity, transform;
}
.wp-mobile-sticky-cta.wp-mobile-sticky-cta--hidden {
  opacity: 0;
  visibility: hidden;
  transform: translateY(calc(100% + 1rem));
  pointer-events: none;
}
@media (max-width: 1023px) {
  footer .container-wp {
    padding-bottom: max(2.5rem, env(safe-area-inset-bottom));
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-mobile-sticky-cta { transition: none !important; }
}
