/* Google Places Autocomplete & Bewerter-Dropdown */

.bewerter-dropdown {
    display: none;
    position: absolute;
    left: 0; right: 0;
    background: white;
    border: 1px solid var(--border);
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    margin-top: 2px;
    z-index: 9999;
    max-height: 200px;
    overflow-y: auto;
}
.bewerter-dropdown.visible { display: block; }
.bewerter-option {
    padding: 10px 14px;
    font-size: 15px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.bewerter-option:last-child { border-bottom: none; }
.bewerter-option:hover { background: #f0fafb; }
.bewerter-option .stars { color: #f5a623; font-size: 13px; }
.form-group { position: relative; }

.pac-container {
    font-family: 'Source Sans 3', sans-serif;
    border-radius: 8px;
    border: 1px solid var(--border);
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    margin-top: 4px;
    z-index: 9999;
}
.pac-item {
    padding: 10px 14px;
    font-size: 15px;
    cursor: pointer;
    border-top: 1px solid #f0f0f0;
}
.pac-item:first-child { border-top: none; }
.pac-item:hover, .pac-item-selected {
    background: #f0fafb;
}
.pac-icon { display: none; }
.pac-item-query {
    font-weight: 600;
    color: var(--dark);
}
/* Submit-Button grüner Schimmer wenn alle Pflichtfelder ausgefüllt */
.contact-form .btn.form-ready {
    box-shadow: 0 0 18px 4px rgba(40, 180, 80, 0.55);
    transition: box-shadow 0.4s ease;
}

/* Optionale Nachricht Toggle-Link */
.nachricht-toggle {
    display: inline-block;
    font-size: 14px;
    color: var(--muted);
    text-decoration: none;
    margin-bottom: 1rem;
    cursor: pointer;
    transition: color 0.2s;
}
.nachricht-toggle:hover {
    color: var(--primary);
}

/* Unternehmen-Input mit Lupen-Icon */
.form-group--search {
    position: relative;
}
.form-group--search input {
    padding-left: 2.6rem;
}
.form-group--search .search-icon {
    position: absolute;
    left: 14px;
    top: 0;
    height: 48px;
    display: none;
    align-items: center;
    color: var(--muted);
    pointer-events: none;
}
.form-group--search.api-ready .search-icon {
    display: flex;
}

/* Bewerter Hinweis */
.bewerter-hint {
    font-size: 13px;
    color: #c0392b;
    margin-top: 4px;
    padding-left: 2px;
}

/* Mobile: Lupen-Icons ausblenden */
@media (max-width: 768px) {
    .form-group--search .search-icon { display: none !important; }
    .form-group--search input { padding-left: 1rem; }
}

/* Mobile: SSL-Zeile unter Button ausblenden */
@media (max-width: 768px) {
    .form-ssl { display: none; }
}
