
/* ---------- Empfehlungen (Scroll-Karten) ---------- */
.rb-section-headline { font-size: 24px; font-weight: 800; margin: 0 0 18px; }
.rb-empfehlungen, .rb-blog { padding: 8px 24px 40px; }
.rb-empfehlungen-inner, .rb-blog-inner { max-width: var(--rb-container); margin: 0 auto; }
.rb-scroll-row { display: flex; gap: 16px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.rb-scroll-row::-webkit-scrollbar { display: none; }
.rb-empf-card { flex: 0 0 220px; border-radius: var(--rb-radius); overflow: hidden; box-shadow: var(--rb-shadow); background: #fff; }
.rb-empf-bild { height: 130px; }
.rb-empf-titel { font-weight: 700; font-size: 14px; margin: 10px 14px 4px; }
.rb-empf-text { font-size: 12px; color: var(--rb-text-secondary); margin: 0 14px 14px; line-height: 1.4; }

/* ---------- Termine ---------- */
.rb-termine { padding: 8px 24px 40px; }
.rb-termine-inner { max-width: var(--rb-container); margin: 0 auto; background: var(--rb-surface); border-radius: var(--rb-radius); padding: 24px; }
.rb-termine-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.rb-alle-link { font-size: 13px; font-weight: 600; border: 1px solid var(--rb-border); border-radius: var(--rb-radius-pill); padding: 6px 14px; background: #fff !important; }
.rb-termine-liste { display: flex; flex-direction: column; gap: 14px; }
.rb-termin-item { display: grid; grid-template-columns: 70px 12px 1fr; align-items: start; gap: 10px; }
.rb-termin-datum { font-size: 13px; font-weight: 700; color: var(--rb-green-dark); }
.rb-termin-punkt { width: 10px; height: 10px; border-radius: 50%; background: var(--rb-green); margin-top: 4px; }
.rb-termin-info { display: flex; flex-direction: column; gap: 2px; }
.rb-termin-info strong { font-size: 15px; }
.rb-termin-ort { font-size: 13px; color: var(--rb-text-secondary); }

/* ---------- Newsletter ---------- */
.rb-newsletter { background: #EAF3DE; padding: 32px 24px; margin-bottom: 24px !important; }
.rb-newsletter-inner { max-width: var(--rb-container); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.rb-newsletter-titel { font-weight: 700; font-size: 17px; color: var(--rb-green-dark); margin: 0; }
.rb-newsletter-form { display: flex; gap: 10px; }
.rb-newsletter-form input { border: 1px solid var(--rb-border) !important; border-radius: var(--rb-radius-pill); padding: 12px 18px; background: #fff; min-width: 220px; }

@media (max-width: 900px) {
  .rb-newsletter-inner { flex-direction: column; align-items: flex-start; }
  .rb-newsletter-form { width: 100%; }
  .rb-newsletter-form input { flex: 1; min-width: 0; }
}
