/* --- Bestehender Code --- */
/* Container & Reset Button */
.map-wrapper { position: relative; }

#map-container {
    height: 650px;
    width: 100%;
    margin-bottom: 30px;
    background: #fdfdfd;
    border: 1px solid #eee;
    /* NEU: Modernerer Schatten und abgerundete Ecken */
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border-radius: 8px;
    overflow: hidden; /* Wichtig für die runden Ecken */
    z-index: 1;
}

#reset-map-btn {
    position: absolute;
    top: 20px; right: 20px; z-index: 1000;
    background: white; border: 1px solid #ccc; padding: 6px 12px;
    border-radius: 4px; cursor: pointer; color: #555; font-size: 13px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); display: none; 
    transition: all 0.2s;
}
#reset-map-btn:hover { background: #007bff; color: white; border-color: #007bff; }

/* Händler Boxen */
.dealer-item {
    border: 1px solid #eee; padding: 20px; /* Mehr Padding */
    margin-bottom: 15px; border-radius: 8px; /* Rundere Ecken */
    cursor: pointer; transition: all 0.3s ease; background: #fff;
    height: 100%; display: flex; flex-direction: column; justify-content: center;
    /* NEU: Leichter Schatten standardmäßig */
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}
.dealer-item:hover {
    background-color: #fff;
    border-color: #bde0ff;
    /* NEU: Stärkerer Schatten und Hebe-Effekt beim Hover */
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,90,200,0.1);
}
.dealer-active { border-left: 4px solid #0056b3; background-color: #e6f2ff !important; }

/* Schatten und Pins - Unverändert */
.country-shadow { filter: drop-shadow(0px 5px 15px rgba(0, 0, 0, 0.25)); }
.custom-pin {
    background-color: #d63031; border-radius: 50%; border: 2px solid white;
    width: 14px !important; height: 14px !important; box-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
.state-label {
    background: rgba(255, 255, 255, 0.9); border: 1px solid #ccc;
    box-shadow: 0 1px 2px rgba(0,0,0,0.1); font-weight: normal;
    color: #333; font-size: 12px; padding: 2px 5px; border-radius: 3px;
}

/* --- NEUER CODE FÜR DIE OPTIK --- */

/* 1. Hero Banner Styles */
.hero-section {
    position: relative;
    /* PLATZHALTER BILD PFAD ANPASSEN! */
    background-image: url('/media/image/landingpage/genny-hero-banner.webp'); 
    background-size: cover;
    background-position: center;
    color: white;
    padding: 100px 0; /* Höhe des Banners */
    margin-bottom: 50px;
    border-radius: 0 0 20px 20px; /* Moderne Abrundung unten */
    overflow: hidden;
}

/* Dunkler Overlay über dem Bild, damit Text lesbar ist */
.hero-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5); /* 50% Schwarz */
}

.hero-content {
    position: relative; /* Damit es über dem Overlay liegt */
    z-index: 2;
    text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.hero-content .h1 { font-weight: 700; font-size: 3rem; color: #fff; }
.hero-content .lead { font-size: 1.3rem; font-weight: 300; }

.hero-content .btn-primary {
	color: #000;
}

#dealer-list-container h5 {
    font-size: 1.25rem;
}

/* 2. Produkt Sektion Styles */
.product-image-container img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: transform 0.3s;
}
.product-image-container img:hover {
    transform: scale(1.02);
}
.product-text-container {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

/* 3. FAQ Styling */
.faq-header { cursor: pointer; font-weight: 600; color: #0056b3; }
.faq-icon { margin-right: 10px; color: #ccc; }
.card-header:hover .faq-icon { color: #0056b3; }

/* Allgemeine Hilfsklassen */
.section-title {
    position: relative;
    padding-bottom: 15px;
    font-weight: 700;
}
/* Kleiner blauer Strich unter Überschriften */
.section-title::after {
    content: ''; position: absolute; left: 0; bottom: 0;
    width: 50px; height: 3px; background: #007bff;
}
.text-center .section-title::after { left: 50%; transform: translateX(-50%); }