.felix-faq-block{
  margin:2.25rem 0;
  font-size:1rem;
  line-height:1.7;
}
.felix-faq-heading{
  margin:0 0 1.1rem;
  font-size:clamp(1.45rem,2vw,1.9rem);
  line-height:1.25;
}
.felix-faq-item{
  margin:.8rem 0;
  border:1px solid #dbe7e0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 2px 12px rgba(24,62,45,.06);
  overflow:hidden;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.felix-faq-item:hover{
  border-color:#b8d1c4;
  box-shadow:0 5px 18px rgba(24,62,45,.09);
}
.felix-faq-item.is-open{
  border-color:#a7cab7;
  box-shadow:0 6px 20px rgba(24,62,45,.09);
}
.felix-faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  border:0;
  margin:0;
  padding:1.15rem 1.2rem;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:700;
  line-height:1.4;
  text-align:left;
  cursor:pointer;
}
.felix-faq-question:hover{
  background:#f8fbf9;
}
.felix-faq-question:focus-visible{
  outline:3px solid rgba(47,122,87,.28);
  outline-offset:-3px;
}
.felix-faq-icon{
  position:relative;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#eef6f1;
}
.felix-faq-icon:before,
.felix-faq-icon:after{
  content:"";
  position:absolute;
  left:7px;
  right:7px;
  top:13px;
  height:2px;
  border-radius:2px;
  background:#2F7A57;
  transition:transform .18s ease;
}
.felix-faq-icon:after{
  transform:rotate(90deg);
}
.felix-faq-question[aria-expanded="true"] .felix-faq-icon:after{
  transform:rotate(0deg);
}
.felix-faq-content{
  padding:0 1.25rem 1.3rem;
  color:#29352f;
}
.felix-faq-content[hidden]{display:none!important}
.felix-faq-content p{
  margin:.65rem 0;
}
.felix-faq-short{
  margin:.1rem 0 1rem;
  padding:.85rem 1rem;
  border-radius:10px;
  background:#f7faf8;
  font-weight:600;
}
.felix-faq-detail{
  margin-top:.8rem;
}
.felix-faq-note,
.felix-faq-help{
  margin:1.05rem 0 0;
  padding:.9rem 1rem .95rem;
  border-left:4px solid #2F7A57;
  border-radius:8px;
  background:#f4f8f6;
}
.felix-faq-help{
  background:#f7f8f7;
}
.felix-faq-note strong,
.felix-faq-help strong{
  display:block;
  margin-bottom:.35rem;
  color:#245d45;
}
.felix-faq-content p:first-child{margin-top:0}
.felix-faq-content p:last-child{margin-bottom:0}
@media (max-width:640px){
  .felix-faq-block{margin:1.6rem 0}
  .felix-faq-question{padding:1rem;gap:.8rem}
  .felix-faq-content{padding:0 1rem 1.05rem}
  .felix-faq-icon{flex-basis:26px;width:26px;height:26px}
  .felix-faq-icon:before,.felix-faq-icon:after{top:12px}
}
@media (prefers-reduced-motion:reduce){
  .felix-faq-item,.felix-faq-icon:before,.felix-faq-icon:after{transition:none}
}


/* FELIX Design – Accordion */
.felix-faq-block{
  --felix-green:#2F7A57;
  --felix-green-dark:#245D45;
  --felix-green-soft:#EEF6F1;
  --felix-green-pale:#F7FAF8;
  --felix-gold:#C6A15B;
  --felix-border:#D7E5DD;
  --felix-text:#26352E;
}
.felix-faq-heading{color:var(--felix-green-dark)}
.felix-faq-item{
  border-color:var(--felix-border);
  background:#fff;
}
.felix-faq-item:hover{
  border-color:#AFCDBD;
}
.felix-faq-item.is-open{
  border-color:var(--felix-green);
  box-shadow:0 6px 20px rgba(47,122,87,.11);
}
.felix-faq-question{
  color:var(--felix-green-dark);
  background:#fff;
}
.felix-faq-question:hover{
  background:var(--felix-green-pale);
}
.felix-faq-item.is-open .felix-faq-question{
  background:var(--felix-green-soft);
}
.felix-faq-icon{
  background:var(--felix-green);
}
.felix-faq-icon:before,
.felix-faq-icon:after{
  background:#fff;
}
.felix-faq-content{
  color:var(--felix-text);
  background:#fff;
  border-top:1px solid #E7F0EB;
  padding-top:1rem;
}
.felix-faq-short{
  background:var(--felix-green-pale);
  border-left:3px solid var(--felix-green);
  color:var(--felix-text);
}
.felix-faq-note{
  background:#F6F8F2;
  border-left-color:var(--felix-gold);
}
.felix-faq-note strong{
  color:#765E2F;
}
.felix-faq-help{
  background:var(--felix-green-soft);
  border-left-color:var(--felix-green);
}
.felix-faq-help strong{
  color:var(--felix-green-dark);
}


/* v1.0.10 – FELIX Fragebalken: rote Theme-/Builder-Hintergründe sicher überschreiben */
.felix-faq-block .felix-faq-item .felix-faq-question{
  background:#2F7A57 !important;
  background-color:#2F7A57 !important;
  color:#FFFFFF !important;
}
.felix-faq-block .felix-faq-item .felix-faq-question:hover,
.felix-faq-block .felix-faq-item .felix-faq-question:focus{
  background:#286B4C !important;
  background-color:#286B4C !important;
  color:#FFFFFF !important;
}
.felix-faq-block .felix-faq-item.is-open .felix-faq-question,
.felix-faq-block .felix-faq-item .felix-faq-question[aria-expanded="true"]{
  background:#245D45 !important;
  background-color:#245D45 !important;
  color:#FFFFFF !important;
}
.felix-faq-block .felix-faq-question .felix-faq-icon{
  background:rgba(255,255,255,.18) !important;
}
.felix-faq-block .felix-faq-question .felix-faq-icon:before,
.felix-faq-block .felix-faq-question .felix-faq-icon:after{
  background:#FFFFFF !important;
}


/* v1.0.11 – bessere Lesbarkeit längerer FAQ-Antworten */
.felix-faq-content{
  line-height:1.75;
}
.felix-faq-detail{
  max-width:78ch;
}
.felix-faq-content p{
  margin:0 0 .9rem;
}
.felix-faq-content p + p{
  margin-top:.9rem;
}
.felix-faq-content br{
  content:"";
  display:block;
  margin-top:.35rem;
}
.felix-faq-content ul,
.felix-faq-content ol{
  margin:.75rem 0 1rem 1.35rem;
  padding:0;
}
.felix-faq-content li{
  margin:.35rem 0;
  padding-left:.15rem;
}
.felix-faq-short p{
  margin-bottom:.55rem;
}
.felix-faq-note p,
.felix-faq-help p{
  margin:.4rem 0;
}


/* v1.0.12 – ruhigere Absatzstruktur bei Langtexten */
.felix-faq-detail p{
  margin:0 0 1.15rem;
}
.felix-faq-detail p + p{
  margin-top:1.15rem;
}
.felix-faq-detail p:last-child{
  margin-bottom:0;
}


/* v1.0.14 – FELIX FAQ Card-Design */
.felix-faq-block{
  --felix-green:#2F7A57;
  --felix-green-dark:#245D45;
  --felix-green-soft:#EEF6F1;
  --felix-green-pale:#F7FAF8;
  --felix-border:#D7E5DD;
  --felix-text:#26352E;
}

.felix-faq-block .felix-faq-heading{
  margin:0 0 1.35rem !important;
  color:var(--felix-green-dark) !important;
  font-weight:700 !important;
  line-height:1.2 !important;
}

.felix-faq-block .felix-faq-item{
  position:relative;
  overflow:hidden;
  margin:0 0 .8rem !important;
  border:1px solid var(--felix-border) !important;
  border-radius:14px !important;
  background:#FFFFFF !important;
  box-shadow:0 4px 16px rgba(36,93,69,.06) !important;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

.felix-faq-block .felix-faq-item:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--felix-green) !important;
  z-index:2;
}

.felix-faq-block .felix-faq-item:hover{
  border-color:#C7DCCF !important;
  box-shadow:0 7px 20px rgba(36,93,69,.09) !important;
}

.felix-faq-block .felix-faq-item .felix-faq-question,
.felix-faq-block .felix-faq-item .felix-faq-question:hover,
.felix-faq-block .felix-faq-item .felix-faq-question:focus,
.felix-faq-block .felix-faq-item.is-open .felix-faq-question,
.felix-faq-block .felix-faq-item .felix-faq-question[aria-expanded="true"]{
  width:100% !important;
  min-height:0 !important;
  padding:1.05rem 1.15rem 1.05rem 1.4rem !important;
  border:0 !important;
  border-radius:0 !important;
  background:#FFFFFF !important;
  background-color:#FFFFFF !important;
  color:var(--felix-green-dark) !important;
  box-shadow:none !important;
  text-align:left !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
  cursor:pointer !important;
  transition:background-color .18s ease,color .18s ease !important;
}

.felix-faq-block .felix-faq-item .felix-faq-question:hover,
.felix-faq-block .felix-faq-item .felix-faq-question:focus-visible{
  background:var(--felix-green-pale) !important;
  color:var(--felix-green-dark) !important;
}

.felix-faq-block .felix-faq-item.is-open{
  border-color:#BFD6C8 !important;
  box-shadow:0 8px 24px rgba(36,93,69,.10) !important;
}

.felix-faq-block .felix-faq-item.is-open .felix-faq-question,
.felix-faq-block .felix-faq-item .felix-faq-question[aria-expanded="true"]{
  background:var(--felix-green-soft) !important;
  color:var(--felix-green-dark) !important;
}

.felix-faq-block .felix-faq-question .felix-faq-icon{
  position:relative !important;
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  margin:0 !important;
  border-radius:50% !important;
  background:var(--felix-green) !important;
  box-shadow:none !important;
}

.felix-faq-block .felix-faq-question .felix-faq-icon:before,
.felix-faq-block .felix-faq-question .felix-faq-icon:after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:14px !important;
  height:2px !important;
  border-radius:2px !important;
  background:#FFFFFF !important;
  transform:translate(-50%,-50%) !important;
  transition:transform .18s ease,opacity .18s ease !important;
}

.felix-faq-block .felix-faq-question .felix-faq-icon:after{
  transform:translate(-50%,-50%) rotate(90deg) !important;
}

.felix-faq-block .felix-faq-question[aria-expanded="true"] .felix-faq-icon:after{
  opacity:0 !important;
}

.felix-faq-block .felix-faq-content{
  padding:0 1.35rem 1.25rem 1.4rem !important;
  background:#FFFFFF !important;
  color:var(--felix-text) !important;
  border-top:1px solid #EDF3EF !important;
}

.felix-faq-block .felix-faq-content[hidden]{
  display:none !important;
}

.felix-faq-block .felix-faq-short{
  margin-top:1.05rem !important;
}

.felix-faq-block .felix-faq-detail{
  max-width:78ch !important;
}

@media (max-width:640px){
  .felix-faq-block .felix-faq-item .felix-faq-question{
    padding:.9rem .9rem .9rem 1.15rem !important;
    font-size:1rem !important;
  }
  .felix-faq-block .felix-faq-question .felix-faq-icon{
    flex-basis:30px !important;
    width:30px !important;
    height:30px !important;
  }
  .felix-faq-block .felix-faq-content{
    padding:0 1rem 1rem 1.15rem !important;
  }
}
