.elementor-174 .elementor-element.elementor-element-c6cf4c4{--display:flex;}/* Start custom CSS for html, class: .elementor-element-7ef41dc *//* Grundfarben */
:root {
    --primary: #004080; 
    --accent: #ffae00;  
    --danger: #dc3545;  
    --light: #f8f9fa;
    --dark: #212529;
}

/* Container */
.pv21-container { 
    max-width: 1100px; /* Etwas breiter, damit Karte & Formular Platz haben */
    margin: 0 auto; 
    padding: 20px;
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; 
    line-height: 1.6; 
    color: #212529;
}

/* Typografie */
.pv21-container h1 { color: #004080; margin-bottom: 0.5rem; }
.pv21-container .lead { font-size: 1.15rem; color: #555555; margin-bottom: 2rem; }

.pv21-container h3 { 
    color: #004080; 
    border-bottom: 2px solid #ffae00; 
    display: inline-block; 
    padding-bottom: 5px; 
    margin-top: 0; 
}

/* Notdienst Box */
.emergency-box {
    border-left: 5px solid #dc3545;
    background-color: #fff5f5;
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 40px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    display: flex;
    align-items: center;
    gap: 20px;
}
.emergency-icon { font-size: 2.5rem; }
.emergency-text h3 { border: none; margin: 0; color: #dc3545; }
.emergency-text a { color: #dc3545; text-decoration: none; }

/* Grid Layout */
.contact-grid { display: grid; gap: 30px; }

/* Desktop Ansicht: Links Info/Karte (40%), Rechts Formular (60%) */
@media(min-width: 850px) {
    .contact-grid { 
        grid-template-columns: 0.8fr 1.2fr; 
        align-items: start; /* Oben bündig */
    } 
}

/* Linke Spalte (Info + Karte) */
.contact-info-col {
    display: flex;
    flex-direction: column;
    gap: 30px; /* Abstand zwischen Text und Karte */
}

.info-block p { margin-bottom: 1.5rem; }
.info-label { font-weight: bold; color: #004080; display: block; }

/* Karte Design */
.map-container { 
    background: #eeeeee; 
    height: 350px; /* Feste Höhe für die Karte */
    border-radius: 8px; 
    overflow: hidden; /* Damit Ecken rund bleiben */
    border: 1px solid #ced4da;
}

/* Formular Design */
.contact-form { 
    background: #f8f9fa; 
    padding: 30px; 
    border-radius: 8px; 
    border: 1px solid #e9ecef; 
}

.form-group { margin-bottom: 20px; }

.main-label { 
    display: block; 
    margin-bottom: 8px; 
    font-weight: 600; 
    font-size: 0.95rem; 
}

/* Inputs */
.contact-form input[type="text"], 
.contact-form input[type="email"], 
.contact-form textarea { 
    width: 100%; 
    padding: 12px; 
    border: 1px solid #ced4da; 
    border-radius: 4px; 
    box-sizing: border-box; 
    font-size: 1rem; 
    font-family: inherit;
}

.contact-form input:focus, 
.contact-form textarea:focus { 
    border-color: #004080; 
    outline: none; 
}

/* Checkboxen */
.checkbox-group {
    display: grid;
    grid-template-columns: 1fr; 
    gap: 10px;
    background: #ffffff;
    padding: 15px;
    border: 1px solid #ced4da;
    border-radius: 4px;
}
@media(min-width: 500px) {
    .checkbox-group { grid-template-columns: 1fr 1fr; } 
}

.checkbox-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.95rem;
    cursor: pointer;
}
.checkbox-item input {
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin: 0;
}

/* Button */
.btn-submit {
    background-color: #004080; 
    color: white; 
    padding: 14px 25px; 
    border: none; 
    border-radius: 4px; 
    cursor: pointer; 
    font-size: 1.1rem; 
    font-weight: bold; 
    width: 100%; 
    transition: background 0.3s;
}
.btn-submit:hover { background-color: #003366; }

/* SPAMSCHUTZ */
.hp-field { 
    display: none; 
    visibility: hidden;
    opacity: 0;
    height: 0;
    width: 0;
    position: absolute;
    z-index: -1;
}/* End custom CSS */