:root {
    /* Deine Primärfarbe */
    --bs-primary: #319d2f;
    --bs-primary-rgb: 49, 157, 47;
    
    /* --- NEU: Globale Link-Farben für die gesamte Seite --- */
    --bs-link-color: #319d2f;          /* Standard Linkfarbe: Grün */
    --bs-link-hover-color: #267a24;    /* Hover Linkfarbe: Dunkleres Grün */
}

*,::after,::before {
    box-sizing: border-box;
}

html, body {
    overflow-x: hidden;
    width: 100%;
}

main {
    flex: 1;
}

a {
    color: var(--bs-link-color);
    text-decoration: none; 
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: var(--bs-link-hover-color);
}

h1, .h1 { font-size: 2.0rem; } 
h2, .h2 { font-size: 1.6rem; } 
h3, .h3 { font-size: 1.35rem; }
h4, .h4 { font-size: 1.1rem; }     
h5, .h5 { font-size: 1.0rem; }     
h6, .h6 { font-size: 0.9rem; } 

.btn-primary {
    background-color: #319d2f;
    border-color: #319d2f;
}

.btn-primary:hover {
    background-color: #267a24;
    border-color: #267a24;
}

.btn-outline-primary {
    color: #319d2f;
    border-color: #319d2f;
}

.btn-outline-primary:hover {
    background-color: #319d2f;
    border-color: #319d2f;
    color: #fff;
}

.top-bar {
    background-color: #f2f2f2;
    color: #000;
    font-size: 0.85rem;
    padding: 5px 0;
    border-bottom: 1px solid #e0e0e0;
}

.top-bar a {
    color: #000;
}

.top-bar a:hover {
    color: var(--bs-primary); 
}

.navbar-brand img {
    max-height: 50px; 
    width: auto;
}

.navbar-nav .nav-link {
    color: rgba(0,0,0,0.65); 
    font-weight: 400; 
    transition: all 0.2s ease-in-out;
}

/* Hover in der Navigation */
.navbar-nav .nav-link:hover {
    color: var(--bs-primary);
}

.navbar-nav .nav-link.active {
    font-weight: 700 !important; 
    color: var(--bs-primary) !important; 
    border-bottom: 2px solid var(--bs-primary);
}


.dropdown-item.active, .dropdown-item:active {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

.dropdown-item.active:hover {
    background-color: var(--bs-primary-rgb);
}

.hero-section {
    padding: 0; 
    width: 100%;
    overflow: hidden;
}

.hero-section img {
    width: 100%;
    height: auto;
    min-height: 300px;
    object-fit: cover;
    display: block;
}

.card {
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.cardShadow {
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

.feature-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-top: 4px solid var(--bs-primary);
}

.feature-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}


.footer-link {
    color: #e0e0e0 !important;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-link:hover {
    color: var(--bs-primary) !important;
    text-decoration: underline;
}

.error-code {
    font-size: 8rem;
    font-weight: 900;
    color: var(--bs-primary);
    line-height: 1;
    opacity: 0.8;
}

@media (min-width: 992px) {
    .dropdown:hover .dropdown-menu {
        display: block;
        margin-top: 0; 
    }
}