:root{--rsa-max:1160px;--rsa-touch:48px}
html{scroll-behavior:smooth}
body{overflow-x:hidden}
.rsa-site-header{position:absolute;inset-inline:0;top:0;z-index:50;background:transparent!important}
.rsa-header-inner{box-sizing:content-box!important;min-height:80px;padding-top:32px}
.rsa-site-footer{padding-block:2rem}

/* Horizontale Fachthemen-Navigation */
.rsa-topic-nav{display:flex;gap:.65rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:.35rem;scrollbar-width:thin}
.rsa-topic-nav>*{flex:0 0 auto;scroll-snap-align:start}

/* Mobile Termin-Slider mit Anschnitt */
.rsa-term-slider{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,86vw);gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 7vw 1rem 0;-webkit-overflow-scrolling:touch}
.rsa-term-slider>*{scroll-snap-align:start;min-width:0}

/* Akkordeon: vollständiger Inhalt liegt immer im HTML/DOM (kein <details>, damit
   Textauslesung, Suchmaschinen und Ctrl+F den Inhalt auch bei geschlossenem
   Akkordeon zuverlässig sehen). Auf Desktop ist der Inhalt grundsätzlich offen,
   der Toggle-Button wird nur auf Mobile sichtbar/aktiv. */
.rsa-accordion-toggle{display:none;width:100%;list-style:none;cursor:pointer;min-height:var(--rsa-touch);align-items:center;justify-content:space-between;font-weight:800;background:none;border:0;padding:0;text-align:left;font-size:inherit;color:inherit}
.rsa-accordion-toggle .rsa-less{display:none}
.rsa-accordion.is-open .rsa-accordion-toggle .rsa-more{display:none}
.rsa-accordion.is-open .rsa-accordion-toggle .rsa-less{display:inline}

/* Robuste flexible Höhen */
.rsa-card,.rsa-form-section,.rsa-knowledge-topic,.rsa-term-card{height:auto;min-height:0}

/* Touch-Ziele */
button,input,select,textarea,.wp-element-button,.wp-block-button__link{min-height:44px}

@media (min-width:769px){
  .rsa-term-slider{display:grid;grid-auto-flow:initial;grid-auto-columns:initial;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;padding-right:0;scroll-snap-type:none}
}

@media (max-width:768px){
  .rsa-header-inner{box-sizing:content-box!important;min-height:64px;padding-top:28px}
  .rsa-stack-mobile{display:grid!important;grid-template-columns:1fr!important}
  .rsa-two-col-list{grid-template-columns:1fr!important}
  .rsa-knowledge-topic h2{font-size:clamp(1.35rem,7vw,1.75rem);line-height:1.16}
  .rsa-section-number{display:block;margin-bottom:.55rem}
  .rsa-cta-row{display:grid!important;grid-template-columns:1fr!important}
  .rsa-form-grid{display:grid!important;grid-template-columns:1fr!important}
  .rsa-form-grid>*{grid-column:1!important}
  .rsa-accordion-toggle{display:flex}
  .rsa-accordion .rsa-knowledge-content{display:none}
  .rsa-accordion.is-open .rsa-knowledge-content{display:block}
}

@media (max-width:390px){
  .rsa-term-slider{grid-auto-columns:88vw}
}
