/*
 Theme Name:   Divi Child Theme für aDirectory
 Template:     Divi
 Description:  Child Theme auf Basis von Divi, um aDirectory Templates für Verzeichnis, Kategorien und Autorenansichten sicher zu überschreiben und anzupassen.
 Version:      1.8.5

 Zweck:
 - Konsistente Card-Optik über Listings, Rechtsgebiete und Orte
 - Orte als moderne Text-Kacheln (ohne Bilder, ohne Overlay)
 - Rechtsgebiete als Premium-Card-Light passend zu content-listing.php
 - Mobile: stabile 1 Spalte, saubere Abstände

 Hinweise:
 - Dieses Child Theme lädt die Styles des Divi Parent Themes.
 - Template Overrides für aDirectory liegen z.B. unter:
   - /divi-child/adirectory/
   - /divi-child/adqs_directories/
 - Eigene CSS Anpassungen bitte nur in den vorgesehenen Blöcken pflegen, nicht als lose Nachträge unten.
   So vermeiden wir Seiteneffekte und widersprüchliche Regeln.

 Changelog:
 - 1.3.1:
   - Orte (Block 8) konsolidiert und stabilisiert:
     - Mobile: groesserer Abstand zwischen Zeilen, keine Ueberlappung
     - Extra Padding-Bottom im Orte-Content, damit nichts in den Footer rutscht
     - Desktop: Hover-Lift bekommt z-index und genuegend Luft nach oben
     - Entfernt: separater Block 8.7 als Anhaengsel (alles sauber im Block 8 integriert)
 - 1.3.0:
   - Orte (Block 8) auf reales Markup angepasst:
     - p (Count) nicht mehr ausgeblendet, sondern als Chip gestylt
     - Text bleibt auf Desktop sichtbar (keine Overlay-Unsichtbarkeit)
     - Ausrichtung wieder sauber mittig (Mobile und Desktop)
     - Radius auf 18px, Hover-Gradient passend zum Branding
   - Entfernt: widersprüchliche Orte-Experimente aus späteren Blöcken (verhindert Desktop-Textverlust und Mobile-Alignment-Bugs)
   - Rechtsgebiete (Block 11) beibehalten als Premium-Card-Light
 - 1.2.0: Listing Card Feinschliff:
          - Name/Vorname groesser, lange Namen max. 2 Zeilen (Tooltip bleibt)
          - Admin-Debug klickbar ohne Listing zu oeffnen
          - Card Hover mit sichtbarem Hintergrund-Farbwechsel
 - 1.1.9: Orte-Ansicht optisch bereinigt und lesbar gemacht:
          - Orts-Kacheln ohne Bild - ohne Overlay-Hintergrund - fixe Hoehe - grosse Schrift
          - Kachel-Grid auf Desktop und Mobile sinnvoll skaliert
          - Navigations-Buttons (Anwalt suchen - Rechtsgebiete - Orte) verkleinert und Typo angepasst
 - 1.1.8: Orte-Ansicht (Location) als saubere Text-Kachel-Liste gestaltet
 - 1.1.7: Mobile Location-Ansicht (Orte) stabilisiert
 - 1.1.6: Platzhalter-SVG im Listing-Thumbnail korrekt eingepasst
 - 1.1.5: Mobile Default-Ansicht (?view_type=grid) zuverlässig auf 1 Spalte erzwungen
 - 1.1.4: view_type Umschalter (list/grid) ausgeblendet
 - 1.1.3: List View optisch fest auf eine Spalte gesetzt
 - 1.1.2: Generische Layoutprofile für Kachelgrids ergänzt
 - 1.1.1: Dynamisches CSS Grid für Taxonomie-Kacheln ergänzt
 - 1.1.0: Hinweise zu aDirectory Overrides ergänzt
 - 1.0.0: Initiale Version
*/

/* =========================================================
 * 1) Platzhalter für weitere globale Styles
 * ======================================================= */

/* Eigene globale CSS Regeln können Sie unterhalb ergänzen. */



/* =========================================================
 * 2) aDirectory - Kachelgrids (Basis-Konzept)
 * ======================================================= */

.advoco-grid {
    display: grid;
    gap: var(--advoco-card-gap, 20px);
    grid-template-columns: repeat(auto-fit, minmax(var(--advoco-card-min, 220px), 1fr));
}

.advoco-layout-tight {
    --advoco-card-min: 180px;
    --advoco-card-gap: 16px;
}

.advoco-layout-regular {
    --advoco-card-min: 220px;
    --advoco-card-gap: 20px;
}

.advoco-layout-wide {
    --advoco-card-min: 260px;
    --advoco-card-gap: 24px;
}



/* =========================================================
 * 3) aDirectory - Taxonomie-Kacheln (content-taxonomy.php)
 * ======================================================= */

.advoco-category-section {
    --advoco-card-min: 220px;
    --advoco-card-gap: 20px;
}

.advoco-category-section:not(.qsd-has-slick) .qsd-select-category-grid-item {
    display: grid;
    gap: var(--advoco-card-gap, 20px);
    grid-template-columns: repeat(auto-fit, minmax(var(--advoco-card-min, 220px), 1fr));
    align-items: start;
}

/* aDirectory setzt min-height auf .qsd-tax-grid-single fuer Bild-Kacheln —
   bei unseren 58px-Text-Kacheln erzeugt das riesige Zeilenabstaende. */
.qsd-tax-grid-single {
    min-height: 0 !important;
    height: auto !important;
}

@media (max-width: 480px) {
    .advoco-category-section {
        --advoco-card-min: 180px;
        --advoco-card-gap: 16px;
    }
}

@media (min-width: 1400px) {
    .advoco-category-section {
        --advoco-card-min: 260px;
    }
}



/* =========================================================
 * 5) aDirectory - List View immer einspaltig
 * ======================================================= */

.qsd-prodcut-grid-list-main.list-view {
    display: block;
}

.qsd-prodcut-grid-list-main.list-view .qsd-prodcut-grid-list-item {
    width: 100%;
    max-width: 100%;
    float: none;
}



/* =========================================================
 * 6) aDirectory - view_type Umschalter ausblenden
 *    und Mobile Default-Grid (column-3) auf 1 Spalte erzwingen
 * ======================================================= */

.qsd-view-type,
.qsd-view-type-wrap,
.adqs-view-type,
.adqs-view-switch,
.view-type,
.view-switch,
.grid-list-switch,
.grid-list-toggle {
    display: none !important;
    visibility: hidden !important;
}

@media (max-width: 767px) {

    .qsd-prodcut-grid-list-main.column-3 {
        display: block !important;
    }

    .qsd-prodcut-grid-list-main.column-3,
    .qsd-prodcut-grid-list,
    .qsd-product-grid,
    .qsd-product-grid,
    .qsd-grid,
    .adqs-grid,
    .qsd-listing-grid,
    .adqs-listing-grid {
        flex-wrap: wrap !important;
    }

    .qsd-prodcut-grid-list-main.column-3 .qsd-prodcut-grid-list-item,
    .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item,
    .qsd-prodcut-grid-list-item {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        flex: 0 0 100% !important;
    }
}



/* =========================================================
 * 7) aDirectory - Platzhalter-SVG im Listing-Thumbnail korrekt einpassen
 * ======================================================= */

.qsd-prodcut-grid-list-thumb .adqs-placeholder-link {
    display: block;
}

.qsd-prodcut-grid-list-thumb .adqs-placeholder-svg {
    display: block;
    width: 100%;
    height: 100%;
}

.qsd-prodcut-grid-list-thumb .adqs-placeholder-svg svg {
    display: block;
    width: 100%;
    height: 100%;
}



/* =========================================================
 * 8) aDirectory - Orte (Ort) als moderne Text-Kacheln
 * ---------------------------------------------------------
 * Ziel:
 * - Keine Bild- und Overlay-Optik, sondern klare Text-Kacheln
 * - Fixe Hoehe, grosse Schrift, gute Klickflaeche
 * - Hintergrund sauber weiss, Border passend zu #73281D
 * - Count als Chip, Pfeil-Icon als Akzent
 *
 * Stabilitaet:
 * - Desktop: Hover darf nicht abgeschnitten werden (z-index + Luft nach oben)
 * - Mobile: kein Ueberlappen (gap/row-gap + Margins neutral)
 *
 * Wichtig:
 * - Reales Markup:
 *   .qsd-select-category-grid-thumb-over > a
 *     .qsd-select-category-grid-thumb-over-txt
 *       p (Count + "Listings")
 *       h2 (Ort)
 *       span.qsd-select-category-grid-thumb-over-icon (Pfeil)
 * ======================================================= */

/* 8.1) Oberes Navigationsfeld (Anwalt suchen - Rechtsgebiete - Orte) verkleinern */
.qsd-content-area .qsd-search-category-area a,
.qsd-content-area .qsd-search-category-area button,
.qsd-content-area .qsd-search-category-area .qsd-cat-btn,
.qsd-content-area .qsd-search-category-area .qsd-main-btn {
    padding: 10px 14px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    border-radius: 10px !important;
}

/* Mobile: noch kompakter */
@media (max-width: 767px) {
    .qsd-content-area .qsd-search-category-area a,
    .qsd-content-area .qsd-search-category-area button,
    .qsd-content-area .qsd-search-category-area .qsd-cat-btn,
    .qsd-content-area .qsd-search-category-area .qsd-main-btn {
        padding: 9px 12px !important;
        font-size: 15px !important;
    }
}

/* 8.2) Orte-Grid: 4 - 3 - 1 Spalten */
.qsd-select-category .qsd-select-category-grid-item {
    display: grid !important;
    gap: 12px !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Tablet: 3 Spalten */
@media (max-width: 1099px) and (min-width: 768px) {
    .qsd-select-category .qsd-select-category-grid-item {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* Mobile: 1 Spalte + mehr Abstand, damit nichts ueberlappt */
@media (max-width: 767px) {
    .qsd-select-category .qsd-select-category-grid-item {
        grid-template-columns: 1fr;
        gap: 16px !important;
        row-gap: 16px !important;
    }

    /* Plugin-Margins neutralisieren, damit die Karten nicht ineinander laufen */
    .qsd-select-category .qsd-tax-grid-single,
    .qsd-select-category .qsd-select-category-grid-thumb-over {
        margin: 0 !important;
    }
}

/* 8.2b) Content-Zone: genug Luft oben und unten (gegen Hover-Clipping und Footer-Overlap) */
.qsd-select-category .qsd-taxt-content-area {
    overflow: visible !important;
    padding-top: 10px !important;
    padding-bottom: 34px !important;
}

@media (max-width: 767px) {
    .qsd-select-category .qsd-taxt-content-area {
        padding-bottom: 46px !important;
    }
}

/* 8.3) Kachel-Box: wir stylen den Link als Card */
.qsd-select-category-grid-thumb-over {
    /* falls das Plugin hier absolute/overlays nutzt */
    position: relative !important;
}

.qsd-select-category-grid-thumb-over > a {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    width: 100% !important;
    height: 58px !important;
    padding: 0 12px 0 14px !important;

    background: #ffffff !important;
    border: 1px solid rgba(19, 15, 14, 0.18) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 22px rgba(19, 15, 14, 0.09) !important;

    text-decoration: none !important;
    color: inherit !important;

    overflow: hidden !important;
    position: relative !important;
    z-index: 1 !important;

    transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 180ms ease !important;
}

/* 8.4) Hover: klar klickbar, hochwertig (z-index hoch, damit es nicht unter Content verschwindet) */
.qsd-select-category-grid-thumb-over > a:hover {
    transform: translateY(-2px) !important;
    z-index: 5 !important;
    box-shadow: 0 16px 34px rgba(19, 15, 14, 0.12) !important;
    border-color: rgba(115, 40, 29, 0.65) !important;
    background: linear-gradient(135deg,
        rgba(115, 40, 29, 0.06) 0%,
        rgba(196, 159, 70, 0.06) 40%,
        rgba(255, 255, 255, 1) 82%
    ) !important;
}

/* 8.5) Innenlayout: Name links, Count + Icon rechts (mittig ausgerichtet) */
.qsd-select-category-grid-thumb-over-txt {
    width: 100% !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    margin: 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
}

/* Ort-Name */
.qsd-select-category-grid-thumb-over-txt h2 {
    margin: 0 !important;

    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: 0.2px !important;

    color: #130F0E !important;

    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    opacity: 1 !important;
    visibility: visible !important;
}

/* Desktop: leicht groesser */
@media (min-width: 768px) {
    .qsd-select-category-grid-thumb-over-txt h2 {
        font-size: 19px !important;
    }
}

/* Count-Chip: p nicht ausblenden, sondern stylen */
.qsd-select-category-grid-thumb-over-txt p {
    margin: 0 !important;

    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;

    color: #73281D !important;
    background: rgba(115, 40, 29, 0.08) !important;
    border: 1px solid rgba(115, 40, 29, 0.14) !important;
    border-radius: 999px !important;
    padding: 6px 10px !important;

    white-space: nowrap !important;

    opacity: 1 !important;
    visibility: visible !important;
}

/* Pfeil-Icon: rund, Akzent */
.qsd-select-category-grid-thumb-over-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 30px !important;
    height: 30px !important;
    border-radius: 999px !important;

    background: rgba(196, 159, 70, 0.22) !important;
    border: 1px solid rgba(196, 159, 70, 0.40) !important;
}

/* SVG Kontrast */
.qsd-select-category-grid-thumb-over-icon svg path {
    stroke: #73281D !important;
}

/* Mobile: Lesbarkeit etwas staerker */
@media (max-width: 767px) {
    .qsd-select-category-grid-thumb-over-txt h2 {
        font-size: 18px !important;
    }
}



/* =========================================================
 * 9) Avvokado - Listing Card Premium Feinschliff (V1.2.2)
 * ======================================================= */

.qsd-prodcut-grid-list-item.avvokado-card--premium {
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;

    border: 1px solid rgba(19, 15, 14, 0.18);
    box-shadow: 0 10px 22px rgba(19, 15, 14, 0.09);
    transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 180ms ease;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium:hover {
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 24px 56px rgba(19, 15, 14, 0.18);
    border-color: rgba(115, 40, 29, 0.60);
    background: linear-gradient(135deg,
        rgba(115, 40, 29, 0.16) 0%,
        rgba(196, 159, 70, 0.12) 42%,
        rgba(255, 255, 255, 1) 78%
    );
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .qsd-prodcut-grid-list-inner.avvokado-inner {
    padding-left: 0;
    padding-right: 0;
    padding-top: 6px;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-card-body {
    padding: 12px 10px 12px;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-head {
    min-height: calc(21px * 1.14);
    padding-bottom: 0;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l1 {
    margin: 0;
    font-size: 21px;
    line-height: 1.14;
    font-weight: 860;
    letter-spacing: 0.1px;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-link {
    color: #130F0E;
    text-decoration: none;
    display: inline-block;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-link:hover {
    color: #73281D;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-badge--ort {
    background: rgba(115, 40, 29, 0.08);
    border: 1px solid rgba(115, 40, 29, 0.24);
    color: #73281D;
    transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium:hover .avvokado-badge--ort {
    background: rgba(115, 40, 29, 0.14);
    border-color: rgba(115, 40, 29, 0.45);
    color: #130F0E;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l2 {
    margin-top: 0;
    padding-top: 2px;
    padding-bottom: 5px;
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 28px;

    font-size: 14px;
    line-height: 1.22;
    color: rgba(19, 15, 14, 0.78);
    font-weight: 780;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-org-icon {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 9px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: rgba(196, 159, 70, 0.18);
    border: 1px solid rgba(196, 159, 70, 0.42);
    color: #73281D;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-org-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-orte {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: flex-start;
    min-height: 34px;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-sprachen {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: flex-start;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-badge--sprache {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background: rgba(196,159,70,.14);
    border: 1px solid rgba(196,159,70,.40);
    color: #73281D;
}

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l3 {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.40;
    color: rgba(19, 15, 14, 0.86);

    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;

    min-height: calc(1.40em * 4);
}


/* =====================================================================
 * Avvokado - Listing Card Premium: Rechtsgebiete-Chips sauber (3 Reihen)
 * Version: 1.0.5 (2026-01-06)
 *
 * Kontext
 * In den Listing-Cards gibt es unten einen Bereich mit Rechtsgebieten.
 * Dieser Bereich besteht nicht aus Textzeilen, sondern aus "Chips"
 * (Inline-Elemente mit Padding, Border und abgerundeten Ecken).
 *
 * Problem (wie zuletzt sichtbar)
 * - Es waren nur ca. 2 1/3 Chip-Reihen sichtbar, weil die Hoehenberechnung
 *   vorher auf Textzeilen ausgelegt war.
 * - Nach der Umstellung auf eine Hoehenberechnung ging der Abstand
 *   zwischen den Chip-Reihen verloren, weil gap/row-gap nicht garantiert
 *   gesetzt war.
 * - Zusaetzlich fehlte der Abstand zwischen Beschreibung (Textblock) und
 *   den Rechtsgebieten, obwohl in der Card noch Platz war.
 *
 * Ziel
 * - Alle Listing-Boxen sollen gleich hoch bleiben.
 * - Die Rechtsgebiete sollen genau 3 Reihen voll anzeigen (keine halbe Reihe).
 * - Der Abstand zwischen Beschreibung und Rechtsgebieten soll sichtbar sein.
 * - Der Abstand zwischen den Chips (horizontal und vertikal) soll stabil sein.
 * - Die Hoehe soll weiterhin nachvollziehbar bleiben (calc-Berechnung),
 *   damit Sie beim naechsten Anpassen sofort sehen, wie es gerechnet ist.
 *
 * So ist es umgesetzt
 * 1) Wir stellen sicher, dass der Container der Chips ein flex-wrap Layout hat.
 *    Dadurch koennen die Chips in Reihen umbrechen.
 * 2) Wir setzen column-gap und row-gap explizit, damit der Abstand nicht von
 *    spaeteren CSS-Regeln oder Plugin-Styles ueberschrieben wird.
 * 3) Wir geben dem Container einen margin-top, damit zwischen Beschreibung und
 *    Chips ein optischer Abstand entsteht.
 * 4) Wir begrenzen die Hoehe bewusst auf 3 Chip-Reihen, damit alle Cards gleich
 *    hoch bleiben. Mehr als 3 Reihen werden abgeschnitten (overflow: hidden).
 *
 * Berechnung der Hoehe
 * - Eine Chip-Reihe hat eine angenaehert fixe Hoehe, die sich aus dem Chip-Design
 *   ergibt (Schriftgroesse + Padding oben/unten + Border).
 * - Zwischen den Reihen liegt row-gap.
 * - Gesamt: 3 * chip_hoehe + 2 * row_gap
 *
 * Feintuning (wenn noch minimal abgeschnitten)
 * - Erhoehen Sie NUR --avv-chip-hoehe schrittweise:
 *   28px -> 29px -> 30px
 * - Oder erhoehen Sie row-gap, wenn Sie mehr Luft zwischen Reihen wollen.
 *
 * Changelog
 * - 1.0.5:
 *   - Ausfuehrliche Kommentare ergaenzt
 *   - Abstand Beschreibung -> Chips via margin-top gesetzt
 *   - row-gap und column-gap explizit gesetzt (stabil gegen Overrides)
 *   - Hoehe per calc nachvollziehbar gehalten
 * ===================================================================== */

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5{
  /* Abstand zur Beschreibung oberhalb der Rechtsgebiete */
  margin-top: 10px !important;

  /* Container-Layout: Chips sollen umbrechen und in Reihen stehen */
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;

  /* Abstaende zwischen den Chips:
     - column-gap: Abstand innerhalb einer Reihe
     - row-gap: Abstand zwischen den Reihen */
  column-gap: 8px !important;
  row-gap: 8px !important;

  /* Parameter fuer die Hoehenberechnung:
     - chip_hoehe ist ein praxisnaher Naeherungswert fuer die Chip-Reihe
     - row_gap muss zu row-gap oben passen, damit die Rechnung stimmt */
  --avv-chip-hoehe: 28px;
  --avv-chip-row-gap: 8px;

  /* Padding unten damit die unterste Chip-Reihe nicht abgeschnitten wird
     (Chips haben margin-bottom: 6px das sonst vom overflow:hidden geclippt wuerde) */
  padding-bottom: 6px !important;

  /* Fixe Hoehe fuer exakt 3 volle Chip-Reihen:
     3 * chip_hoehe + 2 * row_gap + padding-bottom */
  max-height: calc( (var(--avv-chip-hoehe) * 3) + (var(--avv-chip-row-gap) * 2) + 6px ) !important;
  min-height: calc( (var(--avv-chip-hoehe) * 3) + (var(--avv-chip-row-gap) * 2) + 6px ) !important;

  /* Alles ueber 3 Reihen wird abgeschnitten, damit die Cards gleich hoch bleiben */
  overflow: hidden !important;
}









/* =========================================================
 * 9) Avvokado - Rechtsgebiete Chips (vereinheitlicht Anwalt + Kanzlei)
 * Version: 1.0.0 (2026-01-10)
 *
 * Zweck
 * - Einheitliche Chip-Optik und identische Hoehe in /anwalt/ und /kanzlei/.
 * - Chips koennen als <span> oder <a> gerendert werden.
 * - Divi/Theme ueberschreibt bei <a> oft line-height und padding. Das wird hier stabilisiert.
 *
 * Hinweise
 * - !important wird nur fuer die Geometrie verwendet, um Divi-Overrides zu neutralisieren.
 * - Farben, Border und Hover-Design bleiben kompatibel zu Ihrem bisherigen Stil.
 *
 * Changelog
 * - Neu: Basis fuer .avvokado-l5 > a.avvokado-chip und > span.avvokado-chip
 * - Neu: Geometrie-Fixes mit !important (line-height, padding, display, text-decoration)
 * ======================================================= */

.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > .avvokado-chip,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > a.avvokado-chip,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > span.avvokado-chip {
  /* Geometrie: gegen Divi-Overrides absichern */
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
  padding: 6px 10px !important;
  text-decoration: none !important;
  box-sizing: border-box !important;

  /* Typografie: ebenfalls fixieren, sonst wirkt es anders als /anwalt/ */
  font-family: inherit !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;

  /* Ihr Chip-Design */
  border-radius: 999px;
  background: rgba(196, 159, 70, 0.14);
  border: 1px solid rgba(196, 159, 70, 0.40);
  color: #73281D;

  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}


/* Abstand zwischen Chips (wichtig bei <a>, weil Divi teils andere Defaults setzt) */
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > a.avvokado-chip,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > span.avvokado-chip {
    margin: 0 6px 6px 0 !important;
}

/* Hover-Zustand */
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > a.avvokado-chip:hover,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l5 > span.avvokado-chip:hover {
    background: rgba(115, 40, 29, 0.12);
    border-color: rgba(115, 40, 29, 0.42);
    color: #130F0E;
}


@media (max-width: 767px) {
    .qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-card-body {
        padding: 12px 10px 12px;
    }

    .qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l1 {
        font-size: 22px;
    }

    .qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-badge {
        max-width: 100%;
    }
}

@media (max-width: 767px) {
    .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item.avvokado-card--premium {
        margin-top: 10px;
        margin-bottom: 14px;
    }
}



/* =========================================================
 * 10) Avvokado - Listing Thumbnail SVG (344x208) stabil
 * ======================================================= */

.qsd-prodcut-grid-list-thumb.avvokado-thumb .avvokado-thumb-svg {
    display: block;
    width: 100%;
    height: auto;
}



/* =========================================================
 * 11) Avvokado - Rechtsgebiete: Premium-Card-Light (Taxonomie)
 * ======================================================= */

.avvokado-tax-card{
    border-radius: 18px;
    overflow: hidden;
    background: #ffffff;

    border: 1px solid rgba(19, 15, 14, 0.18);
    box-shadow: 0 10px 22px rgba(19, 15, 14, 0.09);

    transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 180ms ease;
}

.avvokado-tax-card:hover{
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 24px 56px rgba(19, 15, 14, 0.18);
    border-color: rgba(115, 40, 29, 0.60);
    background: linear-gradient(135deg,
        rgba(115, 40, 29, 0.16) 0%,
        rgba(196, 159, 70, 0.12) 42%,
        rgba(255, 255, 255, 1) 78%
    );
}

.avvokado-tax-card .avvokado-card-body{
    padding: 14px 12px 14px;
}

.avvokado-tax-card .avvokado-head{
    display: flex;
    gap: 10px;
    align-items: flex-end;
    justify-content: space-between;
}

.avvokado-tax-card .avvokado-l1{
    margin: 0;
    font-size: 19px;
    line-height: 1.18;
    font-weight: 860;
    letter-spacing: 0.1px;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;

    flex: 1 1 auto;
    min-width: 0;
}

.avvokado-tax-card .avvokado-link{
    color: #130F0E;
    text-decoration: none;
    display: inline-block;
}

.avvokado-tax-card:hover .avvokado-link{
    color: #73281D;
}

.avvokado-tax-card .avvokado-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 54%;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.avvokado-tax-card .avvokado-badge--ort{
    background: rgba(196, 159, 70, 0.16);
    border: 1px solid rgba(196, 159, 70, 0.42);
    color: #73281D;
    transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
    position: relative;
    top: -2px;
}

.avvokado-tax-card:hover .avvokado-badge--ort{
    background: rgba(115, 40, 29, 0.14);
    border-color: rgba(115, 40, 29, 0.45);
    color: #130F0E;
}

@media (max-width: 767px){
    .avvokado-tax-card .avvokado-card-body{
        padding: 14px 12px 14px;
    }
    .avvokado-tax-card .avvokado-l1{
        font-size: 20px;
    }
    .avvokado-tax-card .avvokado-badge{
        max-width: 58%;
    }
}



/* =========================================================
 * 8.6) Orte - Hintergrundbild/Overlay entfernen (nur Orte-Kacheln)
 * ======================================================= */

.qsd-select-category-grid-thumb,
.qsd-select-category-grid-thumb-over{
  background: transparent !important;
  background-image: none !important;
}

.qsd-select-category-grid-thumb:before,
.qsd-select-category-grid-thumb:after,
.qsd-select-category-grid-thumb-over:before,
.qsd-select-category-grid-thumb-over:after{
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
}

.qsd-select-category-grid-thumb-over > a{
  background: #ffffff !important;
}



/* =========================================================
 * 12) Avvokado - Listing Cards auf Location-Seiten identisch wie /anwalt/
 * ======================================================= */

/* Hinweis:
 - Dieser Block ist bewusst breit gescoped (innerhalb .qsd-content-area),
   damit Location-Archive die gleiche Card-Optik wie /anwalt/ erhalten.
 - Wenn wir spaeter haerter scopen wollen, machen wir es ueber body Klassen oder Page-ID.
*/

.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item{
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #ffffff !important;

  border: 1px solid rgba(19, 15, 14, 0.18) !important;
  box-shadow: 0 10px 22px rgba(19, 15, 14, 0.09) !important;

  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 180ms ease !important;
}

.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item:hover{
  transform: translateY(-3px) scale(1.01) !important;
  box-shadow: 0 24px 56px rgba(19, 15, 14, 0.18) !important;
  border-color: rgba(115, 40, 29, 0.60) !important;
  background: linear-gradient(135deg,
    rgba(115, 40, 29, 0.16) 0%,
    rgba(196, 159, 70, 0.12) 42%,
    rgba(255, 255, 255, 1) 78%
  ) !important;
}

.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-inner{
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 6px !important;
}

.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .avvokado-card-body,
.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .qsd-product-grid-article{
  padding: 12px 10px 12px !important;
}

.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-thumb,
.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-thumb a,
.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-thumb img,
.qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-thumb svg{
  border-radius: 16px !important;
  overflow: hidden !important;
}

@media (max-width: 767px){
  .qsd-content-area .qsd-prodcut-grid-list-main .qsd-prodcut-grid-list-item{
    margin-top: 10px !important;
    margin-bottom: 14px !important;
  }
}


/* =========================================================
 * 13) Avvokado - aDirectory Akzentfarben: Blau -> Braun
 * ---------------------------------------------------------
 * Zweck:
 * - Entfernt blaue Buttons, Links und Icons in aDirectory Bereichen
 * - Setzt Standardfarbe auf Braun (#73281D) und Akzent Gold (#C49F46)
 * - Gilt fuer: /anwalt/, /anwalt/ort/, /anwalt/rechtsgebiete/ und Listing-Archive
 *
 * Version: 1.0.0
 *
 * Changelog:
 * - 1.0.0:
 *   - Buttons/Links in aDirectory Bereichen auf Braun umgestellt
 *   - SVG Icons (stroke/fill) passend eingefärbt
 *   - Focus/Outline von Inputs auf Braun gesetzt
 * ======================================================= */

/* 13.1) Links im aDirectory Bereich */
.qsd-content-area a,
.qsd-content-area a:visited{
  color: #73281D !important;
}

.qsd-content-area a:hover{
  color: #130F0E !important;
}

/* 13.2) Hauptbuttons (z.B. Search) */
.qsd-content-area .qsd-main-btn,
.qsd-content-area button.qsd-main-btn,
.qsd-content-area .qsd-search-category-area a,
.qsd-content-area .qsd-search-category-area button{
  background: #73281D !important;
  border-color: rgba(115, 40, 29, 0.60) !important;
  color: #ffffff !important;
}

.qsd-content-area .qsd-main-btn:hover,
.qsd-content-area button.qsd-main-btn:hover,
.qsd-content-area .qsd-search-category-area a:hover,
.qsd-content-area .qsd-search-category-area button:hover{
  background: #4A3B39 !important;
  border-color: rgba(196, 159, 70, 0.55) !important;
  color: #ffffff !important;
}

/* 13.3) Sekundaere Buttons/Chips (z.B. Kategorien-Chips, Top-Buttons) */
.qsd-content-area .grid-list-inner-top-btn,
.qsd-content-area .qsd-catagory-list-btn a{
  background: rgba(196, 159, 70, 0.14) !important;
  border: 1px solid rgba(196, 159, 70, 0.40) !important;
  color: #73281D !important;
}

.qsd-content-area .grid-list-inner-top-btn:hover,
.qsd-content-area .qsd-catagory-list-btn a:hover{
  background: rgba(115, 40, 29, 0.12) !important;
  border-color: rgba(115, 40, 29, 0.42) !important;
  color: #130F0E !important;
}

/* 13.4) SVG Icons: Stroke/Fills auf Braun (gegen blau) */
.qsd-content-area svg path,
.qsd-content-area svg circle,
.qsd-content-area svg rect{
  stroke: #73281D;
}

/* Manche Icons nutzen fill statt stroke */
.qsd-content-area svg path[fill],
.qsd-content-area svg rect[fill],
.qsd-content-area svg circle[fill]{
  fill: #73281D;
}

/* 13.5) Favorit/Compare Buttons: Icon-Farbe nicht blau */
.qsd-content-area .qsd-single-group button svg path{
  stroke: #73281D !important;
}

/* Falls ein Gradient-Icon (compare) sichtbar bleiben soll, nicht ueberschreiben */
.qsd-content-area .qsd-add-comp-btn svg defs,
.qsd-content-area .qsd-add-comp-btn svg linearGradient{
  /* keine Aenderung */
}

/* 13.6) Input Focus: blauen Rand entfernen */
.qsd-content-area input:focus,
.qsd-content-area select:focus,
.qsd-content-area textarea:focus{
  outline: none !important;
  border-color: rgba(115, 40, 29, 0.60) !important;
  box-shadow: 0 0 0 3px rgba(196, 159, 70, 0.18) !important;
}


/* =========================================================
 * 13.8) Fix Farben: Listing-Text wie vorher, Icons korrekt, Herz/Compare in Gold
 * ---------------------------------------------------------
 * Zweck:
 * - Listing-Cards: Name und Beschreibung wieder schwarz/dunkel wie zuvor
 * - Keine globalen Link- oder SVG-Farbregeln mehr im aDirectory Bereich
 * - Favorit (Herz) und Compare: Gold (#C49F46) statt Rot/Gradient/Blau
 * - View-Switch (Grid/List Icons): Braun/Gold statt Blau
 *
 * Wichtige Notiz:
 * - Dieser Block ist bewusst sehr gezielt gescoped, damit:
 *   - Textfarben in Listings nicht erneut ueberschrieben werden
 *   - Nur UI-Controls (Buttons/Icons) gefaerbt werden
 *
 * Version: 1.0.0
 *
 * Changelog:
 * - 1.0.0:
 *   - Listing-Typo auf schwarz/dunkel zurueckgesetzt
 *   - Herz/Compare Icon-Optik auf Gold umgestellt
 *   - View-Switch Buttons auf Braun/Gold umgestellt
 *   - Keine globalen SVG Overrides mehr notwendig
 * ======================================================= */

/* ---------------------------------------------------------
 * A) Listing-Text wieder wie vorher (schwarz/dunkel)
 * ------------------------------------------------------ */

/* Name-Link (z.B. h3 a.grid-list-inner-txt oder avvokado-link) */
.qsd-prodcut-grid-list-item h3 a,
.qsd-prodcut-grid-list-item .avvokado-link,
.qsd-prodcut-grid-list-item .grid-list-inner-txt{
  color: #130F0E !important;
}

/* Beschreibung (author-detail, avvokado-l3) */
.qsd-prodcut-grid-list-item .author-detail,
.qsd-prodcut-grid-list-item .avvokado-l3{
  color: rgba(19, 15, 14, 0.86) !important;
}

/* Kanzlei-Zeile */
.qsd-prodcut-grid-list-item .avvokado-l2,
.qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-inner .qsd-cat-content{
  color: rgba(19, 15, 14, 0.78) !important;
}

/* Hover darf den Text nicht braun faerben */
.qsd-prodcut-grid-list-item h3 a:hover,
.qsd-prodcut-grid-list-item .grid-list-inner-txt:hover,
.qsd-prodcut-grid-list-item .avvokado-link:hover{
  color: #130F0E !important;
}


/* ---------------------------------------------------------
 * B) Favorit (Herz) und Compare: Gold statt Rot/Gradient/Blau
 * ------------------------------------------------------ */

/* Die runden Icon-Buttons oben rechts (Hintergrund) */
.qsd-prodcut-grid-list-item .qsd-top-right-btn-group .qsd-single-group button{
  background: rgba(196, 159, 70, 0.18) !important;
  border: 1px solid rgba(196, 159, 70, 0.45) !important;
  border-radius: 999px !important;
}

/* Herz-Icon: Gold */
.qsd-prodcut-grid-list-item .adqs-add-fav-btn button svg path{
  fill: #C49F46 !important;
  stroke: #C49F46 !important;
}

/* Compare-Icon (hat oft fill url(#gradient) im Plugin): per CSS auf Gold ueberschreiben */
.qsd-prodcut-grid-list-item .qsd-add-comp-btn button svg path{
  fill: #C49F46 !important;
  stroke: #C49F46 !important;
}

/* Optional: Hover etwas dunkler fuer klares Feedback */
.qsd-prodcut-grid-list-item .qsd-top-right-btn-group .qsd-single-group button:hover{
  background: rgba(115, 40, 29, 0.10) !important;
  border-color: rgba(115, 40, 29, 0.35) !important;
}


/* ---------------------------------------------------------
 * C) View-Switch (Grid/List) Buttons: Braun/Gold statt Blau
 * ------------------------------------------------------ */

/* Wrapper Buttons (die kleinen Icons neben dem Dropdown) */
.qsd-view-type-wrap button,
.qsd-view-type button,
.adqs-view-type button,
.adqs-view-switch button{
  background: rgba(196, 159, 70, 0.16) !important;
  border: 1px solid rgba(196, 159, 70, 0.40) !important;
  border-radius: 10px !important;
}

/* Aktiver Button (war blau) */
.qsd-view-type-wrap button.active,
.qsd-view-type button.active,
.adqs-view-type button.active,
.adqs-view-switch button.active{
  background: rgba(115, 40, 29, 0.12) !important;
  border-color: rgba(115, 40, 29, 0.42) !important;
}

/* Icons in den View-Switch Buttons */
.qsd-view-type-wrap button svg path,
.qsd-view-type button svg path,
.adqs-view-type button svg path,
.adqs-view-switch button svg path{
  fill: #73281D !important;
  stroke: #73281D !important;
}


/* =========================================================
 * 13.9) Fix: Listing-Typo wieder schwarz (Name, Kanzlei, Beschreibung)
 * ---------------------------------------------------------
 * Zweck:
 * - Erzwingt fuer Premium Listing-Cards wieder die vorherige Typo:
 *   - Name schwarz
 *   - Kanzlei dunkelgrau
 *   - Beschreibung dunkelgrau
 * - Ueberschreibt breite Link-Regeln, die Links braun faerben
 *
 * Version: 1.0.0
 *
 * Changelog:
 * - 1.0.0:
 *   - Sehr spezifische Selektoren fuer Premium-Cards
 *   - Setzt Name/Kanzlei/Beschreibung stabil auf schwarz/dunkelgrau
 * ======================================================= */

/* Name (Linie 1) */
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l1,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l1 a,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l1 a:visited{
  color: #130F0E !important;
}

/* Kanzlei (Linie 2) */
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l2,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l2 a,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l2 a:visited,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-org-name{
  color: rgba(19, 15, 14, 0.78) !important;
}

/* Beschreibung (Linie 3) */
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l3{
  color: rgba(19, 15, 14, 0.86) !important;
}

/* Hover soll Text nicht braun machen */
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l1 a:hover,
.qsd-prodcut-grid-list-item.avvokado-card--premium .avvokado-l2 a:hover{
  color: #130F0E !important;
}



/* ===================================================================
   Avvokado - Single Listing: Header-Actions modernisieren (Views/Share/Claim)
   Version: 1.0.0 (2026-01-05)

   Ziel:
   - Die Action-Leiste oben im Single Listing (Views, Share, Claim) soll
     moderner aussehen und zum Rest der Seite passen.
   - Ohne HTML-Aenderungen am Plugin: reines CSS-Upgrade.

   Design-Prinzipien:
   - Klare Buttons als "Pills" mit leichtem Shadow
   - Popover fuer Share als saubere Dropdown-Card
   - Claim-Button als Primary in Braun, Submit in Gold
   - Mobile: Umbruch faengt alles ab, Popover bleibt im Viewport

   Brand-Farben:
   - Braun: #73281D
   - Gold:  #C49F46
   =================================================================== */

:root{
  /* Brand */
  --avv-brown: #73281D;
  --avv-gold:  #C49F46;

  /* Neutrals */
  --avv-text: #111111;
  --avv-muted: #6b7280;
  --avv-border: rgba(17,17,17,.10);

  /* Surfaces */
  --avv-card: rgba(255,255,255,.92);

  /* Elevation */
  --avv-shadow: 0 10px 30px rgba(17,17,17,.10);
  --avv-shadow-sm: 0 6px 18px rgba(17,17,17,.10);

  /* Radius */
  --avv-radius: 18px;
  --avv-radius-sm: 12px;
}

/* ---------------------------------------------------------------
   1) Container: Action-Leiste oben (Views, Share, Claim)
   --------------------------------------------------------------- */

.listing-grid-details-price-btn-item.qsd-meta_wrap{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;

  padding: 10px 12px;
  border: 1px solid var(--avv-border);
  background: var(--avv-card);
  border-radius: var(--avv-radius);
  box-shadow: var(--avv-shadow-sm);
  backdrop-filter: blur(10px);
}

/* Preis ist bei Ihnen leer - sauber entfernen, damit keine Hoehe verschwendet wird */
.listing-grid-details-price-btn-item .listing-grid-details-price:empty{
  display: none;
}

/* ---------------------------------------------------------------
   2) Buttons: einheitliche Pill-Optik
   --------------------------------------------------------------- */

.listing-grid-details-btn-item{
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.listing-grid-details-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  border: 1px solid var(--avv-border);
  background: #fff;
  color: var(--avv-text);

  padding: 10px 12px;
  border-radius: 999px;
  line-height: 1;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;

  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  box-shadow: 0 1px 0 rgba(17,17,17,.04);
}

.listing-grid-details-btn:hover{
  transform: translateY(-1px);
  box-shadow: var(--avv-shadow-sm);
  border-color: rgba(115,40,29,.25);
}

.listing-grid-details-btn:focus{
  outline: none;
}

.listing-grid-details-btn:focus-visible{
  box-shadow: 0 0 0 4px rgba(196,159,70,.25), var(--avv-shadow-sm);
  border-color: rgba(196,159,70,.60);
}

/* Icons im Button: einheitliche Groesse und Brand-Farbe */
.listing-grid-details-btn i.dashicons{
  font-size: 18px;
  width: 18px;
  height: 18px;
  color: var(--avv-brown);
}

/* Views: leichter Badge-Look */
.qsd-meta-view-count{
  background: rgba(115,40,29,.06);
  border-color: rgba(115,40,29,.18);
  color: var(--avv-text);
}

/* ---------------------------------------------------------------
   3) Share: Dropdown als Popover-Card
   --------------------------------------------------------------- */

.qsd-socialShare{
  position: relative;
  cursor: pointer;
}

.qsd-socialShare > img{
  width: 18px;
  height: 18px;
  opacity: .9;
}

.qsd-socialShare .qsd-text{
  color: var(--avv-text);
  font-weight: 600;
}

/* Popover: standardmaessig versteckt, sichtbar bei Hover/Fokus */
.qsd-socialShare-btn{
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  z-index: 9999;

  min-width: 220px;
  padding: 10px;
  border-radius: var(--avv-radius-sm);
  border: 1px solid var(--avv-border);
  background: #fff;
  box-shadow: var(--avv-shadow);

  display: none;
}

.qsd-socialShare:hover .qsd-socialShare-btn,
.qsd-socialShare:focus-within .qsd-socialShare-btn{
  display: block;
}

/* Links im Popover: sauber klickbar, leichtes Highlight bei Hover */
.qsd-socialShare-btn a{
  display: flex;
  align-items: center;
  justify-content: space-between;

  padding: 10px 10px;
  border-radius: 10px;
  text-decoration: none;

  color: var(--avv-text);
  font-weight: 600;
  font-size: 14px;

  border: 1px solid transparent;
  transition: background .12s ease, border-color .12s ease, transform .12s ease;
}

.qsd-socialShare-btn a:hover{
  background: rgba(115,40,29,.06);
  border-color: rgba(115,40,29,.18);
  transform: translateX(1px);
}

/* ---------------------------------------------------------------
   4) Claim: Primary Button + Form Card
   --------------------------------------------------------------- */

.adqs-claim-listing-btn{
  background: var(--avv-brown);
  color: #fff;
  border-color: rgba(0,0,0,.06);
  box-shadow: 0 10px 18px rgba(115,40,29,.20);
}

.adqs-claim-listing-btn i.dashicons{
  color: #fff;
}

.adqs-claim-listing-btn:hover{
  background: #642118;
  border-color: rgba(0,0,0,.10);
}

/* Claim-Form als Card */
.adqs-claim-form-wrapper{
  margin-top: 12px;
  border-radius: var(--avv-radius);
  border: 1px solid var(--avv-border);
  background: #fff;
  box-shadow: var(--avv-shadow);
  padding: 16px;
}

.adqs-claim-form-wrapper h3{
  margin: 0 0 12px 0;
  font-size: 18px;
  line-height: 1.25;
  color: var(--avv-text);
}

.adqs-claim-form .adqs-form-field{
  margin-bottom: 12px;
}

.adqs-claim-form label{
  display: block;
  margin-bottom: 6px;
  font-weight: 700;
  color: var(--avv-text);
  font-size: 13px;
}

/* Inputs */
.adqs-claim-form input[type="text"],
.adqs-claim-form input[type="tel"],
.adqs-claim-form input[type="email"],
.adqs-claim-form input[type="file"],
.adqs-claim-form textarea,
.adqs-claim-form select{
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--avv-border);
  padding: 11px 12px;
  font-size: 14px;
  background: #fff;
  color: var(--avv-text);
  transition: box-shadow .12s ease, border-color .12s ease;
}

.adqs-claim-form input:focus,
.adqs-claim-form textarea:focus,
.adqs-claim-form select:focus{
  outline: none;
  border-color: rgba(196,159,70,.70);
  box-shadow: 0 0 0 4px rgba(196,159,70,.20);
}

/* TinyMCE-Wrapper optisch passend machen */
.adqs-claim-form .wp-editor-wrap{
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--avv-border);
}

.adqs-claim-desc{
  margin: 8px 0 0 0;
  color: var(--avv-muted);
  font-size: 12px;
}

/* Buttons unten im Formular */
.adqs-claim-submit-wrapper{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 8px;
}

.adqs-claim-cancel{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid var(--avv-border);
  background: #fff;
  color: var(--avv-text);
  text-decoration: none;
  font-weight: 700;
}

.adqs-claim-submit{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 14px;
  border-radius: 999px;
  border: 0;
  background: var(--avv-gold);
  color: #111;
  font-weight: 800;
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
  box-shadow: 0 12px 18px rgba(196,159,70,.25);
}

.adqs-claim-submit:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
}

.adqs-claim-submit:focus-visible{
  box-shadow: 0 0 0 4px rgba(196,159,70,.30), 0 12px 18px rgba(196,159,70,.25);
}

/* ---------------------------------------------------------------
   5) Mobile: Action-Leiste und Share-Popover sicher im Viewport
   --------------------------------------------------------------- */

@media (max-width: 640px){
  .listing-grid-details-price-btn-item.qsd-meta_wrap{
    justify-content: flex-start;
    padding: 10px;
  }

  .qsd-socialShare-btn{
    right: auto;
    left: 0;
    width: min(92vw, 320px);
  }
}


/* ===================================================================
   Avvokado - Single Listing UI Feinschliff
   Version: 1.0.2 (2026-01-05)

   Zweck:
   - Action-Leiste (Views, Share, Claim): Ausrichtung korrigieren, Hover-Farben auf Brand
   - Share: Hover war blau - wird konsequent auf Braun umgestellt
   - Kontaktformular: Gruen entfernen, Brand-Farben und moderner Look
   - Kategorien: Darstellung als Badges (Basis-Design wie Listing-Tags auf Bild 4)

   Brand-Farben:
   - Braun: #73281D
   - Gold:  #C49F46

   Changelog:
   - 1.0.2:
     - Claim-Button Ausrichtung und Innenabstaende korrigiert (Position wie Views/Share)
     - Share Hover-Styles: Blau entfernt - Braun/Gold Design erzwungen
     - Kontaktformular: Hintergrund, Rahmen, Buttons und Inputs an Brand angepasst
     - Kategorien-Widget: Links als Badge-Pills im Stil der Listing-Tags
   - 1.0.1:
     - Grundblock fuer Action-Leiste, Popover, Claim-Form hinzugefuegt
     - Brand-Farben gesetzt
   =================================================================== */

:root{
  --avv-brown: #73281D;
  --avv-gold:  #C49F46;

  --avv-text: #111111;
  --avv-muted: #6b7280;
  --avv-border: rgba(17,17,17,.10);

  --avv-shadow: 0 10px 30px rgba(17,17,17,.10);
  --avv-shadow-sm: 0 6px 18px rgba(17,17,17,.10);

  --avv-radius: 18px;
  --avv-radius-sm: 12px;
}

/* ---------------------------------------------------------------
   1) Action-Leiste: Ausrichtung, Hover-Text nicht zu dunkel
   --------------------------------------------------------------- */

/* Container bleibt wie gehabt - hier nur Feintuning */
.listing-grid-details-price-btn-item.qsd-meta_wrap{
  align-items: center;
}

/* Alle Action-Buttons wirklich auf eine Baseline zentrieren */
.listing-grid-details-btn-item,
.adqs-claim-listing-btn-wrapper{
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Claim Wrapper: keine zufaelligen Margins oder Offsets */
.adqs-claim-listing-btn-wrapper{
  margin: 0 !important;
  padding: 0 !important;
}

/* Buttons: Hover Hintergrund leicht braun, Text bleibt gut lesbar */
.listing-grid-details-btn:hover{
  background: rgba(115,40,29,.06);
  color: var(--avv-text);
  border-color: rgba(115,40,29,.22);
}

/* View Count Badge - Hover konsistent */
.qsd-meta-view-count:hover{
  background: rgba(115,40,29,.08);
  border-color: rgba(115,40,29,.22);
}

/* Claim Button: exakt gleiche Hoehe wie die anderen Pills */
.adqs-claim-listing-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 40px;
  padding: 10px 14px !important;
  border-radius: 999px !important;

  background: var(--avv-brown) !important;
  color: #ffffff !important;
  border: 1px solid rgba(0,0,0,.06) !important;

  line-height: 1 !important;
  text-decoration: none !important;

  box-shadow: 0 10px 18px rgba(115,40,29,.20);
}

.adqs-claim-listing-btn i.dashicons{
  color: #ffffff !important;
}

.adqs-claim-listing-btn:hover{
  background: #642118 !important;
  color: #ffffff !important;
}

/* ---------------------------------------------------------------
   2) Share: Blau entfernen, Hover auf Braun, Popover sauber
   --------------------------------------------------------------- */

/* Share Button selbst: nie blau, auch nicht visited */
.qsd-socialShare,
.qsd-socialShare .qsd-text{
  color: var(--avv-text) !important;
}

/* Falls irgendwo ein Link-Default greift */
.qsd-socialShare a,
.qsd-socialShare a:visited{
  color: var(--avv-text) !important;
}

/* Share Dropdown Links: Hover nicht blau, sondern Brand */
.qsd-socialShare-btn a{
  color: var(--avv-text) !important;
  text-decoration: none !important;
}

.qsd-socialShare-btn a:hover{
  background: rgba(115,40,29,.06) !important;
  border-color: rgba(115,40,29,.18) !important;
  color: var(--avv-text) !important;
}

/* ---------------------------------------------------------------
   3) Kontaktformular: Gruen entfernen, Brand-Look wie der Rest
   --------------------------------------------------------------- */

/* Ziel: Der gruene Kasten soll neutral und modern werden */
.qsd-single_listing .qsd-contact-form,
.qsd-single_listing .contactform,
.qsd-single_listing .adqs-contact-form,
.qsd-single_listing .listing-grid-contact,
.qsd-single_listing .listing-grid-contact-form,
.qsd-single_listing .widget .contact-form,
.qsd-single_listing .wpcf7 form{
  background: #ffffff !important;
  border: 1px solid var(--avv-border) !important;
  border-radius: var(--avv-radius) !important;
  box-shadow: var(--avv-shadow-sm) !important;
  padding: 18px !important;
}

/* Titel im Formular */
.qsd-single_listing .qsd-contact-form h3,
.qsd-single_listing .contactform h3,
.qsd-single_listing .wpcf7 h3{
  color: var(--avv-text) !important;
  font-weight: 800 !important;
}

/* Inputs */
.qsd-single_listing .qsd-contact-form input[type="text"],
.qsd-single_listing .qsd-contact-form input[type="email"],
.qsd-single_listing .qsd-contact-form input[type="tel"],
.qsd-single_listing .qsd-contact-form textarea,
.qsd-single_listing .contactform input[type="text"],
.qsd-single_listing .contactform input[type="email"],
.qsd-single_listing .contactform input[type="tel"],
.qsd-single_listing .contactform textarea,
.qsd-single_listing .wpcf7 input[type="text"],
.qsd-single_listing .wpcf7 input[type="email"],
.qsd-single_listing .wpcf7 input[type="tel"],
.qsd-single_listing .wpcf7 textarea{
  width: 100% !important;
  border-radius: 12px !important;
  border: 1px solid var(--avv-border) !important;
  background: #ffffff !important;
  color: var(--avv-text) !important;
  padding: 12px 12px !important;
  box-shadow: none !important;
}

/* Focus: Gold */
.qsd-single_listing .qsd-contact-form input:focus,
.qsd-single_listing .qsd-contact-form textarea:focus,
.qsd-single_listing .contactform input:focus,
.qsd-single_listing .contactform textarea:focus,
.qsd-single_listing .wpcf7 input:focus,
.qsd-single_listing .wpcf7 textarea:focus{
  outline: none !important;
  border-color: rgba(196,159,70,.75) !important;
  box-shadow: 0 0 0 4px rgba(196,159,70,.20) !important;
}

/* Submit Button: Braun oder Gold - hier Gold, damit es wie CTA wirkt */
.qsd-single_listing .qsd-contact-form button,
.qsd-single_listing .qsd-contact-form input[type="submit"],
.qsd-single_listing .contactform button,
.qsd-single_listing .contactform input[type="submit"],
.qsd-single_listing .wpcf7 input[type="submit"]{
  width: 100% !important;
  border: 0 !important;
  border-radius: 14px !important;

  background: var(--avv-gold) !important;
  color: #111111 !important;
  font-weight: 900 !important;

  padding: 12px 14px !important;
  cursor: pointer !important;

  box-shadow: 0 12px 18px rgba(196,159,70,.25) !important;
}

.qsd-single_listing .qsd-contact-form button:hover,
.qsd-single_listing .qsd-contact-form input[type="submit"]:hover,
.qsd-single_listing .contactform button:hover,
.qsd-single_listing .contactform input[type="submit"]:hover,
.qsd-single_listing .wpcf7 input[type="submit"]:hover{
  transform: translateY(-1px);
  filter: brightness(.98);
}

/* ---------------------------------------------------------------
   3b) Connect-Agent Widget: Brand-Look (aDirectory .connect-agents)
   --------------------------------------------------------------- */

/* Widget-Wrapper: neutraler Hintergrund, kein grüner aDirectory-Standard */
#adqs_connect_agent-2 .connect-agents {
  background: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Titel "Kontaktformular" (per JS eingefügt) */
.avvokado-connect-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--avv-brown) !important;
  border-bottom: 2px solid var(--avv-gold) !important;
  padding-bottom: 6px !important;
  margin-bottom: 14px !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: block;
}

/* Inputs */
.connect-agents input[type="text"],
.connect-agents input[type="email"],
.connect-agents input[type="tel"],
.connect-agents textarea {
  width: 100% !important;
  border-radius: 10px !important;
  border: 1px solid var(--avv-border) !important;
  background: #ffffff !important;
  color: var(--avv-text) !important;
  padding: 11px 13px !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

/* Focus: Gold-Ring */
.connect-agents input[type="text"]:focus,
.connect-agents input[type="email"]:focus,
.connect-agents input[type="tel"]:focus,
.connect-agents textarea:focus {
  outline: none !important;
  border-color: rgba(196,159,70,.75) !important;
  box-shadow: 0 0 0 3px rgba(196,159,70,.18) !important;
}

/* Submit-Button: Gold */
.connect-agents input[type="submit"],
.connect-agents button[type="submit"] {
  width: 100% !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--avv-gold) !important;
  color: #111111 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 12px 16px !important;
  cursor: pointer !important;
  box-shadow: 0 6px 16px rgba(196,159,70,.28) !important;
  transition: filter 140ms ease, transform 140ms ease !important;
}

.connect-agents input[type="submit"]:hover,
.connect-agents button[type="submit"]:hover {
  filter: brightness(.96) !important;
  transform: translateY(-1px) !important;
}

/* ---------------------------------------------------------------
   4) Kategorien: als Badges wie in Bild 4 (Listing-Tags)
   --------------------------------------------------------------- */

/*
  Das Kategorien-Widget ist je nach Setup unterschiedlich.
  Wir stylen defensiv:
  - typische Widgets (.widget_categories, .widget, .adqs-widget)
  - Links in Listen als Badge-Pills
*/

.qsd-single_listing .widget_categories ul,
.qsd-single_listing .widget ul,
.qsd-single_listing .adqs-widget ul{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-left: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

/* Einzelne Kategorien als Badge */
.qsd-single_listing .widget_categories ul li,
.qsd-single_listing .widget ul li,
.qsd-single_listing .adqs-widget ul li{
  margin: 0 !important;
  padding: 0 !important;
}

/* Badge-Optik */
.qsd-single_listing .widget_categories ul li a,
.qsd-single_listing .widget ul li a,
.qsd-single_listing .adqs-widget ul li a{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 8px 12px;
  border-radius: 999px;

  border: 1px solid rgba(115,40,29,.18);
  background: rgba(115,40,29,.04);

  color: var(--avv-brown) !important;
  font-weight: 800;
  font-size: 13px;

  text-decoration: none !important;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}

.qsd-single_listing .widget_categories ul li a:hover,
.qsd-single_listing .widget ul li a:hover,
.qsd-single_listing .adqs-widget ul li a:hover{
  background: rgba(115,40,29,.07);
  border-color: rgba(115,40,29,.26);
  box-shadow: var(--avv-shadow-sm);
  transform: translateY(-1px);
}

/* Wenn das Widget die Anzahl als Text in Klammern im Link hat, bleibt es gleich.
   Wenn es als <span class="count"> kommt, machen wir daraus einen kleinen Chip. */
.qsd-single_listing .widget_categories ul li a .count,
.qsd-single_listing .widget ul li a .count,
.qsd-single_listing .adqs-widget ul li a .count{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 2px 8px;
  border-radius: 999px;

  background: rgba(196,159,70,.20);
  color: #111111;

  font-weight: 900;
  font-size: 12px;
}

/* Mobile: Badges bleiben gut klickbar */
@media (max-width: 640px){
  .qsd-single_listing .widget_categories ul,
  .qsd-single_listing .widget ul,
  .qsd-single_listing .adqs-widget ul{
    gap: 8px;
  }

  .qsd-single_listing .widget_categories ul li a,
  .qsd-single_listing .widget ul li a,
  .qsd-single_listing .adqs-widget ul li a{
    padding: 9px 12px;
    font-size: 13px;
  }
}


/* ===================================================================
   Avvokado - Korrekturen UI (Lesbarkeit + Icon-Farben + Hover-Reset)
   Version: 1.0.3 (2026-01-05)

   Zweck:
   - Claim Button: Text wieder lesbar (normal und Hover)
   - Icons: in der Info-Liste und in Action-Buttons konsequent braun
   - Action-Buttons: Hover wieder wie vorher (kein ungewollter Hintergrundwechsel)
   - Keine Layout-Aenderungen, nur Lesbarkeit und Farben

   Brand-Farben:
   - Braun: #73281D
   - Gold:  #C49F46

   Changelog:
   - 1.0.3:
     - Claim Button Textfarbe und Kontrast erzwungen (inklusive Hover/Visited)
     - Action-Buttons Hover-Hintergrund auf weiss zurueckgesetzt (Design wie vorher)
     - Dashicons in Kontakt/Info-Sektionen auf Braun gesetzt
     - Linkfarben in Info-Sektionen stabilisiert (kein Blau)
   - 1.0.2:
     - Action-Leiste Feinschliff, Share ohne Blau, Kontaktformular und Kategorien-Badges
   - 1.0.1:
     - Basis-Block fuer Action-Leiste, Share-Popover, Claim-Form
   =================================================================== */

:root{
  --avv-brown: #73281D;
  --avv-gold:  #C49F46;
  --avv-text: #111111;
  --avv-border: rgba(17,17,17,.10);
  --avv-shadow-sm: 0 6px 18px rgba(17,17,17,.10);
}

/* ---------------------------------------------------------------
   1) Claim Button: Text lesbar (normal + Hover + visited)
   --------------------------------------------------------------- */

.adqs-claim-listing-btn,
.adqs-claim-listing-btn:visited{
  color: #ffffff !important;
}

.adqs-claim-listing-btn:hover,
.adqs-claim-listing-btn:focus,
.adqs-claim-listing-btn:active{
  color: #ffffff !important;
}

/* Manche Setups legen Text in ein inneres Element. Defensiv mitziehen. */
.adqs-claim-listing-btn *,
.adqs-claim-listing-btn:hover *{
  color: #ffffff !important;
}

/* Icon im Claim Button bleibt weiss */
.adqs-claim-listing-btn i.dashicons{
  color: #ffffff !important;
}

/* ---------------------------------------------------------------
   2) Action-Buttons: Hover wieder wie vorher (kein dunkler Text)
   --------------------------------------------------------------- */

/* Ihr Hinweis: "Design im 1. Abschnitt ist nicht mehr wie vorher"
   Ursache: Hintergrundwechsel bei Hover. Wir setzen das zurueck. */
.listing-grid-details-btn:hover{
  background: #ffffff !important;           /* Reset */
  color: var(--avv-text) !important;
  border-color: rgba(17,17,17,.16) !important;
  box-shadow: var(--avv-shadow-sm) !important;
  transform: translateY(-1px);
}

/* View Count Badge: ebenfalls kein dunkler Text */
.qsd-meta-view-count:hover{
  color: var(--avv-text) !important;
}

/* ---------------------------------------------------------------
   3) Icons: in Kontakt/Info-Bloecken konsequent braun
   --------------------------------------------------------------- */

/* aDirectory nutzt in den Info-Zeilen meistens .qsd-has-icon i */
.qsd-single_listing .qsd-has-icon i,
.qsd-single_listing .listing-grid-info i.dashicons,
.qsd-single_listing .listing-grid-details-btn i.dashicons{
  color: var(--avv-brown) !important;
}

/* ---------------------------------------------------------------
   4) Links in Info-Bloecken: kein Blau, passend zum Design
   --------------------------------------------------------------- */

.qsd-single_listing .listing-grid-info a,
.qsd-single_listing .listing-grid-info a:visited{
  color: var(--avv-brown) !important;
  text-decoration: none;
}

.qsd-single_listing .listing-grid-info a:hover{
  color: var(--avv-brown) !important;
  text-decoration: underline;
}


/* ===================================================================
   Avvokado - Korrektur: Claim-Text weiss + Spalten oben buendig
   Version: 1.0.4 (2026-01-05)

   Zweck:
   - Claim Button: Text immer weiss (auch ohne Hover)
   - Rechte Spalte: Box oben buendig mit linker Spalte (Header-Bereich)

   Changelog:
   - 1.0.4:
     - Claim Button Textfarbe hart auf weiss gesetzt (Normalzustand)
     - Margin/Offset in rechter Spalte reduziert, damit die obere Kante buendig ist
   =================================================================== */

:root{
  --avv-brown: #73281D;
}

/* ---------------------------------------------------------------
   1) Claim Button: Text IMMER weiss (Normalzustand)
   --------------------------------------------------------------- */

/* Wichtig: Einige Themes/Plugins ueberschreiben a-Styles im Normalzustand.
   Darum setzen wir explizit auch :link und :visited. */
.adqs-claim-listing-btn,
.adqs-claim-listing-btn:link,
.adqs-claim-listing-btn:visited{
  color: #ffffff !important;
}

/* Falls der Text in einem inneren Element steckt */
.adqs-claim-listing-btn span,
.adqs-claim-listing-btn strong,
.adqs-claim-listing-btn em{
  color: #ffffff !important;
}

/* Icon im Claim Button bleibt ebenfalls weiss */
.adqs-claim-listing-btn i.dashicons{
  color: #ffffff !important;
}

/* ---------------------------------------------------------------
   2) Rechte Spalte: Box oben buendig mit linker Spalte
   --------------------------------------------------------------- */

/*
  aDirectory/Divi erzeugt je nach Layout oben unterschiedliche Abstaende.
  Wir entfernen hier nur den "Top-Offset" der rechten Sidebar-Boxen, ohne
  die gesamte Grid-Struktur umzubauen.

  Falls Sie mehrere Widgets in der Sidebar haben, wirkt das auf alle.
*/

.qsd-single_listing .qsd-sidebar,
.qsd-single_listing .listing-grid-sidebar,
.qsd-single_listing .adqs-sidebar,
.qsd-single_listing .qsd-right-sidebar{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Haeufig ist es das erste Widget/Box, das einen zusaetzlichen Abstand hat */
.qsd-single_listing .qsd-sidebar > :first-child,
.qsd-single_listing .listing-grid-sidebar > :first-child,
.qsd-single_listing .adqs-sidebar > :first-child,
.qsd-single_listing .qsd-right-sidebar > :first-child{
  margin-top: 0 !important;
}

/* Und oft haben einzelne Boxen selbst einen oberen Abstand */
.qsd-single_listing .qsd-sidebar .widget,
.qsd-single_listing .listing-grid-sidebar .widget,
.qsd-single_listing .adqs-sidebar .widget{
  margin-top: 0 !important;
}


/* =========================================================
 * 14) Paginierung: CI-Farben (Braun/Gold statt Blau)
 * ---------------------------------------------------------
 * Zweck:
 * - adqs_post_pagination() gibt <ul class="page-numbers"> aus (kein wrapper).
 * - paginate_links(type='list') => <ul class="page-numbers"><li><a class="page-numbers">
 * - Aktive Seite: Braun-Hintergrund (#73281D), weisse Schrift
 * - Hover: leichter Braun-Hintergrund
 * - Dots (...): ohne Border, gedaempfte Farbe
 *
 * Version: 1.1.0
 * ======================================================= */

/* Alle Page-Number Links/Spans */
ul.page-numbers li a.page-numbers,
ul.page-numbers li span.page-numbers {
  color: #73281D !important;
  border-color: rgba(115, 40, 29, 0.35) !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: background 140ms ease, border-color 140ms ease, color 140ms ease;
}

/* Hover (nur Links, keine Spans) */
ul.page-numbers li a.page-numbers:hover {
  background: rgba(115, 40, 29, 0.08) !important;
  border-color: rgba(115, 40, 29, 0.55) !important;
  color: #73281D !important;
}

/* Aktive Seite */
ul.page-numbers li span.page-numbers.current,
ul.page-numbers li .page-numbers.current {
  background: #73281D !important;
  border-color: #73281D !important;
  color: #ffffff !important;
}

/* Dots (...) */
ul.page-numbers li span.page-numbers.dots {
  border-color: transparent !important;
  background: transparent !important;
  color: rgba(115, 40, 29, 0.50) !important;
}

/* =====================================================
   15) Divi Buttons + aDirectory View-Switch: CI-Farben
   ===================================================== */

/* Divi et_pb_button (z.B. "Anwalt suchen..." Buttons) */
.et_pb_button {
  color: #73281D !important;
  border-color: #73281D !important;
}
.et_pb_button:hover {
  background-color: #73281D !important;
  color: #ffffff !important;
}

/* aDirectory View-Switch Links (Reset / Grid / List Icons) */
ul.qsd-grid-list-btn-main a.qsd-grid-list-btn {
  color: #73281D !important;
  border-color: rgba(115, 40, 29, 0.40) !important;
  background: rgba(196, 159, 70, 0.12) !important;
}
ul.qsd-grid-list-btn-main a.qsd-grid-list-btn:hover,
ul.qsd-grid-list-btn-main a.qsd-grid-list-btn.active {
  background: rgba(115, 40, 29, 0.12) !important;
  border-color: rgba(115, 40, 29, 0.55) !important;
  color: #73281D !important;
}


/* =====================================================
   16) Avvokado – Inline Suchleiste (content-archive-listing.php)
   Flex-Wrapping fuer mehrere Suchfelder nebeneinander.
   Verhindert Overflow bei schmalen Containern (z.B. /anwalt/rechtsgebiet/).
   ===================================================== */

.avvokado-inline-search-wrap .qsd-prodcut-main-left {
  flex: 1 1 auto;
  min-width: 0;
}

.avvokado-inline-search-wrap .qsd-form-main {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: flex-end;
}

.avvokado-inline-search-wrap .qsd-form-main .qsd-searchform {
  flex: 1 1 0%;
  min-width: 0;
  max-width: none;
}

.avvokado-inline-search-wrap .qsd-prodcut-main {
  flex-wrap: wrap;
  gap: 8px;
}

/* Mobile: alle Felder in voller Breite */
@media (max-width: 767px) {
  .avvokado-inline-search-wrap .qsd-form-main .qsd-searchform {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .avvokado-inline-search-wrap .qsd-prodcut-main-right {
    width: 100%;
  }
  .avvokado-inline-search-wrap .avvokado-inline-search-btn {
    width: 100%;
    justify-content: center;
  }
}


/* =====================================================
   17) Silbentrennung (Deutsche Worttrennung)
   Aktiviert hyphens:auto fuer Kacheln und Block-Texte.
   lang="de" wird via functions.php filter 12 erzwungen (de_DE + de_CH).
   Utility-Klasse .avv-hyphens fuer manuelle Anwendung.
   ===================================================== */

.avv-hyphens,
.qsd-grid-card .listing-title,
.qsd-grid-card .listing-excerpt,
.qsd-grid-card .listing-description,
.qsd-list-card .listing-title,
.qsd-list-card .listing-excerpt,
.listing-grid-details h1,
.listing-grid-details h2,
.listing-grid-details h3,
.listing-grid-details p,
.listing-grid-details .listing-description,
.akb-extra-row,
.akb-field-value,
.et_pb_text p,
.et_pb_text h2,
.et_pb_text h3 {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
  /* Qualitaetskontrolle: Trennungen nur bei langen Woertern, ausreichend Zeichen */
  hyphenate-limit-chars: 8 4 3;
  -webkit-hyphenate-limit-before: 4;
  -webkit-hyphenate-limit-after: 3;
  /* Max. 2 aufeinanderfolgende Zeilen mit Trennstrich */
  hyphenate-limit-lines: 2;
  -webkit-hyphenate-limit-lines: 2;
}

/* =====================================================
   17) Avvokado – Suchfeld-Tooltip (?-Icon)
   Erklaert dem Nutzer, was das Feld tut + Mehrfachfilter-Hinweis.
   ===================================================== */

.avs-field-tip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  background: rgba(115,40,29,0.10);
  color: #73281D;
  border-radius: 50%;
  font-size: 9px;
  font-weight: 800;
  cursor: help;
  position: relative;
  margin-left: 5px;
  vertical-align: middle;
  flex-shrink: 0;
  transition: background 0.15s;
}
.avs-field-tip:hover {
  background: rgba(115,40,29,0.22);
}

/* Tooltip wird via JS (.avs-tooltip-popup) in content-archive-listing.php gerendert */


/* =====================================================
   18) Avvokado – Aktive Filter-Chips (Frontend)
   Zeigt aktive Suchfilter als Chips mit X-Button.
   ===================================================== */

.avvokado-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 6px 0 10px;
  font-size: 13px;
}

.avv-af-label {
  font-size: 12px;
  font-weight: 600;
  color: #73281D;
  opacity: 0.70;
  white-space: nowrap;
}

.avv-af-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(115,40,29,0.08);
  border: 1px solid rgba(115,40,29,0.28);
  color: #130F0E;
  border-radius: 999px;
  padding: 3px 8px 3px 10px;
  font-size: 12px;
  font-weight: 500;
  transition: background 0.15s, border-color 0.15s;
}
.avv-af-chip:hover {
  background: rgba(115,40,29,0.13);
  border-color: rgba(115,40,29,0.45);
}
.avv-af-chip-text strong {
  font-weight: 700;
  color: #73281D;
}

.avv-af-chip-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: rgba(115,40,29,0.15);
  color: #73281D !important;
  font-size: 13px;
  line-height: 1;
  text-decoration: none !important;
  font-weight: 700;
  transition: background 0.15s;
  flex-shrink: 0;
}
.avv-af-chip-x:hover {
  background: #73281D;
  color: #fff !important;
}

/* Hohe Spezifitaet gegen Divi-Link-Overrides */
#et-main-area .avv-af-clear-all,
#et-boc .avv-af-clear-all,
.et_pb_section .avv-af-clear-all,
.avvokado-active-filters .avv-af-clear-all,
a.avv-af-clear-all {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: #fff !important;
  text-decoration: none !important;
  background-color: #73281D !important;
  border: 1px solid #73281D;
  border-radius: 999px;
  padding: 4px 12px;
  line-height: 1.5;
  transition: background-color 0.15s, opacity 0.15s;
  white-space: nowrap;
}
.avvokado-active-filters .avv-af-clear-all:hover,
a.avv-af-clear-all:hover {
  background-color: #5a1f16 !important;
  border-color: #5a1f16;
  color: #fff !important;
  opacity: 0.90;
}

@media (max-width: 767px) {
  .avvokado-active-filters {
    gap: 5px;
  }
  .avv-af-chip {
    font-size: 11px;
  }
}

/* =====================================================
   19) Avvokado – Keyword Autocomplete Dropdown
   Erscheint unterhalb des Stichwort-Felds.
   ===================================================== */

.avs-keyword-wrap {
  position: relative;
}

.avs-autocomplete-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 9999;
  background: #fff;
  border: 1px solid rgba(115,40,29,0.22);
  border-top: none;
  border-radius: 0 0 6px 6px;
  box-shadow: 0 4px 16px rgba(19,15,14,0.12);
  overflow: hidden;
  max-height: 220px;
  overflow-y: auto;
}

.avs-ac-item {
  padding: 9px 12px;
  font-size: 13px;
  color: #2d2420;
  cursor: pointer;
  border-bottom: 1px solid rgba(115,40,29,0.06);
  transition: background 0.1s, color 0.1s;
  line-height: 1.4;
}
.avs-ac-item:last-child {
  border-bottom: none;
}
.avs-ac-item:hover {
  background: rgba(115,40,29,0.06);
  color: #73281D;
}

/* =====================================================
   20) Avvokado – Frontend Suchleiste Verbesserungen
   Bessere Kontraste, staerkere Labels, klare Inputs.
   ===================================================== */

/* Suchfelder Labels – gut lesbar */
.avvokado-inline-search-wrap .qsd-searchform label,
.qsd-searchBar_single_area .qsd-searchform label {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #73281D !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 3px;
  display: block;
}

/* Input-Felder – klarer Rahmen und Schrift */
.avvokado-inline-search-wrap .qsd-form-input,
.qsd-searchBar_single_area .qsd-form-input {
  border: 1.5px solid rgba(115,40,29,0.28) !important;
  border-radius: 5px !important;
  color: #130F0E !important;
  font-size: 13px !important;
  background: #fff !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}
.avvokado-inline-search-wrap .qsd-form-input:focus,
.qsd-searchBar_single_area .qsd-form-input:focus {
  border-color: #73281D !important;
  box-shadow: 0 0 0 2px rgba(115,40,29,0.10) !important;
  outline: none !important;
}

/* Placeholder-Text sichtbarer */
.avvokado-inline-search-wrap .qsd-form-input::placeholder,
.qsd-searchBar_single_area .qsd-form-input::placeholder {
  color: rgba(19,15,14,0.38) !important;
  font-style: italic;
}

/* ── Native Select (Einzel-Select Suchart) ──────────────── */
.avs-native-select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2373281D' opacity='.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  padding-right: 28px !important;
  cursor: pointer;
}

/* ── Checkbox-Liste (checkboxlist Suchart) ──────────────── */
.avs-checkboxlist-ul {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.avs-checkboxlist-ul li label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  color: #130F0E;
  cursor: pointer;
  white-space: nowrap;
}
.avs-checkboxlist-ul input[type="checkbox"] {
  accent-color: #73281D;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

/* ── Suchleiste: Button-Positionierung ──────────────────── */
.avvokado-inline-search-wrap .qsd-prodcut-main,
.qsd-searchBar_single_area .qsd-prodcut-main {
  align-items: flex-end;
}
.avvokado-inline-search-wrap .qsd-prodcut-main-left,
.qsd-searchBar_single_area .qsd-prodcut-main-left {
  flex: 1;
}
.avvokado-inline-search-wrap .qsd-prodcut-main-right,
.qsd-searchBar_single_area .qsd-prodcut-main-right {
  flex-shrink: 0;
  padding-bottom: 1px;
}
.avvokado-inline-search-btn,
.qsd-searchBar_single_area .qsd-main-btn {
  white-space: nowrap;
}

/* =====================================================
   21) Avvokado – Mobile Suchleiste
   Stapelt Felder vertikal, volle Breite auf kleinen Screens.
   ===================================================== */

@media (max-width: 767px) {
  /* Felder untereinander stapeln */
  .avvokado-inline-search-wrap .qsd-form-main,
  .qsd-searchBar_single_area .qsd-form-main {
    flex-direction: column !important;
    gap: 8px;
  }

  .avvokado-inline-search-wrap .qsd-searchform,
  .qsd-searchBar_single_area .qsd-searchform {
    width: 100% !important;
    min-width: 0 !important;
  }

  .avvokado-inline-search-wrap .qsd-form-input,
  .qsd-searchBar_single_area .qsd-form-input {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Suchen-Button volle Breite */
  .avvokado-inline-search-wrap .qsd-prodcut-main-right,
  .qsd-searchBar_single_area .qsd-prodcut-main-right {
    width: 100% !important;
  }
  .avvokado-inline-search-btn,
  .qsd-main-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  /* Dropdown-Optionen besser touchbar */
  .adqs-taxonomyDropdown-items li {
    padding: 10px 14px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  /* Autocomplete Items touchbar */
  .avs-ac-item {
    padding: 12px 14px;
    font-size: 14px;
  }
}

/* ============================================================
   avv-cross-sell: Intent-Timing Widget (v1.0.0)
   ============================================================ */

.avv-intent-target {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity .4s ease, transform .4s ease;
    pointer-events: none;
}
.avv-intent-visible {
    opacity: 1;
    transform: none;
    pointer-events: auto;
}

.avv-crosssell-widget {
    margin: 32px 0 20px;
    padding: 20px 16px;
    background: #faf9f7;
    border: 1px solid #e8e0d8;
    border-radius: 8px;
    overflow: visible;  /* Carousel-Breakout darf nicht geclippt werden */
}
.avv-crosssell-heading {
    font-size: .9rem;
    color: #444;
    margin-bottom: 14px;
    line-height: 1.4;
}
.avv-crosssell-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

/* akm-* card CSS wird vom Plugin Kacheln Mini per wp_head ausgegeben.
   Nur minimaler Fallback + Mobile hier. */
.akm-card    { cursor: pointer; }
.akm-info    { display: flex; flex-direction: column; flex: 1; }
.akm-spacer  { display: none; }
/* Name-Link: Farbe und Dekoration von Divi isolieren */
.akm-name-link,
.akm-name-link:link,
.akm-name-link:visited,
.akm-name-link:hover {
    color: inherit !important;
    text-decoration: none !important;
}

/* Mobile: Widget kompakter, Karten gestapelt */
@media (max-width: 767px) {
    .avv-crosssell-widget {
        margin: 24px 0 16px;
        padding: 16px;
        border-radius: 6px;
    }
    .avv-crosssell-heading {
        font-size: .85rem;
        margin-bottom: 12px;
    }
    .avv-crosssell-cards {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 14px;
    }
    .avv-crosssell-footer {
        margin-top: 4px;
    }
    .avv-crosssell-cta.et_pb_button {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}
.avv-crosssell-footer {
    text-align: center;
}
.avv-crosssell-cta.et_pb_button {
    display: inline-block;
    margin: 0 auto;
}
.avv-crosssell-sub {
    font-size: .8rem;
    color: #888;
    margin-top: 6px;
}

/* Wissen-Teaser on /anwalt/rechtsgebiet/ */
.avv-wissen-teaser {
    background: #faf9f7;
    border-left: 4px solid #73281D;
    padding: 12px 16px;
    margin-bottom: 24px;
    font-size: .9rem;
    color: #444;
}
.avv-wissen-teaser a {
    color: #73281D;
    font-weight: 600;
    margin-left: 6px;
    text-decoration: none;
}
.avv-wissen-teaser a:hover { text-decoration: underline; }

/* Profile Ratgeber block on lawyer profiles */
.avv-profile-wissen {
    margin: 24px 0;
    padding: 18px 20px;
    background: #faf9f7;
    border: 1px solid #e8e0d8;
    border-radius: 5px;
}
.avv-profile-wissen h4 {
    font-size: .95rem;
    color: #333;
    margin-bottom: 10px;
}
.avv-profile-wissen ul {
    margin: 0;
    padding: 0 0 0 18px;
}
.avv-profile-wissen ul li {
    margin-bottom: 5px;
}
.avv-profile-wissen ul li a {
    color: #73281D;
    text-decoration: none;
    font-size: .9rem;
}
.avv-profile-wissen ul li a:hover { text-decoration: underline; }

/* =====================================================
   22) Avvokado – Suchleiste Linksbündigkeit
   Entfernt überflüssige Innenabstände damit Suchfelder
   exakt mit dem umgebenden Content-Container fluchten.
   ===================================================== */
.qsd-searchBar_single_area .qsd-searchBar-wrap {
  padding-left: 0;
  padding-right: 0;
}
.qsd-searchBar_single_area .qsd-prodcut-main-box.qsd-search-bar {
  padding-left: 0;
  padding-right: 0;
  box-shadow: none;
  border: none;
  background: transparent;
}
.qsd-searchBar_single_area .avvokado-active-filters {
  padding-left: 0;
}

/* =====================================================
   23) Avvokado Search Mapper – Backend Scrollbar
   Sicherstellt dass Library und Kontext-Karten-Grid
   unabhängig scrollen und nicht abgeschnitten werden.
   ===================================================== */

/* Kritisch: min-height:0 auf Flex-Kinder, damit overflow-y wirkt */
.avs-library-groups,
.avs-contexts-area,
.avs-contexts-grid {
  min-height: 0;
}

/* Feldliste innerhalb einer Kontext-Karte scrollbar bei vielen Feldern */
.avs-context-fields {
  max-height: 380px;
  overflow-y: auto;
}
.avs-context-fields::-webkit-scrollbar { width: 4px; }
.avs-context-fields::-webkit-scrollbar-track { background: transparent; }
.avs-context-fields::-webkit-scrollbar-thumb {
  background: rgba(115,40,29,0.22);
  border-radius: 3px;
}


/* =====================================================
   21) Avvokado -- Keine Ergebnisse Vorschlaege (avs-no-results-*)
   ===================================================== */

.avs-no-results-suggestions {
  margin: 28px auto 0;
  max-width: 680px;
  text-align: left;
}

/* Loading */
.avs-no-results-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: rgba(19,15,14,0.45);
  font-size: 14px;
  padding: 36px 0 28px;
}
.avs-no-results-spinner {
  display: block;
  width: 32px;
  height: 32px;
  border: 3px solid rgba(115,40,29,0.15);
  border-top-color: #73281D;
  border-radius: 50%;
  animation: avs-spin 0.7s linear infinite;
}
@keyframes avs-spin { to { transform: rotate(360deg); } }

/* Sections */
.avs-no-results-section {
  margin-bottom: 22px;
}
.avs-no-results-heading {
  font-size: 13px;
  font-weight: 700;
  color: #73281D;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0 0 10px 0;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(115,40,29,0.18);
}

/* List */
.avs-no-results-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.avs-no-results-item {
  margin: 0;
  padding: 0;
}

/* Links */
.avs-no-results-link,
a.avs-no-results-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(115,40,29,0.06) !important;
  border: 1px solid rgba(115,40,29,0.22);
  color: #130F0E !important;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none !important;
  transition: background 0.15s, transform 0.12s;
}
.avs-no-results-link:hover,
a.avs-no-results-link:hover {
  background: rgba(115,40,29,0.12) !important;
  border-color: rgba(115,40,29,0.42) !important;
  color: #130F0E !important;
  transform: translateY(-1px);
}

/* Count badge */
.avs-no-results-count {
  display: inline-flex;
  align-items: center;
  padding: 2px 9px;
  border-radius: 999px;
  background: rgba(196,159,70,0.16);
  border: 1px solid rgba(196,159,70,0.40);
  color: #73281D;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

/* Relaxation-Chips: Desktop nebeneinander */
.avs-no-results-list-row {
  flex-direction: row;
  flex-wrap: wrap;
  display: flex;
  gap: 8px;
}

/* Partial match cards (avvokado-card Stil, <div> Struktur wie content-listing.php) */
.avs-partial-hidden { display: none; }
.avs-no-results-cards {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* avs-partial-list-item: gleiche !important-Styles wie .qsd-content-area .qsd-prodcut-grid-list-main */
.avs-no-results-partial .avs-no-results-cards .qsd-prodcut-grid-list-item {
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(19,15,14,0.18) !important;
  box-shadow: 0 10px 22px rgba(19,15,14,0.09) !important;
  transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease, background 180ms ease !important;
  cursor: pointer;
}
.avs-no-results-partial .avs-no-results-cards .qsd-prodcut-grid-list-item:hover {
  transform: translateY(-3px) scale(1.01) !important;
  box-shadow: 0 24px 56px rgba(19,15,14,0.18) !important;
  border-color: rgba(115,40,29,0.60) !important;
  background: linear-gradient(135deg,
    rgba(115,40,29,0.16) 0%,
    rgba(196,159,70,0.12) 42%,
    rgba(255,255,255,1) 78%
  ) !important;
}
.avs-no-results-partial .avs-no-results-cards .qsd-prodcut-grid-list-item .qsd-prodcut-grid-list-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 6px !important;
}
.avs-no-results-partial .avs-no-results-cards .qsd-prodcut-grid-list-item .avvokado-card-body,
.avs-no-results-partial .avs-no-results-cards .qsd-prodcut-grid-list-item .qsd-product-grid-article {
  padding: 12px 10px 12px !important;
}
/* Thumbnail-Bereich in Partial-Cards unterdruecken (kein Featured Image vorhanden) */
.avs-partial-list-item .qsd-global-single-listing-thumb-main,
.avs-partial-list-item .adqs-listing-post-thumbnail { display: none !important; }
/* Leere avvokado-l2 Zeile ausblenden */
.avs-partial-list-item .avvokado-l2:empty { display: none; }
/* avvokado-l3 als Match-Info Zeile (kursiv, gedaempft) */
.avs-partial-list-item .avvokado-l3 {
  font-size: 11px;
  color: rgba(19,15,14,0.45);
  font-style: italic;
}
/* Plugin-CSS setzt dunklen Hintergrund auf avvokado-link / avvokado-open-listing — unterdruecken */
.avs-no-results-partial .avvokado-link,
.avs-no-results-partial .avvokado-open-listing {
  background: transparent !important;
  color: #130F0E !important;
  text-decoration: none !important;
}
.avs-no-results-partial .avvokado-link:hover,
.avs-no-results-partial .avvokado-open-listing:hover {
  color: #73281D !important;
}
.avs-partial-more-btn {
  margin-top: 10px;
  padding: 9px 18px;
  border: 1px solid rgba(115,40,29,0.35);
  border-radius: 20px;
  background: transparent;
  color: #73281D;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s;
}
.avs-partial-more-btn:hover {
  background: rgba(115,40,29,0.07);
}

/* Haupt-Such-Overlay (erscheint beim Formular-Submit) */
#avs-search-loading {
  position: fixed;
  inset: 0;
  background: rgba(255,255,255,0.82);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9998;
}
.avs-search-loading-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  font-size: 15px;
  color: rgba(19,15,14,0.55);
}
.avs-search-spinner-lg {
  display: block;
  width: 44px;
  height: 44px;
  border: 4px solid rgba(115,40,29,0.15);
  border-top-color: #73281D;
  border-radius: 50%;
  animation: avs-spin 0.7s linear infinite;
}

/* Dropdown-Filter-Input */
.avs-dropdown-filter-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 6px 10px;
  margin-bottom: 4px;
  border: 1px solid rgba(115,40,29,0.25);
  border-radius: 6px;
  font-size: 13px;
  outline: none;
  background: #faf8f7;
  color: #130f0e;
}
.avs-dropdown-filter-input:focus {
  border-color: rgba(115,40,29,0.55);
  background: #fff;
}

/* Mobile */
@media (max-width: 640px) {
  .avs-no-results-suggestions { margin-top: 18px; }
  .avs-no-results-link, a.avs-no-results-link { font-size: 12px; padding: 8px 12px; }
  .avs-no-results-list-row { flex-direction: column; }
}

/* ============================================================
   Block 16: Mobile Suche — UX-Verbesserungen (content-archive-listing.php v1.6.13)
   - Linksbündig
   - Einklappbar via Toggle-Button (.avv-search-toggle-btn)
   - Hauptfelder (1-3) / Weitere Filter (.avv-secondary-fields)
   - Sticky Suchen-Button wenn Form offen
   - Grössere Touch-Ziele (48px)
   ============================================================ */

/* Toggle-Button: Desktop ausblenden, sekundäre Felder immer sichtbar */
@media (min-width: 768px) {
  .avv-search-toggle-wrap { display: none; }
  .avv-secondary-fields { display: contents; }
  .avv-more-filters-btn { display: none; }
}

@media (max-width: 767px) {

  /* 1) Linksbündig */
  .avvokado-inline-search-wrap label,
  .avvokado-inline-search-wrap .avs-field-label {
    text-align: left !important;
  }

  /* 2) Touch-Ziele: min 48px, font-size 16px verhindert iOS Auto-Zoom */
  .avvokado-inline-search-wrap .qsd-form-input,
  .avvokado-inline-search-wrap input[type="text"],
  .avvokado-inline-search-wrap input[type="search"] {
    min-height: 48px !important;
    padding: 10px 14px !important;
    font-size: 16px !important;
  }

  /* 3) Toggle-Button: CI-Braun, volle Breite */
  .avv-search-toggle-wrap {
    margin-bottom: 8px;
  }
  .avv-search-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: #73281D;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
  }

  /* 4) Form eingeklappt: standardmässig unsichtbar auf Mobile */
  .avvokado-inline-search-wrap:not(.avv-search-open) {
    display: none;
  }

  /* 5) Sekundäre Felder: standardmässig versteckt */
  .avv-secondary-fields {
    display: none;
  }
  .avv-secondary-fields.avv-sec-open {
    display: contents; /* Kinder erscheinen direkt im Flex-Flow von .qsd-form-main */
  }

  /* 6) "Weitere Filter" Button */
  .avv-more-filters-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 8px 0;
    background: none;
    border: none;
    color: #73281D;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
  }
  .avv-more-filters-btn i {
    transition: transform 0.2s ease;
  }

  /* 7) Sticky Suchen-Button wenn Form offen */
  .avvokado-inline-search-wrap.avv-search-open .qsd-prodcut-main-right {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    padding: 10px 16px !important;
    background: #fff !important;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.12) !important;
    box-sizing: border-box !important;
  }
  /* Abstand damit Listings nicht hinter sticky Button verschwinden */
  .avvokado-inline-search-wrap.avv-search-open .qsd-prodcut-main {
    padding-bottom: 70px !important;
  }
}

/* ============================================================
   Block 17: Sticky Search Bar + Overlay (v1.6.14)
   ============================================================ */

/* Sticky Search Bar: Desktop immer verborgen */
#avv-sticky-search-bar {
  display: none;
}

@media (max-width: 767px) {

  /* Sticky Bar: erscheint oben wenn Toggle-Button gescrollt */
  #avv-sticky-search-bar {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9998;
    background: #fff;
    border-bottom: 2px solid #73281D;
    padding: 8px 16px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
    box-sizing: border-box;
  }
  #avv-sticky-search-bar[hidden] {
    display: none !important;
  }
  .avv-sticky-search-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 16px;
    background: #73281D;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
  }

  /* Search Overlay: Vollbild, weiss */
  #avv-search-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #fff;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }
  #avv-search-overlay[hidden] {
    display: none !important;
  }
  #avv-search-overlay-inner {
    width: 100%;
    padding: 52px 16px 80px;
    box-sizing: border-box;
    position: relative;
  }
  .avv-overlay-close {
    position: fixed;
    top: 8px;
    right: 8px;
    z-index: 10001;
    background: #73281D;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    color: #fff;
    line-height: 1;
    box-shadow: 0 2px 8px rgba(115,40,29,0.35);
  }
  body.avv-overlay-open {
    overflow: hidden;
  }
  /* Overlay: Label- und Placeholder-Kontrast (CI-Braun) */
  #avv-search-overlay .avs-field-label,
  #avv-search-overlay label {
    color: #73281D !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    letter-spacing: 0.05em !important;
  }
  #avv-search-overlay input[type="text"]::placeholder,
  #avv-search-overlay input[type="search"]::placeholder,
  #avv-search-overlay .qsd-form-input::placeholder {
    color: #888 !important;
    opacity: 1;
  }
  /* Overlay: Suchen-Button ausblenden, Padding anpassen */
  #avv-search-overlay .qsd-prodcut-main-right {
    display: none !important;
  }
  #avv-search-overlay-inner {
    padding-bottom: 24px !important;
  }
  /* Overlay: Linksbündig erzwingen */
  #avv-search-overlay .qsd-prodcut-main-box,
  #avv-search-overlay .qsd-prodcut-main,
  #avv-search-overlay .qsd-prodcut-main-left,
  #avv-search-overlay .qsd-form-main {
    text-align: left !important;
  }
  #avv-search-overlay label,
  #avv-search-overlay .avs-field-label,
  #avv-search-overlay input[type="text"],
  #avv-search-overlay input[type="search"],
  #avv-search-overlay .qsd-form-input {
    text-align: left !important;
  }
  /* Header-Top-Bar Icons ausblenden (View-Switch, Reset) */
  ul.qsd-grid-list-btn-main,
  .adqs-listing-refresh,
  .adqs-listing-sort-refresh {
    display: none !important;
  }
  /* Suchen-Button auf Mobile immer ausblenden */
  .avvokado-inline-search-wrap .qsd-prodcut-main-right {
    display: none !important;
  }
  .avvokado-inline-search-wrap .qsd-prodcut-main {
    padding-bottom: 0 !important;
  }
}

/* ============================================================
   avvokado-faq: FAQ Block on lawyer profiles (v1.0.0)
   ============================================================ */

.avf-faq-block {
    margin: 24px 0;
    padding: 20px 24px;
    background: #faf9f7;
    border: 1px solid #e8e0d8;
    border-radius: 6px;
}
.avf-faq-heading {
    font-size: 1.05rem;
    color: #73281D;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid #73281D;
}
.avf-faq-list {
    margin: 0;
}
.avf-faq-item {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid #e8d5d2;
}
.avf-faq-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.avf-faq-q {
    font-weight: 600;
    color: #73281D;
    font-size: .9rem;
    margin-bottom: 4px;
    display: block;
}
.avf-faq-a {
    color: #555;
    font-size: .88rem;
    line-height: 1.5;
    margin: 0;
}
.avf-edit-toggle {
    font-size: .82rem !important;
    padding: 4px 10px !important;
    color: #73281D !important;
    border-color: #73281D !important;
    background: transparent !important;
}
.avf-edit-toggle:hover {
    background: #73281D !important;
    color: #fff !important;
}

/* ============================================================
   Block 16: Freitextsuche (avvokado-unified-search v2.0.0)
   Prominentes Suchfeld oberhalb der aDirectory-Filter auf /anwalt/
   ============================================================ */

.avv-search-section { margin: 0 0 12px; }

/* Karte für die KI-Freitextsuche — Gold-Schema (identisch mit kacheln-mini "gold") */
.avv-search-card {
    background: rgba(196,159,70,.08);
    border: 1px solid rgba(196,159,70,.35);
    border-radius: 12px;
    padding: 18px 22px 16px;
    box-shadow: 0 6px 18px rgba(17,17,17,.10);
    margin: 4px 0 20px;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.avv-search-card:hover {
    background: rgba(196,159,70,.16);
    border-color: #C49F46;
    box-shadow: 0 14px 36px rgba(19,15,14,.15);
    transform: translateY(-2px) scale(1.01);
}

/* Fortschrittsanzeige */
.avus-progress-wrap[hidden] { display: none !important; }
.avus-progress-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
}
.avus-progress-bar-outer {
    flex: 1;
    height: 5px;
    background: rgba(115,40,29,.1);
    border-radius: 3px;
    overflow: hidden;
}
.avus-progress-bar-inner {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #73281D 0%, #C49F46 100%);
    border-radius: 3px;
}
.avus-progress-pct {
    font-size: .82rem;
    font-weight: 700;
    color: #73281D;
    min-width: 36px;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.avus-progress-label {
    font-size: .82rem;
    color: #888;
    font-style: italic;
    white-space: nowrap;
}

.avv-freetext-row {
    display: flex;
    gap: 8px;
    align-items: center;
}
.avv-freetext-input {
    flex: 1 1 auto;
    font-size: 1.15rem;
    padding: 15px 20px;
    border: 2px solid rgba(115,40,29,.45);
    border-radius: 8px;
    background: #fff;
    color: #130F0E;
    outline: none;
    transition: border-color .15s, box-shadow .15s;
    min-width: 0;
}
.avv-freetext-input:focus {
    border-color: #C49F46;
    box-shadow: 0 0 0 4px rgba(115,40,29,.12);
}
.avv-freetext-input::placeholder { color: rgba(115,40,29,.5); }
.avv-freetext-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #73281D;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 15px 24px;
    font-size: .95rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .15s;
}
.avv-freetext-btn:hover  { background: #5c2016; }
.avv-freetext-btn:disabled { opacity: .55; cursor: wait; }
.avv-ki-icon { flex-shrink: 0; stroke: #fff; fill: none; }
.avv-freetext-hint {
    font-size: .78rem;
    color: #5c4a42;
    margin: 6px 0 0;
}
.avv-ki-status {
    font-size: .83rem;
    color: #73281D;
    margin-top: 8px;
    font-style: italic;
}

@media (max-width: 480px) {
    .avv-freetext-btn-label { display: none; }
    .avv-freetext-btn { padding: 15px 17px; }
}

/* AI-Antwort-Box — zeigt Interpretation + Trefferzahl + ggf. juristische Rückfrage */
.avus-ai-response {
    margin: 14px 0 0;
}
.avus-ai-response-card {
    position: relative;
    display: flex;
    gap: 14px;
    padding: 16px 20px;
    background: rgba(115,40,29,0.08);
    border: 1px solid rgba(115,40,29,.28);
    border-left: 3px solid #73281D;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(115,40,29,.05);
}
.avus-ai-response-close:hover { background: #5a1f14 !important; }
.avus-ai-response-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #130F0E; /* CI Dark Brown */
    color: #fff;
    border-radius: 50%;
}
.avus-ai-response-icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: #fff !important;
    fill: #fff !important;
    display: block !important;
}
.avus-ai-response-icon svg path { stroke: #fff !important; fill: #fff !important; }

/* Suche-Button: Icon explizit weiss (Divi-Override-Resistenz) */
.avv-freetext-btn .avv-ki-icon,
.avv-freetext-btn svg {
    stroke: #fff !important;
    fill: none !important;
    display: inline-block !important;
}
.avv-freetext-btn .avv-ki-icon path { stroke: #fff !important; fill: none !important; }
.avus-ai-response-content {
    flex: 1;
    min-width: 0;
}
.avus-ai-response-summary {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 600;
    color: #3a2a22;
    line-height: 1.45;
}
.avus-ai-response-count {
    margin: 0;
    font-size: .92rem;
    color: #5c4a42;
    line-height: 1.5;
}
.avus-ai-swiss-notice {
    margin: 6px 0 0;
    font-size: .92rem;
    color: #5c4a42;
    line-height: 1.5;
}
.avus-ai-response-followup {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-top: 12px;
    padding: 10px 12px;
    background: rgba(196,159,70,.08);
    border-left: 2px solid #C49F46;
    border-radius: 4px;
}
.avus-ai-response-count + .avus-ai-response-followup:not([hidden]) {
    margin-top: 24px;
    border-top: 1px solid rgba(196,159,70,0.3);
    padding-top: 16px;
}
/* Browser-Default [hidden] hat display:none - wird aber von display:flex
   oben ueberschrieben. Explizit zurueckholen, damit die Box bei leerem
   follow_up_question wirklich versteckt bleibt. */
.avus-ai-response-followup[hidden],
.avus-ai-response[hidden] { display: none !important; }
.avus-ai-response-followup-icon {
    flex-shrink: 0;
    color: #C49F46;
    margin-top: 2px;
}
.avus-ai-response-followup-text {
    margin: 0;
    font-size: .88rem;
    color: #3a2a22;
    line-height: 1.5;
    font-style: italic;
}
/* Sprach-Alternativen-Chips */
.avus-lang-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 8px 0 4px;
}
.avus-lang-chips-label {
    font-size: .82rem;
    color: #5c4a42;
    margin-right: 2px;
}
.avus-lang-chip {
    background: #f0e9df;
    border: 1px solid #d4c7b4;
    border-radius: 20px;
    padding: 3px 12px;
    font-size: .82rem;
    color: #5c4a42;
    cursor: pointer;
    transition: background .15s;
}
.avus-lang-chip:hover { background: #e3d8c4; }
.avus-lang-chip:disabled { opacity: .5; cursor: default; }
/* Follow-up Input-Row */
.avus-followup-input-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
}
.avus-followup-input {
    flex: 1;
    border: 1px solid #d4c7b4;
    border-radius: 6px;
    padding: 5px 10px;
    font-size: .88rem;
    color: #3d2b1f;
    background: #faf6f1;
    outline: none;
}
.avus-followup-input:focus { border-color: #73281D; }
.avus-followup-submit {
    background: #73281D;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 5px 14px;
    font-size: .88rem;
    cursor: pointer;
    white-space: nowrap;
}
.avus-followup-submit:hover { background: #8b3222; }
.avus-followup-submit:disabled { opacity: .6; cursor: default; }
/* display:flex oben würde [hidden] überschreiben — explizit zurücksetzen */
.avus-followup-input-row[hidden] { display: none !important; }
/* Null-Treffer Alternativen */
.avus-alt-question {
    font-size: .95rem;
    color: #5c4a42;
    margin: 0 0 12px;
    font-weight: 600;
}
.avus-alt-cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}
.avus-alt-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    background: #faf6f1;
    border: 1px solid #d4c7b4;
    border-radius: 8px;
    padding: 10px 14px;
    cursor: pointer;
    text-align: left;
    transition: background .15s, border-color .15s;
    font-family: inherit;
    width: 100%;
}
.avus-alt-card:hover { background: #f0e9df; border-color: #c0b09a; }
.avus-alt-card:disabled { opacity: .5; cursor: default; }
.avus-alt-card.is-loading { opacity: .6; cursor: wait; }
.avus-alt-count {
    font-size: 1.3rem;
    font-weight: 700;
    color: #73281D;
    line-height: 1;
}
.avus-alt-label {
    font-size: .92rem;
    color: #3d2b1f;
    font-weight: 500;
}
.avus-alt-sublabel {
    font-size: .82rem;
    color: #7a6557;
}
.avus-alt-location         { border-left: 6px solid #C49F46; }
.avus-alt-language,
.avus-alt-language_nearby  { border-left: 6px solid #4a7c9a; }
.avus-alt-specialty        { border-left: 6px solid #73281D; }
.avus-alt-parent_specialty { border-left: 6px solid #7a9a4a; }
@media (min-width: 640px) {
    .avus-alt-cards { flex-direction: row; }
    .avus-alt-card  { flex: 1; min-width: 0; }
}
@media (max-width: 480px) {
    .avus-ai-response-card { padding: 14px 16px; gap: 10px; }
    .avus-ai-response-icon { width: 30px; height: 30px; }
    .avus-ai-response-icon svg { width: 15px; height: 15px; }
    .avus-ai-response-summary { font-size: .95rem; }
    .avus-ai-response-count { font-size: .85rem; }
}

/* Kanton-Fallback-Sektion — bei wenigen/null Stadt-Treffern */
.avv-canton-fallback-section {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px dashed rgba(115,40,29,0.25);
}
.avv-canton-fallback-header {
    margin: 0 0 16px;
    padding: 12px 16px;
    background: rgba(196,159,70,0.10);
    border-left: 3px solid #C49F46;
    border-radius: 4px;
    font-size: .95rem;
    color: #3a2a22;
    line-height: 1.5;
}
.avv-canton-fallback-header strong { color: #73281D; }

/* Feedback-Bar (F5) — direkt unter der KI-Freitextsuche */
.avus-feedback-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0 0;
    padding: 12px 18px;
    background: #f9f7f5;
    border: 1px solid rgba(115,40,29,.15);
    border-left: 3px solid #C49F46;
    border-radius: 6px;
    font-size: .88rem;
    color: #5c4a42;
    transition: opacity .6s ease;
}
.avus-feedback-bar.avus-feedback-fadeout {
    opacity: 0;
    pointer-events: none;
}
.avus-feedback-bar[hidden],
.avus-feedback-btn[hidden],
.avus-feedback-label[hidden],
.avus-feedback-thanks[hidden] { display: none !important; }
/* Initial unsichtbar fuer Fade-In nach Page-Load */
.avus-feedback-bar { opacity: 0; }
.avus-feedback-bar.avus-feedback-fadein { opacity: 1; }
.avus-feedback-label {
    font-weight: 600;
    color: #3a2a22;
}
.avus-feedback-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    border: 1px solid rgba(115,40,29,.25);
    border-radius: 6px;
    padding: 6px 14px;
    font-size: .85rem;
    font-weight: 600;
    color: #73281D;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.avus-feedback-btn:hover {
    background: rgba(115,40,29,.06);
    border-color: #73281D;
}
.avus-feedback-btn svg { flex-shrink: 0; }
.avus-feedback-up:hover { color: #2e7d32; border-color: #2e7d32; }
.avus-feedback-down:hover { color: #c62828; border-color: #c62828; }
.avus-feedback-thanks {
    font-weight: 700;
    color: #2e7d32;
    font-size: .95rem;
}
@media (max-width: 480px) {
    .avus-feedback-bar { flex-wrap: wrap; gap: 8px; padding: 10px 14px; }
    .avus-feedback-label { width: 100%; }
}

/* ============================================================
   Block 17: Footer-Badge — KI-Suche / MCP
   Fixes Badge unten rechts auf allen Seiten.
   ============================================================ */

.avv-mcp-badge {
    position: fixed;
    bottom: 22px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9990;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #130F0E;
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .04em;
    padding: 7px 13px;
    border-radius: 20px;
    text-decoration: none;
    box-shadow: 0 2px 12px rgba(19,15,14,.45);
    transition: background .15s, box-shadow .15s;
    white-space: nowrap;
}
.avv-mcp-badge:hover {
    background: #2a2320;
    color: #fff;
    box-shadow: 0 4px 16px rgba(19,15,14,.55);
}

/* ==========================================================================
   Block 18: AI-Suche Cards — Shortcode [avv_ai_search] (v1.0.0)
   ========================================================================== */

.avv-ai-wrap {
    max-width: 720px;
    margin: 0 auto 32px;
    font-family: inherit;
}

.avv-ai-input-row {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}

.avv-ai-q {
    flex: 1;
    font-size: 1.05em;
    padding: 12px 16px;
    border-radius: 6px;
    border: 2px solid #ccc;
    outline: none;
    transition: border-color .15s;
}

.avv-ai-q:focus {
    border-color: #73281D;
}

.avv-ai-btn {
    background: #73281D;
    color: #fff;
    border: none;
    padding: 12px 22px;
    border-radius: 6px;
    cursor: pointer;
    font-size: .95em;
    font-weight: 700;
    white-space: nowrap;
    transition: background .15s;
}

.avv-ai-btn:hover {
    background: #5c2016;
}

.avv-ai-btn:disabled {
    background: #aaa;
    cursor: not-allowed;
}

.avv-ai-status {
    font-size: .9em;
    color: #555;
    margin-bottom: 10px;
    padding: 8px 12px;
    background: #f8f8f8;
    border-radius: 4px;
    border-left: 3px solid rgba(196,159,70,.6);
}

.avv-ai-status.avv-ai-status--error {
    background: #fff5f5;
    border-left-color: #dc3232;
    color: #c0392b;
}

/* Ergebnis-Karten */
.avv-ai-card {
    border-left: 3px solid rgba(196,159,70,.7);
    padding: 12px 16px;
    margin-bottom: 12px;
    background: #fafafa;
    border-radius: 0 6px 6px 0;
    transition: box-shadow .15s;
}

.avv-ai-card:hover {
    box-shadow: 0 2px 10px rgba(115,40,29,.12);
}

.avv-ai-card-name {
    display: block;
    font-size: 1.05em;
    font-weight: 700;
    color: #73281D;
    text-decoration: none;
    margin-bottom: 2px;
}

.avv-ai-card-name:hover {
    text-decoration: underline;
}

.avv-ai-card-meta {
    color: #666;
    font-size: .88em;
    margin-bottom: 6px;
}

.avv-ai-card-tags,
.avv-ai-card-langs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 4px;
}

.avv-ai-tag {
    background: #f0e8d0;
    color: #73281D;
    font-size: .78em;
    padding: 2px 8px;
    border-radius: 10px;
    font-weight: 600;
}

.avv-ai-lang {
    background: #eef3f8;
    color: #2c6e9e;
    font-size: .78em;
    padding: 2px 8px;
    border-radius: 10px;
}

.avv-ai-card-tagline {
    color: #555;
    font-size: .88em;
    margin-top: 6px;
    font-style: italic;
    line-height: 1.5;
}

/* ── Sprach-Flaggen Overlay (Listing-Kacheln) ───────────────────────────── */
.avv-listing-flags {
    position: absolute;
    bottom: 8px;
    right: 8px;
    display: flex;
    gap: 2px;
    justify-content: flex-end;
    pointer-events: none;
    z-index: 5;
}
.avv-listing-flags .fi {
    width: 18px;
    height: 13px;
    border-radius: 2px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.6);
    border: 1px solid rgba(255,255,255,0.2);
}

/* ── Header Section + Breadcrumb-Row: kein unteres Padding ─────────────── */
.et_pb_section_0_tb_header {
    padding-bottom: 0 !important;
}
.et_pb_row_5_tb_header {
    padding-bottom: 0 !important;
}

/* ── Suchergebnis-Bereich + Content-Wrapper: kein oberes Padding ────────── */
.qsd-prodcut-grid-with-side-bar-main {
    padding-top: 0 !important;
}
main#site-content.content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* ── Search-Bar Box: kein oberes Padding ───────────────────────────────── */
.qsd-prodcut-main-box.qsd-search-bar {
    padding-top: 0 !important;
}

/* ── Breadcrumb-Liste: kein unteres Padding/Margin ─────────────────────── */
.avvokado-breadcrumb ol {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* ==========================================================================
   Block 19: V1 Polish — Unified Search Card (filter_style: v1polish)
   Design Tokens: burgundy-700 #7a1f2a | cream-50 #faf6ed | cream-200 #ece3d1
                  ink-500 #6f6258 | ink-400 #8e8378 | line #e3d8c4 | line-strong #cdbfa6
   ========================================================================== */

/* ── Aktive Filter-Chips ─────────────────────────────────────────────────── */
.avus-v1-active-row .avvokado-active-filters {
    display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap;
}
.avus-v1-active-row .avv-af-label {
    font-size: 12px; font-weight: 500; letter-spacing: 0.08em;
    text-transform: uppercase; color: #7a1f2a; margin-right: 4px;
}
.avus-v1-active-row .avv-af-chip {
    background: #ece3d1; border: 1px solid #cdbfa6; border-radius: 999px;
    padding: 6px 6px 6px 12px; display: inline-flex; align-items: center;
    gap: 8px; font-size: 13px; line-height: 1;
}
.avus-v1-active-row .avv-af-chip-text { color: #6f6258; font-weight: 400; }
.avus-v1-active-row .avv-af-chip-text strong { color: #1d1410; font-weight: 500; }
.avus-v1-active-row .avv-af-chip-x {
    background: rgba(77,16,24,0.08); color: #631821; border-radius: 999px;
    width: 18px; height: 18px; display: inline-flex; align-items: center;
    justify-content: center; font-size: 11px; border: none; cursor: pointer;
    line-height: 1; text-decoration: none; flex-shrink: 0;
}
.avus-v1-active-row .avv-af-chip-x:hover { background: rgba(77,16,24,0.16); }
.avus-v1-active-row .avv-af-clear-all {
    display: inline-flex; align-items: center; gap: 6px;
    background: #7a1f2a; color: #faf6ed; padding: 6px 12px; border-radius: 999px;
    font-size: 12px; font-weight: 500; text-decoration: none; line-height: 1;
}
.avus-v1-active-row .avv-af-clear-all:hover { background: #631821; color: #faf6ed; }

/* ── Unified Card ────────────────────────────────────────────────────────── */
.avus-v1-card {
    background: #fff; border: 1px solid #e3d8c4; border-radius: 12px;
    padding: 20px 22px;
    box-shadow: 0 1px 0 rgba(77,16,24,0.02), 0 8px 24px -16px rgba(77,16,24,0.10);
    margin-bottom: 18px;
}

/* ── KI-Suchzeile ────────────────────────────────────────────────────────── */
.avus-v1-ki-row { display: flex; align-items: stretch; gap: 12px; }

.avus-v1-ki-field {
    flex: 1; display: flex; align-items: center; gap: 12px;
    background: #faf6ed; border: 1px solid #e3d8c4; border-radius: 10px;
    padding: 0 16px 0 14px; height: 58px; min-width: 0;
    cursor: text;
}
.avus-v1-ki-field:focus-within { border-color: #a8404d; }

.avus-v1-sparkle { flex-shrink: 0; }

.avus-v1-display {
    flex: 1; font-size: 20px; color: #1d1410; letter-spacing: -0.01em;
    cursor: text; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    display: none;
}
.avus-v1-display.is-visible { display: block; }
.avus-v1-display .avus-v1-hl {
    background: #f3e2e4; color: #4d1018; padding: 0 4px;
    border-radius: 3px; box-shadow: inset 0 -2px 0 #a8404d;
}

.avus-v1-input {
    flex: 1; border: none; background: transparent; font-size: 20px;
    color: #1d1410; outline: none; letter-spacing: -0.01em;
    font-family: inherit; min-width: 0;
}
.avus-v1-input::placeholder { color: #8e8378; }

/* ── CTA-Button ─────────────────────────────────────────────────────────── */
.avus-v1-cta {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    background: #7a1f2a; color: #faf6ed; border: none; border-radius: 8px;
    height: 58px; padding: 0 26px; font-size: 14px; font-weight: 500;
    letter-spacing: -0.005em; cursor: pointer; flex-shrink: 0; white-space: nowrap;
    font-family: inherit;
}
.avus-v1-cta:hover { background: #631821; }
.avus-v1-cta:focus-visible { outline: 2px solid #a8404d; outline-offset: 2px; }
.avus-v1-cta svg { flex-shrink: 0; }
/* Lupen-Icon im Such-Button: gegen Divi-/Theme-Overrides absichern */
.avus-v1-cta .avus-v1-cta-icon,
.avus-v1-cta svg.avus-v1-cta-icon {
    display: inline-block !important;
    width: 16px !important;
    height: 16px !important;
    color: #faf6ed !important;
    stroke: #faf6ed !important;
    fill: none !important;
    opacity: 1 !important;
    vertical-align: middle;
}
.avus-v1-cta .avus-v1-cta-icon circle,
.avus-v1-cta .avus-v1-cta-icon line {
    stroke: #faf6ed !important;
    fill: none !important;
}

/* ── Hint-Zeile ─────────────────────────────────────────────────────────── */
.avus-v1-hint {
    margin: 8px 0 0; font-size: 12px; color: #6f6258;
    display: flex; align-items: center; gap: 6px; line-height: 1.4;
}
.avus-v1-hint svg { flex-shrink: 0; }

/* ── Divider (full-bleed) ───────────────────────────────────────────────── */
.avus-v1-divider { height: 1px; background: #e3d8c4; margin: 20px -22px 18px; }

/* ── Filter-Grid ────────────────────────────────────────────────────────── */
.avus-v1-filter-grid {
    display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px;
}
/* Eyebrow-Labels */
.avus-v1-filter-form .qsd-searchform label,
.avus-v1-filter-form .qsd-form-item-label {
    font-size: 10.5px !important; font-weight: 600 !important;
    letter-spacing: 0.09em !important; text-transform: uppercase !important;
    color: #7a1f2a !important; margin-bottom: 6px !important;
    display: flex !important; align-items: center !important; gap: 4px !important;
    line-height: 1.2 !important;
}
/* Feld-Container */
.avus-v1-filter-form .qsd-form-item {
    height: 38px !important; border-radius: 8px !important;
    padding: 0 10px !important; border: 1px solid #e3d8c4 !important;
    background: #fff !important;
}
.avus-v1-filter-form .qsd-form-item:focus-within { border-color: #a8404d !important; }
.avus-v1-filter-form .qsd-form-item:hover { border-color: #cdbfa6 !important; }
/* Gefüllte Felder: stärkerer Rahmen */
.avus-v1-filter-form .qsd-form-item.avus-v1-filled { border-color: #cdbfa6 !important; }
/* Input-Text */
.avus-v1-filter-form .qsd-form-input { font-size: 13px !important; }
/* Suchen-Button ausblenden (Filter auto-submit on change) */
.avus-v1-filter-form .qsd-prodcut-main-right { display: none !important; }
/* qsd-prodcut-main: kein Grid mehr nötig (unser Grid übernimmt) */
.avus-v1-filter-form .qsd-prodcut-main { display: contents !important; }
.avus-v1-filter-form .qsd-prodcut-main-left { display: contents !important; }
.avus-v1-filter-form .qsd-form-main { display: contents !important; }
.avus-v1-filter-form .qsd-prodcut-main-box { background: transparent !important; border: none !important; box-shadow: none !important; padding: 0 !important; }

/* ── Header über der Suchkarte ──────────────────────────────────────────── */
.avus-v1-header {
    display: flex; align-items: baseline; gap: 14px; margin-bottom: 12px; flex-wrap: wrap;
}
.avus-v1-header-title {
    font-family: 'Source Serif 4', Georgia, serif;
    font-style: italic; font-size: 28px; font-weight: 400;
    color: #4d1018; line-height: 1.2; letter-spacing: -0.02em;
}
.avus-v1-header-sub {
    font-size: 14px; color: #6f6258; line-height: 1.4;
}
.avus-v1-header-tip {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 50%;
    background: #e3d8c4; border: none; cursor: pointer;
    font-size: 11px; font-weight: 600; color: #5c4a42;
    vertical-align: middle; flex-shrink: 0;
}
.avus-v1-header-tip:hover { background: #d4c7b4; }

/* ── Responsive ─────────────────────────────────────────────────────────── */
@media (min-width: 640px) and (max-width: 1023px) {
    .avus-v1-filter-grid { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 639px) {
    .avus-v1-card { padding: 14px 16px; }
    .avus-v1-ki-row { flex-direction: column; gap: 8px; }
    .avus-v1-ki-field { height: auto; min-height: 70px; padding: 12px; align-items: flex-start; flex-wrap: wrap; }
    .avus-v1-cta { width: 100%; height: 48px; }
    .avus-v1-filter-grid { grid-template-columns: 1fr; gap: 8px; }
    .avus-v1-filter-form .qsd-form-item { height: 42px !important; }
    .avus-v1-divider { margin: 14px -16px 14px; }
    .avus-v1-header { flex-direction: column; gap: 4px; margin-bottom: 10px; }
    .avus-v1-header-title { font-size: 22px; }
}

/* ── Scroll-to-Top Button (CI Braun #73281D) ─────────────────────────── */
.et_pb_scroll_top {
    background-color: #73281D !important;
    color: #ffffff !important;
}
.et_pb_scroll_top:hover {
    background-color: #5a1e15 !important;
}

