.bg-blur{
    background-color: rgba(255, 255, 255, 0.5);
    backdrop-filter:blur(12px);
}

.glass-card {
    transition: transform .95s 
cubic-bezier(.2, .8, .2, 1), opacity .7s 
ease, box-shadow .35s 
ease, border-color .35s 
ease, background-color .35s 
ease;
    position: relative;
    overflow: hidden;
    border-radius:1.5rem;
}

.glass-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 48px rgba(1, 22, 61, .16);
    border-color: rgba(255, 255, 255, .55);
    background: rgba(255, 255, 255, .58);
}

.shadow-soft{
     box-shadow: 0 12px 30px rgba(1, 22, 61, .10), 0 60px 120px rgba(1, 22, 61, .12);
}


/* Der zu unterstreichende Teil */
.svc-u{
  position: relative;
  display: inline-block;             /* verhindert Wortumbruch */
  padding-bottom: .2em;                /* Abstand Strich zum Text */
 --underline-color:var(--e-global-color-secondary);
}
.u-grad-1{--underline-color:linear-gradient(90deg, var(--e-global-color-secondary), var(--e-global-color-primary)); }

/* Der animierte Unterstrich */
@media(min-width:768px){.svc-u::after{
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;                           /* direkt unter dem Text */
  height: 6px;                         /* Linienstärke */
  width: var(--u-w, 100%);             /* JS setzt exakte Breite */
  background: var(--underline-color);
  border-radius: 4px;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .85s cubic-bezier(.2,.8,.2,1);
}
 
/* Startzustand nach Messung -> Strich fährt ein */
.svc-u.is-ready::after{
  transform: scaleX(1);
}
 
}

.svc-card{
    width:clamp(290px, 32%, 300px);
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    padding: 22px;
    transition: transform .35s 
ease, box-shadow .35s 
ease, border-color .35s 
ease;
    box-shadow: 0 6px 18px rgba(1, 22, 61, .06);
}


.svc-icon elementor-icon{
    svg{
        width:1.5rem;
        height:1.5rem;
    }
    height: 44px;
    width: 44px;
    border-radius: 16px;
    background: rgba(11, 91, 211, .08);
    color: #0B5BD3;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    transition: transform .35s 
ease, background .35s 
ease, color .35s 
ease;
}

.svc-title {
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    margin-bottom: 6px;
}

.svc-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 14px 40px rgba(1, 22, 61, .12);
    border-color: rgba(11, 91, 211, .35);
}

.bold{
    font-weight:700;
}

.product-wrap{
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1.5rem;
    padding: 2rem;
}
.product-card{
     background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 1.5rem;
    padding: 1rem;
    transition: transform .35s 
ease, box-shadow .35s 
ease, border-color .35s 
ease;
    box-shadow: 0 6px 18px rgba(1, 22, 61, .06);
}
.product-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 14px 40px rgba(1, 22, 61, .12);
    border-color: rgba(11, 91, 211, .35);
}