/* ============================================= */
/* === BARFINDER v2 (Theme-Optimiert) === */
/* ============================================= */

/* 1. Haupt-Container */
.barfinder-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    /* * Entfernt das Padding vom Overlay-Content selbst,
     * damit die Filter-Box an den Rand rückt.
     */
    
    padding: 0; 
    gap: 0.75rem; /* Abstand zwischen den Elementen */
}

/* 2. Filter-Box (Suchleiste) */
.barfinder-filter-container {
    position: relative;
    /* Nutzt den sekundären Hintergrund (dunkel im Dark Mode) */
    background-color: var(--bg-secondary);
    /* Nutzt den primären Hintergrund (heller) für den Input selbst */
    padding: 0.75rem; /* 12px */
    flex-shrink: 0;
    /* * Verwendet den ORANGEN Rahmen, den Sie vorgeschlagen haben,
     * aber nur unten, um es vom Rest abzuheben.
     */
    border-bottom: 2px solid var(--brand-orange);
}

.barfinder-search {
    width: 100%;
    padding: 0.625rem 0.75rem; /* 10px 12px */
    padding-right: 2rem; /* Platz für Clear-Button */
    border-radius: var(--radius-md);
    border: 1px solid var(--border-color-light);
    background-color: var(--bg-primary); /* Hellerer Hintergrund für Input */
    color: var(--text-primary);
    font-size: var(--font-size-base);
}

.barfinder-clear-btn {
    position: absolute;
    right: 1rem; /* 16px */
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 1.5rem;
    cursor: pointer;
    padding: 0.25rem; 
}

/* 3. Ergebnis-Liste */
.barfinder-results {
    /* Feste Höhe für stabiles Kartenlayout (wie besprochen) */
    height: 12rem; /* 200px */
    overflow-y: auto;
    /* Hintergrund ist der hellste (Seiten-BG) */
    background-color: var(--bg-primary); 
    flex-shrink: 0;
    margin: 0 0.75rem; /* Setzt die Liste ein, passend zum Padding */
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius-md);
}

.barfinder-result-item {
    padding: 0.3rem; /* 12px */
    border-bottom: 1px solid var(--border-color-light);
    cursor: pointer;
    color: var(--text-primary);
    background-color: var(--bg-secondary); /* Hintergrund der Einträge */
}
.barfinder-result-item:hover {
    /* Verwendet Ihre Standard-Tabellen-Hover-Farbe */
    background-color: var(--table-row-hover); 
}
.barfinder-result-item:last-child {
    border-bottom: none;
}

.barfinder-result-item .venue-name {
    display: block;
    font-weight: 500;
}
.barfinder-result-item .match-reason {
    display: block;
    font-size: var(--font-size-small); /* 0.8rem */
    color: var(--text-secondary);
    padding-left: 0.75rem; /* 12px */
    font-style: italic;
}

/* 4. Die Karte selbst */

#barfinder-map {
flex-grow: 1;
width: calc(100% + 1.5rem); 
min-height: 12.5rem; /* 200px */
border-radius: var(--radius-md);
overflow: hidden; 
border: 2px solid var(--brand-orange); 
margin: 0 -0.75rem 0.75rem -0.75rem; 
}

/* ---------------------------------- */
/* -- Marker & Info-Karten Stile   -- */
/* ---------------------------------- */

.venue-marker-container {
    pointer-events: auto;
    transform: translate(-50%, -100%);
    position: relative;
    cursor: pointer;
    
    /* NEU: Z-Index, damit die aktive Karte *über* die anderen Bälle geht */
    z-index: 1; 
}

/* Container, der "aktiv" ist (Info-Karte ist offen) */
.venue-marker-container.is-active {
    z-index: 10; /* Höher als die anderen */
}

.venue-marker-icon {
    /* Basis-Größe (32px). Diese wird jetzt von JS überschrieben. */
    width: 2.5rem; 
    height: 2.5rem;
    cursor: pointer; 
    
    /* NEU: Sanfte Übergänge für Zoom, Skalierung und Farbwechsel */
    transition: transform 0.2s ease, 
                width 0.2s ease, 
                height 0.2s ease,
                content 0.2s ease; /* (content ist für den src-Wechsel) */
}
.venue-marker-container.is-active .venue-marker-icon {
    transform: scale(1.15); /* Ihr 1.15x Faktor! */
}

/* Die Info-Karte */
.venue-infocard {
    position: absolute;
    bottom: 100%; 
    left: 50%;
    transform: translate(-50%, -0.625rem); /* 10px */
    opacity: 0.8;
    width: 15.625rem; /* 250px */
    /* Nutzt Ihren sekundären BG (dunkel im Dark Mode) */
    background-color: var(--bg-secondary); 
    color: var(--text-primary);
    border: 1px solid var(--border-color-light);
    border-radius: var(--radius-md); /* 6px */
    /* Nutzt Ihren starken Schatten */
    box-shadow: 0 4px 12px var(--shadow-color-strong); 
    
    pointer-events: auto; 
    padding: 0.625rem; /* 10px */
}

/* Styling der Info-Karte */
.venue-infocard .venue-name {
    font-size: var(--font-size-xl); /* 1.125rem */
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.5rem 0; /* 8px */
    padding-bottom: 0.25rem; /* 4px */
    border-bottom: 1px solid var(--border-color-light);
}

.venue-infocard .venue-team-list {
    list-style-type: none;
    padding: 0;
    margin: 0 0 0.5rem 0;
    font-size: var(--font-size-small); /* 0.8rem */
    color: var(--text-secondary);
}
.venue-infocard .venue-team-list li {
    margin-bottom: 0.25rem; /* 4px */
}
.venue-infocard .venue-team-list li strong {
    color: var(--text-primary);
}

.venue-infocard .venue-no-teams {
    font-size: var(--font-size-small);
    font-style: italic;
    color: var(--text-secondary);
    margin: 0;
}

.venue-infocard .venue-gmaps-link {
    font-size: var(--font-size-small);
    margin-top: 0.625rem; /* 10px */
    padding-top: 0.5rem; /* 8px */
    border-top: 1px solid var(--border-color-light);
}
.venue-infocard .venue-gmaps-link a {
    color: var(--brand-orange); 
    text-decoration: none;
    font-weight: 500;
}
.venue-infocard .venue-gmaps-link a:hover {
    text-decoration: underline;
}
/* Kopfzeile in der Info-Card: Name links, Button rechts */
.venue-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

/* Button-Stil identisch zur Preview-View (neutral + brand-akzent) */
.venue-nav-link {
    position: absolute;
    top: 0.3rem;
    right: 0.3rem;
    padding: 0.3rem;
    border-radius: 50%;
    background-color: var(--brand-orange);
    border: 1px solid var(--brand-orange);
    color: var(--text-on-accent, #000);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    transition: all 0.2s ease;
}
.venue-nav-link svg {
    width: 1rem;
    height: 1rem;
    stroke: var(--text-on-accent, #000);
    fill: none;
    transition: stroke 0.2s ease;
}
.venue-nav-link:hover {
    background-color: #e0b42f; /* Beispiel: Etwas dunkleres Orange */
    border-color: #e0b42f;
}
.venue-nav-link:hover svg {
     stroke: var(--text-on-accent, #000); /* Behält Schwarz bei */
}
