/* Rundbrief-Briefkasten – Formular und Seiten (Website-Stil: Creme und Gold).
   Alle Formularregeln haengen an #rb-briefkasten, damit die Regeln der Website (z. B. "#Inhalt form input")
   das eingebettete Formular nicht verschieben. */
.rb-seite { margin: 0; background: #f6f1cf; color: #2b2a26; font: 16px/1.6 -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; }
.rb-kopf { text-align: center; padding: 26px 16px 10px; }
.rb-kopf a { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; color: #6a4fc0; font-size: 1.35rem; }
.rb-fuss { text-align: center; font-size: .85rem; padding: 0 16px 30px; color: #6d685c; }
.rb-fuss a { color: #5a3fb0; }

#rb-briefkasten { box-sizing: border-box; font: 16px/1.55 -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; color: #2b2a26; text-align: left; }
#rb-briefkasten *, #rb-briefkasten *::before, #rb-briefkasten *::after { box-sizing: border-box; }
#rb-briefkasten.rb-karte { max-width: 620px; margin: 10px auto 20px; background: #fff; border: 1px solid #e7dfb5; border-radius: 8px; padding: 26px 30px; box-shadow: 0 2px 10px rgba(80, 60, 10, .06); }
#rb-briefkasten.rb-eingebettet { display: flow-root; max-width: 560px; margin: 0 0 24px; background: #fffde6; border: 1px solid #e3d98f; border-radius: 6px; padding: 20px 22px; clear: both; }
#rb-briefkasten h1 { font-size: 1.5rem; font-weight: 500; margin: 0 0 14px; }
#rb-briefkasten p { margin: 0 0 10px; padding: 0; width: auto; text-align: left; font: inherit; }
#rb-briefkasten a { color: #5a3fb0; }
#rb-briefkasten .rb-formular { display: block; width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none; font: inherit; font-size: 16px; float: none; clear: none; }
#rb-briefkasten .rb-formular div, #rb-briefkasten .rb-formular label, #rb-briefkasten .rb-formular span, #rb-briefkasten .rb-formular fieldset,
#rb-briefkasten .rb-formular input, #rb-briefkasten .rb-formular select, #rb-briefkasten .rb-formular button { float: none; clear: none; }
#rb-briefkasten .rb-feld { display: block; width: auto; margin: 0 0 12px; padding: 0; text-align: left; }
#rb-briefkasten .rb-feld > span { display: block; width: auto; font-size: .9rem; margin: 0 0 3px; padding: 0; }
#rb-briefkasten .rb-feld em, #rb-briefkasten .rb-liste small { font-style: normal; color: #77705f; font-size: .85em; }
#rb-briefkasten .rb-feld input, #rb-briefkasten .rb-feld select { display: block; width: 100%; height: auto; margin: 0; padding: 9px 11px; border: 1px solid #cfc6a3; border-radius: 5px; font: inherit; font-size: 16px; background: #fff; color: inherit; }
#rb-briefkasten .rb-feld input:focus, #rb-briefkasten .rb-feld select:focus { outline: 2px solid rgba(201, 162, 39, .45); border-color: #c9a227; }
#rb-briefkasten .rb-zeile { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: auto; }
@media (max-width: 520px) { #rb-briefkasten .rb-zeile { grid-template-columns: 1fr; gap: 0; } #rb-briefkasten.rb-karte, #rb-briefkasten.rb-eingebettet { padding: 18px 16px; } }
#rb-briefkasten .rb-listen { border: 0; padding: 0; margin: 0 0 14px; width: auto; font: inherit; }
#rb-briefkasten .rb-listen legend { font-weight: 600; margin: 0 0 6px; padding: 0; }
#rb-briefkasten .rb-liste { display: flex; gap: 10px; align-items: flex-start; width: auto; padding: 8px 10px; border: 1px solid #e7dfb5; border-radius: 6px; margin: 0 0 6px; background: #fffef5; cursor: pointer; font-size: 1rem; text-align: left; }
#rb-briefkasten .rb-rhythmus { margin: -2px 0 8px 38px; padding: 0; font-size: .92rem; text-align: left; }
#rb-briefkasten .rb-rhythmus[hidden] { display: none; }
#rb-briefkasten .rb-rhythmus > span { display: block; color: #6d685c; margin: 0 0 2px; }
#rb-briefkasten .rb-rhythmus label { display: inline-flex; gap: 6px; align-items: center; margin: 0 16px 0 0; padding: 0; width: auto; cursor: pointer; }
#rb-briefkasten .rb-rhythmus input { width: 16px; height: 16px; margin: 0; padding: 0; }
#rb-briefkasten .rb-liste strong { display: block; font-weight: 600; }
#rb-briefkasten .rb-liste small { display: block; }
#rb-briefkasten .rb-liste input, #rb-briefkasten .rb-einwilligung input { flex: none; width: 18px; height: 18px; margin: 4px 0 0; padding: 0; }
#rb-briefkasten .rb-einwilligung {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    width: auto;
    font-size: .9rem;
    margin: 20px 0px 30px;
    padding: 0;
    cursor: pointer;
    text-align: left;
}
#rb-briefkasten .rb-einwilligung {
    font-size:11px;
}
#rb-briefkasten .rb-knopf { display: block; width: 100%; height: auto; margin: 0; background: #c9a227; color: #fff; border: 0; border-radius: 6px; padding: 12px; font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
#rb-briefkasten .rb-knopf:hover { background: #a8801f; }
#rb-briefkasten .rb-klein { font-size: .85rem; color: #6d685c; margin-top: 12px; }
#rb-briefkasten .rb-fehler { background: #f8e4e0; border: 1px solid #ecc3bb; color: #a33a2c; border-radius: 6px; padding: 8px 12px; margin: 0 0 14px; }
#rb-briefkasten .rb-hinweis { background: #fff6d6; border: 1px solid #e8d48a; color: #6b5310; border-radius: 6px; padding: 8px 12px; margin: 0 0 14px; }
#rb-briefkasten .rb-listen legend em { font-style: normal; font-weight: 400; color: #77705f; font-size: .85em; }
#rb-briefkasten .rb-knopf:disabled { opacity: .7; cursor: default; }
#rb-briefkasten .rb-fehler ul { margin: 0; padding-left: 18px; }
#rb-briefkasten .rb-unsichtbar { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
