/* WooCommerce Standard-Breadcrumbs */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb span {
  color: #1C2B49 !important;
  opacity: 1 !important;          /* Graue Abschwächung aufheben */
}

/* Astra/Generic Breadcrumb-Komponenten */
.ast-breadcrumbs a,
.ast-breadcrumbs .trail-items li,
.ast-breadcrumbs .trail-items li a {
  color: #1C2B49 !important;
  opacity: 1 !important;
}

/* RankMath/SEO-Breadcrumbs (falls aktiv) */
.rank-math-breadcrumb a,
.rank-math-breadcrumb p,
.rank-math-breadcrumb span {
  color: #1C2B49 !important;
  opacity: 1 !important;
}

/* Optional: Hover-Verhalten konsistent */
.woocommerce .woocommerce-breadcrumb a:hover,
.ast-breadcrumbs a:hover,
.rank-math-breadcrumb a:hover {
  color: #1C2B49 !important;
  text-decoration: underline;      /* oder entfernen, wenn du kein Underline willst */
}
/* Breadcrumbs: alles in #1C2B49, keine Transparenz */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb *,
.ast-breadcrumbs,
.ast-breadcrumbs .trail-items li,
.ast-breadcrumbs .trail-items li *,
.rank-math-breadcrumb,
.rank-math-breadcrumb * {
  color: #1C2B49 !important;
  opacity: 1 !important;
}
/* Nur wenn das Theme Opacity am Container setzt */
.woocommerce .woocommerce-breadcrumb { opacity: 1 !important; }
/* ===== BREADCRUMBS HART ÜBERSCHREIBEN ===== */

/* 1) Farbe + Opacity + Tailwind-Text-Opacity + evtl. Filter neutralisieren */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-breadcrumb *,
[class*="breadcrumb"],
[class*="breadcrumb"] * {
  color: #1C2B49 !important;
  opacity: 1 !important;                 /* hebt graue Abschwächung auf */
  --tw-text-opacity: 1 !important;       /* Tailwind: z.B. text-[#1C2B49]/60 */
  filter: none !important;               /* falls das Theme mit filter: opacity() arbeitet */
  -webkit-text-fill-color: #1C2B49 !important; /* Safari-Fallback */
}

/* 2) Links explizit (inkl. :visited) */
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb a:visited,
[class*="breadcrumb"] a,
[class*="breadcrumb"] a:visited {
  color: #1C2B49 !important;
  opacity: 1 !important;
}

/* 3) Manche Themes dimmen alle bis auf den letzten via :not(:last-child) – das hier neutralisiert das sicher */
.woocommerce .woocommerce-breadcrumb li:not(:last-child),
[class*="breadcrumb"] li:not(:last-child) {
  opacity: 1 !important;
}
/* Links explizit (auch visited) */
.woocommerce .woocommerce-breadcrumb a,
.woocommerce .woocommerce-breadcrumb a:visited,
.ast-breadcrumbs a,
.ast-breadcrumbs a:visited,
.rank-math-breadcrumb a,
.rank-math-breadcrumb a:visited {
  color: #1C2B49 !important;
  opacity: 1 !important;
  text-decoration: none;
}

/* Optional: Hover bleibt gleichfarbig */
.woocommerce .woocommerce-breadcrumb a:hover,
.ast-breadcrumbs a:hover,
.rank-math-breadcrumb a:hover {
  color: #1C2B49 !important;
  opacity: 1 !important;
  text-decoration: underline; /* oder entfernen, wenn du kein Underline willst */
}
/* Kategorie & Tags auf Produktseiten */
.product_meta, 
.product_meta a {
    color: #1C2B49 !important;
}

/* Überschrift: Ähnliche Beiträge / Related Products */
.related.products h2,
.woocommerce .related h2,
.woocommerce .upsells h2,
.woocommerce .cross-sells h2 {
    color: #1C2B49 !important;
}

/* Links unter Ähnliche Produkte */
.woocommerce .related ul.products li.product a,
.woocommerce .upsells ul.products li.product a {
    color: #1C2B49 !important;
}

/* Buttons in Related Products */
.woocommerce .related ul.products li.product .button,
.woocommerce .upsells ul.products li.product .button,
.woocommerce .cross-sells ul.products li.product .button {
    background-color: #C8B273 !important; /* Hintergrund */
    color: #F7F7F7 !important;            /* Schrift */
    border: none !important;
}

/* Trennlinien (Description/Reviews Tabs) */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border-color: #1C2B49 !important;
}

/* Titel der Tabs (Description, Reviews) */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    color: #1C2B49 !important;
}

/* Jetpack Related Posts komplett ausblenden */
#jp-relatedposts {
  display: none !important;
}
.single-product .product_meta { display: none !important; }

/* GRIDS (Related / Upsells / Cross-Sells):
   versteckt alle typischen Kategorien/Tags-Markups quer über viele Themes */
.woocommerce ul.products li.product .product_meta,
.woocommerce ul.products li.product .posted_in,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .woocommerce-loop-product__category,
.woocommerce ul.products li.product .woocommerce-loop-product__categories,
.woocommerce ul.products li.product .entry-meta,
.woocommerce ul.products li.product .cat-links,
.woocommerce ul.products li.product .product-cat,
.woocommerce ul.products li.product .meta,
.woocommerce ul.products li.product .tags,
.woocommerce ul.products li.product .taxonomy-product_cat,
.woocommerce ul.products li.product .taxonomy-product_tag,
.woocommerce ul.products li.product .wc-product-meta {
  display: none !important;
}

/* FANGNETZ: jedes Link-Element, das auf eine Produktkategorie zeigt */
.woocommerce ul.products li.product a[href*="/product-category/"],
.woocommerce ul.products li.product a[rel="tag"] {
  display: none !important;
}

/* === Variablen aus deinen Themes übernehmen === */
:root { --btn-text: #F7F7F7; }

body.product-theme-dfy     { --btn-bg: #C8B273; --qty-border: #C8B273; --qty-bg: #C8B273; --accent: #C8B273; }
body.product-theme-dwy     { --btn-bg: #1C2B49; --qty-border: #1C2B49; --qty-bg: #1C2B49; --accent: #1C2B49; }
body.product-theme-default { --btn-bg: #4CAF50; --qty-border: #4CAF50; --qty-bg: #4CAF50; --accent: #4CAF50; }

/* ========== SINGLE PRODUCT: Quantity Styling ========== */
/* Eingabefeld */
.single-product .quantity .qty,
.single-product .quantity input.qty {
  border: 2px solid var(--qty-border) !important;
  box-shadow: none !important;
}
.single-product .quantity .qty:focus,
.single-product .quantity input.qty:focus {
  outline: none !important;
  border-color: var(--qty-border) !important;
}

/* + / – Buttons (deckt viele Themes/Klassen ab) */
.single-product .quantity .plus,
.single-product .quantity .minus,
.single-product .quantity .qty_button,
.single-product .quantity button.plus,
.single-product .quantity button.minus {
  background-color: var(--qty-bg) !important;
  border: 2px solid var(--qty-border) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.single-product .quantity .plus:hover,
.single-product .quantity .minus:hover,
.single-product .quantity .qty_button:hover {
  filter: brightness(0.92) !important;
}

/* Falls das Theme die Minus/Plus separat rechts am Feld rendert */
.single-product .quantity,
.single-product .quantity .buttons_added { 
  --tw-ring-shadow: 0 0 #0000; /* Tailwind-Fallback, falls aktiv */
}

/* ========== (aus vorherigem Schritt) Buttons bleiben dynamisch ========== */
.single-product .single_add_to_cart_button,
.single-product .button.single_add_to_cart_button {
  background-color: var(--btn-bg) !important;
  color: var(--btn-text) !important;
  border: none !important;
}

/* RELATED/SHOP-KARTEN – Add-to-cart Buttons je Klasse */
.woocommerce ul.products li.product.product-theme-dfy .button,
.woocommerce ul.products li.product.product-theme-dfy .add_to_cart_button {
  background-color: #C8B273 !important; color: #F7F7F7 !important; border: none !important;
}
.woocommerce ul.products li.product.product-theme-dwy .button,
.woocommerce ul.products li.product.product-theme-dwy .add_to_cart_button {
  background-color: #1C2B49 !important; color: #F7F7F7 !important; border: none !important;
}
.woocommerce ul.products li.product.product-theme-default .button,
.woocommerce ul.products li.product.product-theme-default .add_to_cart_button {
  background-color: #4CAF50 !important; color: #F7F7F7 !important; border: none !important;
}
/* Single-Product: Menge-Block komplett verstecken (alle gängigen Theme-Wrapper) */
.single-product form.cart .quantity,
.single-product .quantity,
.single-product .ast-quantity,
.single-product .ast-quantity-wrapper,
.single-product .ct-quantity,
.single-product .qty-nav,
.single-product .qty_button,
.single-product .quantity .plus,
.single-product .quantity .minus {
  display: none !important;
}

/* Button danach sauber ausrichten */
.single-product form.cart .single_add_to_cart_button {
  margin-left: 0 !important;
}

/* Falls dein Theme die Formularzeile als Flex nebeneinander anordnet:
   Durch das Verstecken der Quantity kann eine Lücke bleiben → hier schließen */
.single-product form.cart {
  gap: 0 !important;
}

/* ===== Dynamische Farb-Variablen je Produkt-Typ (kommen von deiner PHP-Body-Klasse) ===== */
body.product-theme-dfy     { --theme-accent: #C8B273; --theme-contrast: #FFFFFF; }
body.product-theme-dwy     { --theme-accent: #1C2B49; --theme-contrast: #FFFFFF; }
body.product-theme-default { --theme-accent: #4CAF50; --theme-contrast: #FFFFFF; }

/* ===== 1) PRODUKTSEITEN-TITEL einfärben ===== */
.single-product h1.product_title,
.single-product .product_title.entry-title,
.single-product .entry-title {
  color: var(--theme-accent) !important;
}

/* ===== 2) BACK-TO-TOP BUTTON dynamisch ===== */

/* Blocksy */
.ct-back-to-top {
  background-color: var(--theme-accent) !important;
  border-color: var(--theme-accent) !important;
  color: var(--theme-contrast) !important;
}
.ct-back-to-top svg,
.ct-back-to-top .ct-icon { 
  fill: var(--theme-contrast) !important; 
  stroke: var(--theme-contrast) !important; 
}

/* Astra */
.ast-scroll-to-top, 
.ast-scroll-top, 
.ast-scroll-top-icon {
  background-color: var(--theme-accent) !important;
  border-color: var(--theme-accent) !important;
  color: var(--theme-contrast) !important;
}

/* Generische/Plugin-Varianten */
#scroll-top,
.scroll-to-top,
.back-to-top,
.gotop, 
.go-top {
  background-color: var(--theme-accent) !important;
  border-color: var(--theme-accent) !important;
  color: var(--theme-contrast) !important;
}
#scroll-top svg,
.scroll-to-top svg,
.back-to-top svg { 
  fill: var(--theme-contrast) !important; 
  stroke: var(--theme-contrast) !important; 
}

/* Optional: Hover leicht dunkler */
.ct-back-to-top:hover,
.ast-scroll-to-top:hover,
#scroll-top:hover,
.scroll-to-top:hover,
.back-to-top:hover { 
  filter: brightness(0.92) !important; 
}

/* SINGLE PRODUCT */
/* DFY & DWY → Preis BLAU */
body.product-theme-dfy  .summary .price,
body.product-theme-dfy  .summary .price .amount,
body.product-theme-dfy  .summary .price ins,
body.product-theme-dwy  .summary .price,
body.product-theme-dwy  .summary .price .amount,
body.product-theme-dwy  .summary .price ins {
  color: #1C2B49 !important;
  -webkit-text-fill-color: #1C2B49 !important;
}

/* Bundles (DEFAULT) → Preis GOLD */
body.product-theme-default .summary .price,
body.product-theme-default .summary .price .amount,
body.product-theme-default .summary .price ins {
  color: #C8B273 !important;
  -webkit-text-fill-color: #C8B273 !important;
}

/* (optional) durchgestrichener Altpreis etwas dezenter */
.single-product .summary .price del {
  color: #8A8F98 !important;
  opacity: .7 !important;
}

/* PRODUKTKARTEN (Shop / Related / Upsells) */
/* DFY & DWY → BLAU */
.woocommerce ul.products li.product.product-theme-dfy .price,
.woocommerce ul.products li.product.product-theme-dfy .price .amount,
.woocommerce ul.products li.product.product-theme-dfy .price ins,
.woocommerce ul.products li.product.product-theme-dwy .price,
.woocommerce ul.products li.product.product-theme-dwy .price .amount,
.woocommerce ul.products li.product.product-theme-dwy .price ins {
  color: #1C2B49 !important;
  -webkit-text-fill-color: #1C2B49 !important;
}

/* Bundles (DEFAULT) → GOLD */
.woocommerce ul.products li.product.product-theme-default .price,
.woocommerce ul.products li.product.product-theme-default .price .amount,
.woocommerce ul.products li.product.product-theme-default .price ins {
  color: #C8B273 !important;
  -webkit-text-fill-color: #C8B273 !important;
}

/* (optional) Altpreis in Karten dezenter */
.woocommerce ul.products li.product .price del {
  color: #8A8F98 !important;
  opacity: .7 !important;
}

/* Container: Flex, füllt die komplette Breite */
.single-product div.product .summary form.cart{
  display:flex;
  flex-wrap:wrap;
  width:100%;
  gap:12px;                /* Abstand zwischen den Buttons */
  align-items:stretch;
  justify-content:space-between;
}

/* Buttons: immer flexibler Block */
.single-product div.product .summary form.cart .single_add_to_cart_button,
.single-product div.product .summary form.cart a.added_to_cart{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:1 1 0;              /* -> bei einem Button: 100%, bei zwei: 50/50 */
  min-width:0;             /* verhindert Umbrüche durch Mindestbreiten */
  padding:0.9rem 1.75rem;  /* angenehmes Padding, bleibt auch bei 50/50 einzeilig */
  border-radius:999px;
  text-align:center;
  white-space:nowrap;      /* kein Zeilenumbruch im Text */
  margin:0 !important;     /* Theme-Margins neutralisieren */
  width:auto !important;   /* falls ein Theme feste Breiten setzt */
  box-sizing:border-box;
  font-weight:700;         /* beide Buttons fett */
}

/* Sicherheitsnetz: Falls irgendein Wrapper die Breite limitiert */
.single-product div.product .summary .cart,
.single-product div.product .summary .cart *{
  max-width:100%;
}
:root{
  --blue:#1C2B49;
  --gold:#C8B273;
  --green:#4CAF50;
  --light:#F7F7F7;
}

/* ========== Buttons im Cart/Checkout: Gold mit heller (#F7F7F7) Schrift ========== */
/* Cart-Seite: Apply coupon, Update cart */
.woocommerce-cart .button,
.woocommerce-cart .actions .button,
.woocommerce-cart .actions .coupon .button {
  background: var(--gold) !important;
  color: var(--light) !important;
  border: none !important;
  font-weight: 700;
}

/* Checkout: Proceed to checkout + Place order */
.woocommerce .wc-proceed-to-checkout .checkout-button,
.woocommerce #payment #place_order {
  background: var(--gold) !important;
  color: var(--light) !important;
  border: none !important;
  font-weight: 700;
}

/* Hover: leicht dunkler Goldton */
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce #payment #place_order:hover {
  background: #b89f63 !important; /* etwas dunkler als Gold */
  color: var(--light) !important;
}
/* Cart: Subtotal dunkelblau */
.woocommerce-cart .cart_totals .cart-subtotal th,
.woocommerce-cart .cart_totals .cart-subtotal td,
.woocommerce-cart .cart_totals .cart-subtotal .amount {
  color: #1C2B49 !important;
  -webkit-text-fill-color: #1C2B49 !important;
}
/* Subtotal & Total Beträge + Währung komplett dunkelblau */
.woocommerce-cart .cart_totals .cart-subtotal,
.woocommerce-cart .cart_totals .order-total,
.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .order-total {
  color: #1C2B49 !important;
}

.woocommerce-cart .cart_totals .cart-subtotal *,
.woocommerce-cart .cart_totals .order-total *,
.woocommerce-checkout-review-order-table .cart-subtotal *,
.woocommerce-checkout-review-order-table .order-total * {
  color: #1C2B49 !important;
  -webkit-text-fill-color: #1C2B49 !important;
}
/* ==== Warenkorb & Checkout: Thumbnails nicht croppen, komplett anzeigen ==== */
.woocommerce-cart table.shop_table .product-thumbnail,
.woocommerce-checkout table.shop_table .product-thumbnail {
  width: auto;              /* Theme-Constraints lösen */
  height: auto !important;
  overflow: visible !important;
}

.woocommerce-cart table.shop_table .product-thumbnail a,
.woocommerce-checkout table.shop_table .product-thumbnail a {
  display: block;
  overflow: visible !important;
}

/* Das Bild selbst: komplett einpassen, nicht beschneiden */
.woocommerce-cart table.shop_table .product-thumbnail img,
.woocommerce-checkout table.shop_table .product-thumbnail img {
  width: 100% !important;          /* füllt den Thumbnail-Bereich in der Breite */
  height: auto !important;         /* Höhe proportional */
  object-fit: contain !important;  /* statt cover */
  aspect-ratio: auto !important;   /* evtl. 1/1 Zwang vom Theme entfernen */
  max-height: none !important;     /* keine künstliche Kappung */
  background: transparent;
}

/* Manche Themes setzen feste Quadrate auf Links/Wrappern – neutralisieren */
.woocommerce-cart .product-thumbnail,
.woocommerce-checkout .product-thumbnail,
.woocommerce-cart .product-thumbnail a,
.woocommerce-checkout .product-thumbnail a {
  min-width: 0 !important;
  min-height: 0 !important;
}

/* ==== Mini-Cart / Offcanvas Warenkorb (falls genutzt) ==== */
.woocommerce-mini-cart .woocommerce-mini-cart-item img,
.widget_shopping_cart .woocommerce-mini-cart-item img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  aspect-ratio: auto !important;
}

/* Falls dein Theme eine harte Quadratform erzwingt (z.B. 80x80) – auflösen: */
.woocommerce-mini-cart .woocommerce-mini-cart-item a,
.widget_shopping_cart .woocommerce-mini-cart-item a {
  overflow: visible !important;
}

/* === Größe bequem steuerbar === */
:root { --cart-thumb: 104px; }   /* Breite/Höhe des Thumbnail-Bereichs */
/* === CART + CHECKOUT: Thumbnails im Originalformat (NICHT croppen) === */

/* 0) Spaltenbreite nach Wunsch (optional) */
:root { --cart-thumb-width: 96px; }

/* 1) Wrapper/Link: kein erzwungenes Quadrat, kein padding-bottom-Trick */
.woocommerce-cart .product-thumbnail,
.woocommerce-checkout .product-thumbnail {
  width: var(--cart-thumb-width) !important;
  height: auto !important;
  overflow: visible !important;
}

.woocommerce-cart .product-thumbnail a,
.woocommerce-checkout .product-thumbnail a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--cart-thumb-width) !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

/* 2) Theme-Ratio-Container (z. B. Blocksy/Astra) komplett neutralisieren */
.woocommerce-cart .product-thumbnail [class*="image-container"],
.woocommerce-checkout .product-thumbnail [class*="image-container"] {
  aspect-ratio: auto !important;
  --ratio: initial !important;
}

.woocommerce-cart .product-thumbnail [class*="image-container"]::before,
.woocommerce-checkout .product-thumbnail [class*="image-container"]::before {
  content: none !important;       /* falls das Quadrat via ::before erzeugt wird */
}

.woocommerce-cart .product-thumbnail [style*="--ratio"],
.woocommerce-checkout .product-thumbnail [style*="--ratio"] {
  --ratio: initial !important;    /* inline gesetztes --ratio überschreiben */
}

/* 3) Das Bild selbst: vollständig einpassen (kein Zuschnitt) */
.woocommerce-cart .product-thumbnail img,
.woocommerce-checkout .product-thumbnail img {
  display: block !important;
  width: auto !important;               /* Breite vom Original */
  height: auto !important;              /* Höhe proportional */
  max-width: 100% !important;           /* innerhalb der Spalte skalieren */
  max-height: none !important;
  object-fit: contain !important;       /* NICHT beschneiden */
  aspect-ratio: auto !important;
  margin: 0 auto !important;
  background: transparent !important;
}

/* 4) Fallbacks für Themes, die quadratische Kästen hart setzen */
.woocommerce-cart .product-thumbnail *,
.woocommerce-checkout .product-thumbnail * {
  overflow: visible !important;
}
/* Titel im Warenkorb */
.woocommerce-cart .product-name a {
  color: #1C2B49 !important;
}

/* Preise (inkl. €) */
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.woocommerce-cart .product-price .amount,
.woocommerce-cart .product-subtotal .amount {
  color: #1C2B49 !important;
}

/* Multiplikationszeichen "x" zwischen Menge und Preis */
.woocommerce-cart td.product-quantity:after,
.woocommerce-cart td.product-quantity ~ td:before {
  color: #1C2B49 !important;
}
/* Preis + €-Zeichen in Cart */
.woocommerce-cart .product-subtotal,
.woocommerce-cart .product-subtotal .amount,
.woocommerce-cart .product-price,
.woocommerce-cart .product-price .amount {
  color: #1C2B49 !important;
}

/* Das "x" zwischen Menge und Preis */
.woocommerce-cart .product-quantity ~ .product-subtotal::before,
.woocommerce-cart .product-quantity::after {
  color: #1C2B49 !important;
}

/* Sicherheitshalber ALLE Price-Amounts */
.woocommerce-cart .amount {
  color: #1C2B49 !important;
}
.woocommerce-cart td {
  color: #1C2B49 !important;
