/* V4.6: active navigation, touch feedback and one shared motion language.
   Existing type, colours, proportions, content and keyboard focus stay intact. */
body.rrom-interaction-refined {
  --rrom-motion-ease: cubic-bezier(.2, .65, .3, 1);
  --rrom-press-duration: 120ms;
}
.rrom-interaction-refined .rrom-nav .rrom-current-section {
  color: var(--rrom-green) !important;
}
.rrom-interaction-refined .rrom-nav .rrom-current-section::after {
  transform: scaleX(1);
}
.rrom-interaction-refined :is(.rrom-header, .rrom-main, .rrom-footer) :is(a, button) {
  -webkit-tap-highlight-color: rgb(11 105 28 / .13);
}
.rrom-interaction-refined :is(.rrom-button a, .rrom-text-link a, a.rrom-read-more,
  .rrom-nav .wp-block-navigation-item__content, .rrom-hero-motion-control,
  .rrom-nav .wp-block-navigation__responsive-container-open,
  .rrom-nav .wp-block-navigation__responsive-container-close) {
  transition-timing-function: var(--rrom-motion-ease);
}
.rrom-interaction-refined .rrom-button:not(.is-style-outline) a:active {
  color: var(--rrom-paper) !important;
  background: var(--rrom-deep) !important;
  border-color: var(--rrom-deep) !important;
  transform: none !important;
  transition-duration: var(--rrom-press-duration);
}
.rrom-interaction-refined .rrom-button.is-style-outline a:active {
  color: var(--rrom-green) !important;
  background: var(--rrom-sage) !important;
  border-color: var(--rrom-green) !important;
  transform: none !important;
  transition-duration: var(--rrom-press-duration);
}
.rrom-interaction-refined :is(.rrom-text-link a, a.rrom-text-link, a.rrom-read-more,
  .rrom-reading a, .wp-block-post-title a, .rrom-contact-copy a):active {
  color: var(--rrom-green) !important;
  text-decoration: underline !important;
  transition-duration: var(--rrom-press-duration);
}
.rrom-interaction-refined .rrom-socials a:active {
  color: #dcebcf !important;
  text-decoration: underline !important;
}
.rrom-interaction-refined :is(.rrom-nav .wp-block-navigation-item__content,
  .rrom-hero-motion-control, .rrom-nav .wp-block-navigation__responsive-container-open,
  .rrom-nav .wp-block-navigation__responsive-container-close):active {
  color: var(--rrom-green) !important;
  background: var(--rrom-sage) !important;
  transition-duration: var(--rrom-press-duration);
}
/* WordPress keeps its focus trap and immediate Escape/close behaviour. */
.rrom-interaction-refined .rrom-nav .wp-block-navigation__responsive-container.is-menu-open .rrom-current-section {
  background: var(--rrom-sage);
  text-decoration: underline !important;
}
@media (hover: none), (pointer: coarse) {
  .rrom-interaction-refined .rrom-button a:is(:hover, :focus-visible),
  .rrom-interaction-refined .rrom-button a:is(:hover, :focus-visible) .rrom-link-arrow {
    transform: none !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .rrom-interaction-refined :is([data-rrom-motion="entering"],
    .rrom-page-heading h1, .rrom-blog-title, [data-rrom-hero-enter="entering"],
    .rrom-nav .wp-block-navigation__responsive-container.is-menu-open) {
    animation-timing-function: var(--rrom-motion-ease);
  }
  /* Keep the entry name for the existing animationend cleanup. */
  @keyframes rrom-enter {
    from { opacity: .9; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
@media (prefers-reduced-motion: reduce), print {
  .rrom-interaction-refined :is(.rrom-button a, .rrom-text-link a, a.rrom-text-link,
    a.rrom-read-more, .rrom-nav .wp-block-navigation-item__content,
    .rrom-hero-motion-control, .rrom-nav button) { transition: none !important; }
  .rrom-interaction-refined :is([data-rrom-motion], [data-rrom-hero-enter],
    .rrom-page-heading h1, .rrom-blog-title,
    .rrom-nav .wp-block-navigation__responsive-container.is-menu-open) {
    animation: none !important;
    transform: none !important;
  }
}
