/* Official schedule and contact page adapters. No dashboard selectors. */
.nsstars-royal .ri-content :is(.royal-training-page,.royal-contact-page) { color:var(--ink); background:var(--paper); }
.nsstars-royal .ri-content :is(.royal-training-page,.royal-contact-page) .container { max-width:1240px; }
.nsstars-royal .ri-content .royal-training-intro > p { color:var(--muted); font-size:16px!important; line-height:1.7; }
.nsstars-royal .ri-content .royal-training-intro .row { padding:24px; border:1px solid var(--line); border-radius:4px; background:var(--mist); margin-inline:0; }
.nsstars-royal .ri-content .royal-training-intro .row p { margin:0 0 8px; font-size:15px; line-height:1.7; }
.nsstars-royal .ri-content .royal-training-intro ul { margin:0!important; padding-left:20px; font-size:15px; }
.nsstars-royal .ri-content .royal-schedule-groups { position:relative; display:flex; flex-wrap:wrap; align-items:stretch; gap:10px; }
.nsstars-royal .ri-content .royal-training-group { display:flex; align-items:center; justify-content:center; min-height:46px; padding:12px 18px; color:var(--ink); background:var(--paper); border:1px solid var(--line); font:650 14px/1.4 var(--body); white-space:normal; }
.nsstars-royal .ri-content .royal-training-group:hover { color:var(--brand-soft-ink); background:var(--brand-soft); border-color:var(--brand-border); }
.nsstars-royal .ri-content .royal-training-group.active { color:var(--action-ink); background:var(--action-bg); border-color:var(--action-bg); }
.nsstars-royal .ri-content .royal-training-group:focus-visible { outline:3px solid var(--ri-focus); outline-offset:3px; }
.nsstars-royal .ri-content .royal-training-page .accordion { --bs-accordion-color:var(--ink); --bs-accordion-bg:var(--paper); --bs-accordion-border-color:var(--line); --bs-accordion-btn-color:var(--ink); --bs-accordion-btn-bg:var(--mist); --bs-accordion-active-color:var(--brand-soft-ink); --bs-accordion-active-bg:var(--brand-soft); --bs-accordion-btn-focus-box-shadow:none; }
.nsstars-royal .ri-content .royal-training-page .accordion-item { margin-bottom:12px; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.nsstars-royal .ri-content .royal-training-day-button { padding:18px; font:700 18px/1.4 var(--body); }
.nsstars-royal .ri-content .royal-training-day-button:focus-visible { outline:3px solid var(--ri-focus); outline-offset:-3px; }
.nsstars-royal .ri-content .royal-training-page .accordion-body { padding:4px 16px; }
.nsstars-royal .ri-content .royal-training-page .training-schedule__session { margin:12px 0; color:var(--ink); background:var(--brand-soft); border:1px solid var(--brand-border); border-left:3px solid var(--action-bg); border-radius:3px; }
.nsstars-royal .ri-content .royal-training-session-content { padding:18px; text-align:left; }
.nsstars-royal .ri-content .royal-training-session-group { margin:0 0 8px; color:var(--brand-soft-ink); font:650 15px/1.5 var(--body); }
.nsstars-royal .ri-content .royal-training-session-time { color:var(--ink); font:700 clamp(20px,5.8vw,26px)/1.4 var(--display); font-variant-numeric:tabular-nums; white-space:nowrap; letter-spacing:-.025em; }
.nsstars-royal .ri-content .royal-training-session-content .gap-1 > span:not(.royal-training-session-time) { color:var(--muted); font-size:14px; }
.nsstars-royal .ri-content .royal-training-page .training-schedule__table .training-schedule__day { color:var(--ink); background:var(--mist); }
.nsstars-royal .ri-content .royal-training-page .training-schedule__table :is(.training-schedule__gap,.training-schedule__hour-gap) { color:var(--brand-soft-ink); background:var(--brand-soft); }
.nsstars-royal .ri-content .royal-training-page :is(.training-schedule__hour-slot,.training-schedule__hour-gap) { border-color:var(--line); }
.nsstars-royal .ri-content .royal-training-page .training-schedule__table .training-schedule__event { color:var(--action-ink); background:var(--action-bg); border:1px solid var(--paper); }
.nsstars-royal .ri-content .royal-training-page .training-schedule__event:focus-visible { outline:2px solid var(--ice); outline-offset:-3px; }
/* Preserve the inherited contact form and information; give each a theme surface. */
.nsstars-royal .ri-content .royal-contact-page > .container > h1 { color:var(--ink); font-size:clamp(32px,4vw,44px); text-align:left!important; }
.nsstars-royal .ri-content .royal-contact-page > .container > .row { --bs-gutter-x:32px; }
.nsstars-royal .ri-content .royal-contact-page .row > section.col-md-6 { padding:28px; background:var(--mist); border:1px solid var(--line); border-radius:4px; }
.nsstars-royal .ri-content .royal-contact-page .row > div.col-md-6 { padding-left:32px; }
.nsstars-royal .ri-content .royal-contact-page :is(h2.h4,h3) { color:var(--ink); font:700 24px/1.3 var(--display); }
.nsstars-royal .ri-content .royal-contact-page p { margin-bottom:20px; color:var(--muted); font-size:15px; line-height:1.85; }
.nsstars-royal .ri-content .royal-contact-page li { color:var(--muted); font-size:15px; line-height:1.85; }
.nsstars-royal .ri-content .royal-contact-page a { color:var(--blue); text-underline-offset:3px; }
.nsstars-royal .ri-content .royal-contact-page .btn-primary { min-height:48px; padding:12px 24px; color:var(--action-ink); font-size:15px; }
@media(max-width:767.98px) {
  .nsstars-royal .ri-content .royal-schedule-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nsstars-royal .ri-content .royal-training-group { padding:12px 10px; min-width:0; }
  .nsstars-royal .ri-content .royal-training-intro .row { padding:18px 6px; }
  .nsstars-royal .ri-content .royal-contact-page > .container > .row { margin-inline:0; gap:28px; }
  .nsstars-royal .ri-content .royal-contact-page .row > section.col-md-6 { padding:20px; }
  .nsstars-royal .ri-content .royal-contact-page .row > div.col-md-6 { padding-inline:0; }
  .nsstars-royal .ri-content .royal-contact-page .btn-primary { width:100%; }
}
