/* Ergänzende Bausteine (FAQ, Textabschnitt, Beiträge, Ortslinks) im Stil von theme.css */

/* Ortslinks im Regionen-Abschnitt und in der Fußzeile */
.si-region__links{margin-top:34px;padding-top:26px;border-top:1px solid #e1e9ee}
.si-region__links-title{display:block;margin-bottom:14px;color:#0b1b37;font-family:Sora,Inter,Arial,sans-serif;font-size:16px}
.si-region__links ul,.si-footer__regions ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.si-region__links a{display:inline-flex;align-items:center;min-height:38px;padding:7px 15px;border:1px solid rgba(0,95,204,.16);border-radius:999px;background:rgba(0,95,204,.045);color:#005fcc;font-size:14px;font-weight:650;transition:background-color .18s ease,border-color .18s ease}
.si-region__links a:hover,.si-region__links a:focus-visible{border-color:rgba(0,95,204,.35);background:rgba(0,95,204,.09)}

.si-footer__regions{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 18px;padding:18px 0 22px;border-top:1px solid rgba(255,255,255,.1);font-size:13px}
.si-footer__regions strong{color:#fff;font-weight:700}
.si-footer__regions ul{gap:6px 16px}
.si-footer__regions a{color:#b9c9d6}
.si-footer__regions a:hover,.si-footer__regions a:focus-visible{color:#fff}

/* Beitragsliste (Wissen) */
.si-articles__grid{margin-top:40px}
.si-article-card{display:flex;flex-direction:column}
.si-article-card .si-card__title{font-size:22px;line-height:1.25}
.si-article-card .si-card__title a{color:#0b1b37}
.si-article-card .si-card__title a:hover{color:#0073ff}
.si-article-card .si-card__link{margin-top:auto;padding-top:16px}
.si-article-card__category{color:#005fcc;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}

/* Seitenkopf: Zusatzzeile (Autor, Datum) */
.si-page-hero__meta{margin:18px 0 0;color:#8fa6b8;font-size:14px}

/* Textabschnitt */
.si-text--white{background:#fff}
.si-text__layout--single{grid-template-columns:minmax(0,1fr)}
.si-text__layout--single .si-service-scope__main{max-width:820px}
.si-prose{max-width:760px;margin-top:22px;color:#33464f;font-size:17px;line-height:1.75}
.si-prose>*+*{margin-top:18px}
.si-prose h2,.si-prose h3{margin-top:38px;color:#0b1b37;font-family:Sora,Inter,Arial,sans-serif;line-height:1.25;letter-spacing:-0.02em}
.si-prose h2{font-size:28px}
.si-prose h3{font-size:21px}
.si-prose ul,.si-prose ol{padding-left:22px}
.si-prose li+li{margin-top:8px}
.si-prose a{color:#005fcc;text-decoration:underline;text-underline-offset:3px}
.si-prose strong{color:#0b1b37}
.si-prose table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}
.si-prose th,.si-prose td{padding:10px 12px;border:1px solid #dfe8ed;text-align:left;vertical-align:top}
.si-prose th{background:#f0f5f8;color:#0b1b37}
.si-prose .si-prose__summary{padding:20px 22px;border-left:3px solid #00bfd6;border-radius:0 14px 14px 0;background:#fff;color:#0b1b37}

/* FAQ */
.si-faq{padding:100px 0 105px;background:#fff}
.si-faq__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}
.si-faq__header h2{margin:0;color:#0b1b37;font-family:Sora,Inter,Arial,sans-serif;font-size:clamp(32px,4vw,46px);font-weight:750;line-height:1.12;letter-spacing:-0.035em}
.si-faq__intro{margin:20px 0 0;color:#536a75;font-size:17px;line-height:1.7}
.si-faq__items{display:grid;gap:14px}
.si-faq__item{border:1px solid #dfe8ed;border-radius:16px;background:#f7fafc;transition:border-color .18s ease,background-color .18s ease}
.si-faq__item[open]{border-color:rgba(0,95,204,.2);background:#fff;box-shadow:0 15px 40px rgba(6,16,31,.05)}
.si-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;cursor:pointer;list-style:none}
.si-faq__item summary::-webkit-details-marker{display:none}
.si-faq__item summary h3{margin:0;color:#0b1b37;font-family:Inter,Arial,sans-serif;font-size:17px;font-weight:700;line-height:1.4;letter-spacing:0}
.si-faq__toggle{position:relative;flex:0 0 auto;width:28px;height:28px;border:1px solid rgba(0,95,204,.18);border-radius:50%}
.si-faq__toggle::before,.si-faq__toggle::after{content:"";position:absolute;top:50%;left:50%;width:11px;height:2px;border-radius:2px;background:#005fcc;transform:translate(-50%,-50%);transition:transform .2s ease}
.si-faq__toggle::after{transform:translate(-50%,-50%) rotate(90deg)}
.si-faq__item[open] .si-faq__toggle::after{transform:translate(-50%,-50%) rotate(0)}
.si-faq__answer{padding:0 24px 22px;color:#536a75;font-size:15px;line-height:1.75}
.si-faq__answer>*+*{margin-top:12px}
.si-faq__answer ul{padding-left:20px}
.si-faq__answer a{color:#005fcc;text-decoration:underline}
.si-faq__item summary:focus-visible{outline:2px solid #0073ff;outline-offset:2px;border-radius:16px}

@media(max-width: 900px){
  .si-faq{padding:75px 0 80px}
  .si-faq__layout{grid-template-columns:1fr;gap:34px}
}
@media(max-width: 640px){
  .si-faq{padding:60px 0 65px}
  .si-faq__item summary{padding:17px 18px}
  .si-faq__answer{padding:0 18px 18px}
  .si-prose{font-size:16px}
}

/* Call-to-Action: Button nicht umbrechen */
.si-cta__action .si-btn{white-space:nowrap}
@media(max-width: 640px){.si-cta__action .si-btn{white-space:normal}}

/* Formular: Screenreader-Hinweise („Pflichtfeld“) nur für Screenreader */
.si-contact-form .invisible,.ce_form .invisible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
