/* =========================================================
   PREISE – BESTEHENDE KOMPONENTEN
========================================================= */

.price-card ul,
.pricing-cta ul{
    padding:0;
    list-style:none;
}

.price-card li,
.pricing-cta li{
    margin:10px 0;
    font-size:.74rem;
}

.price-card li::before,
.pricing-cta li::before{
    content:"✓";
    margin-right:8px;
    color:var(--green);
}

.price-card .button{
    width:100%;
    margin-top:14px;
}

.pricing-cta{
    padding:30px;
    overflow:hidden;

    border-radius:15px;

    background:linear-gradient(
        145deg,
        #eaf3ff,
        #f7fbff
    );
}

.pricing-cta h3{
    font-size:1.35rem;
}

.pricing-cta img{
    margin-top:18px;
    border-radius:12px;
}



/* ==========================================================
   PREISE – MODERNISIERUNG
   Diesen Block ans Ende von home-final.css setzen.
========================================================== */

.pricing-modern{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 10%,rgba(23,105,255,.07),transparent 26%),
    radial-gradient(circle at 90% 88%,rgba(6,182,212,.055),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f7faff 100%);
}

.pricing-heading{
  max-width:900px;
  margin-bottom:58px;
}

.pricing-grid-modern{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.pricing-card-modern{
  position:relative;
  display:flex;
  min-width:0;
  min-height:610px;
  flex-direction:column;
  padding:34px;
  overflow:hidden;
  border:1px solid #dfe8f4;
  border-radius:26px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 48px rgba(20,57,108,.08);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.pricing-card-modern::before{
  content:"";
  position:absolute;
  top:-90px;
  right:-80px;
  width:210px;
  height:210px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(23,105,255,.10),transparent 68%);
  opacity:0;
  transition:opacity .3s ease;
}

.pricing-card-modern:hover{
  transform:translateY(-8px);
  border-color:rgba(23,105,255,.28);
  box-shadow:0 30px 70px rgba(23,105,255,.14);
}

.pricing-card-modern:hover::before{
  opacity:1;
}

.pricing-card-featured{
  transform:translateY(-12px);
  border:2px solid #1769ff;
  background:linear-gradient(180deg,rgba(238,245,255,.97),#fff 34%);
  box-shadow:
    0 28px 72px rgba(23,105,255,.19),
    0 0 0 6px rgba(23,105,255,.045);
}

.pricing-card-featured:hover{
  transform:translateY(-18px);
}

.pricing-popular{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
  padding:7px 13px;
  border-radius:999px;
  background:linear-gradient(135deg,#1769ff,#0b50d8);
  color:#fff;
  box-shadow:0 8px 22px rgba(23,105,255,.22);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.pricing-card-head{
  position:relative;
  z-index:1;
  min-height:145px;
}

.pricing-plan-label{
  display:block;
  margin-bottom:14px;
  color:#1769ff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.pricing-card-head h3{
  margin:0 0 13px;
  color:#0b1930;
  font-size:1.72rem;
}

.pricing-card-head p{
  margin:0;
  color:#687990;
  font-size:.94rem;
  line-height:1.65;
}

.pricing-price{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  gap:7px;
  margin:28px 0 12px;
  color:#0b1930;
}

.pricing-currency{
  margin-bottom:10px;
  color:#64748b;
  font-size:.82rem;
  font-weight:800;
}

.pricing-price strong{
  font-size:3.75rem;
  line-height:.92;
  letter-spacing:-.06em;
}

.pricing-period{
  margin-bottom:8px;
  color:#718096;
  font-size:.82rem;
  font-weight:700;
}

.pricing-price-custom{
  min-height:58px;
  align-items:center;
}

.pricing-price-custom strong{
  font-size:2.35rem;
  letter-spacing:-.045em;
}

.pricing-note{
  position:relative;
  z-index:1;
  min-height:48px;
  margin:0 0 25px;
  color:#52667f;
  font-size:.87rem;
  line-height:1.6;
}

.pricing-features{
  position:relative;
  z-index:1;
  display:flex;
  flex:1;
  flex-direction:column;
  gap:15px;
  margin:0 0 30px;
  padding:24px 0 0;
  border-top:1px solid #e7edf6;
  list-style:none;
}

.pricing-features li{
  position:relative;
  margin:0;
  padding-left:31px;
  color:#30455f;
  font-size:.9rem;
  line-height:1.5;
}

.pricing-features li::before{
  content:"✓";
  position:absolute;
  top:0;
  left:0;
  display:grid;
  width:21px;
  height:21px;
  place-items:center;
  border-radius:50%;
  background:#eaf8f1;
  color:#13a865;
  font-size:.68rem;
  font-weight:900;
}

.pricing-card-featured .pricing-features li::before{
  background:#e9f2ff;
  color:#1769ff;
}

.pricing-button{
  position:relative;
  z-index:1;
  width:100%;
  margin-top:auto;
}

.pricing-consulting{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:24px;
  align-items:center;
  margin-top:34px;
  padding:28px 30px;
  border:1px solid rgba(23,105,255,.16);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(234,243,255,.96),#fff);
  box-shadow:0 18px 44px rgba(23,105,255,.08);
}

.pricing-consulting-icon{
  display:grid;
  width:58px;
  height:58px;
  place-items:center;
  border:1px solid rgba(23,105,255,.14);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(23,105,255,.10);
}

.pricing-consulting-icon svg{
  width:28px;
  height:28px;
  stroke:#1769ff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pricing-consulting-copy span{
  display:block;
  margin-bottom:6px;
  color:#1769ff;
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pricing-consulting-copy h3{
  margin:0 0 7px;
  color:#0b1930;
  font-size:1.22rem;
}

.pricing-consulting-copy p{
  max-width:760px;
  margin:0;
  color:#62738a;
  font-size:.9rem;
  line-height:1.6;
}

.pricing-consulting .button{
  min-width:178px;
  white-space:nowrap;
}

@media(max-width:1080px){
  .pricing-grid-modern{
    grid-template-columns:1fr;
    max-width:760px;
    margin:0 auto;
  }

  .pricing-card-modern,
  .pricing-card-featured{
    min-height:0;
    transform:none;
  }

  .pricing-card-featured:hover,
  .pricing-card-modern:hover{
    transform:translateY(-6px);
  }

  .pricing-card-head,
  .pricing-note{
    min-height:0;
  }

  .pricing-consulting{
    grid-template-columns:auto 1fr;
  }

  .pricing-consulting .button{
    grid-column:1/-1;
    width:100%;
  }
}

@media(max-width:650px){
  .pricing-heading{
    margin-bottom:42px;
    text-align:left;
  }

  .pricing-heading .section-description{
    margin-left:0;
  }

  .pricing-card-modern{
    padding:28px;
    border-radius:21px;
  }

  .pricing-popular{
    position:static;
    align-self:flex-start;
    margin:0 0 18px;
  }

  .pricing-price strong{
    font-size:3.25rem;
  }

  .pricing-consulting{
    grid-template-columns:1fr;
    padding:25px;
  }
}
