 :root {
            --primary-green: #47813f;
            --secondary-brown: #8b5a2b;
            --accent-yellow: #ffc107;
            --light-bg: #f8f9fa;
        }

        body {
            font-family: 'Inter', sans-serif;
            color: #333;
            line-height: 1.6;
        }

        h1, h2, h3, .navbar-brand {
            font-family: 'Playfair Display', serif;
        }

        .navbar {
            background-color: white;
            box-shadow: 0 2px 10px rgba(0,0,0,0.05);
        }

        .nav-link {
            font-weight: 600;
            color: var(--primary-green) !important;
        }

        /* Hero Section */
        .hero {
            position: relative;
            min-height: 70vh;
            display: flex;
            align-items: center;
            background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)), 
                        url('../img/gartenteaser.png');
            background-size: cover;
            background-position: center;
            color: white;
        }

        .backdrop-blur {
            backdrop-filter: blur(10px);
            background: rgba(255, 255, 255, 0.15);
            border: 1px solid rgba(255, 255, 255, 0.2);
            padding: 3rem;
            border-radius: 1.5rem;
        }

        /* Feature Cards */
        .icon-circle {
            width: 80px;
            height: 80px;
            background-color: var(--primary-green);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
            transition: transform 0.3s ease;
        }

        .card:hover .icon-circle {
            transform: scale(1.1) rotate(5deg);
        }

        .transition-hover {
            transition: all 0.3s ease;
            border: none;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        }

        .transition-hover:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.1);
        }

        .btn-success {
            background-color: var(--primary-green);
            border-color: var(--primary-green);
        }

        footer {
            background-color: #1a1a1a;
            color: #d1d1d1;
        }

        /* Warme Akzente und Übergänge */
        .hover-white:hover {
            color: white !important;
            transition: 0.2s;
        }

        .text-success {
            color: #40916c !important; /* Etwas helleres Grün für bessere Lesbarkeit auf Dunkel */
        }

        /* Button & Card Anpassung */
        .btn-warning {
            background-color: #bc6c25 !important; /* Terra Cotta statt Knallgelb */
            border-color: #bc6c25 !important;
            color: white !important;
        }

        .bg-light {
            background-color: #f0f4f2 !important; /* Ganz leichter Grünstich im Grau */
        }

        .icon-circle {
            background-color: #1b4332 !important; /* Deep Forest für die Icons */
        }

        .modern-link {
    color: #ffc107; /* Ein warmes Goldgelb passend zum Garten-Thema */
    text-decoration: none;
    position: relative;
    font-weight: 600;
    display: inline-block;
    transition: color 0.3s ease;
}

.modern-link::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: -2px;
    left: 0;
    background-color: #ffc107; /* Gleiche Farbe wie der Text */
    transform-origin: bottom right;
    transition: transform 0.4s cubic-bezier(0.86, 0, 0.07, 1);
}

.modern-link:hover {
    color: #fff; /* Text wird weiß beim Hover */
}

.modern-link:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
    background-color: #fff; /* Linie wird auch weiß */
}

/* Custom Accordion Style für Termine */
.custom-termin-accordion .accordion-button {
    font-size: 0.85rem;
    color: var(--primary-green);
    background-color: var(--soft-green-bg) !important;
    box-shadow: none !important;
}

.custom-termin-accordion .accordion-button:not(.collapsed) {
    background-color: var(--primary-green) !important;
    color: white !important;
}

/* Der Pfeil wird zentriert oder ausgeblendet, falls gewünscht */
.custom-termin-accordion .accordion-button::after {
    background-size: 0.8rem;
    margin-left: 10px;
}

.bg-light-green {
    background-color: var(--soft-green-bg) !important;
}

/* Hover-Effekt für die Termin-Icons */
.transition-hover:hover .bi-calendar-event {
    transform: scale(1.2);
    transition: transform 0.3s ease;
}

/* Avatar-Styling */
.avatar-wrapper {
    width: 120px;
    height: 120px;
    position: relative;
    padding: 5px;
    background: linear-gradient(135deg, var(--primary-green), var(--accent-yellow));
    border-radius: 50%;
}

.avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid white;
}

/* Spezielle Hover-Effekte für Kontakt-Karten */
.transition-hover:hover .avatar-wrapper {
    transform: scale(1.05) rotate(3deg);
    transition: transform 0.4s ease;
}

.contact-links a:hover {
    color: var(--terra-cotta) !important;
}

/* Zusätzliche Abstände */
.card-title {
    font-size: 0.9rem;
    color: var(--primary-green);
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.x-small {
    font-size: 0.75rem;
}

/* Erzwungene Gleichheit für Flex-Cards */
.row.align-items-stretch .card {
    display: flex;
    flex-direction: column;
}

/* Verhindert, dass Avatare in kleinen Boxen die Karte sprengen */
.avatar-wrapper {
    flex-shrink: 0; /* Avatar behält seine Größe, egal wie viel Text kommt */
}

.card-body {
    flex-grow: 1; /* Der Body füllt den gesamten restlichen Platz aus */
}

/* Erzeugt einen sanften "nach innen gewölbten" Effekt */
.shadow-inner {
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
    background-color: rgba(255, 255, 255, 0.95) !important;
}

/* Hilfsklasse für die Badge-Zeiten */
.bg-light-green {
    background-color: #f0f4f2 !important;
    font-size: 0.75rem;
    font-weight: 600;
}

.text-dark {
    color: #1b4332 !important; /* Nutzt dein Deep Forest für den Text im weißen Inlay */
}