/* Training Room page: quiet section cues and clear interaction feedback. */
body[data-page="trainingroom"] .intro-grid,
body[data-page="trainingroom"] .section-heading { position: relative; }
body[data-page="trainingroom"] .intro-grid::after,
body[data-page="trainingroom"] .section-heading::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -18px;
  width: clamp(3rem, 8vw, 5rem);
  height: 2px;
  border-radius: 3px;
  background: linear-gradient(90deg, #0089ad, #80d7ea);
  transform-origin: left;
  pointer-events: none;
}
body[data-page="trainingroom"] .is-trainingroom-chapter::after {
  animation: trainingroom-rule-arrive 520ms 180ms cubic-bezier(.22, 1, .36, 1) backwards;
}
body[data-page="trainingroom"] .subnav-links a::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  border-radius: 4px 4px 0 0;
  background: #0085a7;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 240ms cubic-bezier(.22, 1, .36, 1);
}
body[data-page="trainingroom"] .subnav-links a.active::after,
body[data-page="trainingroom"] .subnav-links a:hover::after,
body[data-page="trainingroom"] .subnav-links a:focus-visible::after { transform: scaleX(1); }
body[data-page="trainingroom"] .subnav-links a:focus-visible {
  outline-offset: -4px;
  border-radius: 6px;
}
body[data-page="trainingroom"] .use-tab {
  transition-property: background-color, border-color, box-shadow, transform;
  transition-duration: 220ms;
}
body[data-page="trainingroom"] .use-tab .number {
  transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease;
}
body[data-page="trainingroom"] .use-tab[aria-selected="true"] .number {
  background: #007a9a;
  border-color: #007a9a;
  color: #fff;
}
body[data-page="trainingroom"] .use-tab:focus-visible {
  outline: 3px solid #007a9a;
  outline-offset: 4px;
}
body[data-page="trainingroom"] .booking-block .text-link:focus-visible {
  outline-color: #8bdef0;
}
body[data-page="trainingroom"] .booking-details:focus-within {
  border-color: #8ccddd;
  background-color: #ffffff10;
}
body[data-page="trainingroom"] .booking-details {
  transition: border-color 220ms ease, background-color 220ms ease;
}
@keyframes trainingroom-rule-arrive {
  from { opacity: .4; transform: scaleX(.2); }
  to { opacity: 1; transform: scaleX(1); }
}
@media (max-width: 600px) {
  body[data-page="trainingroom"] .intro-grid::after,
  body[data-page="trainingroom"] .section-heading::after { bottom: -14px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-page="trainingroom"] .is-trainingroom-chapter::after { animation: none; }
  body[data-page="trainingroom"] .subnav-links a::after,
  body[data-page="trainingroom"] .use-tab,
  body[data-page="trainingroom"] .use-tab .number,
  body[data-page="trainingroom"] .booking-details { transition: none; }
}

body[data-page="trainingroom"] .faq-list summary:focus-visible {
  outline-offset: -4px;
  border-radius: 6px;
}
body[data-page="trainingroom"] .use-panel .btn:focus-visible {
  outline: 3px solid #007a9a;
  outline-offset: 5px;
}

body[data-page="trainingroom"] .cta-panel .text-link:focus-visible {
  outline-color: #8bdef0;
}
