/* v47 — Pricing section aligned with premium panel system */

/* tighten transition from About into pricing */
#ueber-uns.sf-clean-section{
  padding-bottom:24px !important;
}

#preise.sf-clean-section{
  background:#fff !important;
  padding-top:12px !important;
  padding-bottom:72px !important;
  margin:0 !important;
}

#preise > .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 40px !important;
  border:1px solid #dce7df !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 96% 6%,rgba(111,141,126,.12),transparent 24%),
    linear-gradient(145deg,#f4f8f6 0%,#eef5f1 100%) !important;
  box-shadow:0 24px 65px rgba(7,31,22,.07) !important;
}

#preise > .container::after{
  content:"";
  position:absolute;
  right:-120px;
  bottom:-130px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:rgba(190,208,198,.17);
  pointer-events:none;
}

#preise .sf-section-head{
  position:relative !important;
  z-index:1 !important;
  max-width:none !important;
  margin:0 0 30px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr) !important;
  gap:20px 48px !important;
  align-items:end !important;
}

#preise .sf-kicker{
  grid-column:1 / -1 !important;
  display:inline-flex !important;
  width:max-content !important;
  align-items:center !important;
  gap:9px !important;
  margin:0 0 2px !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;
}

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

#preise .sf-section-head h2{
  margin:0 !important;
  max-width:760px !important;
  color:#082f20 !important;
  font-size:clamp(2.7rem,4.2vw,4.7rem) !important;
  line-height:.96 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance !important;
}

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

#preise .sf-price-grid{
  position:relative !important;
  z-index:1 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin:0 !important;
}

#preise .sf-price-clean,
#preise .sf-price-clean.featured{
  position:relative !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:360px !important;
  padding:28px 28px 26px !important;
  border:1px solid #d8e4dc !important;
  border-radius:26px !important;
  background:#fff !important;
  color:#082f20 !important;
  box-shadow:0 14px 34px rgba(7,31,22,.055) !important;
  transform:none !important;
  overflow:hidden !important;
}

#preise .sf-price-clean.featured{
  background:linear-gradient(180deg,#eef6f1 0%,#e8f2ec 100%) !important;
  border-color:#a9c6b6 !important;
  box-shadow:0 18px 38px rgba(7,31,22,.075) !important;
}

#preise .sf-price-clean::after{
  content:"";
  position:absolute;
  right:-42px;
  top:-42px;
  width:132px;
  height:132px;
  border-radius:50%;
  background:rgba(11,74,52,.045);
  pointer-events:none;
}

#preise .sf-price-clean::before{
  position:relative !important;
  z-index:1 !important;
  width:42px !important;
  height:42px !important;
  margin:0 0 22px !important;
  border-radius:50% !important;
  background:#edf4f0 !important;
  color:#0b4a34 !important;
  font-size:1rem !important;
  font-weight:900 !important;
  display:grid !important;
  place-items:center !important;
}

#preise .sf-price-clean.featured::before{
  background:#d9e9df !important;
}

#preise .sf-price-clean > span{
  position:relative !important;
  z-index:1 !important;
  margin-bottom:8px !important;
  color:#6f7f77 !important;
  font-size:.76rem !important;
  line-height:1.2 !important;
  font-weight:900 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
}

#preise .sf-price-clean h3,
#preise .sf-price-clean.featured h3{
  position:relative !important;
  z-index:1 !important;
  margin:12px 0 18px !important;
  color:#082f20 !important;
  font-size:clamp(2.3rem,3vw,3.3rem) !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}

#preise .sf-price-clean p,
#preise .sf-price-clean.featured p{
  position:relative !important;
  z-index:1 !important;
  margin:0 !important;
  color:#5f7168 !important;
  font-size:.98rem !important;
  line-height:1.65 !important;
  flex:1 !important;
}

#preise .sf-price-clean .btn,
#preise .sf-price-clean.featured .btn{
  position:relative !important;
  z-index:1 !important;
  min-height:52px !important;
  margin-top:26px !important;
  border-radius:16px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

#preise .sf-price-clean:not(.featured) .btn{
  background:#0b4a34 !important;
  color:#fff !important;
  border-color:#0b4a34 !important;
}

#preise .sf-price-clean.featured .btn{
  background:#fff !important;
  color:#0b4a34 !important;
  border:1px solid #cbdcd2 !important;
}

#preise .sf-price-clean .sf-link{
  position:relative !important;
  z-index:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  margin-top:26px !important;
  color:#0b4a34 !important;
  font-weight:900 !important;
  text-decoration:none !important;
}

@media(max-width:1050px){
  #preise .sf-section-head{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  #preise .sf-section-head p{
    max-width:720px !important;
  }
  #preise .sf-price-grid{
    grid-template-columns:1fr !important;
  }
  #preise .sf-price-clean,
  #preise .sf-price-clean.featured{
    min-height:auto !important;
  }
}

@media(max-width:760px){
  #ueber-uns.sf-clean-section{
    padding-bottom:16px !important;
  }
  #preise.sf-clean-section{
    padding-top:8px !important;
    padding-bottom:56px !important;
  }
  #preise > .container{
    width:min(100% - 28px,1540px) !important;
    padding:28px 18px 24px !important;
    border-radius:28px !important;
  }
  #preise .sf-section-head{
    margin-bottom:22px !important;
  }
  #preise .sf-section-head h2{
    font-size:clamp(2.35rem,10.5vw,3.6rem) !important;
  }
  #preise .sf-section-head p{
    font-size:.96rem !important;
    line-height:1.6 !important;
  }
  #preise .sf-price-grid{
    gap:14px !important;
  }
  #preise .sf-price-clean,
  #preise .sf-price-clean.featured{
    padding:24px 20px 22px !important;
    border-radius:22px !important;
  }
}

html[dir="rtl"] #preise .sf-section-head,
html[dir="rtl"] #preise .sf-price-clean{
  text-align:right !important;
}
