/* Container */
.abfall-search-container {
background: #F3F9F7;
padding: 2%;
margin-bottom: 20px;
width: 100%;
box-sizing: border-box;
}
/* Formular Layout */
.abfall-search-form {
display: flex;
/* Zwingt Desktop in eine Zeile */
flex-wrap: nowrap;
gap: 15px;
align-items: flex-end;
}
/* Felder */
.abfall-field-group {
flex: 1;
/* Kleinere Mindestbreite, damit es nebeneinander passt */
min-width: 150px;
}
.abfall-field-group label {
display: block;
font-size: 18px;
font-weight: 600;
margin-bottom: 5px;
color: #333;
white-space: nowrap;
}
.abfall-field-group select {
width: 100%;
height: 56px;
padding: 0 10px;
border: 1px solid #007950;
border-radius: 0px;
background-color: #fff;
box-sizing: border-box;
max-width: 100%;
}

/* Autocomplete Input - gleiches Styling wie Select */
.abfall-field-group input[type="text"].abfall-select {
width: 100%;
height: 56px;
padding: 0 10px;
border: 1px solid #007950;
border-radius: 0px;
background-color: #fff;
box-sizing: border-box;
max-width: 100%;
font-size: 16px;
}

/* Autocomplete Wrapper */
.abfall-autocomplete-wrapper {
position: relative;
}

/* Vorschlagsliste */
.abfall-autocomplete-list {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 1000;
list-style: none;
margin: 0;
padding: 0;
background: #fff;
border: 1px solid #007950;
border-top: none;
max-height: 220px;
overflow-y: auto;
box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.abfall-autocomplete-item {
padding: 10px 12px;
cursor: pointer;
font-size: 15px;
color: #333;
border-bottom: 1px solid #eee;
}

.abfall-autocomplete-item:last-child {
border-bottom: none;
}

.abfall-autocomplete-item:hover,
.abfall-autocomplete-active {
background-color: #e8f5e9;
color: #007950;
}

.abfall-autocomplete-no-result {
padding: 10px 12px;
font-size: 14px;
color: #999;
font-style: italic;
}

/* Button Gruppe */
.abfall-btn-group {
flex: 0 0 auto;
}
/* Button mit Icon - MIT IMPORTANT */
.abfall-search-btn {
height: 56px !important;
padding: 0 25px !important;
background-color: #007950 !important; /* Elementor überschreiben */
color: #fff !important; /* Elementor überschreiben */
border: none !important;
border-radius: 50px !important; /* Elementor überschreiben */
cursor: pointer;
font-weight: bold !important;
font-size: 18px !important;
transition: background-color 0.2s;
text-decoration: none !important; /* Unterstreichungen entfernen */
/* Flexbox für Icon + Text */
display: inline-flex !important;
align-items: center;
justify-content: center;
gap: 10px;
white-space: nowrap;
line-height: 1 !important; /* Verhindert komische Höhen */
}
/* Hover Effekt - MIT IMPORTANT */
.abfall-search-btn:hover {
background-color: #fff !important;
color: #007950 !important;
border: 1px solid #007950 !important;
}
/* Icon Größe */
.abfall-search-btn i {
font-size: 1.1em;
}
/* Mobile Optimierung (Tablets & Handys) */
@media (max-width: 900px) {
.abfall-search-form {
flex-direction: column;
align-items: stretch;
flex-wrap: wrap;
    }
.abfall-field-group {
width: 100%;
min-width: 100%;
    }
.abfall-btn-group {
margin-top: 10px;
width: 100%;
    }
.abfall-search-btn {
width: 100% !important;
    }
}