/* RESPOND public-site wave and press enhancement — 25 October 2026.
   Presentation only. Does not modify library guides or access controls. */

/* Use the curved edge only on the opt-in light hero areas. Do not touch
   the main sticky navigation or the editorial gold divider on blog pages. */
body.respond-ui .respond-wave-hero {
  position: relative;
  overflow: hidden;
}
body.respond-ui .respond-wave-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: clamp(18px, 2.4vw, 34px);
  pointer-events: none;
  z-index: 2;
  background: url("/assets/respond-wave-light-v1.svg") center bottom / 100% 100% no-repeat;
}
body.respond-ui .respond-wave-hero.respond-wave-white::after {
  background-image: url("/assets/respond-wave-white-v1.svg");
}

/* The same RESPOND curved edge, inverted where the white content meets
   the homepage's existing blue-gradient footer. Opt in only on that footer. */
body.respond-ui footer.respond-wave-footer {
  position: relative;
}
body.respond-ui footer.respond-wave-footer::before {
  content: "";
  position: absolute;
  inset: -1px 0 auto;
  height: clamp(18px, 2.4vw, 34px);
  z-index: 1;
  pointer-events: none;
  background: url("/assets/respond-wave-white-v1.svg") center top / 100% 100% no-repeat;
  transform: rotate(180deg);
}

/* Button controls keep their original colours, focus handling, labels and
   actions. Only the short physical press feedback is added. */
body.respond-ui :is(
  button:not([disabled]),
  .ask-link-button, .family-library-link,
  .nav-library-link, .nav-family-library-link,
  .read-btn, .back-btn, .back-to-site, .nav-back, .back-link,
  .cta-card, .nav-menu > summary,
  .faq-card, .step-card, .framework-card, .inclusion-card,
  .term-row, .sens-banner, .tk, .card.live
) {
  transition: transform 100ms ease, box-shadow 100ms ease, filter 100ms ease;
}

/* A subtle resting base is reserved for conventional, visible buttons,
   not cards, pop-up dismiss controls or small navigation icons. */
body.respond-ui :is(.pill, .print-btn, .ask-link-button, .site-menu-toggle, .read-btn) {
  box-shadow: 0 3px 0 rgba(18, 32, 58, .20);
}

body.respond-ui :is(
  button:not([disabled]),
  .ask-link-button, .family-library-link,
  .nav-library-link, .nav-family-library-link,
  .read-btn, .back-btn, .back-to-site, .nav-back, .back-link,
  .cta-card, .nav-menu > summary,
  .faq-card, .step-card, .framework-card, .inclusion-card,
  .term-row, .sens-banner, .tk, .card.live
):active {
  transform: translateY(3px) !important;
  filter: brightness(.97);
  box-shadow: 0 1px 0 rgba(18, 32, 58, .18) !important;
}

/* Do not animate keyboard navigation or make links harder to locate. */
body.respond-ui :is(button, a, summary, [onclick]):focus-visible {
  outline: 3px solid #287bc9;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  body.respond-ui :is(
    button, .ask-link-button, .family-library-link,
    .nav-library-link, .nav-family-library-link,
    .read-btn, .back-btn, .back-to-site, .nav-back, .back-link,
    .cta-card, .nav-menu > summary,
    .faq-card, .step-card, .framework-card, .inclusion-card,
    .term-row, .sens-banner, .tk, .card.live
  ) { transition: none !important; }
  body.respond-ui :is(
    button, .ask-link-button, .family-library-link,
    .nav-library-link, .nav-family-library-link,
    .read-btn, .back-btn, .back-to-site, .nav-back, .back-link,
    .cta-card, .nav-menu > summary,
    .faq-card, .step-card, .framework-card, .inclusion-card,
    .term-row, .sens-banner, .tk, .card.live
  ):active { transform: none !important; filter: none !important; }
}

@media print {
  body.respond-ui .respond-wave-hero::after,
  body.respond-ui footer.respond-wave-footer::before { display: none !important; }
  body.respond-ui :is(button, .ask-link-button, .read-btn, .pill, .print-btn) {
    box-shadow: none !important;
  }
}
