/* RBSV Widgets – nutzt die globalen Elementor-Kit-Variablen.
   Farben:  --e-global-color-{primary|secondary|accent|text|muted|line|mist|paper|brand50|brand100|brand200|brand700|accent50|accent700}
   Fonts:   --e-global-typography-{rbsvdisplay|rbsvh1|rbsvh2|rbsvh3|rbsvcard|rbsveyebrow|rbsvbodylg|rbsvbody|rbsvsmall|rbsvlink}-… */

/* ---------- Typo-Utilities ---------- */
.rbsv-t-display{font-family:var(--e-global-typography-rbsvdisplay-font-family,"Libre Franklin"),sans-serif;font-size:var(--e-global-typography-rbsvdisplay-font-size,52px);font-weight:var(--e-global-typography-rbsvdisplay-font-weight,800);line-height:var(--e-global-typography-rbsvdisplay-line-height,1.08);}
.rbsv-t-h1{font-family:var(--e-global-typography-rbsvh1-font-family,"Libre Franklin"),sans-serif;font-size:var(--e-global-typography-rbsvh1-font-size,42px);font-weight:var(--e-global-typography-rbsvh1-font-weight,800);line-height:var(--e-global-typography-rbsvh1-line-height,1.1);}
.rbsv-t-h2{font-family:var(--e-global-typography-rbsvh2-font-family,"Libre Franklin"),sans-serif;font-size:var(--e-global-typography-rbsvh2-font-size,38px);font-weight:var(--e-global-typography-rbsvh2-font-weight,800);line-height:var(--e-global-typography-rbsvh2-line-height,1.15);}
.rbsv-t-h3{font-family:var(--e-global-typography-rbsvh3-font-family,"Libre Franklin"),sans-serif;font-size:var(--e-global-typography-rbsvh3-font-size,29px);font-weight:var(--e-global-typography-rbsvh3-font-weight,800);line-height:var(--e-global-typography-rbsvh3-line-height,1.2);}
.rbsv-t-card{font-family:var(--e-global-typography-rbsvcard-font-family,"Libre Franklin"),sans-serif;font-size:var(--e-global-typography-rbsvcard-font-size,20px);font-weight:var(--e-global-typography-rbsvcard-font-weight,700);line-height:var(--e-global-typography-rbsvcard-line-height,1.3);}
.rbsv-t-eyebrow{font-family:var(--e-global-typography-rbsveyebrow-font-family,"Public Sans"),sans-serif;font-size:var(--e-global-typography-rbsveyebrow-font-size,14px);font-weight:var(--e-global-typography-rbsveyebrow-font-weight,700);text-transform:uppercase;letter-spacing:var(--e-global-typography-rbsveyebrow-letter-spacing,1.2px);}
.rbsv-t-bodylg{font-family:var(--e-global-typography-rbsvbodylg-font-family,"Public Sans"),sans-serif;font-size:var(--e-global-typography-rbsvbodylg-font-size,18px);font-weight:var(--e-global-typography-rbsvbodylg-font-weight,400);line-height:var(--e-global-typography-rbsvbodylg-line-height,1.65);}
.rbsv-t-body{font-family:var(--e-global-typography-rbsvbody-font-family,"Public Sans"),sans-serif;font-size:var(--e-global-typography-rbsvbody-font-size,15px);font-weight:var(--e-global-typography-rbsvbody-font-weight,400);line-height:var(--e-global-typography-rbsvbody-line-height,1.6);}
.rbsv-t-small{font-family:var(--e-global-typography-rbsvsmall-font-family,"Public Sans"),sans-serif;font-size:var(--e-global-typography-rbsvsmall-font-size,13px);font-weight:var(--e-global-typography-rbsvsmall-font-weight,600);}
.rbsv-t-link{font-family:var(--e-global-typography-rbsvlink-font-family,"Public Sans"),sans-serif;font-size:var(--e-global-typography-rbsvlink-font-size,15px);font-weight:var(--e-global-typography-rbsvlink-font-weight,700);}

/* ---------- Grid ---------- */
.rbsv-grid{display:grid;gap:20px;}
.rbsv-grid--2{grid-template-columns:repeat(2,1fr);}
.rbsv-grid--3{grid-template-columns:repeat(3,1fr);}
.rbsv-grid--4{grid-template-columns:repeat(4,1fr);}
.rbsv-grid--6{grid-template-columns:repeat(6,1fr);gap:16px;}
@media (max-width:1024px){
  .rbsv-grid--3,.rbsv-grid--4{grid-template-columns:repeat(2,1fr);}
  .rbsv-grid--6{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:767px){
  .rbsv-grid--2,.rbsv-grid--3,.rbsv-grid--4{grid-template-columns:1fr;}
  .rbsv-grid--6{grid-template-columns:repeat(2,1fr);}
}

/* ---------- Karte ---------- */
.rbsv-card{display:flex;flex-direction:column;gap:10px;background:var(--e-global-color-paper,#fff);border:1px solid var(--e-global-color-line,#E2E8F0);border-radius:20px;padding:24px;box-shadow:0 1px 2px rgba(2,23,56,.04),0 8px 24px -12px rgba(2,23,56,.18);text-decoration:none;color:inherit;}
a.rbsv-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
a.rbsv-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px -10px rgba(2,23,56,.28);border-color:var(--e-global-color-brand200,#AEC7E3);}
.rbsv-card__title{margin:0;color:var(--e-global-color-secondary,#002C5F);}
.rbsv-card__text{margin:0;flex:1;color:var(--e-global-color-muted,#475569);}
.rbsv-card__link{color:var(--e-global-color-primary,#00529B);}
.rbsv--accent .rbsv-card__link,.rbsv-card--accent .rbsv-card__link{color:var(--e-global-color-accent,#C8102E);}

/* Badge-Pill */
.rbsv-badge{display:inline-flex;width:max-content;background:var(--e-global-color-brand50,#EAF1F8);color:var(--e-global-color-primary,#00529B);border-radius:999px;padding:4px 12px;}
.rbsv--accent .rbsv-badge,.rbsv-card--accent .rbsv-badge{background:var(--e-global-color-accent50,#FCEAEC);color:var(--e-global-color-accent,#C8102E);}

/* Icon-Kachel in Karten */
.rbsv-iconbox{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:var(--e-global-color-brand50,#EAF1F8);color:var(--e-global-color-primary,#00529B);font-size:22px;}
.rbsv-iconbox svg{width:22px;height:22px;fill:currentColor;}
.rbsv--accent .rbsv-iconbox,.rbsv-card--accent .rbsv-iconbox{background:var(--e-global-color-accent50,#FCEAEC);color:var(--e-global-color-accent,#C8102E);}

/* ---------- Sektionskopf ---------- */
.rbsv-head{display:flex;flex-direction:column;gap:14px;}
.rbsv-head--center{align-items:center;text-align:center;}
.rbsv-head__eyebrow{display:flex;align-items:center;gap:12px;margin:0;color:var(--e-global-color-primary,#00529B);}
.rbsv-head--accent .rbsv-head__eyebrow{color:var(--e-global-color-accent,#C8102E);}
.rbsv-head__rule{display:inline-block;height:4px;width:56px;border-radius:2px;background:linear-gradient(to right,var(--e-global-color-primary,#00529B) 0 38%,#cbd5e1 38% 62%,var(--e-global-color-accent,#C8102E) 62% 100%);}
.rbsv-head__title{margin:0;color:var(--e-global-color-secondary,#002C5F);}
.rbsv-head__intro{margin:0;max-width:64rem;color:var(--e-global-color-muted,#475569);}
.rbsv-head--dark .rbsv-head__eyebrow{color:var(--e-global-color-brand200,#AEC7E3);}
.rbsv-head--dark .rbsv-head__title{color:var(--e-global-color-paper,#fff);}
.rbsv-head--dark .rbsv-head__intro{color:var(--e-global-color-brand100,#D6E3F1);}

/* ---------- Hero (Unterseite) ---------- */
.rbsv-hero{display:flex;gap:40px;align-items:center;}
.rbsv-hero__content{display:flex;flex-direction:column;gap:14px;flex:1;min-width:0;}
.rbsv-hero__crumb{margin:0;color:var(--e-global-color-muted,#475569);}
.rbsv-hero__crumb a{color:inherit;text-decoration:none;}
.rbsv-hero__crumb a:hover{color:var(--e-global-color-primary,#00529B);}
.rbsv-hero__media{width:36%;flex-shrink:0;}
.rbsv-hero__media img{display:block;width:100%;height:320px;object-fit:cover;border-radius:20px;box-shadow:0 1px 2px rgba(2,23,56,.04),0 8px 24px -12px rgba(2,23,56,.18);}
@media (max-width:1024px){
  .rbsv-hero{flex-direction:column;align-items:stretch;}
  .rbsv-hero__media{width:100%;}
  .rbsv-hero__media img{height:260px;}
}

/* ---------- Buttons ---------- */
.rbsv-btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.rbsv-btns--center{justify-content:center;}
.rbsv-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;padding:13px 24px;text-decoration:none;border:2px solid transparent;transition:background-color .15s ease,color .15s ease;}
.rbsv-btn--brand{background:var(--e-global-color-primary,#00529B);color:var(--e-global-color-paper,#fff);}
.rbsv-btn--brand:hover{background:var(--e-global-color-brand700,#003D78);color:var(--e-global-color-paper,#fff);}
.rbsv-btn--outline{background:var(--e-global-color-paper,#fff);color:var(--e-global-color-primary,#00529B);border-color:var(--e-global-color-primary,#00529B);}
.rbsv-btn--outline:hover{background:var(--e-global-color-brand50,#EAF1F8);color:var(--e-global-color-primary,#00529B);}
.rbsv-btn--accent{background:var(--e-global-color-accent,#C8102E);color:var(--e-global-color-paper,#fff);}
.rbsv-btn--accent:hover{background:var(--e-global-color-accent700,#A50D25);color:var(--e-global-color-paper,#fff);}
.rbsv-btn--outline-accent{background:var(--e-global-color-paper,#fff);color:var(--e-global-color-accent,#C8102E);border-color:var(--e-global-color-accent,#C8102E);}
.rbsv-btn--outline-accent:hover{background:var(--e-global-color-accent50,#FCEAEC);color:var(--e-global-color-accent,#C8102E);}
.rbsv-btn--white{background:var(--e-global-color-paper,#fff);color:var(--e-global-color-secondary,#002C5F);}
.rbsv-btn--white:hover{background:var(--e-global-color-brand50,#EAF1F8);color:var(--e-global-color-secondary,#002C5F);}
.rbsv-btn--ghost{background:transparent;color:var(--e-global-color-paper,#fff);border-color:rgba(255,255,255,.55);}
.rbsv-btn--ghost:hover{background:rgba(255,255,255,.12);color:var(--e-global-color-paper,#fff);}
.rbsv-btn--link-brand,.rbsv-btn--link-accent{background:none;border:none;padding:0;border-radius:0;}
.rbsv-btn--link-brand{color:var(--e-global-color-primary,#00529B);}
.rbsv-btn--link-brand:hover{color:var(--e-global-color-secondary,#002C5F);}
.rbsv-btn--link-accent{color:var(--e-global-color-accent,#C8102E);}
.rbsv-btn--link-accent:hover{color:var(--e-global-color-accent700,#A50D25);}
@media (max-width:767px){
  .rbsv-btns:not(.rbsv-btns--center){flex-direction:column;align-items:stretch;}
  .rbsv-btn--link-brand,.rbsv-btn--link-accent{align-self:flex-start;}
}

/* ---------- Info-Kacheln ---------- */
.rbsv-tile{display:flex;flex-direction:column;gap:2px;background:var(--e-global-color-paper,#fff);border:1px solid var(--e-global-color-line,#E2E8F0);border-radius:12px;padding:16px;box-shadow:0 1px 2px rgba(2,23,56,.04),0 8px 24px -12px rgba(2,23,56,.18);}
.rbsv-tile__title{margin:0;color:var(--e-global-color-secondary,#002C5F);}
.rbsv-tile__text{margin:0;color:var(--e-global-color-muted,#475569);}
.rbsv-grid--tiles{gap:14px;}

/* ---------- CTA-Band ---------- */
.rbsv-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;}
.rbsv-cta__title{margin:0;color:var(--e-global-color-paper,#fff);}
.rbsv-cta__text{margin:8px 0 0;max-width:42rem;color:var(--e-global-color-brand100,#D6E3F1);}
.rbsv-cta--card{flex-direction:column;text-align:center;background:var(--e-global-color-primary,#00529B);border-radius:24px;padding:64px 32px;}
.rbsv-cta--card .rbsv-cta__text{margin:0;}
@media (max-width:1024px){
  .rbsv-cta{flex-direction:column;align-items:flex-start;}
  .rbsv-cta--card{align-items:center;padding:40px 20px;}
}

/* ---------- Zahlen ---------- */
.rbsv-stat{display:flex;flex-direction:column;gap:4px;}
.rbsv-stat__label{margin:0;text-transform:uppercase;letter-spacing:.5px;color:var(--e-global-color-muted,#475569);}
.rbsv-stat__value{margin:0;color:var(--e-global-color-secondary,#002C5F);}
.rbsv-stat--accent{background:var(--e-global-color-accent50,#FCEAEC);border-color:var(--e-global-color-accent,#C8102E);border-width:2px;}
.rbsv-stat--accent .rbsv-stat__label,.rbsv-stat--accent .rbsv-stat__value{color:var(--e-global-color-accent700,#A50D25);}
.rbsv-grid--stats{gap:16px;grid-template-columns:repeat(2,1fr);}
@media (max-width:767px){.rbsv-grid--stats{grid-template-columns:repeat(2,1fr);}}

/* ---------- Schritte (dunkles Band) ---------- */
.rbsv-grid--steps{grid-template-columns:repeat(2,1fr);gap:16px;}
@media (max-width:767px){.rbsv-grid--steps{grid-template-columns:1fr;}}
.rbsv-step{display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;}
.rbsv-step__num{margin:0;color:var(--e-global-color-brand200,#AEC7E3);}
.rbsv-step__title{margin:0;color:var(--e-global-color-paper,#fff);}
.rbsv-step__text{margin:0;color:var(--e-global-color-brand100,#D6E3F1);}

/* ---------- News-Liste ---------- */
.rbsv-news{display:flex;flex-direction:column;gap:16px;}
.rbsv-news__item{flex-direction:row;align-items:center;gap:18px;padding:18px;}
.rbsv-news__media{width:190px;flex-shrink:0;}
.rbsv-news__media img{display:block;width:100%;height:115px;object-fit:cover;border-radius:12px;}
.rbsv-news__body{display:flex;flex-direction:column;gap:6px;min-width:0;}
.rbsv-news__kicker{margin:0;color:var(--e-global-color-accent,#C8102E);letter-spacing:.5px;}
.rbsv-news__title{margin:0;color:var(--e-global-color-secondary,#002C5F);}
.rbsv-news__text{margin:0;color:var(--e-global-color-muted,#475569);}
@media (max-width:767px){
  .rbsv-news__item{flex-direction:column;align-items:stretch;}
  .rbsv-news__media{width:100%;}
  .rbsv-news__media img{height:180px;}
}

/* ---------- Termin-Liste ---------- */
.rbsv-termine{display:flex;flex-direction:column;gap:14px;}
.rbsv-termin{flex-direction:row;align-items:center;gap:14px;padding:16px;}
.rbsv-termin__date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;height:58px;flex-shrink:0;background:var(--e-global-color-primary,#00529B);color:var(--e-global-color-paper,#fff);border-radius:12px;line-height:1.1;}
.rbsv-termin__day{font-size:19px;font-weight:800;font-family:var(--e-global-typography-rbsvcard-font-family,"Libre Franklin"),sans-serif;}
.rbsv-termin__month{font-size:10px;font-weight:600;text-transform:uppercase;}
.rbsv-termin__body{display:flex;flex-direction:column;gap:2px;min-width:0;}
.rbsv-termin__title{margin:0;color:var(--e-global-color-secondary,#002C5F);}
.rbsv-termin__meta{margin:0;color:var(--e-global-color-muted,#475569);}

/* ---------- Icon-Grid (Sportarten) ---------- */
.rbsv-icongrid-item{align-items:center;text-align:center;gap:12px;padding:20px 12px;}
.rbsv-icongrid-item .rbsv-iconbox{font-size:24px;}
.rbsv-icongrid-item__label{margin:0;color:var(--e-global-color-text,#15181F);}

/* ---------- Terminkalender ---------- */
.rbsv-kalender{display:flex;flex-direction:column;gap:28px;}
.rbsv-kalender__filter{display:flex;flex-wrap:wrap;gap:8px;}
.rbsv-kalender__btn{cursor:pointer;background:var(--e-global-color-paper,#fff);color:var(--e-global-color-primary,#00529B);border:1px solid var(--e-global-color-line,#E2E8F0);border-radius:999px;padding:8px 18px;transition:background-color .15s ease,color .15s ease,border-color .15s ease;}
.rbsv-kalender__btn:hover{border-color:var(--e-global-color-primary,#00529B);}
.rbsv-kalender__btn.is-active{background:var(--e-global-color-primary,#00529B);border-color:var(--e-global-color-primary,#00529B);color:var(--e-global-color-paper,#fff);}
.rbsv-kalender__monat{display:flex;flex-direction:column;gap:14px;}
.rbsv-kalender__heading{margin:0;color:var(--e-global-color-secondary,#002C5F);border-bottom:2px solid var(--e-global-color-line,#E2E8F0);padding-bottom:8px;}

/* ---------- Logo-Grid (Partner) ---------- */
.rbsv-logo-item{align-items:center;justify-content:center;border-radius:12px;padding:20px;min-height:112px;}
.rbsv-logo-item img{display:block;max-width:100%;height:72px;object-fit:contain;}
