/* --- Filter --- */
.bbr-filters { margin-top: 30px; margin-bottom: 30px; margin-left: -10vw; background-color:#EDEDED; width: 100vw; padding: 40px 10vw 1px; }
.bbr-filters .filters-close { font-family: 'Museo Slab'; font-size: 24px; font-weight:400; color: #0A3A4A; cursor: pointer; margin-bottom: 20px; }
.bbr-filters .filters-close i { margin-left: 10px; }
.bbr-filters .inner-filters.closed { display:none; }
.bbr-filters .filters-close.closed { margin-bottom: 40px; }
.bbr-filters h4 { margin-top: 0; }
.bbr-filter-reset { display: block; margin: 0 0 30px; background: none; border: none; color: #000000; cursor: pointer; padding: 5px 0; text-align: left; font-size: 16px; font-weight: 400; }
.bbr-filter-reset i { font-size: 26px; vertical-align: bottom; margin: 0 10px -3px; color: #0A3A4A; }
.bbr-filter-reset:hover, .bbr-filter-reset:hover i { color: #1a657c; }
.bbr-filter-reset:not(.active) { display: none; }
.bbr-filter-group { margin-bottom: 40px; }
.bbr-filter-label { font-size: 16px; text-transform: uppercase; color: #000; margin: 30px 0 10px; font-weight: 600; }
.bbr-filter-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.bbr-filter-button { padding: 8px 20px; border: 1px solid #1a657c; background-color: #EDEDED; color: #0A3A5A; border-radius: 20px; cursor: pointer; transition: all 0.3s ease; font-size: 16px; }
.bbr-filter-button:hover, .bbr-filter-button.active { background-color: #CCC; color:#000; border-color: #CCC; }

/* --- Projekt Grid --- */
.bbr-projekt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(32%, 32%)); gap: 50px 2%; } /* Min-Breite angepasst */
.bbr-projekt-item { text-decoration: none; color: inherit; display: block; transition: transform 0.3s ease, box-shadow 0.3s ease; background-color: #F8F8F8;  border-bottom: 2px solid #1a657c; }
.bbr-projekt-bild-wrapper { margin-bottom: 0; overflow: hidden; }
.bbr-projekt-bild-wrapper img { display: block; width: 100%; height: auto; aspect-ratio: 12 / 9; object-fit: cover; border-bottom: 1px solid #eee; }
.bbr-projekt-content { padding: 20px 0; color:#000; }
.bbr-projekt-titel { font-size: 28px; font-family: "Museo Slab"; margin-top: 0; margin-bottom: 5px; }
.bbr-projekt-standort { font-size: 20px; margin-bottom: 20px; }
.bbr-projekt-meta { max-width: 100%; }
.bbr-projekt-content > .bbr-info  { width: 100%; display: block; border-spacing: 15px 0; }
.bbr-projekt-meta div { width: 65%; font-size: 18px; margin-bottom: 5px; line-height: 1.5; vertical-align: top; display:inline-block; }
.bbr-projekt-meta div.label { width: 35%; font-weight: bold; min-width: 95px; }

/* Klasse zum Ausblenden für den Filter */
.bbr-filter-empty { font-size: 16px; color: #000; font-weight: 600; }
.bbr-filter-empty.hidden { display: none; }
.bbr-projekt-item.bbr-hidden { display: none; }
.bbr-show-more { background-color: #F8F8F8; color: #1A657C; border: 2px solid #1A657C; padding: 6px 28px; border-radius: 4px; margin-top: 30px; cursor: pointer; margin-left: auto; }
.bbr-show-more:hover { padding: 8px 30px; background-color: #1A657C; color: white; font-weight: 400; border: none; transition: background 0.3s ease-in-out; }

/* Optional: Fade-Animation beim Filtern */
/* .bbr-projekt-grid { transition: height 0.3s ease; } */
/* .bbr-projekt-item { transition: opacity 0.3s ease, transform 0.3s ease; } */
/* .bbr-projekt-item.bbr-hidden { opacity: 0; transform: scale(0.95); pointer-events: none; } */
a.image-zoom { overflow:hidden; }

.tooltip-container { position:relative; }
.tooltip-text {
    /* Visibility and basic appearance */
    visibility: hidden; /* Hidden by default */
    opacity: 0;         /* Start fully transparent for fade-in */
    background-color: #1a657c; /* Your specified background color */
    color: #fff;              /* Your specified text color */
    text-align: center;
    font-size: 16px !important;
    font-family: 'Roboto' !important;
    padding: 10px 15px;       /* Padding inside the bubble */
    border-radius: 6px;       /* Rounded corners for the bubble */
    white-space: nowrap;      /* Keep the text on a single line */

    /* Positioning */
    position: absolute;
    z-index: 1;               /* Ensure it's on top */
    bottom: -50px;             /* Position above the container (adjust as needed) */
    left: 50%;
    transform: translateX(-50%); /* Center the tooltip horizontally */

    /* Transition for smooth appearance */
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* The "tail" of the speech bubble */
.tooltip-text::after {
    content: "";              /* Required for pseudo-elements */
    position: absolute;
    bottom: 100%;                /* Position the tail at the bottom of the bubble */
    left: 50%;
    transform: translateX(-50%); /* Center the tail */
    border-width: 7px;        /* Size of the tail */
    border-style: solid;
    border-color: transparent transparent #1a657c transparent; /* Creates the triangle */
}

/* Show the tooltip on hover */
.tooltip-container:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

.bbr-filters .mobile-info {
    margin-bottom: 30px;
    font-size: 16px;
}

@media screen and (max-width: 700px) {
    .bbr-show-more {
        font-size: 18px !important;
    }
    .bbr-filters .mobile-info {
        display: block;
    }
}