/* Solardachboerse neu - Ergaenzungen zu den Original-Stylesheets (Layout-Fassung 13.11.2026).
   Grundlayout kommt unveraendert aus fileadmin/templates/_css/content.css + main.css.
   Hier nur Bausteine, die es im Original nicht gab (Listen-Karten, Filter, Formulare, Hinweise). */
:root{ --rand:#c8c8c8; --blau:#0a2858; --gelb:#fdda4f; }

/* Knoepfe wie "Alle Angebote hier" im Original */
.knopf, a.knopf, button.knopf{display:inline-block;height:26px;line-height:26px;padding:0 38px 0 10px;
  background:var(--gelb) url(/fileadmin/templates/_img/button_on_yellow.png) right 0 no-repeat;
  color:var(--blau) !important;text-decoration:none;border:0;font:14px Arial,Helvetica,sans-serif;cursor:pointer;margin:0 6px 6px 0}
.knopf:hover{filter:brightness(1.05)}

.hinweis{background:#fff6d9;border:1px solid #e0b64f;padding:8px 12px;margin:10px 0;font-size:14px}
.fehler{background:#ffe9e5;border:1px solid #c0604a;padding:8px 14px;margin:12px 0;font-size:14px}
.fehler ul{margin:6px 0 0 18px;padding:0}
.fehler ul li{padding:3px 0;color:#cc1122;line-height:1.3}
.datum{color:#666;font-size:11px}

/* Listen (Termine) */
.liste .eintrag{border-bottom:1px solid #b3b3b3;padding:9px 0;font-size:14px}
.liste .eintrag:last-child{border-bottom:0}

/* Filter ueber den Listen */
.filterbox{background:#fff;padding:12px 15px;margin:0 0 20px}
.filterbox form{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end}
.filterbox label{display:block;width:auto;font-size:12px;color:#444;margin-bottom:2px}
.filterbox input,.filterbox select{font:14px Arial,Helvetica,sans-serif;padding:3px 5px;border:1px solid #bbb;width:110px;margin:0;background:#fff}
.filterbox p{margin:8px 0 0}

/* Anzeigen-Karten (Listen + Detail) */
.karte{background:#fff;padding:12px 15px;margin:0 0 15px}
.karte h3{margin:0 0 2px;font-size:16px;font-weight:bold;color:var(--blau)}
.karte .datum{margin:0 0 8px}
.daten{display:grid;grid-template-columns:170px 1fr;gap:3px 10px;margin:0;font-size:14px}
.daten dt{color:#555}
.daten dd{margin:0;overflow-wrap:anywhere}
.kontakt{margin-top:10px;padding-top:8px;border-top:1px dashed #ccc;font-size:14px}
.seiten{margin:16px 0;font-size:14px}
.seiten a,.seiten b{display:inline-block;min-width:24px;padding:3px 7px;margin:0 2px;text-align:center;background:#fff;color:var(--blau);text-decoration:none}
.seiten b{background:var(--blau);color:#fff}
.aktionen{margin:18px 0}

/* Formulare */
.formular fieldset{background:#fff;margin:0 0 15px;padding:10px 15px}
.formular legend{font-weight:bold;font-size:14px;padding:6px 0 0;float:left;width:100%;margin-bottom:8px}
.formular fieldset > *:not(legend){clear:both}
.fz{display:grid;grid-template-columns:200px 1fr;gap:6px 12px;align-items:center;margin:6px 0}
.fz label{width:auto;color:#333}
.fz span label,.formular fieldset > label,.hp label{width:auto;display:inline}
.formular input,.formular select,.formular textarea{font:14px Arial,Helvetica,sans-serif;padding:3px 5px;border:1px solid #bbb;background:#fff;max-width:100%;margin:0}
.formular input:not([size]):not([type=checkbox]):not([type=radio]),.formular textarea{width:100%;box-sizing:border-box}
.formular p{font-size:14px}
.hp{position:absolute !important;left:-9999px;top:-9999px;height:1px;overflow:hidden}
.captchabild{border:1px solid #bbb;vertical-align:middle;margin-right:8px}

/* News-Liste: Pagination wie Original, Links im Fliesstext */
div#content article section .details .sectionblock a{text-decoration:underline}
div#content article section ul.newslist{margin-left:0}

/* Datenschutzerklaerung (zentraler Text) - 13.11.2026 */
.datenschutz h3{font-size:15px;font-weight:bold;margin:18px 0 6px}
.datenschutz h4{font-size:14px;font-weight:bold;margin:12px 0 4px}
.datenschutz p{font-size:14px;margin:0 0 8px}
.datenschutz ul{list-style:disc;margin:0 0 8px 22px}
.datenschutz ul li{padding:2px 0;line-height:1.3;font-size:14px}
.datenschutz a{text-decoration:underline;overflow-wrap:anywhere}
.datenschutz iframe{max-width:100%}

/* Pflichtfelder (Fix-sdb-pflicht 13.11.2026) */
.pflicht{color:#cc1122;font-weight:bold}
.pflichthinweis{background:#fff6d9;border-left:4px solid #cc1122;padding:6px 10px;margin:0 0 15px}
.fz label:has(.pflicht),.pflichtlabel{font-weight:bold;color:#222}
.formular input[required]:not([type=checkbox]):not([type=radio]),.formular select[required],.formular textarea[required]{background:#fffbea;border-color:#d9a400}
.formular input:invalid,.formular textarea:invalid,.formular select:invalid{box-shadow:none}
.formular input:user-invalid,.formular select:user-invalid,.formular textarea:user-invalid{border-color:#cc1122;background:#ffe9e5}
.formular input:focus,.formular select:focus,.formular textarea:focus{outline:2px solid #0a2858;outline-offset:0}
