/* Kategorie-Archive – Kartenlayout, Filterbar & Schnellansicht */
:root {
    --dl-brand: #fdc150;
    --dl-text: #0f172a;
    --dl-muted: #6b7280;
    --dl-border: #e6e8ef;
    --dl-bg: #f6f7fb;
    --dl-shadow: 0 12px 28px rgba(16, 24, 40, 0.08);
    --dl-radius: 14px;
}
/* Umgebung */
body.tax-product_cat .site-content, body.tax-product_cat .content, body.tax-product_cat .main {
    background: #fafafa;
}
/* Produktliste als Karten */

/* ==========================================================================
   NUCLEAR EQUAL HEIGHTS (from functions.php inline styles)
   ========================================================================== */

/* NUCLEAR CSS - ÜBERSCHREIBT ALLES - NUR AUF PRODUKTKATEGORIEN */
html body .woocommerce ul.products li.product,
html body ul.products li.product,
html body li.product,
html body .products li.product {
    height: 560px !important;
    min-height: 560px !important;
    max-height: 560px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

html body .dl-quickview-row {
    margin-top: auto !important;
    flex-shrink: 0 !important;
}
.woocommerce ul.products.columns-3 li.product, .woocommerce ul.products li.product {
    background: #fff;
    border: 1px solid var(--dl-border);
    border-radius: var(--dl-radius);
    box-shadow: var(--dl-shadow);
    overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
    height: 520px !important; /* FESTE Höhe für ALLE Produktkarten */
    transition: transform .12s ease, box-shadow .2s ease;
    position: relative !important;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(16,24,40,.12);
}
/* Produktbild */
.woocommerce ul.products li.product a img {
    border-bottom: 1px solid var(--dl-border);
    aspect-ratio: 4/3;
    object-fit: cover;
    background: linear-gradient(180deg,#f2f3f8, #e9ecf3);
}
/* Titel, Preis usw. */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.35;
    margin: 10px 14px 4px;
    color: var(--dl-text);
}
.woocommerce ul.products li.product .price {
    margin: 6px 14px 0;
    font-weight: 700;
    color: var(--dl-text);
}
.woocommerce ul.products li.product .star-rating {
    margin: 6px 14px;
    margin-bottom: 20px !important;
}

/*.dl-price-wrap {*/
/*    margin-top: 60px !important;*/
/*}*/
/* Aktionszeile */
.woocommerce ul.products li.product .button {
    border-radius: 10px;
}
.woocommerce ul.products li.product .add_to_cart_button, .woocommerce ul.products li.product .product_type_simple {
    background: var(--dl-brand);
    color: #1f2937;
    border: none;
    border-radius: 10px;
    padding: 9px 12px;
    box-shadow: var(--dl-shadow);
}
/* Schnellansicht-Button */
.dl-quickview-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid var(--dl-border);
    border-radius: 10px;
    padding: 7px 10px;
    margin: 10px 14px 14px;
    box-shadow: var(--dl-shadow);
    text-decoration: none;
    cursor: pointer;
    font-size: 13px;
    color: #fdc150 !important;
}
.dl-quickview-btn:before {
    content: "\1F441";
    opacity: .8;
}
.dl-quickview-row {
    display: flex;
    gap: 8px;
    align-items: center;
    margin: 10px 14px 14px;
}
.dl-quickview-row .dl-quickview-btn {
    margin: 0;
}
/* Modal */
.dl-qv-overlay {
    position: fixed;
    inset: 0;
    background: rgba(20,24,32,.45);
    display: none;
    z-index: 9998;
}
.dl-qv-overlay.is-active {
    display: block;
}
.dl-qv-modal {
    position: fixed;
    inset: 5% 8%;
    background: #fff;
    border: 1px solid var(--dl-border);
    border-radius: 14px;
    box-shadow: 0 20px 60px rgba(0,0,0,.25);
    display: none;
    z-index: 9999;
    overflow: auto;
}
.dl-qv-modal.is-active {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 24px;
    padding: 26px;
}
@media (max-width: 980px) {
    .dl-qv-modal.is-active {
        grid-template-columns: 1fr;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - 32px);
        max-height: calc(100% - 12%);
    }
}

@media (max-width: 768px) {
    .dl-qv-gallery {
        display: none;
    }

    .dl-qv-modal.is-active {
        grid-template-columns: none !important;
        gap: normal !important;
    }

    .dl-price-wrap {
        margin-top: 0px !important;
    }

}
.dl-qv-close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: #fff;
    border: 1px solid var(--dl-border);
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    cursor: pointer;
}
.dl-qv-close:after {
    content: "\00D7";
    font-size: 25px;
    margin-top: -4px;
}
.dl-qv-content {
    margin-top: 25px;
}
/* Modal Inhalte */
.dl-qv-title {
    font-size: 24px;
    font-weight: 800;
    margin: 0 0 14px;
    color: var(--dl-text);
}
.dl-qv-desc {
    color: var(--dl-text);
    opacity: 1; /* volle Deckkraft für bessere Lesbarkeit und deutliche Formatierung */
    margin: 10px 0 16px;
}
.dl-qv-desc h1, .dl-qv-desc h2, .dl-qv-desc h3,
.dl-qv-desc h4, .dl-qv-desc h5, .dl-qv-desc h6 {
    font-weight: 800;
    margin: 10px 0 8px;
}
.dl-qv-desc strong,
.dl-qv-desc b { font-weight: 700 !important; font-variation-settings: "wght" 700 !important; }
.dl-qv-desc em,
.dl-qv-desc i { font-style: italic !important; }
.dl-qv-desc em,
.dl-qv-desc i { font-style: italic; }
.dl-qv-desc a { color: #fdc150; text-decoration: none; }
.dl-qv-desc a:hover { text-decoration: underline; }
.dl-qv-content .dl-qv-desc p {
    margin: 0 0 12px;
    line-height: 1.6;
}
.dl-qv-content .dl-qv-desc ul,
.dl-qv-content .dl-qv-desc ol {
    margin: 0 0 12px 1.25em;
    padding-left: 1.25em;
}
.dl-qv-content .dl-qv-desc ul { list-style: disc outside; }
.dl-qv-content .dl-qv-desc ol { list-style: decimal outside; }
.dl-qv-content .dl-qv-desc li { margin: 6px 0; }
.dl-qv-meta {
    display: grid;
    gap: 8px;
    color: var(--dl-muted);
    margin: 10px 0;
}
.dl-qv-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.dl-qv-tag {
    background: #fff;
    border: 1px solid var(--dl-border);
    border-radius: 999px;
    padding: 6px 10px;
    font-weight: 700;
}
.dl-qv-price {
    font-size: 26px;
    font-weight: 400;
    color: var(--dl-text);
    margin: 10px 0 12px;
}
.dl-qv-cta {
    display: flex;
    gap: 10px;
    align-items: center;
}
.dl-qv-cta .button {
    background: var(--dl-brand);
    color: #1f2937;
    border-radius: 10px;
    padding: 12px 16px;
    font-weight: 800;
}
/* Galerie Platzhalter */
/*.dl-qv-gallery {*/
/*    background: #f1f3f7;*/
/*    border: 1px solid var(--dl-border);*/
/*    border-radius: 12px;*/
/*    min-height: 360px;*/
/*}*/
.dl-qv-thumbs {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px;
    margin-top: 10px;
}
.dl-qv-thumb {
    background: #f1f3f7;
    border: 1px solid var(--dl-border);
    border-radius: 10px;
    height: 56px;
}
/* Typografie/Abstände nach Mock */
body.tax-product_cat .page-title, body.tax-product_cat h1 {
    font-weight: 700;
    border-left: 5px solid #fdc150;
    padding-left: 10px !important;
}
/* Produktkarte: Innenabstände strukturieren */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    margin: 12px 16px 6px;
    font-size: 15.5px;
}
.woocommerce ul.products li.product .price {
    margin: 4px 16px 8px;
    font-size: 18px;
    font-weight: 700;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    color: inherit;
    text-decoration: none;
}
/* Zusatzinfo (inkl. MwSt.) im Stil des Mocks */
.woocommerce ul.products li.product .tax_label, .woocommerce ul.products li.product .woocommerce-price-suffix, .woocommerce ul.products li.product .price + .suffix, .woocommerce ul.products li.product .amount + .tax_label {
    color: #9aa2b1;
    font-size: 12px;
    margin: 0 16px;
    display: block;
}
/* Aktionszeile: Schnellansicht links, In den Warenkorb rechts */
.dl-quickview-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin: 10px 16px 16px;
}
.dl-quickview-btn {
    padding: 7px 10px;
    border-radius: 12px;
    font-weight: 700;
}
/* Erzwinge Sichtbarkeit des Add-to-Cart Buttons und style ihn */
.woocommerce ul.products li.product .button, .woocommerce ul.products li.product .add_to_cart_button, .woocommerce ul.products li.product .product_type_simple, .woocommerce ul.products li.product .product_type_variable, .woocommerce ul.products li.product .ajax_add_to_cart {
    display: inline-flex !important;
    align-items: center;
    border: none;
    background: var(--dl-brand);
    color: #1f2937;
    border-radius: 12px;
    padding: 7px 12px;
    box-shadow: var(--dl-shadow);
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    margin-top: auto !important; /* Schiebt Button nach unten */
}
.woocommerce ul.products li.product .button:before {
    content: "\1F6D2";
}

/* Stelle sicher, dass alle Buttons in der dl-quickview-row sind und gleich ausgerichtet */
.dl-quickview-row .button,
.dl-quickview-row .add_to_cart_button,
.dl-quickview-row .product_type_simple {
    margin-top: 0 !important;
    align-self: flex-end;
}
/* Wenn Theme den Button unten woanders rendert, positioniere ihn in unsere Row */
.woocommerce ul.products li.product .dl-quickview-row + .button {
    margin-left: auto;
}
/* Kartenhöhen konsistent, Footer an unteren Rand - ENTFERNT da jetzt feste Höhe */
.woocommerce ul.products li.product .price ~ .button {
    margin: 10px 16px 16px;
}
/* Modal verkleinern und mehr Luft */
.dl-qv-modal {
    inset: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(980px, calc(100% - 64px));
    max-height: calc(100% - 14%);
}
.dl-qv-modal.is-active {
    grid-template-columns: 1.1fr 1fr;
    gap: 22px;
    padding: 22px;
}
.dl-qv-title {
    font-size: 22px;
}
.dl-qv-gallery {
    min-height: 320px;
}
.dl-qv-price {
    font-size: 24px;
}
.dl-qv-cta .button {
    padding: 11px 16px;
    border-radius: 12px;
}

/* Content-Counter Styling für Schnellansicht */
.dl-qv-content-counter {
    margin: 16px 0;
    padding: 16px;
    background: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

/* Leere Content-Counter-Bereiche komplett ausblenden */
.dl-qv-content-counter:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* Content-Counter mit nur Leerzeichen oder unsichtbarem Inhalt ausblenden */
.dl-qv-content-counter:not(:empty) {
    /* Prüfe ob nur Leerzeichen vorhanden sind */
}

/* Verstecke Content-Counter wenn er nur leere Elemente enthält */
.dl-qv-content-counter:not(:empty):has(*:empty) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* Zusätzliche Regel für Content-Counter mit nur Whitespace */
.dl-qv-content-counter:not(:empty) {
    /* Prüfe ob nur Whitespace vorhanden ist */
}

/* Verstecke Content-Counter wenn er nur Whitespace enthält */
.dl-qv-content-counter:not(:empty):has(> *:empty) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* Zusätzliche Regel: Verstecke alle leeren Bereiche in der Schnellansicht */
.dl-qv-content .dl-qv-content-counter:empty,
.dl-qv-content .content-counter:empty,
.dl-qv-content .dl-qv-desc:empty,
.dl-qv-content div:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    border: none !important;
    background: none !important;
}

/* Verstecke Content-Counter die nur Leerzeichen enthalten */
.dl-qv-content .dl-qv-content-counter:not(:empty) {
    /* Prüfe ob nur Whitespace vorhanden ist */
}

/* Aggressive Bereinigung: Entferne alle leeren Container */
.dl-qv-content .dl-qv-content-counter:not(:empty):has(> *:empty),
.dl-qv-content .dl-qv-desc:not(:empty):has(> *:empty) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    border: none !important;
    background: none !important;
}

/* NUKLEARE CSS-LÖSUNG: Verstecke ALLE leeren Elemente in der Schnellansicht */
.dl-qv-content *:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    border: none !important;
    background: none !important;
}

/* Verstecke auch Elemente die nur Whitespace enthalten */
.dl-qv-content div:not(:has(*)):not(.dl-qv-title):not(.dl-qv-price):not(.dl-qv-cta) {
    /* Prüfe ob nur Whitespace vorhanden ist */
}

/* Verstecke leere p-Tags */
.dl-qv-content p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

/* Verstecke leere span-Tags */
.dl-qv-content span:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
}

.dl-qv-content-counter .content-counter {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dl-qv-content-counter .content-counter-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}

.dl-qv-content-counter .content-counter-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.dl-qv-content-counter .content-counter-text {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.dl-qv-content-counter .content-counter-hover {
    display: none;
    font-size: 12px;
    color: #666;
    margin-top: 4px;
    font-style: italic;
}

.dl-qv-content-counter .content-counter-row:hover .content-counter-hover {
    display: block;
}
/* Karten-Hover dezenter */
.woocommerce ul.products li.product:hover {
    transform: translateY(-2px);
}
/* Bild/Badge-Zone wie im Mock */
.woocommerce ul.products li.product a img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
}
.woocommerce ul.products li.product .onsale, .woocommerce ul.products li.product .badge, .woocommerce ul.products li.product .wc-product-meta-label {
    position: absolute;
    top: 10px;
    left: 12px;
    background: var(--dl-brand);
    color: #1f2937;
    border-radius: 8px;
    padding: 6px 10px;
    font-weight: 800;
    box-shadow: var(--dl-shadow);
}
.woocommerce ul.products li.product {
    position: relative;
}
/* Titel Zeilenhöhe */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    line-height: 1.35;
    max-height: 3.9em;
    overflow: visible;
}
/* Aktionzeile: Cart-Button */
.dl-quickview-row .dl-cart-btn {
    margin-left: auto;
    display: inline-flex !important;
    align-items: center;
}
.dl-quickview-row .dl-cart-btn:before {
    content: "\1F6D2";
}
/* Grid-Gutter ähnlich /shop */
.woocommerce ul.products {
    margin-left: -12px;
    margin-right: -12px;
}
.woocommerce ul.products li.product {
    padding-left: 12px;
    padding-right: 12px;
    margin-bottom: 24px;
}
/* Karte als "Inhalt" mit sichtbaren Lücken: Background nur im Content-Bereich rendern */
.woocommerce ul.products li.product {
    background-clip: content-box;
    border: none;
    border-radius: var(--dl-radius);
    box-shadow: var(--dl-shadow), 0 0 0 1px var(--dl-border) inset;
}

/* Nur horizontaler Gutter – vertikal unverändert lassen */
.woocommerce ul.products { margin-left: -12px; margin-right: -12px; }
.woocommerce ul.products li.product { padding-left: 12px; padding-right: 12px; }

/* Stärkerer Selektor: Horizontaler Gutter nur für .products.row */
.woocommerce ul.products.row { margin-left: -12px !important; margin-right: -12px !important; }
.woocommerce ul.products.row > li.product { padding-left: 12px !important; padding-right: 12px !important; }

/* Rücknahme der Pseudo-Element-Karte */
.woocommerce ul.products li.product::before { content: none !important; }
.woocommerce ul.products li.product { background: #fff; border: 1px solid var(--dl-border); border-radius: var(--dl-radius); box-shadow: var(--dl-shadow); }
.woocommerce ul.products li.product a img { border-bottom: 1px solid var(--dl-border); border-radius: 0; }

/* Wie im /shop: Grid mit echten Gaps */
body.tax-product_cat ul.products.row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px; /* gleicher Gap wie auf /shop */
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  grid-auto-flow: row dense;
  align-items: stretch; /* Stellt sicher, dass alle Grid-Items gleiche Höhe haben */
}
@media (max-width: 1100px) {
  body.tax-product_cat ul.products.row { 
    grid-template-columns: repeat(2, minmax(0, 1fr)); 
    align-items: stretch; /* Auch bei 2 Spalten gleiche Höhe */
  }
}
@media (max-width: 640px) {
  body.tax-product_cat ul.products.row { 
    grid-template-columns: 1fr; 
    align-items: stretch; /* Auch bei 1 Spalte konsistente Darstellung */
  }
  /* Mobile: Natürliche Höhe für bessere UX */
  .woocommerce ul.products li[class*="product"],
  .woocommerce ul.products li.product,
  body.tax-product_cat ul.products li.product,
  .woocommerce .products li.product {
    height: auto !important;
    min-height: 320px !important;
  }
}
/* Bootstrap-Spalten/Floats der Items neutralisieren, damit Grid greift */
body.tax-product_cat ul.products.row > li.product {
  float: none !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  grid-column: auto !important;
}
/* Offsets/erste Spalte erzwingen */
body.tax-product_cat ul.products.row > li.product.first { grid-column: auto !important; }
body.tax-product_cat ul.products.row > li[class*="offset"],
body.tax-product_cat ul.products.row > li[class*="col-"],
body.tax-product_cat ul.products.row > li.clear3,
body.tax-product_cat ul.products.row > li.clear4,
body.tax-product_cat ul.products.row > li.last { margin-left: 0 !important; left: 0 !important; right: auto !important; }
body.tax-product_cat ul.products.row { grid-auto-columns: 1fr; grid-auto-rows: auto; }
body.tax-product_cat ul.products.row > li.product { grid-column: span 1 !important; grid-row: auto !important; }

/* Bootstrap-clearfix-Pseudoelemente entfernen, damit das Grid nicht 1. Zelle "frisst" */
body.tax-product_cat ul.products.row::before,
body.tax-product_cat ul.products.row::after { content: none !important; display: none !important; }

/* FESTE HÖHE für ALLE Produktkarten - wichtigste Regel */
.woocommerce ul.products li[class*="product"],
.woocommerce ul.products li.product,
body.tax-product_cat ul.products li.product,
.woocommerce .products li.product {
    height: 520px !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}

/* Karten-Layout: Inhalt strecken, Buttons ganz unten */
.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: visible; /* Sicherstellen, dass Inhalt sichtbar bleibt */
}

/* Stelle sicher, dass alle direkten Kinder der Produktkarte korrekt positioniert sind */
.woocommerce ul.products li.product > * {
    order: 1; /* Standard-Reihenfolge */
}

.woocommerce ul.products li.product > .dl-quickview-row,
.woocommerce ul.products li.product > .button,
.woocommerce ul.products li.product > .add_to_cart_button,
.woocommerce ul.products li.product > .product_type_simple,
.woocommerce ul.products li.product > .ajax_add_to_cart {
    order: 9999; /* Buttons ganz nach hinten */
}

/* Der Produkt-Link sollte den Hauptinhalt ausfüllen */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
    flex: 1;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    position: relative;
}

/* Inhalt-Bereich der Karte sollte den verfügbaren Platz ausfüllen */
.woocommerce ul.products li.product .woocommerce-loop-product__link > * {
    flex-shrink: 0; /* Verhindert, dass Inhalt schrumpft */
}

/* Titel und Preis sollten ihren natürlichen Platz einnehmen */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .dl-price-suffix {
    flex-shrink: 0;
}

.woocommerce ul.products li.product .price { margin: 6px 16px 2px; }
.woocommerce ul.products li.product .dl-price-suffix { color: #9aa2b1; font-size: 12px; margin: 0 16px 10px; display: block; }

/* Buttons immer am unteren Rand der KARTE positionieren */
.dl-quickview-row {
    margin-top: auto !important; /* Schiebt Buttons ganz nach unten innerhalb der Karte */
    margin-bottom: 16px;
    margin-left: 16px;
    margin-right: 16px;
    width: calc(100% - 32px); /* Vollbreite minus Margins */
    order: 9999; /* Höchste Priorität für Reihenfolge */
    flex-shrink: 0; /* Verhindert Schrumpfen der Buttons */
    position: relative; /* Sicherstellen, dass Buttons innerhalb der Karte bleiben */
    align-self: stretch; /* Buttons dehnen sich über die volle Breite */
}

/* Zusätzliche Sicherheit: Alle WooCommerce Buttons innerhalb der Karte */
.woocommerce ul.products li.product > .button,
.woocommerce ul.products li.product > .add_to_cart_button,
.woocommerce ul.products li.product > .product_type_simple,
.woocommerce ul.products li.product > .ajax_add_to_cart {
    margin-top: auto !important;
    order: 9999 !important;
    position: relative !important;
    margin-bottom: 16px !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    width: calc(100% - 32px) !important;
}

/* Button-Design aktualisieren */
.dl-quickview-btn {
    background: #fff;
    border: 1px solid #fdc150;
    color: var(--dl-text);
    border-radius: 12px;
    padding: 7px 12px;
    font-weight: 700;
    box-shadow: var(--dl-shadow);
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.dl-cart-btn {
    background: var(--dl-brand) !important;
    color: #1f2937 !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 10px 14px !important;
    font-weight: 800 !important;
    box-shadow: var(--dl-shadow) !important;
}

.dl-cart-btn:before {
    content: "\1F6D2";
    margin-right: 6px;
}

/* Override: Warenkorb-Icon als SVG (ersetzt Unicode) */
.dl-cart-btn::before {
  content: "" !important;
  display: inline-block;
  width: 26px; height: 26px;
  margin-right: 6px;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%231f2937" d="M351.9 329.506H206.81l-3.072-12.56H368.16l26.63-116.019-217.23-26.04-9.952-58.09h-50.4v21.946h31.894l35.233 191.246a32.927 32.927 0 1 0 36.363 21.462h100.244a32.825 32.825 0 1 0 30.957-21.945zM181.427 197.45l186.51 22.358-17.258 75.195H198.917z"/></svg>');
}

/* Schnellansicht-Icon (SVG in #fdc150) */
.dl-quickview-btn::before { content: ""; display: inline-block; width: 18px; height: 18px; background-repeat: no-repeat; background-size: contain; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="%23fdc150" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6-46.8 43.5-78.1 95.4-93 131.1-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64-11.5 0-22.3-3-31.7-8.4-1 10.9-.1 22.1 2.9 33.2 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-12.2-45.7-55.5-74.8-101.1-70.8 5.3 9.3 8.4 20.1 8.4 31.7z"/></svg>'); }

/* Preis + Suffix Block untereinander */
.dl-price-wrap { margin: 4px 16px 0; }
.dl-price-wrap .price { margin: 0; }
.dl-price-wrap .dl-price-suffix { margin: 2px 0 10px; }

a.button.dl-cart-btn.add_to_cart_button.ajax_add_to_cart {
    margin-top: 0 !important;
}

a.button.dl-cart-btn.add_to_cart_button.ajax_add_to_cart {
    padding: 4px 12px !important;
}

/* QuickView CTA in einer Linie zentrieren */
.dl-qv-cta { display: flex; align-items: center; gap: 10px; }
.dl-qv-cta .dl-cart-btn { display: inline-flex; align-items: center; }
.dl-qv-cta .dl-cart-btn::before { position: relative; top: 6px; }

.dl-qv-cta > a {
    background: #fdc150 !important;
    line-height: 32px !important;
}
.dl-qv-cta .dl-qv-fav.button { display: inline-grid; place-items: center; height: 38px; min-width: 38px; padding: 0 10px; border: 1px solid var(--dl-border); border-radius: 12px; box-shadow: var(--dl-shadow); }

.products .small-business-info {
    justify-content: space-evenly !important;
}
/* Sidebar auf Kategorieseiten ausblenden und Content auf volle Breite setzen */
body.tax-product_cat .main .row > .col-md-3.col-sm-4.col-3 { display: none !important; }
body.tax-product_cat .main .row > .col-md-9.col-sm-8.col-9 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

.dl-qv-desc > p > a {
    color: #fdc150;
}
.dl-qv-gallery img{ max-width:100%; height:auto; display:block; }

/* PRODUKTKARTEN ANKLICKBAR - EINFACH UND DIREKT */
li.product {
    position: relative !important;
}

.woocommerce-LoopProduct-link,
.woocommerce-loop-product__link {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 1 !important;
}

.dl-quickview-row {
    position: relative !important;
    z-index: 10 !important;
}

h2.woocommerce-loop-product__title {
    line-height: 1 !important;
}