        :root {
            --primary-color: #3A4F5F; /* Ruhiges Petrol-Grau */
            --accent-color: #6B8E7F;   /* Sanftes Salbei-Grün */
            --bg-page: #f9fafb;        /* Sehr sanftes Off-White für Tiefe */
            --text-dark: #2c3e50;
        }

        body {
            color: var(--text-dark);
            background-color: var(--bg-page);
            font-family: system-ui, -apple-system, sans-serif;
        }

        /* Navigation */
        .navbar-custom {
            background-color: var(--primary-color);
        }
        .navbar-custom .navbar-brand {
            color: #ffffff !important;
        }
        /* Navigation Links Grund-Setup */
        .navbar-custom .nav-link {
            color: rgba(255,255,255,0.85) !important;
            transition: color 0.3s ease;
            position: relative;
            padding-bottom: 4px; /* Etwas Platz für die Linie machen */
            margin: 0 4px; /* Leicht mehr Abstand zwischen den Links */
        }

        /* Der unsichtbare Unterstrich, der in der Mitte (left: 50%) sitzt */
        .navbar-custom .nav-link::after {
            content: '';
            position: absolute;
            width: 0;
            height: 2px;
            bottom: 0;
            left: 50%;
            background-color: var(--accent-color); /* Das schöne Salbei-Grün */
            transition: all 0.3s ease-in-out;
            transform: translateX(-50%); /* Hält die Linie perfekt mittig */
            border-radius: 2px;
        }

        /* Hover & Active: Farbe wird 100% weiß */
        .navbar-custom .nav-link:hover,
        .navbar-custom .nav-link.active {
            color: #ffffff !important;
            font-weight: 500;
        }

        /* Hover & Active: Die Linie wächst fließend auf 80% Breite an */
        .navbar-custom .nav-link:hover::after,
        .navbar-custom .nav-link.active::after {
            width: 80%; 
        }

        /* Cleane Hero Sektion */
        .hero-clean {
            background-color: #ffffff;
            padding: 3rem 0;
            border-bottom: 1px solid #eaeaea;
        }

        .badge-kassen {
            background-color: var(--accent-color);
            color: #ffffff;
            font-weight: 500;
            letter-spacing: 0.5px;
        }

        /* Sidebar Cards (Öffnungszeiten & Kontakt) */
        .info-card {
            border: none;
            border-radius: 12px;
            background-color: #ffffff;
            box-shadow: 0 4px 15px rgba(0,0,0,0.04);
            border-top: 4px solid var(--primary-color);
            transition: transform 0.2s ease;
        }
        .info-card .card-title {
            color: var(--primary-color);
            font-size: 1.1rem;
            font-weight: 700;
        }

        /* Highlight Box (Leistungen) */
        .feature-box {
            background-color: #ffffff;
            border-radius: 12px;
            box-shadow: 0 4px 15px rgba(0,0,0,0.04);
        }
        .feature-icon {
            color: var(--accent-color);
            font-size: 1.25rem;
        }

        /* PDF Button Styling */
        .btn-pdf {
            display: flex;
            align-items: center;
            background-color: #ffffff;
            border: 2px solid #e2e8f0;
            color: var(--text-dark);
            border-radius: 10px;
            padding: 1rem;
            transition: all 0.2s ease;
            text-decoration: none;
            box-shadow: 0 2px 8px rgba(0,0,0,0.02);
        }
        .btn-pdf:hover {
            border-color: #dc3545;
            background-color: #fffafb;
            color: #dc3545;
        }
        .btn-pdf i {
            color: #dc3545;
            font-size: 1.5rem;
            margin-right: 1rem;
        }
		
		/* Hover-Animation für den Google Maps Link im Footer */
		.maps {
			position: relative;
			transition: color 0.3s ease;
			display: inline-block; /* Wichtig, damit die Linie exakt so lang wird wie der Text */
			padding-bottom: 2px;
		}
		
		.maps::after {
			content: '';
			position: absolute;
			width: 0;
			height: 1px;
			bottom: 0;
			left: 0;
			background-color: var(--accent-color); /* Das schöne Salbei-Grün als feiner Akzent */
			transition: width 0.3s ease-in-out;
		}
		
		.maps:hover {
			color: #ffffff !important; /* Text wird beim Hovern strahlend weiß */
		}
		
		.maps:hover::after {
			width: 100%; /* Linie zieht sich sanft unter dem kompletten Text auf */
		}
		
		/* Hover-Animation für Kontakt-Links auf hellem Hintergrund (Karten) */
		.link-animated-dark {
			position: relative;
			display: inline-block;
			padding-bottom: 2px;
			color: var(--primary-color) !important; /* Startfarbe: Petrol-Grau */
			transition: color 0.3s ease;
		}
		
		.link-animated-dark::after {
			content: '';
			position: absolute;
			width: 0;
			height: 1.5px; /* Etwas dicker für bessere Sichtbarkeit auf Weiß */
			bottom: 0;
			left: 0;
			background-color: var(--accent-color);
			transition: width 0.3s ease-in-out;
		}
		
		.link-animated-dark:hover {
			color: var(--accent-color) !important; /* Hover-Farbe: Salbei-Grün */
		}
		
		.link-animated-dark:hover::after {
			width: 100%;
		}
		
		
		/* Spezifisches Styling für die Team-Mitglieder */
        .team-card {
            background-color: #ffffff;
            border-radius: 16px;
            padding: 2rem 1rem;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            height: 100%;
            border: 1px solid #f0f0f0;
        }
        .team-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.05);
            border-color: var(--accent-color);
        }
        .team-img-wrapper {
            position: relative;
            display: inline-block;
            margin-bottom: 1.5rem;
        }
        /* Der farbige Ring um das Bild */
        .team-img-wrapper::before {
            content: '';
            position: absolute;
            top: -5px; left: -5px; right: -5px; bottom: -5px;
            border: 2px dashed var(--accent-color);
            border-radius: 50%;
            opacity: 0.5;
            transition: transform 0.5s ease;
        }
        .team-card:hover .team-img-wrapper::before {
            transform: rotate(45deg);
            opacity: 1;
        }
		
		
		 /* Spezielles Styling für die externen Links (angelehnt an unsere PDF-Buttons) */
        .btn-ext-link {
            display: flex;
            align-items: center;
            background-color: #ffffff;
            border: 2px solid #e2e8f0;
            color: var(--text-dark);
            border-radius: 12px;
            padding: 1.25rem;
            transition: all 0.3s ease;
            text-decoration: none;
            box-shadow: 0 2px 8px rgba(0,0,0,0.02);
            height: 100%;
        }
        
        .btn-ext-link:hover {
            border-color: var(--accent-color);
            background-color: #f4f8f6; /* Ein extrem sanftes Grün für den Hintergrund */
            box-shadow: 0 6px 15px rgba(0,0,0,0.05);
        }
        
        .btn-ext-link i {
            color: var(--primary-color);
            font-size: 1.8rem;
            margin-right: 1.25rem;
            transition: all 0.3s ease;
        }
        
        .btn-ext-link:hover i {
            color: var(--accent-color);
        }
		
		
		/* Mobile-Korrektur für die animierte Navi-Linie */
		@media (max-width: 991.98px) {
			.navbar-custom .navbar-nav {
				align-items: flex-start; /* Hält alle Links schön linksbündig */
			}
			
			.navbar-custom .nav-link {
				display: inline-block; /* Schrumpft den "Kasten" des Links auf das reine Wort */
			}
			
			.pl-mobile {
				padding-left: 2rem !important;
			}
			
			/* Optional: Auf dem Handy darf die Linie gerne 100% des Wortes abdecken, sieht runder aus */
			.navbar-custom .nav-link:hover::after,
			.navbar-custom .nav-link.active::after {
				width: 100%; 
			}
		}