.elementor-kit-4{--e-global-color-primary:#00163D;--e-global-color-secondary:#EDF2FD;--e-global-color-text:#00163D;--e-global-color-accent:#005EFE;--e-global-color-159e78a:#4186FF;--e-global-typography-primary-font-family:"Author";--e-global-typography-secondary-font-family:"Author";--e-global-typography-secondary-font-size:24px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-line-height:1.2;--e-global-typography-text-font-family:"Author";--e-global-typography-accent-font-family:"TBJ Interval";color:var( --e-global-color-text );font-family:"Author", Sans-serif;font-size:20px;font-weight:300;line-height:1.2;}.elementor-kit-4 button,.elementor-kit-4 input[type="button"],.elementor-kit-4 input[type="submit"],.elementor-kit-4 .elementor-button{background-color:#00163D;font-family:"TBJ Interval", Sans-serif;font-size:17px;line-height:1.1;color:var( --e-global-color-secondary );border-radius:50px 50px 50px 50px;padding:6px 15px 06px 15px;}.elementor-kit-4 button:hover,.elementor-kit-4 button:focus,.elementor-kit-4 input[type="button"]:hover,.elementor-kit-4 input[type="button"]:focus,.elementor-kit-4 input[type="submit"]:hover,.elementor-kit-4 input[type="submit"]:focus,.elementor-kit-4 .elementor-button:hover,.elementor-kit-4 .elementor-button:focus{background-color:#00163D00;color:var( --e-global-color-text );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:50px 50px 50px 50px;}.elementor-kit-4 e-page-transition{background-color:var( --e-global-color-secondary );}.elementor-kit-4 a{color:var( --e-global-color-text );}.elementor-kit-4 h1{color:var( --e-global-color-text );font-family:"Author", Sans-serif;font-size:64px;font-weight:400;line-height:1.1;}.elementor-kit-4 h2{color:var( --e-global-color-text );font-family:"Author", Sans-serif;font-size:42px;font-weight:400;line-height:1.1;}.elementor-kit-4 h3{color:var( --e-global-color-text );font-family:"Author", Sans-serif;font-size:28px;font-weight:400;line-height:1.3;}.elementor-kit-4 h4{color:var( --e-global-color-text );font-weight:400;}.elementor-kit-4 h5{color:var( --e-global-color-text );}.elementor-kit-4 h6{color:var( --e-global-color-text );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.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-4{--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-line-height:1.1;font-size:20px;line-height:1.2;}.elementor-kit-4 h1{font-size:54px;line-height:1;}.elementor-kit-4 h2{font-size:34px;line-height:1;}.elementor-kit-4 h3{font-size:24px;line-height:1;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4{--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-line-height:1.1;font-size:18px;line-height:1.2;}.elementor-kit-4 h1{font-size:44px;line-height:1;}.elementor-kit-4 h2{font-size:28px;line-height:1;}.elementor-kit-4 h3{font-size:20px;line-height:1;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --H2:Author; }
/* Start custom CSS *//* Headlines */
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong,
h1 b, h2 b, h3 b, h4 b, h5 b, h6 b {
  font-family: 'Author', sans-serif;
  font-weight: 500 !important;
}

/* Absätze */
.elementor-widget-text-editor strong,
.elementor-widget-text-editor b {
  font-weight: 400 !important;
}
/* =======================
  LINKS
   ======================*/

/* Normale Textlinks */
a:not(.elementor-button):not(.wp-element-button) {
  color: inherit;
}

/* Hover für normale Links */
a:not(.elementor-button):not(.wp-element-button):hover {
  opacity: 0.85;
}

/* =======================
HOTSPOT ======================*/

/* Elementor Hotspot Tooltip: Inhalt bestimmt Breite */
.e-hotspot__tooltip{
  width: max-content !important;
  max-width: none !important;
  white-space: wrap !important;
  display: inline-flex !important;
  align-items: center;
  gap: 12px; /* Abstand Icon–Text */
}

/* Icon soll nicht den Layout-Algorithmus verwirren */
.e-hotspot__tooltip img,
.e-hotspot__tooltip svg{
  flex: 0 0 auto !important;
}

/* Text soll nicht “flexen” */
.e-hotspot__tooltip .e-hotspot__tooltip-title,
.e-hotspot__tooltip .e-hotspot__tooltip-text,
.e-hotspot__tooltip span,
.e-hotspot__tooltip p{
  flex: 0 0 auto !important;
  margin: 0;
}

/* Tooltip darf nicht breiter als Screen sein */
.e-hotspot__tooltip {
  max-width: calc(100vw - 32px) !important;
  white-space: normal !important;
}

/* Mobile Feinschliff */
@media (max-width: 767px) {
  .e-hotspot__tooltip {
    width: max-content !important;
    max-width: calc(100vw - 32px) !important;
    white-space: normal !important;
  }
}

/* ==========================================================================
   NORMALE LISTEN MIT SVG ERSETZEN
   aber NICHT Elementor-Listen, Menüs oder WooCommerce-Produkte
   ========================================================================== */

/* 1. Ränder und Standard-Punkte entfernen */
ul:not(.elementor-icon-list-items):not(.elementor-nav-menu):not(.sub-menu):not(.products):not(.product_list_widget) {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

/* 2. Platz für den Pfeil schaffen */
ul:not(.elementor-icon-list-items):not(.elementor-nav-menu):not(.sub-menu):not(.products):not(.product_list_widget) > li {
  position: relative;
  list-style: none;
  padding-left: 1.6rem;
}

/* 3. Den Pfeil erzeugen */
ul:not(.elementor-icon-list-items):not(.elementor-nav-menu):not(.sub-menu):not(.products):not(.product_list_widget) > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.42em;
  width: 0.8rem;
  height: 0.8rem;
  background-color: currentColor;
  -webkit-mask-image: url("https://www.wilfatec.de/wp-content/uploads/2026/04/wt-.svg");
  mask-image: url("https://www.wilfatec.de/wp-content/uploads/2026/04/wt-.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}

/* ==========================================================================
   Warenkorb-Meldung
   ========================================================================== */
.woocommerce-message {
    position: fixed !important;
    bottom: 90px !important;  /* WEITER HOCHGESCHOBEN: Erhöht von 30px auf 90px, um über der Flagge zu stehen */
    right: 30px !important;   /* Abstand von rechts */
    width: 380px !important;  /* Kompakte Breite */
    max-width: 90vw !important;
    z-index: 99999 !important;
    
    /* Design der Box (Weiß mit edlem Schatten) */
    background-color: #ffffff !important;
    color: #0b2341 !important;
    border: none !important;  /* GRÜNEN BALKEN ENTFERNT */
    border-radius: 12px !important; /* Passt zum Eckenradius eurer Karten */
    box-shadow: 0 10px 30px rgba(11, 35, 65, 0.15) !important;
    
    /* Inneres Layout (Text oben, Button unten) */
    padding: 25px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    
    font-family: sans-serif !important; /* Ggf. eure echte Schriftart eintragen */
    font-size: 15px !important;
    line-height: 1.4 !important;
}

/* DEN ALTEN GRÜNEN HAKEN UND SEIN PSEUDOELEMENT ENTFERNEN */
.woocommerce-message::before {
    content: none !important;
    display: none !important;
}

/* Den Button in der schwebenden Box stylen (Euer Pillen-Design) */
.woocommerce-message .button.wc-forward {
    background-color: #0b2341 !important; /* Euer edles Dunkelblau */
    color: #ffffff !important;
    text-align: center !important;
    padding: 12px 20px !important;
    border-radius: 30px !important; /* Zur Pille abgerundet wie der Warenkorb-Button */
    font-weight: 400 !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out !important;
    display: block !important;
    float: none !important;
    margin-top: 5px !important;
}

.woocommerce-message .button.wc-forward:hover {
    background-color: #edf2fd !important; /* Wechselt zu Grün beim Hovern */
    color: #00163d !important;
}


/* ==========================================================================
   WooCommerce Klassischer Warenkorb – Perfektes Kachel- & Dashboard-Design
   ========================================================================== */

/* 1. DIE ALTE TABELLEN-STRUKTUR SPRENGEN */
.woocommerce-cart-form table.shop_table.cart {
    border: none !important;
    background: transparent !important;
    display: block !important;
}

.woocommerce-cart-form table.shop_table.cart thead {
    display: none !important;
}

.woocommerce-cart-form table.shop_table.cart tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important; /* Abstand zwischen den Produkt-Kacheln */
    width: 100% !important;
}

/* 2. DAS HAUPTSET ALS STABILE KACHEL (OHNE UMBRUCH FÜR ICONS) */
tr.woocommerce-cart-form__cart-item.wooco-cart-parent {
    display: flex !important;
    flex-wrap: nowrap !important; /* Icons und Buttons bleiben fest in einer Zeile */
    align-items: center !important; /* Zentriert Mengenwähler, Bild und Mülleimer vertikal */
    background-color: #ffffff !important;
    border: 0.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 20px 30px !important; 
    box-shadow: 0 4px 12px rgba(11, 35, 65, 0.04) !important;
    transition: all 0.25s ease-in-out !important;
    width: 100% !important;
}

tr.woocommerce-cart-form__cart-item.wooco-cart-parent:hover {
    border-color: #005efe !important;
    box-shadow: 0 8px 20px rgba(0, 94, 254, 0.08) !important;
}

/* Originale Unterprodukt-Zeilen im Hintergrund verstecken */
tr.woocommerce-cart-form__cart-item.wooco-cart-child {
    display: none !important;
}

/* 3. REIHENFOLGE DER ELEMENTE */
.woocommerce-cart-form table.shop_table.cart td {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Mengenwähler (Stelle 1) */
.woocommerce-cart-form td.product-quantity {
    order: 1 !important;
    margin-right: 25px !important;     
    flex-shrink: 0 !important;
}

/* Vorschaubild (Stelle 2) */
.woocommerce-cart-form td.product-thumbnail {
    order: 2 !important;
    margin-right: 25px !important;     
    flex-shrink: 0 !important;
}

.woocommerce-cart-form td.product-thumbnail img {
    width: 20px !important; 
    height: auto !important;
    max-height: 20px !important;
    object-fit: contain !important;
    display: block !important;
}

/* 4. DER TEXT-BLOCK (Titel oben, Komponenten darunter) */
.woocommerce-cart-form td.product-name {
    order: 3 !important;
    flex-grow: 1 !important;  
    text-align: left !important;
    
    /* MAGISCHER SCHRITT: Stapelt Titel und Komponenten sauber übereinander */
    display: flex !important;
    flex-direction: column !important; 
    align-items: flex-start !important;
    gap: 6px !important; /* Abstand zwischen Haupttitel und dem grauen Fließtext */
}

/* Der fette Haupttitel */
.woocommerce-cart-form td.product-name > a {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #0b2341 !important;
    text-decoration: none !important;
    display: block !important;
}

/* Unnötige Spalten entfernen */
.woocommerce-cart-form td.product-price,
.woocommerce-cart-form td.product-subtotal {
    display: none !important;
}

/* Löschen-Kreuz ganz rechts (Stelle 4) */
.woocommerce-cart-form td.product-remove {
    order: 4 !important;
    margin-left: auto !important;      
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
}

.woocommerce-cart-form td.product-remove a.remove {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    position: relative !important;
    transition: transform 0.2s ease-in-out !important;
}

.woocommerce-cart-form td.product-remove a.remove::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: url('https://www.wilfatec.de/wp-content/uploads/2026/05/trash-xmark-2.svg') !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
}

.woocommerce-cart-form td.product-remove a.remove:hover {
    background: transparent !important;
    transform: scale(1.1) !important; 
}

/* Mengenwähler-Pille */
.woocommerce-cart-form td.product-quantity .quantity {
    display: inline-flex !important;
    align-items: center !important;
    background-color: #edf2fd !important; 
    border-radius: 20px !important;
    padding: 6px 14px !important;
    border: none !important;
    width: 140px !important; 
}

.woocommerce-cart-form td.product-quantity .quantity input.qty {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 400 !important;
    color: #00163d !important;            
    text-align: center !important;
    width: 100% !important;           
}

/* 5. DER GEÄNDERTE KOMPONENTEN-FLIESSTEXT (JETZT DIREKT UNTER DEM TITEL) */
.custom-component-list {
    font-size: 14px !important;
    color: #64748b !important; /* Schönes Slate-Grau */
    font-weight: 400 !important;
    line-height: 1.4 !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    max-width: 90% !important; /* Verhindert das Hineinlaufen in das Mülleimer-Icon */
}

/* 6. SEITEN-FINISH */
tr:has(.actions), .actions { border: none !important; background: transparent !important; padding-top: 10px !important; }
.actions button[name="update_cart"] { display: none !important; }
.cart-collaterals .cart_totals h2, .cart-collaterals .cart_totals table { display: none !important; }
.cart-collaterals { width: 100% !important; margin-top: 30px !important; display: flex !important; justify-content: flex-end !important; }
.cart-collaterals .cart_totals { width: auto !important; float: none !important; }
.cart-collaterals .checkout-button.button.alt { background-color: #0b2341 !important; color: #ffffff !important; font-family: 'TBJ Interval' !important;font-size: 18px !important; font-weight: 400 !important; padding: 14px 35px !important; border-radius: 30px !important; text-transform: none !important; transition: all 0.25s ease-in-out !important; box-shadow: 0 4px 12px rgba(11, 35, 65, 0.15) !important; display: inline-block !important; }
.cart-collaterals .checkout-button.button.alt:hover { background-color: #005efe !important; color: #ffffff !important; box-shadow: 0 6px 15px rgba(0, 94, 254, 0.3) !important; transform: translateY(-1px); }

/* ==========================================================================
   Intelligente Weiche: Warenkorb Voll vs. Leer
   ========================================================================== */

/* 1. Die hässliche Standard-Meldung von WooCommerce komplett eliminieren */
.woocommerce .cart-empty,
.woocommerce .return-to-shop {
    display: none !important;
}

/* 2. ZUSTAND A: WARENKORB IST LEER */
/* Wenn die WooCommerce-Klasse (.cart-empty) aktiv ist, steuern wir die Sichtbarkeit */
body.woocommerce-cart:has(.cart-empty) .anfrage-leer-container {
    display: flex !important; /* Zeigt deinen individuellen Elementor-Inhalt an */
}

body.woocommerce-cart:has(.cart-empty) .elementor-widget-heading,
body.woocommerce-cart:has(.cart-empty) .elementor-widget-text-editor,
body.woocommerce-cart:has(.cart-empty) .woocommerce-cart-form,
body.woocommerce-cart:has(.cart-empty) .cart-collaterals {
    display: none !important; /* Versteckt die normalen Anfrage-Texte und das leere Formular */
}

/* 3. ZUSTAND B: WARENKORB IST GEFÜLLT */
/* Wenn der Warenkorb Produkte enthält (also keine .cart-empty Klasse existiert) */
body.woocommerce-cart:not(:has(.cart-empty)) .anfrage-leer-container {
    display: none !important; /* Versteckt deinen individuellen "Leer"-Text komplett */
}

/* ==========================================================================
   FINALER COOKIE-BANNER RESET: Nur Versatz, Kreuz & Pfeile korrigieren
   ========================================================================== */

/* 1. DIE RECHTSBÜNDIGEN PFEILE AUS DER RECHTS-LISTE ENTFERNEN */
#cmplz-cookiebanner-container .cmplz-documents ul,
#cmplz-cookiebanner-container .cmplz-links ul {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

#cmplz-cookiebanner-container .cmplz-documents ul li,
#cmplz-cookiebanner-container .cmplz-links ul li {
    list-style: none !important;
    padding-left: 0 !important; /* Hebt den Einrück-Effekt des Website-CSS auf */
}

/* Löscht den wt-.svg Pfeil im Banner restlos */
#cmplz-cookiebanner-container .cmplz-documents ul li::before,
#cmplz-cookiebanner-container .cmplz-links ul li::before {
    content: none !important;
    display: none !important;
}


/* 2. DEN MOBILEN VERSATZ & DAS KREUZ REPARIEREN (Nur auf Smartphones) */
@media (max-width: 767px) {
    
    /* Der Titel bleibt standardmäßig sichtbar */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header .cmplz-title {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        text-align: center !important;
        width: 100% !important;
        padding-right: 25px !important; /* Schützt den Text vor dem Überlagern des Kreuzes */
    }

    /* Der Header wird zum unerschütterlichen Basis-Anker */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
        position: relative !important;
        display: block !important; /* Verhindert das Quetschen im Flex-Layout */
    }

    /* Das Kreuz wird absolut oben rechts in der Ecke verankert – völlig autark vom Titel */
    #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header .cmplz-close {
        position: absolute !important;
        top: 4px !important;       /* Zentriert es optisch sauber nach oben */
        right: 12px !important;     /* Verhindert das Herausrutschen nach rechts */
        margin: 0 !important;
        z-index: 10 !important;
    }

    /* Behebt den berüchtigten Rechtsdrall aus Bildschirmfoto 2026-06-02 um 14.23.53.jpg */
    #cmplz-cookiebanner-container {
        position: fixed !important;
        z-index: 999999 !important;
        inset: auto 0 0 0 !important;
        width: 100vw !important;
        display: flex !important;
        justify-content: center !important;
    }

    #cmplz-cookiebanner-container .cmplz-cookiebanner {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        bottom: 15px !important;
        width: calc(100vw - 30px) !important; /* Exakte Breite mit feinem Rand links und rechts */
        max-width: 100% !important;
        margin: 0 auto !important;
    }
}

/* ==========================================================================
   PRODUCT GRID: "In den Warenkorb"-Buttons einheitlich stylen
   ========================================================================== */

/* Holt den Button im Produkt-Grid ab und zwingt ihm euer Design auf */
.woocommerce ul.products li.product a.button.add_to_cart_button {
    font-family: 'TBJ Interval', sans-serif !important;
    font-size: 17px !important;          /* Feine, edle Schriftgröße */
    font-weight: 500 !important;          /* Knackiger Stand */
    text-transform: none !important;      /* Falls es normal gecastet sein soll, sonst 'uppercase' */
    
    background-color: #005efe !important;  /* Euer leuchtendes Markenblau */
    color: #ffffff !important;
    
    height: 35px !important;              /* Kompakte, moderne Höhe */
    padding: 0 15px !important;
    border-radius: 25px !important;       /* Perfekt gerundete Kanten */
    
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
    border: none !important;
    
    margin-top: auto !important;          /* Drückt die Buttons alle sauber auf eine Linie */
    margin-bottom: 5px !important;
}

/* Hover-Effekt für die Grid-Buttons */
.woocommerce ul.products li.product a.button.add_to_cart_button:hover {
    background-color: #00163d !important;  /* Wechselt beim Hovern zu eurem edlen Navy-Blau */
    color: #ffffff !important;
    transform: translateY(-1px);          /* Minimaler, dynamischer Lift-Effekt */
}

/* Falls der Button nach dem Klicken den "Hinzugefügt"-Status bekommt */
.woocommerce ul.products li.product a.button.add_to_cart_button.added {
    background-color: #00163d !important;
}

/* Wilfatec Warenkorb-Icon anpassen */
.menu-cart-icon {
    width: 20px;
    height: auto;
    vertical-align: middle;
    
    transition: filter 0.3s ease;
}

/* ==========================================================================
   SHOP-FIXES (Darstellung mobil/Tablet/Desktop) – Stand 30.10.2026
   ========================================================================== */

/* 1. Grid-Buttons: Mindesthöhe statt fester Höhe, damit längere Texte
      (z. B. Übersetzungen, "Optionen auswählen" + Haken) nie überlaufen */
.woocommerce ul.products li.product a.button.add_to_cart_button {
    height: auto !important;
    min-height: 35px !important;
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    text-align: center !important;
    -webkit-tap-highlight-color: transparent;
}

/* Haken nach dem Hinzufügen mit sauberem Abstand */
.woocommerce ul.products li.product a.button.add_to_cart_button.added::after {
    margin-left: 8px !important;
}

/* "Warenkorb anzeigen"-Link immer zentriert UNTER dem Button */
.woocommerce ul.products li.product a.added_to_cart {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 15px !important;
    line-height: 1.3 !important;
    padding: 6px 0 0 !important;
}

/* Touch-Geräte: kein "hängenbleibender" Hover-Zustand nach dem Antippen */
@media (hover: none) {
    .woocommerce ul.products li.product a.button.add_to_cart_button:hover {
        transform: none !important;
        background-color: #005efe !important;
    }
    .woocommerce ul.products li.product a.button.add_to_cart_button.added:hover {
        background-color: #00163d !important;
    }
}

/* 2. Komplettlösungen: Produktbild, Button und "Mehr Informationen" in
      nebeneinanderliegenden Karten auf eine Linie bringen */
.elementor-2091 .e-con > .elementor-widget-woocommerce-products {
    margin-top: auto !important;
}

/* 3. Warenkorb: "Zurück zum Shop" exakt mittig neben "Zur Bestellanfrage" */
.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout {
    padding: 0 !important;
}
.woocommerce-cart .cart-collaterals .checkout-button {
    margin: 0 !important;
}
.woocommerce-cart .elementor-widget-shortcode .woocommerce {
    margin-bottom: 0 !important;
}
/* (Bestell-Button 44px hoch, Link 31px, Container-Abstand 20px) */
.elementor-604 .elementor-element.elementor-global-2055 {
    margin-top: -58px !important;
}

/* Leerer Warenkorb: Zurück-Button nicht in den Leer-Hinweis ziehen */
body.woocommerce-cart:has(.cart-empty) .elementor-604 .elementor-element.elementor-global-2055 {
    margin-top: 10px !important;
}

/* Mobil: Bestell-Button volle Breite, Zurück-Link darunter statt überlappend */
@media (max-width: 767px) {
    .woocommerce-cart .cart-collaterals {
        justify-content: stretch !important;
    }
    .woocommerce-cart .cart-collaterals .cart_totals {
        width: 100% !important;
    }
    .woocommerce-cart .cart-collaterals .checkout-button.button.alt {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }
    .elementor-604 .elementor-element.elementor-global-2055,
    body.woocommerce-cart:has(.cart-empty) .elementor-604 .elementor-element.elementor-global-2055 {
        margin-top: 5px !important;
        text-align: center !important;
    }

    /* 4. Schwebende Warenkorb-Meldung mobil mittig mit gleichem Rand */
    .woocommerce-message {
        left: 15px !important;
        right: 15px !important;
        width: auto !important;
        max-width: none !important;
    }
}

/* ==========================================================================
   PERFORMANCE & BARRIEREFREIHEIT – Stand 30.10.2026
   ========================================================================== */

/* Kontakt-Links (E-Mail/Telefon): Tippfläche mind. 32px hoch (Google: mind. 24px) */
.elementor-icon-list-item > a[href^="mailto:"],
.elementor-icon-list-item > a[href^="tel:"] {
    min-height: 32px;
    align-items: center;
}

/* Datenschutz-Link im Formular: gleiche helle Farbe wie der Text (vorher dunkelblau auf blau) */
.elementor-field-type-acceptance a {
    color: inherit !important;
}

/* Partnerlogos: Platz vorab reservieren (alle Logos 249 × 100 px) */
.elementor-widget-image-carousel .swiper-slide-image[src*="artnerlogo"] {
    aspect-ratio: 249 / 100;
    height: auto;
}

/* Warenkorb-Icon im Menü: feste Größe */
.menu-cart-icon {
    height: 20px;
}


/* ==========================================================================
   DARSTELLUNGS-FIXES – Stand 10.11.2026
   ========================================================================== */

/* 1. Seiten ohne Elementor-Layout (z. B. Cookie-Richtlinie):
      Inhalt beginnt unterhalb der absolut positionierten Kopfzeile */
body:not(.elementor-page) main.site-main {
    padding-top: 200px;
}
@media (max-width: 767px) {
    body:not(.elementor-page) main.site-main {
        padding-top: 150px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

/* 2. Mobil: lange Einzelwörter in Hauptüberschriften passen in die Spalte */
@media (max-width: 767px) {
    .elementor-2827 .elementor-element-4e90887 .elementor-heading-title,
    .elementor-2196 .elementor-element-05baa57 .elementor-heading-title {
        font-size: clamp(32px, 10.5vw, 44px);
    }
    /* Sicherheitsnetz: nie über den Rand laufen lassen */
    .elementor-widget-heading .elementor-heading-title {
        overflow-wrap: break-word;
    }
}

/* 3. Impressum: lange URL umbrechen, gleicher Seitenrand wie übrige Seiten */
.elementor-1101 .elementor-widget-text-editor {
    overflow-wrap: anywhere;
}
@media (max-width: 767px) {
    .elementor-1101 .elementor-element-483329e {
        padding-left: 30px;
        padding-right: 30px;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Author';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/Author-Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Author';
	font-style: italic;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/Author-LightItalic.woff2') format('woff2');
}
@font-face {
	font-family: 'Author';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/Author-Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Author';
	font-style: italic;
	font-weight: 400;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/Author-Italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Author';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/Author-Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Author';
	font-style: italic;
	font-weight: 500;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/Author-MediumItalic.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'TBJ Interval';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://www.wilfatec.de/wp-content/uploads/2026/02/TBJInterval-Light.woff2') format('woff2');
}
/* End Custom Fonts CSS */