@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
    --primary:#43B9B2;
    --primary-dark:#369a94;
    --secondary:#555f6f;
    --dark:#151c27;
    --background:#f9f9ff;
    --surface:#ffffff;
    --surface-soft:#f0f3ff;
    --outline:#e7eaf2;
    --bs-primary:#43B9B2;
    --bs-primary-rgb:67,185,178;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:'Poppins',sans-serif;
    font-size:16px;
    font-weight:500;
    line-height:1.6;
    color:var(--dark);
    background:var(--background);
    overflow-x:hidden;
}

.dropdown-menu{
    min-width:280px;
}

.dropdown-item{
    border-radius:12px;
}

.dropdown-item:hover,
.dropdown-item:focus{
    background:rgba(67,185,178,.08);
    color:var(--dark);
}

.dropdown-item:active{
    background:transparent !important;
}

h1,h2,h3,h4,h5,h6,
.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{
    color:var(--dark);
    font-weight:800;
    line-height:1.15;
}

.display-4{font-size:clamp(2rem,3vw,2.75rem)}
.display-5,.display-6,section h2{font-size:clamp(1.5rem,2vw,2rem)}
.lead,.fs-5{font-size:1.5rem!important}
.fs-4{font-size:1.15rem!important}
p,li,span{font-weight:500}

.text-primary{color:var(--primary)!important}
.bg-primary{background-color:var(--primary)!important}
.text-secondary{color:var(--secondary)!important}
.bg-background{background-color:var(--background)!important}

.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6,
.bg-primary p,
.bg-primary li,
.bg-primary span{color:#fff}

.container-xl{max-width:1320px}
section.py-5{padding-top:4rem!important;padding-bottom:4rem!important}
main>section:first-child{padding-top:140px!important}

.glass-header{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:96px;
    display:flex;
    align-items:center;
    background:#fff;
    border-bottom:1px solid #eee;
    z-index:1030;
    transition:height .25s ease,box-shadow .25s ease;
}
.glass-header.header-shrunk{height:84px;box-shadow:0 10px 25px rgba(0,0,0,.05)}
.glass-header .navbar{width:100%;padding:0!important}
.navbar-brand img{width:180px;height:auto}
.navbar-nav{gap:24px}
.nav-link{
    position:relative;
    color:var(--secondary)!important;
    font-size:16px !important;
    font-weight:400 !important;
}
.nav-link:hover,.nav-link.active{color:var(--primary)!important}
.nav-link:after{
    content:'';
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:2px;
    background:var(--primary);
    transition:.25s ease;
}
.nav-link:hover:after,.nav-link.active:after{width:100%}

.header-auth{display:flex;gap:14px}
.header-auth .btn{
    min-width:185px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    font-size:16px;
    font-weight:600;
}

.btn-primary{
    background:var(--primary)!important;
    border-color:var(--primary)!important;
    color:#fff!important;
    transition:.25s ease;
}
.btn-primary:hover,.btn-primary:focus{
    background:var(--primary-dark)!important;
    border-color:var(--primary-dark)!important;
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(67,185,178,.25);
}
.btn-outline-primary{
    background:#fff!important;
    color:var(--primary)!important;
    border:2px solid var(--primary)!important;
    transition:.25s ease;
}
.btn-outline-primary:hover,.btn-outline-primary:focus{
    background:var(--primary)!important;
    color:#fff!important;
    transform:translateY(-3px);
}

.premium-shadow{box-shadow:0 22px 55px -14px rgba(0,0,0,.1)}
.premium-shadow-sm{box-shadow:0 12px 34px -14px rgba(0,0,0,.08)}
.hover-lift{transition:.25s ease}
.hover-lift:hover{transform:translateY(-8px);box-shadow:0 26px 55px -15px rgba(67,185,178,.18)}

@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.animate-float{animation:float 6s ease-in-out infinite}
.lottie-container{height:115px;width:100%;display:flex;align-items:center;justify-content:center}

.pricing-card{
    background:#fff;
    border:1px solid var(--outline);
    border-radius:24px;
    padding:2rem;
    display:flex;
    flex-direction:column;
    transition:.25s ease;
}
.pricing-card:hover{transform:translateY(-8px);box-shadow:0 20px 50px rgba(67,185,178,.15)}
.pricing-card.featured{border:2px solid var(--primary)}
.price-val,.pricing-card .display-4{font-size:2rem!important;font-weight:800}
.billing-unit{font-size:.9rem}
.feature-list{font-size:.95rem}
.feature-list li{display:flex;gap:.75rem;margin-bottom:.65rem}
.feature-list .disabled{color:#adb5bd;text-decoration:line-through}

.accordion-item{
    border:0;
    border-radius:18px!important;
    overflow:hidden;
    margin-bottom:15px;
    background:var(--surface-soft);
}
.accordion-button{
    background:var(--surface-soft);
    box-shadow:none!important;
    font-size:15px;
    font-weight:700;
}
.accordion-button:not(.collapsed){color:var(--primary);background:var(--surface-soft)}
.accordion-button:after{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:50%;
    background-color:#fff;
    background-position:center;
    background-size:14px;
    box-shadow:0 5px 15px rgba(0,0,0,.06);
}

.mieter-portal-actions{max-width:760px}
.store-box{
    min-width:215px;
    min-height:64px;
    padding:11px 16px;
    border-radius:16px;
    line-height:1.15;
}
.store-box i{font-size:24px}
.store-box small{
    display:block;
    font-size:9px;
    font-weight:700;
    letter-spacing:.5px;
    opacity:.72;
    margin-bottom:3px;
}
.store-box span{display:block;font-size:14px;font-weight:700}
.app-soon{background:#243f40;color:#fff;opacity:.82}
.web-ready{
    background:#243f40;
    color:#fff;
    opacity:.82;
}

.web-ready i{
    color:#fff !important;
}

.web-ready small{
    color:#fff !important;
    opacity:.72;
}

.web-ready span{
    color:#fff !important;
}

#kontakt .form-control{
    border:1px solid #d8d8d8!important;
    border-radius:14px;
    min-height:56px;
    padding:14px 18px;
    background:#fff!important;
    box-shadow:none;
}
#kontakt textarea.form-control{min-height:140px}
#kontakt .form-control:focus{
    border-color:var(--primary)!important;
    box-shadow:0 0 0 4px rgba(67,185,178,.10)!important;
}

#helpButton,
#scrollTopBtn{
    background:var(--primary)!important;
    border:none!important;
    color:#fff;
}
#helpButton{position:fixed;top:50%;right:0;transform:translateY(-50%);width:3.5rem;height:3.5rem;border-radius:14px 0 0 14px;z-index:1050;display:flex;align-items:center;justify-content:center;box-shadow:-5px 5px 15px rgba(0,0,0,.12)}
#scrollTopBtn{position:fixed;right:30px;bottom:30px;width:50px;height:50px;border-radius:50%;display:none;align-items:center;justify-content:center;z-index:1087;box-shadow:0 10px 20px rgba(0,0,0,.12);cursor:pointer;transition:.25s ease}
#scrollTopBtn:hover{background:var(--primary-dark)!important;transform:translateY(-5px)}
.help-close-btn{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem;cursor:pointer;transition:.2s ease}
.help-close-btn:hover{background:rgba(255,255,255,.3);transform:rotate(90deg)}

#btnReopenConsent{position:fixed;left:2rem;bottom:2rem;width:3.5rem;height:3.5rem;border-radius:50%;border:0;background:#3d4948;color:#fff;z-index:1086;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px rgba(0,0,0,.12)}
#btnReopenConsent .consent-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-60%);background:rgba(22,163,74,.92);color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;line-height:1;font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .15s ease;white-space:nowrap}
#btnReopenConsent .consent-badge.show{opacity:1}

.modal-content{border-radius:16px}
.modal-footer .btn{border-radius:12px}
#newsletter-input::placeholder,.placeholder-white::placeholder{color:#fff!important;opacity:1}
footer{font-family:'Poppins',sans-serif}
footer a:hover{color:var(--primary)!important}

.section-animate{opacity:0;transform:translateY(50px);transition:opacity .7s ease,transform .7s ease}
.section-animate.animate-in{opacity:1;transform:none}

@media(max-width:991px){

    .glass-header{
        height:84px !important;
        min-height:84px !important;
        padding:0 !important;
        align-items:center !important;
    }

    .glass-header .navbar{
        position:relative;
        width:100%;
    }

    .navbar-brand img{
        width:145px !important;
    }

    .navbar-collapse{
        position:absolute !important;
        top:72px !important;
        left:18px !important;
        right:18px !important;
        width:auto !important;
        background:#fff !important;
        padding:14px 18px !important;
        margin:0 !important;
        border-radius:18px !important;
        box-shadow:0 18px 45px rgba(0,0,0,.10) !important;
        z-index:1035 !important;
    }

    .navbar-collapse .btn{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        line-height:1 !important;
        padding-top:0 !important;
        padding-bottom:0 !important;
    }

    .navbar-nav{
        gap:0 !important;
    }

    .nav-link{
        font-size:14px !important;
        padding:7px 0 !important;
        background:transparent !important;
    }

    .navbar-collapse .d-flex{
        display:flex !important;
        flex-direction:row !important;
        gap:10px !important;
        margin-top:12px !important;
    }

    .navbar-collapse .btn{
        flex:1;
        height:42px !important;
        min-width:0 !important;
        padding:0 10px !important;
        font-size:14px !important;
        border-radius:10px !important;
    }

    .nav-link:after{
        display:none;
    }

    main>section:first-child{
        padding-top:110px!important;
    }
}

@media(max-width:768px){
    .container,.container-xl{padding-left:18px!important;padding-right:18px!important}
    section.py-5{padding-top:2.5rem!important;padding-bottom:2.5rem!important}
    .display-4{font-size:2rem}
    .display-5,.display-6,section h2{font-size:1.6rem}
    .p-5{padding:1.4rem!important}
    .store-box{min-width:100%;max-width:100%}
    #scrollTopBtn{right:14px;bottom:14px;border-radius:14px}
    #btnReopenConsent{left:14px;bottom:14px}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
    .section-animate{opacity:1!important;transform:none!important}
}

/* Küçük “Gespeichert” rozeti */
#btnReopenConsent .consent-badge {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -60%); /* hafif yukarı */
    background: rgba(22, 163, 74, .92);
    color: #fff;
    border-radius: 10px;
    padding: 2px 6px;
    font-size: 10px;
    line-height: 1;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
    opacity: 0;
    pointer-events: none;
    transition: opacity .15s ease, transform .15s ease;
    white-space: nowrap;
}

#btnReopenConsent .consent-badge.show {
    opacity: 1;
    transform: translate(-50%, -60%);
}

#btnReopenConsent:active {
    transform: translateY(1px);
}

#btnReopenConsent:focus-visible {
    outline: 2px solid #7cb3ff;
    outline-offset: 2px;
}

@media (max-width: 576px) {
    #btnReopenConsent {
        left: 12px;
        bottom: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #btnReopenConsent {
        transition: none;
    }
}

#btnReopenConsent:active {
    transform: translateY(1px);
}

#btnReopenConsent:focus-visible {
    outline: 2px solid #7cb3ff;
    outline-offset: 2px;
}

@media (max-width: 576px) {
    #btnReopenConsent {
        left: 12px;
        bottom: 12px;
        height: 44px;
        padding: 0 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #btnReopenConsent {
        transition: none;
    }
}

:root {
    --primary: #43B9B2 !important;
    --bs-primary: #43B9B2 !important;
    --bs-primary-rgb: 67,185,178 !important;
}

.text-primary {
    color: #43B9B2 !important;
}

.bg-primary {
    background-color: #43B9B2 !important;
}

.btn-primary {
    background-color: #43B9B2 !important;
    border-color: #43B9B2 !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #369a94 !important;
    border-color: #369a94 !important;
    color: #fff !important;
}

.btn-outline-primary {
    color: #43B9B2 !important;
    border-color: #43B9B2 !important;
}

.btn-outline-primary:hover {
    background-color: #43B9B2 !important;
    border-color: #43B9B2 !important;
    color: #fff !important;
}

.border-primary {
    border-color: #43B9B2 !important;
}

.link-primary {
    color: #43B9B2 !important;
}

.pricing-card.featured {
    border-color: #43B9B2 !important;
}

#helpButton,
#scrollTopBtn {
    background-color: #43B9B2 !important;
    border-color: #43B9B2 !important;
}

#helpButton:hover,
#scrollTopBtn:hover {
    background-color: #369a94 !important;
}
/* FONT FIX */

html,
body{
    font-family:'Poppins',sans-serif !important;
    font-weight:500 !important;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}


h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6{
    font-family:'Poppins',sans-serif !important;
    font-weight:500 !important;
    letter-spacing:-0.02em;
    color:#151c27;
}

.nav-link{
    font-weight:500 !important;
}

.btn{
    font-weight:500 !important;
}

.lead,
p,
span,
li,
.card-text,
.accordion-body{
    font-weight:500 !important;
}

.pricing-card h3,
.pricing-card .price-val{
    font-weight:800 !important;
}

.accordion-button{
    font-weight:700 !important;
}

.vorteil-title,
.security-title{
    font-weight:700 !important;
}
.nav-item.dropdown .nav-link:after{
    display:none !important;
}


.nav-item.dropdown{
    position:relative;
}

.dropdown-menu{
    display:none;
    min-width:280px;
    margin-top:0px;
}

.nav-item.dropdown:hover .dropdown-menu{
    display:block;
}

