:root{
    --primary:#089f44;
    --dark:#0f172a;
}

body{
    font-family:system-ui;
    overflow-x:hidden;
}
a {
  color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));
  text-decoration: underline;
  text-decoration: none;
  color: #089f44;
}
/* ================= NAV ================= */

.logo{

height:58px;

width:auto;

}



.logo-title{

font-size:24px;

font-weight:700;

color:#198754;

line-height:1;

}



.navbar{

padding:14px 0;

transition:.35s;

}



.nav-link{

font-weight:600;

margin:0 8px;

position:relative;

}



.nav-link:hover{

color:#198754 !important;

}



.nav-link::after{

content:"";

position:absolute;

left:0;

bottom:-5px;

width:0;

height:2px;

background:#198754;

transition:.3s;

}



.nav-link:hover::after{

width:100%;

}



.navbar-right{

display:flex;

align-items:center;

gap:15px;

}



.phone-btn{

background:#ffc107;

padding:10px 18px;

border-radius:50px;

text-decoration:none;

font-weight:600;

color:#000;

display:flex;

align-items:center;

gap:8px;

transition:.3s;

}



.phone-btn:hover{

background:#ffca2c;

color:#000;

}



.social{

font-size:22px;

color:#333;

transition:.3s;

}



.social:hover{

color:#198754;

transform:translateY(-3px);

}



.btn-success{

font-weight:600;

}



@media(max-width:991px){

.navbar-collapse{

text-align:center;

padding-top:20px;

}



.navbar-nav{

margin:25px 0;

}



.navbar-right{

flex-direction:column;

justify-content:center;

gap:18px;

}



.phone-text{

display:inline;

}



.logo{

height:48px;

}

}



@media(max-width:576px){

.phone-text{

display:none;

}



.phone-btn{

width:52px;

height:52px;

padding:0;

justify-content:center;

}



.phone-btn i{

font-size:20px;

}



.logo-title{

font-size:20px;

}

}
.topbar a{
    transition:.3s;
}

.bg-dark a:hover{
    color:#089f44 !important;
}

.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color:var(--primary);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg:var(--primary);
  --bs-btn-hover-border-color:var(--primary);
  --bs-btn-focus-shadow-rgb: 217,164,6;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg:var(--primary);
  --bs-btn-active-border-color: #ffc720;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg:var(--primary);
  --bs-btn-disabled-border-color:var(--primary);
}
.text-warning {
  --bs-text-opacity: 1;
  color: rgba(var(--primary),var(--bs-text-opacity)) !important;
}

.navbar{
    z-index:9999;
}

/* ================= HERO ================= */

.hero-section{

    background:
    linear-gradient(120deg,rgba(0,0,0,.8),rgba(0,0,0,.4)),
    url('https://images.unsplash.com/photo-1504307651254-35680f356dfd');
    background-size:cover;
    background-position:center;
    padding:1px 0 100px;
    color:white;

}

.hero-overlay{
 position:absolute;
 background:
 linear-gradient(120deg,rgba(0,0,0,.8),rgba(0,0,0,.4)),
 url('https://images.unsplash.com/photo-1504307651254-35680f356dfd');
 background-size:cover;
 background-position:center;
 padding:1px 0 100px;
 color:white;
}

.hero-section .container{
position:relative;
z-index:2;
}

.hero-form{
background:#fff;
border-radius:22px;
padding:40px;
box-shadow:0 25px 60px rgba(0,0,0,.25);
}
.form-label {
margin-bottom: .5rem;
color:#333;
}
.form-control, .form-select,.form-check-input[type="checkbox"] {
  border-radius: 12px;
  padding: 10px;
  border: 1px solid var(--primary);
}
.feature-box{
background:rgba(255,255,255,.12);
padding:18px;
border-radius:10px;
backdrop-filter:blur(8px);
font-weight:600;
}

.feature-box i{
color:#089f44;
font-size:26px;
margin-right:10px;
}

.form-control,.form-select{
border-radius:12px;
padding:14px;
}

@media(max-width:991px){

.hero-form{
margin-top:40px;
padding:30px;
}

.hero-section{
padding-top:40px;
padding-bottom:40px;
}

}
 

.hero h1{
    font-size:60px;
    font-weight:900;
}

.hero-form {
	background:#e6e8e2;
	padding: 18px;
	border-radius: 14px;
	backdrop-filter: blur(8px);
	font-weight: 600;
}
.hero-form .h1, .hero-form .h2, .hero-form .h3,  {
  margin-top: 0;
  margin-bottom: .5rem;
  font-weight: 500;
  line-height: 1.2;
  color: #333;
}
.fw-bold {
  font-weight: 700 !important;
  color:var(--primary);

}

label {
  display: inline-block;
  color: #000;
  font-weight: 500;
}
.fvf {
  font-weight: 700 !important;
  color: #fff;
}
.btn:a {
  color:#fff;
  background-color: var(--primary);
  border-color: var(--bs-btn-hover-border-color);
}
textarea.form-control {
  min-height: 227px;
}

.glass{
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(12px);
    padding:25px;
    border-radius:20px;
}

/* ================= BUTTONS ================= */

.btn-main{
    background:var(--primary);
    border:none;
    color:white;
    padding:12px 20px;
    font-weight:700;
}

/* ================= CARDS ================= */

.cardx{
    border:none;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
    transition:.4s;
}

.cardx:hover{
    transform:translateY(-10px) scale(1.02);
}

/* ================= SECTIONS ================= */

.section-title{
    font-weight:900;
    text-align:center;
    margin-bottom:60px;
}

/* ================= STATS ================= */

.stats{
    background:var(--primary);
    color:white;
    padding:50px;
    border-radius:20px;
}

/* ================= CTA ================= */

.cta{
    background:var(--primary);
    color:white;
    padding:80px 0;
    text-align:center;
}

/* ================= WHATSAPP ================= */

.whatsapp{
    position:fixed;
    bottom:20px;
    right:20px;
    background:var(--primary);
    color:white;
    width:60px;
    height:60px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    z-index:999;
}

/* ================= ANIMATION ================= */

.fade-in{
    opacity:0;
    transform:translateY(30px);
    transition:all .8s ease;
}

.fade-in.show{
    opacity:1;
    transform:translateY(0);
}


.cardx{

background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 8px 25px rgba(0,0,0,.08);
height:100%;
transition:.35s;
border:1px solid var(--primary);
}


.cardx img{

height:240px;
object-fit:cover;

}


.cardx:hover{

transform:translateY(-8px);
box-shadow:0 15px 35px rgba(0,0,0,.15);

}


.cardx h5{

font-weight:700;
color:#198754;

}


.cardx p{

font-size:.95rem;
line-height:1.6;
color:#666;

}
/* Pflichtfeld Fehler */

.form-control.is-invalid,
.form-select.is-invalid {
    border: 2px solid #dc3545 !important;
    background-image: none;
}


.form-control.is-invalid:focus,
.form-select.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220,53,69,.25);
}


.field-error {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 5px;
}


.required-error {
    color:#dc3545;
}