/* v48 — FAQ + final CTA aligned with panel system */

/* tighten transition from pricing into faq */
#preise.sf-clean-section{
  padding-bottom: 26px !important;
}

.sf-faq{
  background:#fff !important;
  padding-top: 12px !important;
  padding-bottom: 22px !important;
}

.sf-faq > .container{
  width:min(100% - 40px,1540px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  box-sizing:border-box !important;
  position:relative !important;
  overflow:hidden !important;
  padding:46px 48px 42px !important;
  border:1px solid #dce7df !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 94% 8%,rgba(111,141,126,.11),transparent 22%),
    linear-gradient(145deg,#f4f8f6 0%,#eef5f1 100%) !important;
  box-shadow:0 24px 65px rgba(7,31,22,.07) !important;
}

.sf-faq > .container::after{
  content:"";
  position:absolute;
  left:-140px;
  bottom:-140px;
  width:290px;
  height:290px;
  border-radius:50%;
  background:rgba(190,208,198,.12);
  pointer-events:none;
}

.sf-faq-grid{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr) !important;
  gap:28px 52px !important;
  align-items:start !important;
}

.sf-faq .sf-section-head{
  max-width:none !important;
  margin:0 !important;
}

.sf-faq .sf-kicker{
  display:inline-flex !important;
  width:max-content !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 0 14px !important;
  padding:8px 13px !important;
  border:1px solid #bfd2c7 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  color:#15553b !important;
  font-size:.7rem !important;
  line-height:1 !important;
  letter-spacing:.13em !important;
  font-weight:900 !important;
}

.sf-faq .sf-kicker::before{
  content:"";
  width:18px;
  height:2px;
  border-radius:999px;
  background:#1d6b4a;
}

.sf-faq .sf-section-head h2{
  margin:0 0 12px !important;
  color:#082f20 !important;
  font-size:clamp(2.7rem,4.1vw,4.8rem) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance !important;
}

.sf-faq .sf-section-head p{
  max-width:420px !important;
  margin:0 !important;
  color:#5f7168 !important;
  font-size:1.02rem !important;
  line-height:1.65 !important;
}

.sf-faq-grid > div:last-child{
  display:grid !important;
  gap:12px !important;
}

.sf-faq details{
  position:relative !important;
  border:1px solid #d8e4dc !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 12px 30px rgba(7,31,22,.05) !important;
  margin:0 !important;
  overflow:hidden !important;
}

.sf-faq summary{
  list-style:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:22px 24px !important;
  color:#082f20 !important;
  font-size:1.05rem !important;
  line-height:1.45 !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.sf-faq summary::-webkit-details-marker{
  display:none !important;
}

.sf-faq summary::after{
  content:"+";
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  background:#edf4f0;
  border:1px solid #d6e2da;
  color:#15553b;
  font-size:1.35rem;
  font-weight:700;
  line-height:1;
}

.sf-faq details[open] summary{
  border-bottom:1px solid #e2ece5 !important;
}

.sf-faq details[open] summary::after{
  content:"–";
}

.sf-faq details p{
  margin:0 !important;
  padding:18px 24px 22px !important;
  color:#5f7168 !important;
  font-size:.98rem !important;
  line-height:1.7 !important;
  max-width:none !important;
}

/* CTA aligned with same section language */
.sf-final-cta{
  background:#fff !important;
  padding-top: 14px !important;
  padding-bottom: 86px !important;
}

.sf-final-cta .sf-final-box{
  width:min(100% - 40px,1540px) !important;
  max-width:none !important;
  margin-inline:auto !important;
  position:relative !important;
  overflow:hidden !important;
  padding:40px 42px !important;
  border:1px solid #dce7df !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 95% 12%,rgba(111,141,126,.16),transparent 24%),
    linear-gradient(145deg,#f4f8f6 0%,#eaf3ee 100%) !important;
  color:#082f20 !important;
  box-shadow:0 24px 65px rgba(7,31,22,.07) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px 36px !important;
}

.sf-final-cta .sf-final-box::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-150px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:rgba(190,208,198,.16);
  pointer-events:none;
}

.sf-final-cta .sf-final-box > div,
.sf-final-cta .sf-final-box > a{
  position:relative !important;
  z-index:1 !important;
}

.sf-final-cta .sf-final-box > div > span{
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 0 10px !important;
  color:#15553b !important;
  font-size:.72rem !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.13em !important;
}

.sf-final-cta .sf-final-box > div > span::before{
  content:"";
  width:18px;
  height:2px;
  border-radius:999px;
  background:#1d6b4a;
}

.sf-final-cta .sf-final-box h2{
  margin:0 !important;
  max-width:760px !important;
  color:#082f20 !important;
  font-size:clamp(2.3rem,3.6vw,4rem) !important;
  line-height:.98 !important;
  letter-spacing:-.05em !important;
  text-wrap:balance !important;
}

.sf-final-cta .sf-final-box .btn,
.sf-final-cta .sf-final-box .btn.light{
  min-height:56px !important;
  padding:0 28px !important;
  border-radius:16px !important;
  background:#0b4a34 !important;
  color:#fff !important;
  border:1px solid #0b4a34 !important;
  box-shadow:none !important;
  white-space:nowrap !important;
  font-weight:900 !important;
}

@media(max-width:1050px){
  .sf-faq-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .sf-faq .sf-section-head p{
    max-width:700px !important;
  }
  .sf-final-cta .sf-final-box{
    grid-template-columns:1fr !important;
    align-items:flex-start !important;
  }
}

@media(max-width:760px){
  #preise.sf-clean-section{
    padding-bottom:18px !important;
  }
  .sf-faq{
    padding-top:8px !important;
    padding-bottom:18px !important;
  }
  .sf-faq > .container,
  .sf-final-cta .sf-final-box{
    width:min(100% - 28px,1540px) !important;
    padding:28px 18px 24px !important;
    border-radius:28px !important;
  }
  .sf-faq .sf-section-head h2{
    font-size:2.65rem !important;
  }
  .sf-faq summary{
    padding:18px 18px !important;
    font-size:1rem !important;
  }
  .sf-faq details p{
    padding:14px 18px 18px !important;
  }
  .sf-final-cta{
    padding-top:10px !important;
    padding-bottom:64px !important;
  }
  .sf-final-cta .sf-final-box h2{
    font-size:2.35rem !important;
  }
  .sf-final-cta .sf-final-box .btn,
  .sf-final-cta .sf-final-box .btn.light{
    width:100% !important;
    justify-content:center !important;
  }
}
