/* Schutzstelle — Frontend-Stile (Design-Token aus dem Entwurf).
   Inline-Styles in den Templates sorgen für die Pixel-Treue;
   diese Datei ergänzt Hover-Zustände, den Sprach-Umschalter,
   das FAQ-Akkordeon und das responsive Verhalten. */

*{box-sizing:border-box}
html,body{margin:0;padding:0}
::selection{background:#cdd3c7;color:#233a31}

a{color:inherit}

/* ---------- Sprach-Umschalter (Standard / Leichte Sprache) ---------- */
.t-leicht{display:none}
html.leicht .t-std{display:none}
html.leicht .t-leicht{display:inline}

@keyframes fadeIn{from{opacity:.4}to{opacity:1}}
.pulse-dot{animation:fadeIn 2s infinite alternate}

/* ---------- Hover-Zustände ---------- */
.hov-nav{transition:background .15s ease,color .15s ease}
.hov-nav:hover{background:#e8e9e2;color:#233a31}
.navlink.is-active{background:#e8e9e2;color:#233a31}
.hov-leicht{transition:border-color .15s ease,background .15s ease}
.hov-leicht:hover{border-color:#2f4a3f;background:#fff}
.hov-green{transition:background .15s ease}
.hov-green:hover{background:#253b32}
.hov-red{transition:background .15s ease}
.hov-red:hover{background:#9c3024}
.hov-outline{transition:border-color .15s ease}
.hov-outline:hover{border-color:#2f4a3f}
.hov-footlink{transition:color .15s ease}
.hov-footlink:hover{color:#2f4a3f}
.hov-footleave{transition:background .15s ease,color .15s ease,border-color .15s ease}
.hov-footleave:hover{background:#b23a2e;color:#fff;border-color:#b23a2e}

.card-link{transition:transform .15s ease,box-shadow .15s ease}
.card-link:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(35,58,49,.1)}

.dl-btn{transition:background .15s ease}
.dl-btn:hover{background:#253b32}

/* ---------- FAQ-Akkordeon ---------- */
.faq-a{display:none}
.faq.open .faq-a{display:block}
.faq .sign-minus{display:none}
.faq.open .sign-plus{display:none}
.faq.open .sign-minus{display:inline}
.faq-q{transition:background .12s ease}
.faq-q:hover{background:#faf8f3}

/* ---------- Fokus-Sichtbarkeit (Barrierefreiheit) ---------- */
a:focus-visible,button:focus-visible{outline:3px solid #2f4a3f;outline-offset:2px;border-radius:8px}

/* „Zum Inhalt springen" – nur bei Tastatur-Fokus sichtbar */
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:#2f4a3f;color:#fff;font-weight:600;font-size:14px;padding:10px 16px;border-radius:0 0 10px 10px;text-decoration:none;transition:top .15s ease}
.skip-link:focus{top:0}

/* Bewegung reduzieren, wenn vom System gewünscht */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .card-link:hover{transform:none !important}
}

/* ---------- Responsiv (überschreibt Inline-Grids via !important) ---------- */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr !important;gap:40px !important}
  .grid-4{grid-template-columns:repeat(2,1fr) !important}
  .grid-3{grid-template-columns:1fr !important}
  .grid-2{grid-template-columns:1fr !important}
  .split-2{grid-template-columns:1fr !important;gap:34px !important}
  .wrap-foot{grid-template-columns:1fr !important;gap:30px !important}
}

@media (max-width:640px){
  .grid-4{grid-template-columns:1fr !important}
  .h-hero{font-size:34px !important}
  .h-page{font-size:32px !important}
  .wrap-bar,.wrap-head,.wrap-footbar{padding-left:18px !important;padding-right:18px !important}
  .sec-pad{padding-left:18px !important;padding-right:18px !important}
}

/* ---------- Fließtext (Impressum / Datenschutz) ---------- */
.prose{font-size:16.5px;color:#4a554d;line-height:1.7}
.prose > *:first-child{margin-top:0}
.prose h2{font-family:'Newsreader',serif;font-weight:600;font-size:24px;color:#233a31;margin:34px 0 12px}
.prose h3{font-weight:700;font-size:18px;color:#2f4a3f;margin:26px 0 8px}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{margin:0 0 7px}
.prose a{color:#2f4a3f;text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:#b1733f}
.prose strong{color:#233a31;font-weight:600}
.prose blockquote{margin:0 0 22px;border-left:3px solid #c08552;background:#fbf9f5;border-radius:0 12px 12px 0;padding:16px 20px;color:#5c665f}
.prose blockquote p{margin:0}
.prose hr{border:none;border-top:1px solid #ece5d8;margin:28px 0}

/* ---------- Kontaktformular ---------- */
.kf-field{display:block;margin-bottom:18px}
.kf-label{display:block;font-size:14px;font-weight:600;color:#233a31;margin-bottom:7px}
.kf-input,.kf-textarea,.kf-select{display:block;width:100%;font-family:inherit;font-size:15.5px;color:#2c2a25;background:#fff;border:1.5px solid #e0d8c8;border-radius:12px;padding:13px 15px;transition:border-color .15s ease,box-shadow .15s ease}
.kf-input:focus,.kf-textarea:focus,.kf-select:focus{outline:none;border-color:#2f4a3f;box-shadow:0 0 0 3px rgba(47,74,63,.12)}
.kf-textarea{min-height:150px;resize:vertical;line-height:1.5}
.kf-select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6l4 4 4-4' stroke='%232f4a3f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:42px;cursor:pointer}
.kf-note{font-size:13px;color:#7d8a82;line-height:1.55;margin:2px 0 22px}
.kf-submit{display:inline-flex;align-items:center;gap:9px;background:#2f4a3f;border:none;color:#f4f1ec;font-family:inherit;font-size:16px;font-weight:600;padding:15px 26px;border-radius:999px;cursor:pointer}
.kf-errors{background:#fdf0ee;border:1px solid #f0cfc9;color:#9c3024;border-radius:12px;padding:16px 18px;margin-bottom:24px;font-size:14.5px}
.kf-success{background:#fbf9f5;border:1px solid #d7e0d2;border-left:3px solid #2f4a3f;border-radius:0 14px 14px 0;padding:26px 28px}

/* ---------- Mobile-Navigation (Burger-Menü) ---------- */
.nav-burger .ic-close{display:none}
.nav-burger{transition:background .15s ease,border-color .15s ease}
.nav-burger:hover{border-color:#2f4a3f;background:#fff}

@media (max-width:820px){
  /* Burger einblenden, Menü + Buttons einklappen */
  .nav-burger{display:inline-flex !important}
  .mainnav,.head-actions{display:none !important}
  .wrap-head.is-open .mainnav,
  .wrap-head.is-open .head-actions{display:flex !important}

  /* Geöffnetes Menü: Navigationspunkte gestapelt, große Tap-Flächen */
  .mainnav{order:4 !important;width:100%;flex-direction:column;align-items:stretch !important;gap:2px !important;margin-top:10px !important;padding-top:6px !important;border-top:1px solid #ece5d8 !important}
  .navlink{padding:13px 14px !important;font-size:16px !important;border-radius:10px}

  /* Aktions-Buttons gestapelt unter dem Menü */
  .head-actions{order:5 !important;width:100%;flex-direction:column;align-items:stretch !important;gap:10px !important;margin:14px 0 4px !important;padding-top:14px;border-top:1px solid #ece5d8}
  .head-actions > *{justify-content:center;width:100%}
  .head-actions .esc-chip{display:none}

  /* Burger-Icon: offen = X */
  .wrap-head.is-open .nav-burger .ic-open{display:none}
  .wrap-head.is-open .nav-burger .ic-close{display:inline}
}
