.elementor-kit-91{--e-global-color-primary:#FFFFFF;--e-global-color-secondary:#2A2828;--e-global-color-text:#000000;--e-global-color-accent:#7F0000;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:15px;--e-global-typography-primary-font-weight:300;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:300;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-primary );color:var( --e-global-color-text );}.elementor-kit-91 button,.elementor-kit-91 input[type="button"],.elementor-kit-91 input[type="submit"],.elementor-kit-91 .elementor-button{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );}.elementor-kit-91 button:hover,.elementor-kit-91 button:focus,.elementor-kit-91 input[type="button"]:hover,.elementor-kit-91 input[type="button"]:focus,.elementor-kit-91 input[type="submit"]:hover,.elementor-kit-91 input[type="submit"]:focus,.elementor-kit-91 .elementor-button:hover,.elementor-kit-91 .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-primary );}.elementor-kit-91 e-page-transition{background-color:#FFBC7D;}body.e-wc-error-notice .woocommerce-error, body.e-wc-error-notice .wc-block-components-notice-banner.is-error{background-color:var( --e-global-color-accent );}body.e-wc-message-notice .woocommerce-message, body.e-wc-message-notice .wc-block-components-notice-banner.is-success{background-color:var( --e-global-color-accent );}body.e-wc-message-notice .woocommerce-message .button, body.e-wc-message-notice .wc-block-components-notice-banner.is-success .button{background-color:var( --e-global-color-primary );background-image:var( --e-global-color-primary );}body.e-wc-info-notice .woocommerce-info, body.e-wc-info-notice .wc-block-components-notice-banner.is-info{background-color:#706B6B;}body.e-wc-info-notice .woocommerce-info .button, body.e-wc-info-notice .wc-block-components-notice-banner.is-info .button{background-color:var( --e-global-color-primary );background-image:var( --e-global-color-primary );}.elementor-kit-91 a{color:#7F0000;text-decoration:none;}.elementor-kit-91 a:hover{text-decoration:underline;}.elementor-kit-91 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-91 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-91 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-91 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-91 h5{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-91 h6{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.e-wc-error-notice .woocommerce-error, .e-wc-error-notice .wc-block-components-notice-banner.is-error{--error-message-text-color:var( --e-global-color-primary );--error-message-icon-color:var( --e-global-color-primary );--error-message-normal-links-color:var( --e-global-color-primary );--error-message-hover-links-color:var( --e-global-color-primary );}.e-wc-message-notice .woocommerce-message, .e-wc-message-notice .wc-block-components-notice-banner.is-success{--message-message-text-color:var( --e-global-color-primary );--message-message-icon-color:var( --e-global-color-primary );--message-buttons-normal-text-color:var( --e-global-color-accent );}.e-wc-message-notice .woocommerce-message .restore-item, .e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item, .e-wc-message-notice .woocommerce-message a:not([class]), .e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]){--notice-message-normal-links-color:var( --e-global-color-primary );}.e-wc-message-notice .woocommerce-message .restore-item:hover, .e-wc-message-notice .wc-block-components-notice-banner.is-success .restore-item:hover, .e-wc-message-notice .woocommerce-message a:not([class]):hover, .e-wc-message-notice .wc-block-components-notice-banner.is-success a:not([class]):hover{--notice-message-hover-links-color:var( --e-global-color-primary );}.e-wc-info-notice .woocommerce-info, .e-wc-info-notice .wc-block-components-notice-banner.is-info{--info-message-text-color:var( --e-global-color-primary );--info-message-icon-color:var( --e-global-color-primary );--info-buttons-normal-text-color:var( --e-global-color-accent );--info-buttons-hover-text-color:var( --e-global-color-accent );--info-buttons-hover-border-color:var( --e-global-color-primary );--info-border-color:var( --e-global-color-primary );}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-91 h1{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h3{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h4{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h5{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h6{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-91 h1{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h2{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h3{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h4{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h5{font-size:var( --e-global-typography-secondary-font-size );}.elementor-kit-91 h6{font-size:var( --e-global-typography-secondary-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Grundzustand */
.hover-switch .hover-text-area .text-left,
.hover-switch .hover-text-area .text-right {
  display: none !important;
}
.hover-switch .hover-text-area .text-default {
  display: block !important;
}

/* Hover links */
.hover-switch:has(.hover-left:hover, .hover-left *:hover) .hover-text-area .text-default {
  display: none !important;
}
.hover-switch:has(.hover-left:hover, .hover-left *:hover) .hover-text-area .text-left {
  display: block !important;
}
.hover-switch:has(.hover-left:hover, .hover-left *:hover) .hover-text-area .text-right {
  display: none !important;
}

/* Hover rechts */
.hover-switch:has(.hover-right:hover, .hover-right *:hover) .hover-text-area .text-default {
  display: none !important;
}
.hover-switch:has(.hover-right:hover, .hover-right *:hover) .hover-text-area .text-right {
  display: block !important;
}
.hover-switch:has(.hover-right:hover, .hover-right *:hover) .hover-text-area .text-left {
  display: none !important;
}
.hover-left,
.hover-right {
  transition: transform 0.3s ease;
}



.woocommerce-checkout .woocommerce table.shop_table {
  border: 1px solid #e6e6e6;
  margin: 0;
  background: #0000;
  text-align: left;
  width: 100%;
  border-collapse: separate;
  border-radius: 0;
  border-bottom: none;
    border-right: none;
     margin-bottom: 35px;
      border-bottom: 1px solid #e6e6e6;
}
body .woocommerce a.button.alt, 
body .woocommerce button.button.alt, 
body .woocommerce input.button.alt {
	background: ##7F0000 !important; 
}

a {
    text-decoration: none !important;
}
/* FUNCK-IT mobile-h1 START */
@media(max-width:767px){h1.elementor-heading-title{font-size:28px!important;line-height:1.2!important}}
/* FUNCK-IT mobile-h1 ENDE */

/* FUNCK-IT wpforms-abstand START */
.wpforms-container .wpforms-field-label{display:block;margin-bottom:10px;}
.wpforms-container .wpforms-field{padding:14px 0;}
.wpforms-container .wpforms-field-sublabel{margin-top:6px;}
/* FUNCK-IT wpforms-abstand ENDE */

/* ---- Hamburger mittig, Platz fuer den Warenkorb (27.08.2026) ---- */
/* Der Warenkorb schwebt oben rechts (position:fixed) und lag dort auf dem
   Hamburger. Statt den Korb zu verschieben — er gehoert in jedem Shop
   nach oben rechts — rueckt der Hamburger in die Mitte.
   Der Platzhalter `::after` gibt der rechten Seite denselben Raum wie
   dem Logo links; dadurch steht das Menue dazwischen exakt mittig.
   ⚠️ Kein `position: absolute` am Symbol: Das nimmt dem Ausklappmenue
   den Anker und schiebt die Kopfzeile auf. */
@media (max-width: 767px) {
  .fk-kopfleiste > .e-con-inner {
    display: flex; flex-direction: row; align-items: center;
    justify-content: space-between; flex-wrap: nowrap;
  }
  .fk-kopfleiste > .e-con-inner > :first-child { flex: 1 1 0; min-width: 0; }
  .fk-kopfleiste > .e-con-inner > .elementor-widget-nav-menu { flex: 0 0 auto; }
  .fk-kopfleiste > .e-con-inner::after { content: ''; flex: 1 1 0; }
  /* Damit das Symbol nicht auf der weissen Flaeche verschwindet. */
  .fk-kopfleiste .elementor-menu-toggle { border-color: rgba(0,0,0,.16); }
}

/* FUNCK-SHOP-WOLLBERG START */
/* Portiert aus dem Kit von Imkerei Müller (Abschnitte META, REITER, PRODUKT,
   KACHELN, MENGE), Farben auf Wollberg umgestellt:
   Rot #7F0000 · Text #2A2828 · Linie #E6DEDB · heller Grund #F7F2F0
   Angelegt 01.09.2026 zusammen mit der Produktvorlage #2137. */

/* --- Preis ---------------------------------------------------------------
   Der Preis kam grünlich heraus, weil er die Kit-Vorgabe erbt. Der Grundpreis
   darunter erbt seinerseits vom Preis (siehe funck-grundpreis.php). */
body.woocommerce div.product p.price,
body.woocommerce div.product span.price,
body.woocommerce .elementor-widget-woocommerce-product-price .price {
    color: #7F0000 !important;
}
body.woocommerce div.product p.price del { color: #2A2828; opacity: .6; }

/* --- Meta-Zeile ----------------------------------------------------------
   Füllmenge, Artikelnummer, Kategorien und Schlagwörter klebten in einer Zeile
   aneinander und hatten unterschiedliche Größen. Der Container wird zur Spalte
   — das wirkt unabhängig davon, welche Einzelteile WooCommerce und Germanized
   gerade ausliefern. */
body.woocommerce div.product .product_meta,
body.woocommerce .elementor-widget-woocommerce-product-meta .product_meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px;
}
body.woocommerce div.product .product_meta > span,
body.woocommerce div.product .product_meta .sku_wrapper,
body.woocommerce div.product .product_meta .posted_in,
body.woocommerce div.product .product_meta .tagged_as,
body.woocommerce div.product .wc-gzd-additional-info {
    display: block !important;
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    color: #2A2828;
}
body.woocommerce div.product .product_meta .sku_wrapper,
body.woocommerce div.product .product_meta .posted_in,
body.woocommerce div.product .product_meta .tagged_as { font-weight: 400; }

/* WooCommerce setzt den Reiternamen als Überschrift noch einmal in den Inhalt.
   Einmal reicht — das betraf „Beschreibung" wie „Produktsicherheit". */
body.woocommerce div.product .woocommerce-Tabs-panel > h2:first-child { display: none; }

/* --- Reiter --------------------------------------------------------------
   WooCommerce liefert graue Kästen mit runden Ecken und Pseudo-Elementen für
   die Kanten. Reduziert auf eine Linie mit roter Markierung des aktiven. */
body.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #E6DEDB;
    padding: 0; margin: 0 0 28px;
    display: flex; flex-wrap: wrap; gap: 2px;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0; padding: 0;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 12px 20px;
    color: #2A2828;
    font-weight: 600;
    border-bottom: 3px solid transparent;
    transition: color .15s, border-color .15s;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover { color: #7F0000; }
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: #7F0000;
    border-bottom-color: #7F0000;
}
body.woocommerce div.product .woocommerce-Tabs-panel { padding-top: 4px; }
body.woocommerce div.product .woocommerce-Tabs-panel h2 { margin-top: 0; }

/* --- Produktgalerie ------------------------------------------------------
   Die stehenden Flaschenbilder liefen über die halbe Seitenhöhe.
   🔴 NICHT die Breite der Galeriebilder anfassen — FlexSlider rechnet damit.
   Nur den Rahmen der Galerie schmaler machen. */
body.woocommerce div.product .woocommerce-product-gallery {
    max-width: 360px;
    margin-left: 0;
    margin-right: auto;
}
body.woocommerce div.product .flex-control-thumbs {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin: 12px 0 0; padding: 0; list-style: none;
}
body.woocommerce div.product .flex-control-thumbs li {
    width: 76px !important; max-width: 76px; margin: 0 !important; float: none !important;
}
body.woocommerce div.product .flex-control-thumbs img {
    width: 100%; height: auto; display: block; border-radius: 3px;
}
body.woocommerce div.product .woocommerce-product-details__short-description,
body.woocommerce div.product .woocommerce-product-details__short-description p,
body.woocommerce div.product .woocommerce-Tabs-panel,
body.woocommerce div.product .woocommerce-Tabs-panel p,
body.woocommerce div.product .woocommerce-Tabs-panel li {
    text-align: left !important;
}

/* --- Produktkacheln (Shop und ähnliche Produkte) -------------------------
   Die stehenden Flaschen ragten aus ihren Kästen und wurden beschnitten.
   Quadratisch mit „contain" statt „cover" — dann bleibt die ganze Flasche
   sichtbar, die Restfläche bekommt den hellen Grundton. Germanized hängt je
   Produkt unterschiedlich viele Zeilen an, deshalb Kachel als Spalte und den
   Knopf mit automatischem Außenabstand ans Ende. */
body.woocommerce ul.products { align-items: stretch !important; }
body.woocommerce ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: 100%;
}
body.woocommerce ul.products li.product img {
    aspect-ratio: 1 / 1;
    object-fit: contain;
    width: 100%;
    height: auto;
    background: #FFFFFF;
    border-radius: 4px;
}
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 3.9em;
    display: flex;
    align-items: flex-start;
    color: #2A2828;
}
body.woocommerce ul.products li.product > a.button,
body.woocommerce ul.products li.product > .button,
body.woocommerce ul.products li.product .add_to_cart_button,
body.woocommerce ul.products li.product .product_type_simple,
body.woocommerce ul.products li.product .product_type_variable {
    margin-top: auto !important;
    align-self: flex-start;
}

/* --- Mengenfeld ----------------------------------------------------------
   War so schmal, dass die Zahl an den Pfeilen klebte. */
body.woocommerce div.product form.cart .quantity,
body.woocommerce .quantity { display: inline-block; }
body.woocommerce div.product form.cart .quantity input.qty,
body.woocommerce .quantity input.qty {
    width: 88px !important;
    min-width: 88px;
    height: auto;
    padding: 12px 6px 12px 14px;
    text-align: left;
    font-size: 16px;
    line-height: 1.2;
    border: 1px solid #E6DEDB;
    border-radius: 4px;
}
body.woocommerce .quantity input.qty:focus {
    outline: 2px solid #7F0000;
    outline-offset: 1px;
    border-color: #7F0000;
}
body.woocommerce ul.products li.product .quantity input.qty {
    width: 72px !important;
    min-width: 72px;
    padding: 8px 4px 8px 10px;
}

/* --- Attributtabelle ----------------------------------------------------- */
body.woocommerce div.product table.shop_attributes {
    width: 100%; border: 0; border-collapse: collapse; margin: 0 0 8px;
}
body.woocommerce div.product table.shop_attributes tr { background: transparent !important; }
body.woocommerce div.product table.shop_attributes tr:not(:last-child) {
    border-bottom: 1px solid #E6DEDB;
}
body.woocommerce div.product table.shop_attributes th,
body.woocommerce div.product table.shop_attributes td {
    border: 0 !important; padding: 11px 8px; line-height: 1.5;
    font-style: normal !important; vertical-align: top; background: transparent !important;
    color: #2A2828;
}
body.woocommerce div.product table.shop_attributes th {
    width: 34%; font-weight: 600; text-align: left; white-space: nowrap;
}
/* FUNCK-SHOP-WOLLBERG ENDE */

/* FUNCK-SEITENWARENKORB START */
/* Die Preisspalte war zu groß gesetzt: „19,93 € / l" brach auf zwei Zeilen um
   und die Zahlen wirkten wie eine Rechenaufgabe.
   🔴 Der Grundpreis bleibt stehen — die Preisangabenverordnung verlangt ihn
   überall dort, wo ein Preis steht, also auch im Warenkorb. Er wird nur
   kleiner und einzeilig. */
.xoo-wsc-container .xoo-wsc-product { font-size: 14px; }
.xoo-wsc-container .xoo-wsc-pname {
    font-size: 15px;
    line-height: 1.35;
}
.xoo-wsc-container .xoo-wsc-priceBox,
.xoo-wsc-container .xoo-wsc-pprice,
.xoo-wsc-container .xoo-wsc-psubtotal,
.xoo-wsc-container .xoo-wsc-price {
    font-size: 14px;
    line-height: 1.45;
    white-space: nowrap;
}
/* Grundpreis, Steuer- und Versandhinweise: klein, ruhig, einzeilig. */
.xoo-wsc-container .wc-gzd-additional-info,
.xoo-wsc-container .wc-gzd-unit-price,
.xoo-wsc-container .price-unit,
.xoo-wsc-container .xoo-wsc-priceBox small {
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
    opacity: .7;
    display: block;
}
/* FUNCK-SEITENWARENKORB ENDE */

/* FUNCK-SEITENWARENKORB-2 START */
/* 🔴 Nachtrag: Die geerbte Schriftgröße kam bei den Preisen nicht an — das
   Plugin setzt für `.xoo-wsc-pprice` eine eigene Größe aus seinen
   Einstellungen, und die gewinnt gegen eine bloße Vererbung. Deshalb hier
   ausdrücklich, samt Kindelementen (WooCommerce packt den Betrag in eine
   eigene `<span>`-Kette).
   Der Grundpreis bleibt stehen — Preisangabenverordnung —, wird aber klein
   und einzeilig. */
.xoo-wsc-container .xoo-wsc-priceBox,
.xoo-wsc-container .xoo-wsc-priceBox *,
.xoo-wsc-container .xoo-wsc-pprice,
.xoo-wsc-container .xoo-wsc-pprice * {
    font-size: 14px !important;
    line-height: 1.45 !important;
}
.xoo-wsc-container .xoo-wsc-priceBox {
    min-width: 96px;
    text-align: right;
}
/* Der Betrag selbst darf nicht umbrechen. */
.xoo-wsc-container .xoo-wsc-priceBox .woocommerce-Price-amount,
.xoo-wsc-container .xoo-wsc-pprice .woocommerce-Price-amount {
    white-space: nowrap !important;
}
/* Grundpreis, Steuer- und Versandhinweis: kleiner, ruhiger, eine Zeile. */
.xoo-wsc-container .xoo-wsc-priceBox .wc-gzd-additional-info,
.xoo-wsc-container .xoo-wsc-priceBox .wc-gzd-additional-info *,
.xoo-wsc-container .xoo-wsc-pprice .wc-gzd-additional-info,
.xoo-wsc-container .xoo-wsc-pprice .wc-gzd-additional-info *,
.xoo-wsc-container .xoo-wsc-priceBox small,
.xoo-wsc-container .xoo-wsc-priceBox small * {
    font-size: 12px !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
    opacity: .7;
}
.xoo-wsc-container .xoo-wsc-priceBox .wc-gzd-additional-info,
.xoo-wsc-container .xoo-wsc-pprice .wc-gzd-additional-info {
    display: block;
    margin-top: 2px;
}
/* FUNCK-SEITENWARENKORB-2 ENDE */

/* FUNCK-SEITENWARENKORB-3 START */
/* 🔴 Am 01.09.2026 im Browser ausgelesen statt geraten. Meine ersten beiden
   Anläufe zielten auf `.xoo-wsc-priceBox` und `.xoo-wsc-pprice` — die gibt es
   in dieser Warenkorbfassung GAR NICHT. Verwendet wird die kompakte Vorlage
   mit `sml`/`smr`:

     .xoo-wsc-sml-qty      „Menge: 1"        war 14 px
     .xoo-wsc-sm-right     rechte Spalte     nur 51 px breit → alles bricht um
     .xoo-wsc-smr-ptotal   Betrag            innen 16 px
     .wc-gzd-cart-info.unit-price  Grundpreis — Hülle 12,6 px, die ZAHL darin
                                   aber wieder 16 px. Deshalb war „19,93 €"
                                   groß und nur „/ l" klein. */

/* Erst Platz schaffen, sonst hilft keine Schriftgröße. */
.xoo-wsc-container .xoo-wsc-sm-right {
    min-width: 112px;
    text-align: right;
}

/* Menge kleiner. */
.xoo-wsc-container .xoo-wsc-sml-qty {
    font-size: 12px !important;
    line-height: 1.4 !important;
    opacity: .8;
}

/* Betrag: ruhiger, einzeilig. */
.xoo-wsc-container .xoo-wsc-smr-ptotal,
.xoo-wsc-container .xoo-wsc-smr-ptotal bdi,
.xoo-wsc-container .xoo-wsc-smr-ptotal > .woocommerce-Price-amount,
.xoo-wsc-container .xoo-wsc-smr-ptotal > .woocommerce-Price-amount * {
    font-size: 14px !important;
    line-height: 1.45 !important;
    white-space: nowrap !important;
}

/* Grundpreis — bleibt stehen (Preisangabenverordnung), aber klein und in
   EINER Zeile. Die verschachtelte Betragsspanne muss ausdrücklich mit. */
.xoo-wsc-container .wc-gzd-cart-info.unit-price,
.xoo-wsc-container .wc-gzd-cart-info.unit-price *,
.xoo-wsc-container .wc-gzd-cart-info.unit-price .woocommerce-Price-amount,
.xoo-wsc-container .wc-gzd-cart-info.unit-price bdi,
.xoo-wsc-container .wc-gzd-cart-info.unit-price .unit {
    font-size: 11px !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
}
.xoo-wsc-container .wc-gzd-cart-info.unit-price {
    display: block;
    margin-top: 2px;
    opacity: .7;
}
/* FUNCK-SEITENWARENKORB-3 ENDE */

/* FUNCK-NICHT-VORRAETIG ANFANG
   Gehoert zu mu-plugins/funck-nicht-vorraetig.php.

   Drei Dinge:
   1. Der gesperrte Kaufen-Knopf. WooCommerce faerbt jeden .disabled-Knopf mit
      seiner eigenen Lila (#7F54B3) und sticht damit die Kit-Farbe #7F0000 aus.
      Deshalb hier ausdruecklich - grau, weil Rot bei uns die Aktionsfarbe ist
      und ein rotes Feld weiter zum Klicken einlaedt.
   2. Die nicht lieferbaren Ausfuehrungen. Das Kreuz kommt vom Swatch-Plugin
      (Einstellung blurCross), die ruhige Farbe von hier.
   3. Hinweiskasten auf der Produktseite und Band auf der Kachel im Shop. */

.woocommerce button.button.disabled,
.woocommerce button.button:disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce .single_add_to_cart_button.disabled,
.woocommerce .single_add_to_cart_button:disabled,
.elementor-widget-woocommerce-product-add-to-cart .cart button.disabled,
.elementor-widget-woocommerce-product-add-to-cart .cart button:disabled {
    background-color: #E3E3E3 !important;
    color: #6B6B6B !important;
    border-color: #D2D2D2 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
    text-shadow: none !important;
    box-shadow: none !important;
}
.woocommerce button.button.disabled:hover,
.woocommerce button.button.alt.disabled:hover,
.woocommerce button.button.alt:disabled:hover,
.woocommerce .single_add_to_cart_button.disabled:hover,
.elementor-widget-woocommerce-product-add-to-cart .cart button.disabled:hover {
    background-color: #E3E3E3 !important;
    color: #6B6B6B !important;
    border-color: #D2D2D2 !important;
}

/* Ausfuehrungen, die es nicht gibt. Das Plugin setzt je nach Fall
   cfvsw-swatches-disabled (Kombination nicht vorhanden) oder
   cfvsw-swatches-out-of-stock (nicht vorraetig) - beide sollen gleich
   aussehen und beide sollen zeigen, dass sie nicht anklickbar sind.

   Die Plugin-Einstellung "blurCross" ist hier bewusst NICHT gesetzt: Ihr
   Kreuz ist ein ::before ueber der ganzen Flaeche und verdeckt bei
   Text-Ausfuehrungen die Groessenangabe vollstaendig - der Kunde saehe dann
   nicht mehr, welche Groessen es ueberhaupt gibt. Stattdessen bleibt es bei
   der Vorgabe "blur", deren weisses Feld hier weggenommen wird; den Zustand
   traegt die Beschriftung selbst. */
.cfvsw-swatches-option.cfvsw-swatches-disabled::before,
.cfvsw-swatches-option.cfvsw-swatches-out-of-stock::before {
    display: none !important;
}
.cfvsw-swatches-option.cfvsw-swatches-disabled,
.cfvsw-swatches-option.cfvsw-swatches-out-of-stock {
    cursor: not-allowed !important;
    background: #F5F5F5 !important;
    border-color: #DCDCDC !important;
}
.cfvsw-swatches-option.cfvsw-swatches-disabled .cfvsw-swatch-inner,
.cfvsw-swatches-option.cfvsw-swatches-out-of-stock .cfvsw-swatch-inner {
    color: #9A9A9A !important;
    text-decoration: line-through !important;
    text-decoration-color: #B34747 !important;
    text-decoration-thickness: 1px !important;
}

/* Hinweiskasten ueber dem Varianten-Formular. */
.funck-nicht-vorraetig {
    display: block;
    margin: 0 0 18px;
    padding: 12px 16px;
    border: 1px solid #E6C3C3;
    border-left: 4px solid #7F0000;
    border-radius: 4px;
    background: #FBF3F3;
    color: #7F0000;
    line-height: 1.5;
}
.funck-nicht-vorraetig strong {
    display: block;
    font-size: 1.05em;
    font-weight: 700;
    color: #7F0000;
}
.funck-nicht-vorraetig span {
    display: block;
    margin-top: 3px;
    font-size: .9em;
    color: #5A4646;
}

/* Band auf der Kachel im Shop. */
.woocommerce ul.products li.product,
.elementor-products-grid ul.products li.product {
    position: relative;
}
.funck-kachel-nicht-vorraetig {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 9;
    display: inline-block;
    padding: 4px 10px;
    border-radius: 3px;
    background: #7F0000;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .02em;
}
/* Falls ein Artikel gleichzeitig im Angebot und nicht vorraetig ist, sollen
   sich die beiden Baender nicht ueberdecken. */
.funck-kachel-nicht-vorraetig ~ .onsale {
    top: auto !important;
    bottom: 8px;
}

/* /alleartikel/ ist KEINE WooCommerce-Archivseite, sondern ein
   Elementor-Loop-Grid (Vorlage 2123) - und die ist bei Wollberg die
   eigentliche Shopseite, nicht /shop/. Dort laeuft
   woocommerce_before_shop_loop_item_title nicht, das Band aus
   funck-nicht-vorraetig.php kann also gar nicht erscheinen.

   WooCommerce haengt dem Loop-Element aber seine Bestandsklasse an
   (.outofstock) und Elementor gibt ihm bereits position: relative - das
   Band kommt hier deshalb aus dem CSS statt aus PHP. Bewusst auf
   .e-loop-item eingegrenzt: auf li.product wuerde es das Band aus dem
   mu-Plugin verdoppeln.

   Der Umlaut steht als CSS-Escape, damit er nicht an der Kodierung der
   erzeugten Datei haengt. \00E4 = ae. */
.e-loop-item.outofstock::before {
    content: "Nicht vorr\00E4 tig";
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 9;
    padding: 4px 10px;
    border-radius: 3px;
    background: #7F0000;
    color: #FFFFFF;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .02em;
}

/* Der Kaufen-Knopf der Kacheln ist ein <a class="button">, kein <button> -
   die Regel ganz oben greift dort nicht. Gleiche Aussage wie auf der
   Produktseite: nicht lieferbar heisst grau, nicht rot. Der Link bleibt
   anklickbar und fuehrt zur Produktseite, wo der Hinweis steht.

   🔴 Die vier Klassen am Loop-Element sind kein Zierrat. Die Loop-Vorlage
   2123 gibt ihren Knoepfen inline
   `.elementor-2123 .elementor-element.elementor-element-wlc00001 .cart .button`
   mit `#7F0000 !important` - fuenf Klassen. Ein kuerzerer Selektor verliert
   trotz !important. .elementor, .e-loop-item, .product und .outofstock
   stehen alle am selben Element, das kostet also keine Verschachtelung. */
.elementor.e-loop-item.product.outofstock a.button,
.elementor.e-loop-item.product.outofstock .elementor-button,
.woocommerce ul.products li.product.outofstock a.button {
    background-color: #E3E3E3 !important;
    color: #6B6B6B !important;
    border-color: #D2D2D2 !important;
}
.elementor.e-loop-item.product.outofstock a.button:hover,
.elementor.e-loop-item.product.outofstock .elementor-button:hover,
.woocommerce ul.products li.product.outofstock a.button:hover {
    background-color: #D8D8D8 !important;
    color: #4F4F4F !important;
}
/* FUNCK-NICHT-VORRAETIG ENDE */

/* FUNCK-HOVERKACHELN ANFANG
   Gehoert zum Abschnitt .hover-switch auf der Startseite #115.

   1. Rueckmeldung beim Ueberfahren. Bisher stand weiter oben nur
      `transition: transform` ohne ein transform im :hover — es war also ein
      Uebergang ohne Ziel und am Bild passierte nichts. Jetzt wird die Kachel
      beim Ueberfahren etwas kleiner und der Schatten enger. Bewusst kleiner
      und nicht groesser: die Kacheln liegen dicht nebeneinander, ein
      wachsendes Bild wuerde die Nachbarn ueberlappen.

   2. Der Knopf "Zum Online Shop" in den beiden Hovertexten. Er sieht aus wie
      der Knopf im Standardtext, dessen CSS aber im HTML-Widget selbst steckt
      (.fcta) und nur dort gilt — deshalb hier noch einmal ausdruecklich.
      🔴 Alle Farben ausdruecklich: Wollbergs Kit hat `primary` = #FFFFFF,
      alles Geerbte waere weiss auf weiss.

   3. Die Bruecke zwischen Bild und Text. Ohne sie ist der Knopf nicht
      erreichbar — siehe Kopf der Datei. */

.hover-switch .elementor-widget-image img {
    transition: transform .3s ease;
}
/* 🔴 Seit 26.09.2026 haben die Kacheln GAR KEINEN Schatten mehr.
   Ansage des Users: der graue Rahmen soll ganz weg - am 02.09.2026 war
   er nur aufgehellt worden (0.5 -> 0.25). Die Elementor-Einstellung am
   Widget ist entfernt, und der Hover-Schatten faellt hier mit weg:
   Bliebe er stehen, waere der graue Hof beim Ueberfahren zurueck.
   Als Rueckmeldung bleibt das Schrumpfen. */
.hover-switch .elementor-widget-image:hover img {
    transform: scale(.94);
}
@media (prefers-reduced-motion: reduce) {
    .hover-switch .elementor-widget-image img { transition: none; }
    .hover-switch .elementor-widget-image:hover img { transform: none; }
}

/* Der Hovertext bleibt stehen, solange die Maus ueber ihm steht. */
.hover-switch:has(.text-left:hover, .text-left *:hover) .hover-text-area .text-default,
.hover-switch:has(.text-right:hover, .text-right *:hover) .hover-text-area .text-default {
    display: none !important;
}
.hover-switch:has(.text-left:hover, .text-left *:hover) .hover-text-area .text-left {
    display: block !important;
}
.hover-switch:has(.text-right:hover, .text-right *:hover) .hover-text-area .text-right {
    display: block !important;
}

/* Bruecke ueber die 40 px zwischen Bildunterkante und Textblock.
   Rand und Innenabstand heben sich auf — es verschiebt sich nichts. */
.hover-switch .hover-text-area .text-left,
.hover-switch .hover-text-area .text-right {
    margin-top: -40px;
    padding-top: 40px;
}

/* Knopf RECHTS NEBEN dem Text, wie im Standardtext (.fcta): dort steht der
   Text links und der Knopf rechts daneben, senkrecht mittig.

   Bewusst absolut gesetzt und nicht per Raster: Die Absaetze liegen als
   Geschwister direkt im Widget-Container. In einem Raster bekaeme jeder
   Absatz eine eigene Zeile, und ein `grid-row: 1 / -1` fuer den Knopf
   greift dort nicht — die -1 zeigt auf das Ende des AUSDRUECKLICHEN
   Rasters, das hier leer ist. Der reservierte rechte Innenabstand haelt
   den Text vom Knopf frei, es kann sich also nichts ueberlappen.

   Bezugspunkt ist der Widget-Container, NICHT das Widget: an dem haengt
   die 40-px-Bruecke von oben, sonst saesse der Knopf 20 px zu tief. */
.hover-switch .hover-text-area .text-left > .elementor-widget-container,
.hover-switch .hover-text-area .text-right > .elementor-widget-container {
    position: relative;
    padding-right: 288px;
}
/* 📌 `right: 38px` ist gemessen, nicht geraten: Der .fcta-Kasten des
   Standardtextes hat 38 px Innenabstand, sein Knopf endet dadurch bei
   1282 statt 1320. Ohne diese 38 px springt der Knopf beim Wechsel von
   Kachel zu Kachel seitlich. Beide sind jetzt 190 x 49 px an derselben
   Stelle. */
.hover-switch .hover-text-area .funck-shopzeile {
    position: absolute;
    right: 38px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}
/* 📌 `white-space: nowrap` ist noetig: mit fester Breite 190 px wie im
   .fcta-Knopf brach "Zum Online Shop" hier auf zwei Zeilen um, obwohl
   Schriftgroesse, -schnitt und Innenabstand dieselben sind (gemessen).
   Der Knopf darf also mitwachsen, bleibt aber mindestens 190 px breit. */
.hover-switch .hover-text-area a.funck-shopknopf {
    display: block;
    min-width: 190px;
    white-space: nowrap;
    text-align: center;
    padding: 14px 26px;
    border: 2px solid #7F0000;
    border-radius: 4px;
    background: #7F0000;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .18s ease, border-color .18s ease;
}
.hover-switch .hover-text-area a.funck-shopknopf:hover,
.hover-switch .hover-text-area a.funck-shopknopf:focus-visible {
    background: #5C0000;
    border-color: #5C0000;
    color: #FFFFFF;
}
.hover-switch .hover-text-area a.funck-shopknopf:focus-visible {
    outline: 3px solid #7F0000;
    outline-offset: 2px;
}
/* FUNCK-HOVERKACHELN ENDE */

/* FUNCK-SHOP-KACHELN ANFANG
   Gehoert zu mu-plugins/funck-shop-kacheln.php (drei je Zeile, Mengenfeld,
   Details-Knopf, ohne Sortierung).

   Warum ein Raster statt der WooCommerce-Spalten: Das Theme stellt die Kacheln
   mit Float und prozentualer Breite nebeneinander. Damit sind die Karten
   unterschiedlich hoch und die Knoepfe stehen auf verschiedenen Hoehen. Mit
   grid + flex sitzen sie in jeder Zeile auf derselben Linie.

   🔴 Alle Selektoren beginnen mit `body.` — der aeltere Shop-Abschnitt aus
   der Mueller-Portierung (weiter oben im Kit) schreibt dieselben
   Eigenschaften mit genau dieser Spezifitaet. Ohne `body.` gewinnt der alte
   Block: gemessen `height:auto` statt 190px und ein Titel mit 3,9em
   Mindesthoehe, der eine Luecke ueber dem Preis riss.

   🔴 Bilder werden NIE gestaucht: fester Kasten, `object-fit: contain`.
   Die Produktfotos sind 300x475 (Flaschen) und 480x640 (Hierbas) - ein
   `cover` wuerde die Flaschenenden abschneiden, ein Verzerren die Etiketten. */

/* --- Raster ------------------------------------------------------------- */
body.woocommerce ul.products,
body.woocommerce-page ul.products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 26px;
    margin: 0 0 34px;
    padding: 0;
}
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after { content: none !important; display: none !important; }

body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #E6DEDB;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
    transition: box-shadow .25s ease, transform .25s ease;
}
body.woocommerce ul.products li.product:hover {
    box-shadow: 0 8px 22px rgba(0,0,0,.10);
    transform: translateY(-2px);
}

/* --- Bild --------------------------------------------------------------- */
body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
}
body.woocommerce ul.products li.product img {
    width: 100%;
    height: 190px;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    margin: 0 0 12px;
    background: #fff;
}

/* --- Text --------------------------------------------------------------- */
body.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    display: block;
    align-items: initial;
    min-height: 0;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    color: #7F0000;
    padding: 0;
    margin: 0 0 6px;
}
body.woocommerce ul.products li.product span.price {
    font-size: 18px;
    font-weight: 600;
    color: #7F0000;
    margin: 0 0 4px;
    display: block;
}
/* Pflichtangaben (Grundpreis, Steuer, Versand, Lieferzeit, Fuellmenge) bleiben
   vollstaendig - PAngV -, nur ruhiger und einzeilig. */
body.woocommerce ul.products li.product p.wc-gzd-additional-info,
body.woocommerce ul.products li.product .price-unit {
    font-size: 11.5px !important;
    line-height: 1.35;
    color: #6B6B6B;
    font-weight: 400 !important;
    margin: 0 0 2px !important;
    /* Ausdruecklicher Wunsch des Kunden: die Pflichtangaben stehen rechts. */
    text-align: right !important;
}
body.woocommerce ul.products li.product .price-unit .woocommerce-Price-amount { color: #6B6B6B; }

/* --- Kaufzeile: Menge + Warenkorb --------------------------------------- */
body.woocommerce ul.products li.product .funck-kaufzeile {
    display: flex;
    gap: 8px;
    align-items: stretch;
    margin: 14px 0 8px;
}
body.woocommerce ul.products li.product .funck-menge {
    flex: 0 0 62px;
    width: 62px;
    text-align: center;
    border: 1px solid #D9CFCC;
    border-radius: 4px;
    padding: 9px 4px;
    font-size: 15px;
    color: #2A2828;
    background: #fff;
}
/* Knopf und Mengenfeld sitzen in EINER Zeile und muessen exakt gleich hoch
   sein. 🔴 Gemessen: Der gesperrte <button> brachte 14 px Aussenabstand des
   Themes mit — die Zeile wurde dadurch 55 statt 43 px hoch, das Mengenfeld
   mitgestreckt, der Knopf blieb bei 41 px und wirkte flacher. Deshalb Abstand
   raus und beide Knopfarten auf die volle Zeilenhoehe ziehen. */
body.woocommerce ul.products li.product .funck-kaufzeile a.button,
body.woocommerce ul.products li.product .funck-kaufzeile button.button {
    flex: 1 1 auto;
    align-self: stretch;
    margin: 0 !important;
    min-height: 0;
}

/* Alles, was keine Kaufzeile hat (Ausfuehrungen, nicht vorraetig), bekommt den
   Abstand einzeln - sonst klebt der Knopf am Text. */
body.woocommerce ul.products li.product > a.button { margin-top: 14px; }

/* Die Knopfgruppe sitzt unten, damit sie in einer Zeile auf gleicher Hoehe
   steht - unabhaengig davon, wie lang der Artikelname ist. */
body.woocommerce ul.products li.product .funck-kaufzeile,
body.woocommerce ul.products li.product > a.button.add_to_cart_button,
body.woocommerce ul.products li.product > a.button.product_type_variable,
body.woocommerce ul.products li.product > a.button.product_type_simple { margin-top: auto; }
body.woocommerce ul.products li.product a.funck-details { margin-top: 8px !important; }

/* Volle Breite fuer die Knoepfe, die allein in ihrer Zeile stehen.
   🔴 `width: 100%` allein genuegt NICHT: Der aeltere Shop-Abschnitt setzt
   `align-self: flex-start` an denselben Knoepfen, und in einem Flex-Container
   bestimmt align-self die Breite quer zur Richtung. */
body.woocommerce ul.products li.product > a.button {
    align-self: stretch;
    width: 100%;
}

/* --- Knoepfe ------------------------------------------------------------ */
body.woocommerce ul.products li.product a.button {
    display: block;
    background: #7F0000;
    color: #FFFFFF;
    border: 1px solid #7F0000;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    padding: 11px 14px;
    text-align: center;
    text-transform: none;
    margin-bottom: 0;
}
body.woocommerce ul.products li.product a.button:hover {
    background: #5C0000;
    border-color: #5C0000;
    color: #FFFFFF;
}
/* „Details" ist die leisere der beiden Aktionen. */
body.woocommerce ul.products li.product a.button.funck-details {
    background: #FFFFFF;
    color: #7F0000;
    border: 1px solid #7F0000;
}
body.woocommerce ul.products li.product a.button.funck-details:hover {
    background: #7F0000;
    color: #FFFFFF;
}
/* Nicht vorraetig: derselbe graue Zustand wie auf der Produktseite, aber der
   Details-Knopf bleibt bedienbar - dort steht, warum es den Artikel gerade
   nicht gibt. */
body.woocommerce ul.products li.product.outofstock a.button:not(.funck-details) {
    background: #E3E3E3;
    border-color: #D2D2D2;
    color: #6B6B6B;
}
body.woocommerce ul.products li.product.outofstock a.button:not(.funck-details):hover {
    background: #D8D8D8;
    border-color: #C8C8C8;
    color: #6B6B6B;
}
/* 🔴 Der Abschnitt zum Nicht-Vorraetig-Zustand (weiter oben im Kit) faerbt `…outofstock a.button` mit
   !important grau — das traf auch „Details". Gemessen: Grund #E3E3E3, Schrift
   #6B6B6B. Der Knopf muss aber bedienbar bleiben, gerade bei einem Artikel,
   den es zurzeit nicht gibt. Deshalb hier ausdruecklich zurueckgeholt. */
body.woocommerce ul.products li.product.outofstock a.button.funck-details {
    background: #FFFFFF !important;
    color: #7F0000 !important;
    border-color: #7F0000 !important;
    cursor: pointer !important;
}
body.woocommerce ul.products li.product.outofstock a.button.funck-details:hover {
    background: #7F0000 !important;
    color: #FFFFFF !important;
}

/* --- Banner ueber den Artikeln ------------------------------------------
   Das Bild steht als Inhalt der Shop-Seite 656 (WooCommerce gibt ihn ueber
   `woocommerce_archive_description` oberhalb der Artikel aus) — damit bleibt
   es im Editor austauschbar. */
body.woocommerce .funck-shop-banner {
    margin: 0 0 30px;
    padding: 0;
    line-height: 0;
    border-radius: 10px;
    overflow: hidden;
}
body.woocommerce .funck-shop-banner img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 767px) {
    body.woocommerce .funck-shop-banner img { max-height: 190px; }
}

/* --- Gesperrte Kaufzeile (nicht vorraetig) -------------------------------
   Auf Wunsch des Kunden bleiben Mengenfeld und Knopf sichtbar, nur bedienbar
   sind sie nicht. Der graue Ton ist derselbe wie auf der Produktseite. */
body.woocommerce ul.products li.product .funck-kaufzeile button.button[disabled],
body.woocommerce ul.products li.product .funck-kaufzeile button.button:disabled {
    background: #E3E3E3 !important;
    border: 1px solid #D2D2D2 !important;
    color: #6B6B6B !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    display: block;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    padding: 11px 14px;
    text-align: center;
}
body.woocommerce ul.products li.product .funck-menge[disabled] {
    background: #F4F1F0;
    border-color: #E3DDDB;
    color: #9A9A9A;
    cursor: not-allowed;
}

/* --- Produktbild auf der Artikelseite ------------------------------------
   🔴 Gemessen: Das Foto des „pur"-Glases ist nur 113 x 295 px gross und wurde
   auf 360 x 940 hochgezogen — hoch, unscharf und optisch erschlagend. Der
   Deckel wirkt ueber die HOEHE; die Breite bleibt unangetastet, weil der
   FlexSlider der Galerie mit ihr rechnet. `contain` verhindert das Verzerren. */
body.woocommerce div.product .woocommerce-product-gallery__image img,
body.woocommerce .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img {
    max-height: 520px;
    object-fit: contain;
    object-position: center top;
}
@media (max-width: 767px) {
    body.woocommerce div.product .woocommerce-product-gallery__image img { max-height: 380px; }
}

/* --- „Das koennte Ihnen auch gefallen" -----------------------------------
   Drei Artikel (in der Vorlage 2137 gesetzt) und deutlich kompakter als die
   Kacheln im Shop — es ist ein Hinweis, kein zweiter Laden. */
body.woocommerce .elementor-widget-woocommerce-product-related ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product {
    padding: 12px;
    border-radius: 8px;
}
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product img {
    height: 130px;
    margin-bottom: 8px;
}
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product h2.woocommerce-loop-product__title {
    font-size: 14px;
    margin-bottom: 4px;
}
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product span.price { font-size: 15px; }
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product a.button,
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product button.button {
    font-size: 13px;
    padding: 9px 10px;
}
body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product .funck-menge {
    flex: 0 0 52px; width: 52px; padding: 7px 3px; font-size: 14px;
}
@media (max-width: 767px) {
    body.woocommerce .elementor-widget-woocommerce-product-related ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.woocommerce .elementor-widget-woocommerce-product-related ul.products li.product img { height: 110px; }
}

/* --- Was der Kunde nicht sehen will ------------------------------------- */
/* Sortierung und Ergebniszaehler haengt schon das mu-Plugin ab; das hier ist
   der Guertel zum Hosentraeger, etwa wenn ein Plugin sie neu setzt. */
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-ordering,
.woocommerce-page .woocommerce-result-count { display: none !important; }

/* 🔴 Den Kopfbereich NICHT ausblenden: WooCommerce gibt die Archivbeschreibung
   — und damit unser Banner — INNERHALB von `.woocommerce-products-header` aus
   (`archive-product.php`). Ein `display:none` nimmt das Bild mit. Gemessen:
   Banner war weg. Also nur die Abstaende herausnehmen; die Ueberschrift selbst
   haengt bereits der Filter im mu-Plugin ab. */
body.woocommerce .woocommerce-products-header {
    margin: 0 !important;
    padding: 0 !important;
}
body.woocommerce .woocommerce-products-header__title { display: none !important; }

/* --- Logo in der Fusszeile ----------------------------------------------
   Der Fussbereich traegt die Markenfarbe als Hintergrund — und die ist seit der
   Angleichung genau der Rotton der Wortmarke. Ohne weisse Flaeche verschwaende
   „Wollberg" im Grund. Deshalb: schwarze Logofassung (im Baum getauscht) auf
   weissem Feld. */
body .elementor-1296 .elementor-element-25559a12 img {
    background: #FFFFFF;
    padding: 16px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,.12);
    box-sizing: border-box;
}
@media (max-width: 767px) {
    body .elementor-1296 .elementor-element-25559a12 img { padding: 12px 14px; }
}

/* --- Markenstreifen vor dem Kontaktbereich -------------------------------
   Zwei Logos, beide fuehren in den Shop. Der Hinweis darauf muss sichtbar
   sein: ein Bild, das klickbar ist, sollte das auch zeigen. */
body .funck-markenstreifen img {
    transition: transform .25s ease, opacity .25s ease;
}
body .funck-markenstreifen a:hover img,
body .funck-markenstreifen a:focus-visible img {
    transform: scale(1.05);
    opacity: .85;
}
body .funck-markenstreifen a:focus-visible img {
    outline: 2px solid #7F0000;
    outline-offset: 6px;
}
@media (prefers-reduced-motion: reduce) {
    body .funck-markenstreifen img { transition: none; }
    body .funck-markenstreifen a:hover img { transform: none; }
}

/* --- Artikel-Kacheln ausserhalb der Shop-Seiten --------------------------
   🔴 Auf gewoehnlichen Seiten mit `[products]` (Artilleriefeuer, Ruhrpott,
   Mallorca) traegt der body WEDER `woocommerce` NOCH `woocommerce-page` —
   gemessen am 02.09.2026, dort steht nur `woocommerce-no-js`. Alle Regeln
   oben, die an `body.woocommerce` haengen, greifen also nicht.
   Deshalb hier dieselben Vorgaben ohne Body-Bindung. `!important` ist noetig,
   weil der aeltere Shop-Abschnitt weiter oben mit einer Klasse mehr wiegt. */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px;
}
/* 🔴 Das Theme setzt `ul.products::before/::after` fuers Float-Clearing. In
   einem Raster werden daraus zwei ECHTE Rasterfelder — gemessen: die erste
   Zeile begann dadurch in Spalte 2 und war um eins verschoben. */
ul.products::before,
ul.products::after { content: none !important; display: none !important; }
ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    background: #fff;
    border: 1px solid #E6DEDB;
    border-radius: 10px;
    padding: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,.05);
}
ul.products li.product img {
    width: 100% !important;
    height: 190px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    margin: 0 0 12px !important;
}
ul.products li.product h2.woocommerce-loop-product__title {
    display: block !important;
    min-height: 0 !important;
    align-items: initial !important;
    font-size: 16px;
    font-weight: 600;
    color: #7F0000;
    margin: 0 0 6px;
    padding: 0;
}
ul.products li.product span.price { font-size: 18px; font-weight: 600; color: #7F0000; display: block; }
ul.products li.product .funck-kaufzeile { display: flex; gap: 8px; align-items: stretch; margin-top: auto; }
ul.products li.product .funck-kaufzeile a.button,
ul.products li.product .funck-kaufzeile button.button {
    flex: 1 1 auto !important;
    align-self: stretch !important;
    margin: 0 !important;
}
ul.products li.product a.button,
ul.products li.product button.button {
    display: block;
    background: #7F0000;
    color: #FFFFFF;
    border: 1px solid #7F0000;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
    padding: 11px 14px;
    text-align: center;
}
ul.products li.product a.button.funck-details {
    background: #FFFFFF !important;
    color: #7F0000 !important;
    align-self: stretch !important;
    width: 100% !important;
    margin-top: 8px !important;
}
ul.products li.product .funck-menge {
    flex: 0 0 62px; width: 62px; text-align: center;
    border: 1px solid #D9CFCC; border-radius: 4px; padding: 9px 4px;
    font-size: 15px; background: #fff;
}
ul.products li.product p.wc-gzd-additional-info,
ul.products li.product .price-unit {
    font-size: 11.5px !important;
    color: #6B6B6B;
    text-align: right !important;
    margin: 0 0 2px !important;
    font-weight: 400 !important;
}
@media (max-width: 1024px) { ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px)  { ul.products { grid-template-columns: 1fr !important; } }

/* --- Vorlese-Knopf in der Fusszeile --------------------------------------
   Der Text „Diese Seite vorlesen" darueber ist entfernt — der Knopf sagt es
   selbst. Er steht jetzt linksbuendig unter dem Logo. */
body .elementor-1296 .elementor-element-ff9afb1 {
    text-align: left;
}
body .elementor-1296 .elementor-element-ff9afb1 .elementor-widget-container {
    display: flex;
    justify-content: flex-start;
}
body .elementor-1296 .elementor-element-ff9afb1 .tta-listen-btn,
body .elementor-1296 .elementor-element-ff9afb1 button {
    margin-left: 0 !important;
}
/* Abstand zum Logo und ein Knopf, aus dem die Beschriftung nicht herauslaeuft.
   Der Knopf ist ein eigenes Element (`tts-play-button`) und bringt eine feste
   Breite mit — deshalb hier ausdruecklich auf Inhalt umgestellt. */
body .elementor-1296 .elementor-element-ff9afb1 { margin-top: 22px !important; }
body .elementor-1296 tts-play-button,
body .elementor-1296 .tts_play_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 220px !important;
    max-width: 100% !important;
    padding: 10px 20px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* --- Kleinere Bildschirme ----------------------------------------------- */
@media (max-width: 1024px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    body.woocommerce ul.products li.product img { height: 170px; }
}
@media (max-width: 600px) {
    body.woocommerce ul.products,
    body.woocommerce-page ul.products { grid-template-columns: 1fr; gap: 18px; }
    body.woocommerce ul.products li.product img { height: 200px; }
}
/* FUNCK-SHOP-KACHELN ENDE */

/* --- Hero auf dem Desktop: Logo und Knopf nach links und tiefer (09.09.2026) ---
   Der Inhaltsbereich des Hero ist auf 1200 px begrenzt und mittig; dadurch
   standen Logo und Knopf zu weit rechts. Statt eines festen Schubs wird der
   Bereich geweitet - so begrenzt sich die Verschiebung bei schmaleren Fenstern
   von selbst, statt aus dem Bild zu laufen. Das "g" des Logos steht damit an
   der linken Fensterkante im Hintergrundbild.
   Nur Desktop - der mobile Hero ist ein eigener Abschnitt.
   Kennungen: Hero 0fd0159, Logo 97c5878, Knopf 3636fbf                       */
/* WOLLBERG-HERO-DESKTOP */
@media (min-width: 1200px) {
    .elementor-element-0fd0159 > .e-con-inner { max-width: 1440px; }
    .elementor-element-0fd0159 .elementor-element-97c5878,
    .elementor-element-0fd0159 .elementor-element-3636fbf {
        transform: translateY(24px);
    }
}

/* FUNCK-AGEGATE ANFANG
   Age Gate 3.7.3 hat weder fuer die Knoepfe noch fuer den Rahmen eine
   Einstellung. Seine main.css liest beides aus eigenen Variablen, die das
   Plugin NIE selbst setzt (sein Inline-CSS kennt nur Hintergrund, Tafel, Text
   und Blur). Deshalb genuegt hier ein :root, es gibt keine Gegenstelle.

   1. KNOEPFE. Vorgabe waere #333. Rot und Ueberfahren-Rot sind dieselben wie
      bei den Shop-Knoepfen (.fcta, .funck-shopknopf), damit das Age Gate
      nicht aus der Reihe faellt.

   2. RAHMEN UM DIE TAFEL. Ansage des Users am 26.09.2026: "frueher sah man
      einen weissen kasten auf dem roten hintergrund. bekommen wir da
      vielleicht einen roten rahmen um den bereich?" - seit der Grund weiss
      ist, geht die weisse Tafel darin unter. Der Rahmen gibt ihr die Kante
      zurueck, die vorher der Farbwechsel gemacht hat.

   3. MARKENLEISTE. Das Markup kommt aus dem mu-plugin
      funck-agegate-marken.php (Haken age_gate/logo, Prioritaet 9). */
:root {
    --ag-button-color-background: #7F0000;
    --ag-button-color-text: #FFFFFF;
    --ag-button-color-hover: #5C0000;
    --ag-button-color-text-hover: #FFFFFF;

    --ag-form-border: 2px solid #7F0000;
    /* 🔴 --ag-form-border-width MUSS mit gesetzt werden. main.css schreibt
       hintereinander  border: var(--ag-form-border,0)  UND danach
       border-width: var(--ag-form-border-width,0)  - die zweite Zeile nimmt
       der Kurzform die Breite wieder weg. Nur --ag-form-border zu setzen
       ergibt einen Rahmen mit Breite 0, also keinen. */
    --ag-form-border-width: 2px;
    --ag-form-radius: 4px;
}

/* Die beiden Kopflogos ueber dem Wollberg-Logo. Nebeneinander, mittig, und
   auf schmalen Geraeten untereinander - die Tafel ist hoechstens 500 px
   breit, zwei Logos nebeneinander werden darin sonst zu klein zum Lesen. */
.age-gate .funck-ag-marken {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 26px;
    margin: 0 0 18px;
}
.age-gate .funck-ag-marke {
    display: block;
    width: auto;
    height: 34px;
    max-width: 100%;
    object-fit: contain;
}
@media (max-width: 420px) {
    .age-gate .funck-ag-marke { height: 26px; }
}
/* FUNCK-AGEGATE ENDE *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url('https://wollberg.de/wp-content/uploads/2026/07/Montserrat-variable-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://wollberg.de/wp-content/uploads/2026/07/Montserrat-variable-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('https://wollberg.de/wp-content/uploads/2026/07/Montserrat-variable-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://wollberg.de/wp-content/uploads/2026/07/Montserrat-variable-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('https://wollberg.de/wp-content/uploads/2026/07/Montserrat-variable-latin.woff2') format('woff2');
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url('https://wollberg.de/wp-content/uploads/2026/07/Montserrat-variable-latin.woff2') format('woff2');
}
/* End Custom Fonts CSS */