/*!
 * theme-design.css — Optik-Overrides des Klons (Ebene 1), markenneutral.
 *
 * Portiert am 2026-06-20 1:1 aus dem Baseline (rto206):
 *   - mu-plugins/rt-rebrand-optik.php  (alle Override-Regeln, Z.23-96; OHNE den :root-Block Z.14-22)
 *   - mu-plugins/rt-header-logo.php    (Logo-Hoehen-Regeln)
 *
 * Treue = oberstes Gebot (pixelgleich). Einzige mechanische Transformation: jede Marken-/Akzentfarbe
 * -> var(--brand-*). KEINE Hex-Literale fuer Markenfarben, NUR var(--brand-*).
 * KEIN Borlabs (KANON #2): die Borlabs-Buttons-Regeln aus rt-rebrand-optik Z.80-85 wurden bewusst
 * WEGGELASSEN — sie bleiben im Borlabs-mu-plugin rt-borlabs-banner.php.
 * ShiftNav (KANON #3): Toggle-Bar weiss, nur Hamburger-Button markenfarben, Linien weiss.
 * Cart-Icon (KANON #7): content:var(--brand-cart-icon).
 */

/* === Aquacentrum-UI-Reste entfernen (rt-rebrand-optik Z.24) === */
#wp-bottom-menu,.logo-mark,.social-slide,.youtube-hover,.facebook-hover,.instagram-hover,.footer_single{display:none;}

/* === Mobile ShiftNav-Toggle-Bar: WEISSER Header (Logo sichtbar) + markenfarbener Hamburger (KANON #3) === */
.shiftnav-toggle-bar,.shiftnav-toggle-main,.shiftnav-toggle-main-align-center,.shiftnav-toggle-wrapper{background-color:var(--brand-weiss)!important;}
.shiftnav-toggle.shiftnav-toggle-shiftnav-main,button.shiftnav-toggle,.shiftnav-toggle{background-color:var(--brand-primary)!important;border-color:var(--brand-primary);}
.shiftnav-toggle .lines,.shiftnav-toggle .lines::before,.shiftnav-toggle .lines::after,.shiftnav-toggle-icon,.shiftnav-toggle-icon::before,.shiftnav-toggle-icon::after{background-color:var(--brand-weiss)!important;color:var(--brand-weiss)!important;}

/* === Navigation orange (rt-rebrand-optik Z.30-31) === */
.col-full-nav,.shoptimizer-sticky-navigation .col-full-nav{background-color:var(--brand-primary)!important;}
.main-navigation ul li a:hover,.main-navigation ul li.current-menu-item>a,.main-navigation ul li.current_page_item>a{color:var(--brand-nav-hover)!important;}

/* === Logo schlank (rt-rebrand-optik Z.33-34 == rt-header-logo.php) === */
.site-header img.custom-logo,.custom-logo-link img,.site-branding img.custom-logo{max-height:var(--brand-logo-max-h);height:auto!important;width:auto;}
@media(max-width:768px){.site-header img.custom-logo,.custom-logo-link img{max-height:var(--brand-logo-max-h-mobile);}}

/* === Buttons inkl. Kauf/Warenkorb -> markenfarben, Hover dunkel (rt-rebrand-optik Z.36-42) === */
.button,.button.alt,button.single_add_to_cart_button,.single_add_to_cart_button,.wp-block-button__link,.added_to_cart,.add_to_cart_button,
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce-page a.button,
.checkout-button,button[name="apply_coupon"],button[name="update_cart"],input[type="submit"].button{background-color:var(--brand-buy)!important;border-color:var(--brand-buy)!important;color:var(--brand-weiss)!important;}
.button:hover,.button.alt:hover,.single_add_to_cart_button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.add_to_cart_button:hover,.checkout-button:hover,input[type="submit"].button:hover,
a.wc-forward:hover,.widget_shopping_cart .buttons a:hover,.woocommerce-mini-cart__buttons a:hover,.site-header-cart a.button:hover{background-color:var(--brand-buy-hover)!important;border-color:var(--brand-buy-hover)!important;color:var(--brand-weiss)!important;}
/* Mini-Cart-Buttons (Warenkorb anzeigen / Kasse) Grundzustand markenfarben (rt-rebrand-optik Z.42) */
.widget_shopping_cart .buttons a.button,.woocommerce-mini-cart__buttons a.button{background-color:var(--brand-buy)!important;border-color:var(--brand-buy)!important;color:var(--brand-weiss)!important;}

/* === Sale-Badge orange (rt-rebrand-optik Z.44) === */
.onsale,.shoptimizer-onsale-percentage{background-color:var(--brand-primary);color:var(--brand-weiss);}

/* === Content-Links orange, Hover schwarz (Nav/Footer/Buttons ausgenommen) (rt-rebrand-optik Z.46-50) === */
.site-main a:not(.button):not(.wp-block-button__link):not(.add_to_cart_button):not(.added_to_cart),
.entry-content a:not(.button):not(.wp-block-button__link),
.woocommerce-tabs .panel a,.product .description a{color:var(--brand-link);}
.site-main a:not(.button):not(.wp-block-button__link):not(.add_to_cart_button):hover,
.entry-content a:not(.button):not(.wp-block-button__link):hover{color:var(--brand-link-hover)!important;}

/* === Breadcrumbs: Links dunkel, Hover orange, aktiver Teil orange (rt-rebrand-optik Z.52-54) === */
.woocommerce-breadcrumb{color:var(--brand-primary);}
.woocommerce-breadcrumb a,.shoptimizer-breadcrumb a{color:var(--brand-breadcrumb-link)!important;}
.woocommerce-breadcrumb a:hover,.shoptimizer-breadcrumb a:hover{color:var(--brand-primary)!important;}

/* === Preise orange (rt-rebrand-optik Z.56 nutzte --rt-primary-hover) === */
.woocommerce-Price-amount.amount,.price .amount,.price ins .amount{color:var(--brand-price)!important;}

/* === Produkt-Titel dunkel (rt-rebrand-optik Z.58-59) === */
.woocommerce ul.products li.product .woocommerce-loop-product__title,ul.products li.product h2,.woocommerce-loop-product__title{color:var(--brand-product-title)!important;}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{color:var(--brand-primary)!important;}

/* === Produkt-Tabs orange (inaktiv=orange Button, aktiv=weiss+orange Unterstrich) (rt-rebrand-optik Z.61-64) === */
.woocommerce-tabs ul.tabs li{background-color:var(--brand-primary)!important;border-color:var(--brand-primary);}
.woocommerce-tabs ul.tabs li a{color:var(--brand-weiss)!important;}
.woocommerce-tabs ul.tabs li.active{background-color:var(--brand-weiss)!important;border-bottom-color:var(--brand-primary);}
.woocommerce-tabs ul.tabs li.active a{color:var(--brand-primary)!important;}

/* === Eingabefelder / Rahmen (Adresse/Name/Checkout) -> orange-Fokus (rt-rebrand-optik Z.66) === */
input:focus,textarea:focus,select:focus,.input-text:focus,.select2-container--open .select2-selection,.select2-container--focus .select2-selection{border-color:var(--brand-primary)!important;border-width:2px!important;outline:none!important;box-shadow:0 0 0 3px rgba(var(--brand-primary-rgb),0.30)!important;}

/* === Checkboxen / Radios orange (rt-rebrand-optik Z.68) === */
input[type="checkbox"],input[type="radio"]{accent-color:var(--brand-primary);}

/* === Hinweis-/Info-Boxen orange (Gutschein-Box .woocommerce-info bleibt voll-orange) (rt-rebrand-optik Z.70-71) === */
.woocommerce-info,.woocommerce-message{border-top-color:var(--brand-primary)!important;}
.woocommerce-info::before,.woocommerce-message::before{color:var(--brand-primary)!important;}
/* 07-03 (Yasin-Screenshot): Shoptimizer faerbt .woocommerce-info VOLL-BLAU (z.B. leere
   Kategorie "Es wurden keine Produkte gefunden") -> Hintergrund auf Markenorange. */
.woocommerce-info{background-color:var(--brand-primary)!important;color:#fff!important;}
.woocommerce-info a{color:#fff!important;text-decoration:underline!important;}

/* Validierungs-/Fehler-Box -> heller bg, orange Rahmen (rt-rebrand-optik Z.73-74) */
.woocommerce-error,.woocommerce-NoticeGroup .woocommerce-error,.woocommerce form .woocommerce-error,.checkout .woocommerce-error,body .woocommerce .woocommerce-error,.woocommerce-NoticeGroup-checkout>.woocommerce-error{border:1px solid var(--brand-primary)!important;border-radius:8px!important;background-color:var(--brand-notice-box-bg)!important;background:var(--brand-notice-box-bg)!important;color:var(--brand-error-text)!important;}
.woocommerce-error::before,.woocommerce-error li::before{color:var(--brand-primary)!important;}

/* Germanized-Hinweis (.wc-gzd-edit-data-notice) + Zahlungs-Box (.payment_box): oranger Rahmen + heller
   Orange-Hintergrund (inkl. Pfeil-Spitze). Hohe Spezifitaet noetig (rt-rebrand-optik Z.77-79). */
.woocommerce-checkout #payment .payment_methods li .payment_box,#payment .payment_methods li .payment_box{background-color:var(--brand-payment-box);border:1px solid var(--brand-primary);}
body.woocommerce-checkout form.checkout .wc-gzd-edit-data-notice,.woocommerce-checkout form.checkout .wc-gzd-edit-data-notice{background-color:var(--brand-germanized-box)!important;border-color:var(--brand-primary)!important;}
#payment .payment_methods li .payment_box::before,.payment_box::before{border-bottom-color:var(--brand-notice-box-bg);}

/* === Trennlinien orange (rt-rebrand-optik Z.87) === */
hr,.wp-block-separator,.su-divider,.shoptimizer-divider,.woo-sc-hr{border-color:var(--brand-primary);background-color:transparent;color:var(--brand-primary);}

/* === Bullets orange (BRG/Listen) (rt-rebrand-optik Z.89) === */
.brg li::before,ul.brg li::before,.bullet-list li::before,.entry-content ul.brg li::marker{color:var(--brand-primary)!important;}

/* === Brand-Bullets (1:1 aquacentrum-bullets-brg.php, v2; FLAG 3 re-homed 2026-06-20) ===
   Echte ::before-Kreise (9px) in Content-Listen; Farbe #d9870f -> var(--brand-primary-hover).
   Geometrie pixelgleich: padding-left:18px am >li, Dot left:0 + top:0.7em + translateY(-50%).
   Selektoren EXAKT wie Plugin: html body <cont> ul:not(...)/>li/::before, ol >li::marker.
   :not()-Kette schliesst Funktions-/Widget-Listen aus. Damit kann bullets-brg deaktiviert werden. */
html body .entry-content ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"]),
html body .woocommerce-Tabs-panel ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"]),
html body .ewd-ufaq-faq-body ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"]),
html body .footer_single ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"]){margin-left:0!important;padding-left:0!important;list-style:none!important}
html body .entry-content ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li,
html body .woocommerce-Tabs-panel ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li,
html body .ewd-ufaq-faq-body ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li,
html body .footer_single ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li{position:relative!important;list-style:none!important;padding-left:18px!important;margin-left:0!important;text-indent:0}
html body .entry-content ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::before,
html body .woocommerce-Tabs-panel ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::before,
html body .ewd-ufaq-faq-body ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::before,
html body .footer_single ul:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::before{content:""!important;position:absolute!important;display:block!important;left:0!important;top:0.7em!important;transform:translateY(-50%);width:9px!important;height:9px!important;border-radius:50%!important;background:var(--brand-primary-hover);background-image:none;margin:0}
html body .entry-content ol:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::marker,
html body .woocommerce-Tabs-panel ol:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::marker,
html body .ewd-ufaq-faq-body ol:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::marker,
html body .footer_single ol:not([id]):not(.checkout-bar):not(.products):not(.tabs):not(.wc-tabs):not(.cart_list):not(.product_list_widget):not(.commentlist):not([class*="woocommerce"]):not([class*="payment"]):not([class*="shipping"])>li::marker{color:var(--brand-primary-hover);font-weight:600}

/* === Checkout-Schritte / Stepper orange (rt-rebrand-optik Z.91-93) === */
.shoptimizer-checkout-steps li.active,.checkout-step.active{border-color:var(--brand-primary);color:var(--brand-primary)!important;}
/* Shoptimizer .checkout-bar: gruener Fortschrittsstrich (#3bb54a) -> markenfarben (Stepper) */
.checkout-bar::before,.checkout-bar li.active::before,.checkout-bar li.active::after,.checkout-bar li.visited::before,.checkout-bar li.visited::after{background-color:var(--brand-stepper)!important;}

/* === Warenkorb-Symbol: FontAwesome Einkaufskorb via Variable (KANON #7; rt-rebrand-optik Z.96).
   Hohe Spezifitaet noetig — Theme setzt .main-header .site-header-cart .cart-contents::before (3 Klassen). === */
.main-header .site-header-cart a.cart-contents::before,body .main-header .site-header-cart a.cart-contents::before,body .site-header-cart a.cart-contents::before,a.cart-contents::before{content:var(--brand-cart-icon)!important;font-family:"FontAwesome"!important;}


/* =====================================================================================
 * v2-ZUWACHS (2026-06-20): Konsolidierung der 14 hartcodierten Quellen -> markenneutral.
 * Jede Marken-/Akzentfarbe -> var(--brand-*). KEINE Borlabs-Selektoren (KANON #2).
 * AQC-Blautoene als distinkte Tokens: --brand-accent-blue (#1a5a96), -2 (#1a5a8e),
 *   -3 (#1c5a94), -dark (#0d3b6e). Grau/Weiss/Schwarz + data-URI-Farben bleiben literal.
 * Bullets (aquacentrum-bullets-brg) jetzt 1:1 reproduziert (s. Block oben, FLAG 3 v2):
 *   echte ::before-Kreise fuer .entry-content/.woocommerce-Tabs-panel/.ewd-ufaq-faq-body/.footer_single.
 * ===================================================================================== */


/* ============================================================
   QUELLE: aquacentrum-cart-checkout-optik (Cart/Checkout-Optik)
   ============================================================ */
.woocommerce-cart #coupon_code{ border:1px solid var(--brand-primary); border-radius:4px; background:#fff; }
.woocommerce-cart .cart_totals table,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th{ background:#fff; }
.woocommerce-cart .cart_totals table{ border:1px solid var(--brand-primary); border-radius:4px; overflow:hidden; }
.woocommerce-cart .coupon{ flex-wrap:wrap !important; gap:8px !important; }
.woocommerce-cart td.actions .coupon{ align-items:flex-start !important; }
.woocommerce-cart .coupon #coupon_code{ flex:1 1 auto !important; min-width:140px; width:auto !important; }
.woocommerce-cart .coupon button[name="apply_coupon"]{ flex:0 0 auto; width:auto !important; }
@media (min-width:768px){ body.woocommerce-checkout #main.site-main{ padding-top:70px !important; } }
@media (max-width:767px){ body.woocommerce-checkout #main div.checkout-wrap{ margin-top:16px !important; } }
.woocommerce-cart .cart_item .quantity{ border:1px solid var(--brand-primary); border-radius:4px; }
.woocommerce-cart .cart_item .quantity input.qty,
.woocommerce-cart .cart_item .quantity.buttons_added{ font-size:16px !important; font-weight:700 !important; }
.woocommerce-cart .cart_item .quantity.buttons_added{ text-align:center; }
.woocommerce-cart #coupon_code:focus,
.woocommerce-cart .cart_item .quantity:focus-within{ outline:2px solid rgba(var(--brand-primary-rgb),0.40) !important; outline-offset:2px !important; }
.woocommerce-cart .cart_item .product-price del,
.woocommerce-cart .cart_item .product-subtotal del{ text-decoration:none; position:relative; display:inline-block; }
.woocommerce-cart .cart_item .product-price del::after,
.woocommerce-cart .cart_item .product-subtotal del::after{ content:""; position:absolute; left:0; right:0; top:calc(50% - 2px); border-top:1px solid currentColor; }

/* ============================================================
   QUELLE: aquacentrum-footer-typografie (Footer-Typografie/Optik)
   ============================================================ */
/**
 * Desktop Typografie v7.0: Universal + Desktop Split
 *
 * v6.3 → v7.0: Universelle Styles aus @media (min-width: 1200px) herausgeloest,
 * damit font-weight/font-size auf ALLEN Viewports wirken (auch Mobile/Tablet).
 * Desktop-spezifische Styles (Nav, Suche, Warenkorb, Chevrons) bleiben im Media Query.
 *
 * Aeltere Versionen:
 * v6.2 → v6.3: .footer-widgets → .site-footer .col-full
 * v6 → v6.1: Lupe top:9px→15px, Chevrons margin 6→4px, Copyright p/a 15px/700
 */

/* ============================================================
   SEKTION 1: UNIVERSELLE TYPOGRAFIE (alle Viewports)
   ============================================================ */

/* === GLOBALE UEBERSCHRIFTEN === */

h2 {
  font-weight: 700 !important;
}

h3 {
  font-weight: 700 !important;
}

h4 {
  font-weight: 700 !important;
}

/* === TIER 2: Kleinste Schrift (12px, semi-bold) === */

.woocommerce-breadcrumb {
  font-weight: 600;
}

.legal-price-info,
.legal-price-info a {
  font-size: 12px;
  font-weight: 600;
}

.woocommerce-review-link,
.woocommerce-product-rating .woocommerce-review-link {
  font-size: 12px;
  font-weight: 600;
}

/* === FOOTER Widget-Titel groesser + bold === */

.site-footer .widget .widgettitle,
.site-footer .widget .widget-title,
.site-footer .widget-title span,
.site-footer .col-full .widgettitle,
.site-footer .col-full .widget-title {
  font-size: 14px !important;
  font-weight: 700 !important;
}

/* === FOOTER BOTTOM BAR (Copyright-Sektion) === */

section.copyright_sec {
  font-size: 15px;
  font-weight: 700;
}

section.copyright_sec p {
  font-size: 15px !important;
  font-weight: 700 !important;
}

section.copyright_sec a {
  font-size: 15px;
  font-weight: 700;
}

section.copyright_sec li {
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Social Icons Container */
.site-footer #credit {
  font-size: 15px !important;
  font-weight: 700 !important;
}

.site-footer #credit a {
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* === FOOTER WIDGETS Inhalt bold === */

.site-footer .widget a,
.site-footer .widget p,
.site-footer .widget li,
.site-footer .widget .textwidget {
  font-weight: 700 !important;
}

/* === FOOTER SINGLE: Theme Height Override === */
/* Shoptimizer setzt ab 800px eine fixe Hoehe (439px) die den Content abschneidet */

#content .shoptimizer-archive .footer_single {
  height: auto !important;
}

/* === AI-ASSISTENT BUTTON: Bold + groesseres Icon === */

section.footer_single button[onclick] {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

/* ============================================================
   SEKTION 2: DESKTOP-SPEZIFISCH (nur ab 1200px)
   Navigation, Suche, Warenkorb — auf Mobile durch ShiftNav ersetzt
   ============================================================ */

@media (min-width: 1200px) {

  /* === HAUPTNAVIGATION: Fett, 15px === */

  .col-full-nav .main-navigation .menu > li > a {
    font-size: 15px;
    font-weight: 700;
  }

  .col-full-nav .site-header-cart .cart-contents .amount {
    font-weight: 700 !important;
  }

  .secondary-navigation .menu > li > a {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--brand-primary) !important;
  }

  /* Suchfeld: Text blau + bold + BLAUER RAHMEN */
  .site-search input[type="search"] {
    font-weight: 700 !important;
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary);
    border-radius: 5px;
  }

  .site-search input[type="search"]::placeholder {
    font-weight: 700 !important;
    color: var(--brand-primary) !important;
  }

  /* Such-Lupe: 24px + MITTIG zentriert */
  .site-search form::before {
    background-color: var(--brand-primary);
    width: 24px;
    height: 24px;
    top: 15px;
  }

  .col-full-nav .site-header-cart .cart-contents .count {
    font-weight: 700 !important;
  }

  /* === Nav Chevrons: naeher am Text + groesser === */

  .col-full-nav .main-navigation .menu > li.menu-item-has-children > a::after {
    width: 16px !important;
    height: 16px !important;
    margin-left: 4px;
  }

}


/* Mobile Breadcrumb: Header-Gap Fix
 * max-width: 1199px deckt ALLE Mobile-Viewports ab (Desktop-Header startet erst ab ~1200px CSS)
 * Reduziert content padding + breadcrumb margin auf je 5px → einheitlicher ~10px Abstand
 */
@media (max-width: 1199px) {
  #content {
    padding-top: 5px !important;
  }
  .woocommerce-breadcrumb {
    margin-top: 5px !important;
  }
}

/* Viewport 4 Fix: .col-full verliert padding bei 993-1199px → manuell hinzufügen */
@media (min-width: 993px) and (max-width: 1199px) {
  .woocommerce-breadcrumb,
  .woodmart-breadcrumbs {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* Produktseiten: Footer_Single weißer Streifen Fix
 * .footer_single hat padding-bottom: 50px → erzeugt ~143px weißen Streifen
 * Nur auf .single-product Seiten, nicht auf Kategorie- oder anderen Seiten
 */
.single.single-product.product-template-default .footer_single {
  padding-bottom: 0;
}

/* ================================================================ */
/* FOOTER KOMPLETT-STYLING — Aquacentrum.de                        */
/* WPCode Snippet 125482 (konsolidiert)                            */
/* ================================================================ */
/* Zusammengefuehrt aus:                                            */
/* - 125311: Footer Bottom Bar Layout + Social Icons               */
/* - 125312: Footer Widget Spalten Responsive                      */
/* - 125482: Footer Copyright Mobile Spacing + Mini-Warenkorb      */
/* - 125318 Sektionen 2b/2c: Bottom Menu Spacing                   */
/* - 125318 Sektion 3: Footer Link-Farben                          */
/* - 125301 Fix 10: Copyright z-index + #credit clear              */
/* ================================================================ */


/* ============================================ */
/* 1. FOOTER WIDGETS — Responsive Grid         */
/* ============================================ */
/* (ex Snippet 125312) */

/* 1a. Mobile klein (unter 480px): 1 Spalte */
@media (max-width: 479px) {
    .site-footer > .col-full {
        display: grid !important;
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
        row-gap: 0.5rem !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .site-footer > .col-full > .widget {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* 1b. Mobile mittel (480-767px): 2x2 Grid */
@media (min-width: 480px) and (max-width: 767px) {
    .site-footer > .col-full {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 0.5rem !important;
        row-gap: 0.5rem !important;
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    .site-footer > .col-full > .widget {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}

/* 1c. Tablet (768-992px): 2x2 Grid */
@media (min-width: 768px) and (max-width: 992px) {
    .site-footer > .col-full {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        column-gap: 1rem !important;
        row-gap: 1rem !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    .site-footer > .col-full > .widget {
        width: 100% !important;
        min-width: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* 1d. Desktop (ab 993px): Widget-Padding reduziert */
@media (min-width: 993px) {
    .site-footer > .col-full > .widget {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}


/* ============================================ */
/* 2. FOOTER BOTTOM BAR — Layout + Icons       */
/* ============================================ */
/* (ex Snippet 125311) */

/* 2a. Hintergrund: Immer dunkel */
.copyright_sec {
    background-color: #333 !important;
    overflow: hidden;
    padding: 18px 0 !important;
}

/* 2b. Container: Flexbox, alles in einer Zeile */
.copyright_sec .col-12 {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}

/* 2c. Copyright-Text: Nicht umbrechen */
.copyright_sec .col-12 > p {
    margin: 0 !important;
    white-space: nowrap;
}

/* 2d. Impressum/AGB: Weisse Schrift, bold, kein float */
.copyright_sec ul {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap;
}
.copyright_sec ul,
.copyright_sec ul a,
.copyright_sec ul li,
.copyright_sec ul li a {
    color: #fff !important;
    font-weight: 700;
}

/* 2e. Icon-Container: Rechts pushen via margin-left auto */
#credit {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 8px;
    float: none !important;
    margin: 0 !important;
    margin-left: auto !important;
    padding: 0 !important;
}

/* 2f. Social Icons: 48px quadratisch, abgerundet */
#credit .social-slide {
    width: 48px !important;
    height: 48px !important;
    border-radius: 8px;
    overflow: hidden;
}

/* 2g. FB-Groups Bilder: Seitenverhaeltnis beibehalten */
#credit a img {
    height: 51px !important;
    width: auto !important;
    border-radius: 8px;
    object-fit: contain;
}
#credit a {
    line-height: 0;
    display: inline-flex;
}

/* 2h. fbGroup verstecken (JS verschiebt Links in #credit) */
#fbGroup {
    display: none;
}

/* 2i. Mobile + Tablet: Gestapelt + zentriert (unter 992px) */
@media (max-width: 991px) {
    .copyright_sec .col-12 {
        flex-direction: column;
        text-align: center;
    }
    #credit {
        margin-left: 0 !important;
        justify-content: center;
        flex-wrap: wrap;
    }
    .copyright_sec ul {
        text-align: center;
    }
}

/* 2j. Kleinste Viewports: Social Icons in einer Zeile */
@media (max-width: 479px) {
    #credit {
        gap: 4px !important;
        flex-wrap: nowrap !important;
    }
    #credit .social-slide {
        width: 40px !important;
        height: 40px !important;
    }
    #credit a img {
        height: 43px !important;
    }
}


/* ============================================ */
/* 3. MOBILE FOOTER SPACING                    */
/* ============================================ */
/* (ex Snippet 125482 + 125301 Fix 10 + 125318 Sektionen 2b/2c) */

/* 3a. Mobile/Tablet (unter 1206px): Flexbox Layout fuer Copyright */
@media (max-width: 1205px) {
    body section.copyright_sec .container {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 10px 20px;
    }
    body section.copyright_sec p,
    body section.copyright_sec ul,
    body section.copyright_sec #credit {
        float: none !important;
    }
    body section.copyright_sec #credit {
        margin-top: 4px !important;
    }
    /* Impressum/AGB klickbar ueber #credit (z-index fix) */
    body section.copyright_sec ul {
        position: relative !important;
        z-index: 10 !important;
    }
    body section.copyright_sec #credit {
        clear: left !important;
    }
}

/* 3b/3b2 ENTFERNT (07-02): #wp-bottom-menu ist das ALTE AQ-Plugin-Element (Plugin deaktiviert,
   Element nicht im DOM). Die display:flex-Regel widersprach Z.17 (display:none) und dem
   rt-mobile-bottom-bar-mu-plugin (#rt-bottom-bar hat eigenes CSS). */

/* 3c. Body/Footer Spacing: Plugin padding-bottom ueberschreiben */
/* WP Bottom Menu Plugin setzt body.paddingBottom per JS — wir uebernehmen via copyright_sec */
/* Theme (Shoptimizer) setzt #content padding-bottom: 42px — ebenfalls ueberschreiben */
#content.site-content {
    padding-bottom: 0;
}
body {
    padding-bottom: 0;
}
.site-footer {
    padding-bottom: 0;
    margin-bottom: 0;
}
body section.copyright_sec {
    padding-top: 12px !important;
    padding-bottom: 60px !important; /* ~10px visuell + ~50px Bottom-Menu Clearance */
    margin-bottom: 0 !important;
}

/* 3d. Ab 480px: Grauer Abstand zu Widgets + zentriertes Copyright */
@media (min-width: 480px) {
    body section.copyright_sec {
        border-top: 12px solid #f0f0f0 !important;
        padding-top: 16px !important;
        padding-bottom: 60px !important; /* ~10px visuell + ~50px Bottom-Menu */
    }
}

/* 3e. padding-bottom = 79px (20px sichtbar + 59px hinter Bottom-Menu) */
/* #content.site-content padding-bottom auf 0 gesetzt (Theme-Default war 42px) */

/* ============================================ */
/* 4. FOOTER LINK-FARBEN + UNTERSTREICHUNG     */
/* ============================================ */
/* (ex Snippet 125318 Sektionen 3 + 6, footer-Teil) */

/* 4a. Footer Links: blau auf grau (4.77:1 Kontrast) */
.site-footer a,
.site-footer .widget a,
.site-footer .widget li a {
    color: var(--brand-primary) !important;
}

/* 4b. Footer Links: Unterstreichung */
.site-footer .widget a {
    text-decoration: underline !important;
}

/* 4c. Ausnahme: Nav-Links im Footer NICHT unterstreichen */
.site-footer .widget .menu a,
.site-footer .widget nav a,
.site-footer ul.menu a {
    text-decoration: none !important;
}


/* ============================================ */
/* 5. MINI-WARENKORB — Bilder quadratisch      */
/* ============================================ */
/* (ex Snippet 125482) */

.woocommerce-mini-cart-item img,
.woocommerce-mini-cart__item img,
.mini_cart_item img,
.widget_shopping_cart_content .mini_cart_item img {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px;
    min-height: 90px;
    object-fit: cover !important;
    border-radius: 6px !important;
}


/* ============================================ */
/* 6. MINI-WARENKORB  Bottom Menu Clearance   */
/* ============================================ */
/* Kasse-Button war vom #wp-bottom-menu (70px, z-index:9999) verdeckt */
/* padding-bottom schiebt Buttons ueber das Bottom-Menu */

#shoptimizerCartDrawer .widget_shopping_cart_content {
	    padding-bottom: 80px;
}

/* 4. ENTFERNT (07-02): #menu-item-90378 (Sprachauswahl "Deutsch" verstecken) — verwaiste
   AQ-Menu-Item-ID, existiert auf RT196 nicht. */

/* 5. Hover-Feedback: Unterstrich bei Links im Footer + Bottom-Menu */
/* Footer Widget Links (Videobeitraege, Beitraege, Aquacentrum Muenchen) */
footer.site-footer .widget_nav_menu a:hover,
footer.site-footer .widget_text a:hover,
footer.site-footer .widget a:hover {
    color: #333333 !important;
    text-decoration: underline !important;
}

/* Bottom Menu Links */
#wp-bottom-menu a:hover {
    text-decoration: underline !important;
}

/* Sprache-Label (GTranslate Widget) — Hover-Unterstrich */
#wp-bottom-menu .gt-flag-menu-item:hover .gt-menu-label {
    text-decoration: underline !important;
}

/* Copyright-Bereich Links (Impressum, AGBs) haben schon Unterstrich */


/* ============================================ */
/* 7. HEADER WARENKORB REDESIGN                 */
/* ============================================ */
/* Warenkorb-Preis aus blauer Nav entfernen,     */
/* Theme Cart-Widget im weissen Header einblenden */

/* 7a. Warenkorb aus blauer Nav-Leiste entfernen */
.shoptimizer-primary-navigation .site-header-cart {
    display: none;
}

/* 7b. Alten "Warenkorb"-Menuepunkt im weissen Header ausblenden */
/* 03.09.2026 ID→Slug: tote Menü-ID 125147, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125147 {
    display: none;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* 7c. Theme Cart-Widget im weissen Header einblenden */
.main-header nav.site-header-cart {
    display: flex;
    align-items: center;
    align-self: center;
    padding-left: 0;
    margin-left: 18px;
    border: none;
}

/* 7d. Cart-Icon + Betrag vertikal (wie Kontakt/Mein Konto) */
.main-header .site-header-cart .cart-contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    color: var(--brand-primary);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    border: none;
    border-left: 1px solid var(--brand-primary) !important;
    background: none;
    cursor: pointer;
    padding: 5px 15px 0 20px;
    margin-left: 0;
    line-height: 1.2;
    text-align: center;
}
.main-header .site-header-cart .cart-contents:hover {
    opacity: 0.8;
}

/* 7e. Wagen-Icon per Font Awesome (wie Bottom-Menu) */
.main-header .site-header-cart .cart-contents::before {
    content: none /* fixed in mu-plugin: was f07a */;
    font-family: FontAwesome;
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--brand-primary);
}

/* 7f. Betrag unter dem Icon */
.main-header .site-header-cart .cart-contents .amount {
    font-size: 14px;
    font-weight: 600;
    order: 2;
}

/* 7g. Anzahl-Badge ausblenden (Preis reicht) */
.main-header .site-header-cart .cart-contents .count {
    display: none;
}

/* 7h. Blaue Trennstriche zwischen Header-Items */
/* ============================================ */
/* 8. HEADER — Desktop kompakter                 */
/* ============================================ */
/* Header ~30% duenner: weniger Padding + kleineres Logo */

@media (min-width: 1200px) {
    body .main-header {
        padding-top: 0;
        padding-bottom: 0;
        max-height: 65px;
        overflow: visible;
    }
    body .main-header .site-header-cart {
        max-height: 60px !important;
    }
    body .main-header .site-header-cart .cart-contents {
        padding-top: 2px !important;
    }
    .custom-logo {
        max-width: 228px;
        height: auto !important;
    }
}

/* ============================================ */
/* 9. HEADER ICONS — Font Awesome statt SVG      */
/* ============================================ */

/* 9a. SVG-Icons bei Kontakt + Mein Konto ausblenden */
/* 03.09.2026 ID→Slug: tote Menü-ID 125570 / 91724 / 90309, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125570 .icon-wrapper,
#menu-item-91724 .icon-wrapper,
#menu-item-90309 .icon-wrapper {
    display: none !important;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* 9b. Kontakt + Mein Konto Links vertikal (Icon ueber Text) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125570 / 91724 / 90309, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125570 > a,
#menu-item-91724 > a,
#menu-item-90309 > a {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 5px 15px 0 20px;
    text-decoration: none;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

  /* 9b1. Trennstriche gleich hoch + gleich dick */
  .secondary-navigation ul li a {
      height: 45px !important;
      overflow: visible;
  }
  .secondary-navigation ul li::before {
      width: 1px !important;
  }

/* 9b2. Mein Konto — mehr Abstand links zur Trennlinie */
/* 03.09.2026 ID→Slug: tote Menü-ID 90309, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-90309 > a {
    padding-left: 25px !important;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* 9c. Kontakt — Telefon-Icon (Font Awesome) */
/* 03.09.2026 ID→Slug: tote Menü-ID 91724, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-91724 > a::before {
    content: none (* fixed in mu-plugin: was f095 *);
    font-family: FontAwesome;
    font-size: 24px;
    font-weight: 400;
    color: var(--brand-primary);
    line-height: 1;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* 9d. Blog — Pencil-Square-Icon (Font Awesome) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125570, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125570 > a::before {
    content: none (* fixed in mu-plugin: was f044 *);
    font-family: FontAwesome;
    font-size: 24px;
    font-weight: 400;
    color: var(--brand-primary);
    line-height: 1;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* 9e. Mein Konto — User-Icon (Font Awesome) */
/* 03.09.2026 ID→Slug: tote Menü-ID 90309, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-90309 > a::before {
    content: none (* fixed in mu-plugin: was f007 *);
    font-family: FontAwesome;
    font-size: 24px;
    font-weight: 400;
    color: var(--brand-primary);
    line-height: 1;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* === Footer Widget Links: kein Underline (nur auf Hover) === */
footer.site-footer .widget_text a {
  text-decoration: none !important;
}
footer.site-footer .widget_text a:hover {
  text-decoration: underline !important;
}

  /* Fix: Header-Suchfeld breiter — Abstände vereinheitlichen (20.04.2026) */
  .main-header.col-full .site-search {
    margin-left: 20px;
  }
  .main-header.col-full .secondary-navigation {
    padding-left: 1px;
  }

  /* Fix: Menü-Abstände kompakter für breiteres Suchfeld */
/* 03.09.2026 ID→Slug: tote Menü-ID 125570 / 91724 / 90309, Item existiert nicht mehr — Regel entfernt. Original:
  .secondary-navigation #menu-item-125570 > a,
  .secondary-navigation #menu-item-91724 > a,
  .secondary-navigation #menu-item-90309 > a {
    padding-left: 15px !important;
    padding-right: 10px;
  }
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* Archiv/Kategorie/Blog/FAQ Schriftgroesse Fix (Desktop) */
/* Problem: Shoptimizer Theme reduziert Schrift auf Archiv-Seiten auf ~93.75% (13.125px statt 14px) */
/* Fix: Fliesstexte auf Archiv-Seiten auf gleiche Groesse wie Startseite (14px) setzen */

@media (min-width: 992px) {
    .archive .term-description,
    .archive .category-description,
    .archive .taxonomy-description,
    .tax-ufaq-category .term-description {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .archive .term-description p,
    .archive .term-description li,
    .archive .term-description ol,
    .archive .term-description ul,
    .archive .category-description p,
    .archive .taxonomy-description p,
    .tax-ufaq-category .term-description p,
    .tax-ufaq-category .term-description li {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .archive .entry-content p,
    .archive .entry-content li,
    .blog .entry-content p,
    .blog .entry-content li,
    .search .entry-content p,
    .search .entry-content li {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }

    .archive article .entry-content,
    .blog article .entry-content {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
}

/* FAQ Unterkategorien Button-Grid (Seite /faq/, ID 44626) */
/* Shortcode [faq_cards] — Nur Text-Buttons, keine Bilder */

.faq-cards-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
    margin: 20px 0 28px;
}

.faq-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    background: var(--brand-primary);
    color: #fff !important;
    border-radius: 4px;
    text-decoration: none !important;
    font-size: 15px;
    font-weight: 600;
    transition: all 0.2s ease;
    min-width: 140px;
    text-align: center;
}

.faq-card:hover {
    background: var(--brand-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--brand-primary-rgb),0.40);
    color: #fff !important;
    text-decoration: none !important;
}

.faq-card:active {
    transform: translateY(0);
}

@media (max-width: 768px) {
    .faq-cards-grid {
        gap: 10px;
    }

    .faq-card {
        padding: 12px 20px;
        font-size: 15px;
        min-width: 120px;
        flex: 1 1 calc(50% - 10px);
    }
}

@media (max-width: 480px) {
    .faq-card {
        padding: 10px 16px;
        font-size: 14px;
        min-width: 100px;
    }
}

/* ============================================================
   QUELLE: aquacentrum-myaccount-notice-fix (Account-Notice -> markenfarbene Info-Box)
   ============================================================ */
    /* WC-Notice Hintergrund: Aquacentrum-Blau statt WoodMart-Default */
    .woocommerce-account .woocommerce-info,
    .woocommerce-MyAccount-content .woocommerce-info {
        background-color: var(--brand-primary) !important;
        background: var(--brand-primary) !important;
        color: #ffffff !important;
        border-top-color: var(--brand-primary) !important;
    }
    .woocommerce-account .woocommerce-info::before,
    .woocommerce-MyAccount-content .woocommerce-info::before {
        color: #ffffff !important;
    }
    .woocommerce-account .woocommerce-info a,
    .woocommerce-MyAccount-content .woocommerce-info a {
        color: #ffffff !important;
    }

    /* WC-Notices: Inline-Buttons (.button.wc-forward) zu reinem Text-Link entgrünen */
    .woocommerce-account .woocommerce-info .button,
    .woocommerce-account .woocommerce-info .wc-forward,
    .woocommerce-account .woocommerce-info a.button,
    .woocommerce-account .woocommerce-info a.wc-forward,
    .woocommerce-MyAccount-content .woocommerce-info .button,
    .woocommerce-MyAccount-content .woocommerce-info .wc-forward {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        color: #ffffff !important;
        padding: 0 !important;
        margin: 0;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        font-size: 1em !important;
        font-weight: 700 !important;
        line-height: inherit !important;
        text-decoration: underline !important;
        text-transform: none;
        letter-spacing: normal;
        height: auto;
        min-height: 0 !important;
        display: inline !important;
        vertical-align: baseline !important;
    }
    .woocommerce-account .woocommerce-info .button:hover,
    .woocommerce-account .woocommerce-info .wc-forward:hover,
    .woocommerce-MyAccount-content .woocommerce-info .button:hover,
    .woocommerce-MyAccount-content .woocommerce-info .wc-forward:hover {
        background: transparent !important;
        background-color: transparent !important;
        color: #f0f0f0 !important;
        text-decoration: none !important;
    }
    /* Pseudo-Element-Pfeile von WoodMart-Buttons unterdrücken */
    .woocommerce-account .woocommerce-info .button:before,
    .woocommerce-account .woocommerce-info .button:after,
    .woocommerce-MyAccount-content .woocommerce-info .button:before,
    .woocommerce-MyAccount-content .woocommerce-info .button:after {
        display: none !important;
        content: none !important;
    }

/* ============================================================
   QUELLE: aquacentrum-form-unified-styles (Formular-/Checkout-Felder vereinheitlicht)
   ============================================================ */
    /* =========================================================================
       AQUACENTRUM — Unified Form Styles  v1.1
       Wirkt auf: Kasse, Mein Konto, Warenkorb, Kontaktformular
       ========================================================================= */

    /* === 1) Große Checkboxen mit blauem Rahmen (einheitlich überall) ========= */
    /* Label: Flexbox-Layout, fett */
    form.checkout label.woocommerce-form__label-for-checkbox,
    form.checkout label.checkbox,
    form.woocommerce-form-register label.woocommerce-form__label-for-checkbox,
    form.woocommerce-form-login label.woocommerce-form__label-for-checkbox,
    .woocommerce-checkout-review-order label,
    .woocommerce-terms-and-conditions-wrapper label,
    .gzd-legal-checkbox label,
    label[for="ship-to-different-address-checkbox"],
    .aqc-kontaktformular label.woocommerce-form__label-for-checkbox {
        display: flex !important;
        align-items: flex-start !important;
        gap: 10px !important;
        padding-left: 0 !important;
        margin: 0 !important;
        position: relative !important;
        font-weight: 700 !important;
        font-size: 1em !important;
        line-height: 1.4 !important;
        cursor: pointer;
    }

    /* Custom-styled Checkbox: 22x22 px, blauer Rahmen, weiß, mit Häkchen */
    form.checkout input.input-checkbox[type="checkbox"],
    form.checkout input[type="checkbox"].woocommerce-form__input-checkbox,
    form.woocommerce-form-register input[type="checkbox"],
    form.woocommerce-form-login input[type="checkbox"],
    .woocommerce-checkout-review-order input[type="checkbox"],
    .woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
    .gzd-legal-checkbox input[type="checkbox"],
    #ship-to-different-address-checkbox,
    .aqc-kontaktformular input[type="checkbox"] {
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        position: relative !important;
        left: auto !important;
        top: 2px !important;
        margin: 0 !important;
        flex-shrink: 0 !important;
        width: 22px !important;
        height: 22px !important;
        min-width: 22px !important;
        min-height: 22px !important;
        opacity: 1 !important;
        visibility: visible !important;
        cursor: pointer !important;
        background: #ffffff !important;
        border: 2px solid var(--brand-primary) !important;
        border-radius: 4px !important;
        box-shadow: none !important;
        transition: background-color 0.15s ease, border-color 0.15s ease;
    }

    /* Checked state: blauer Hintergrund + weißes Häkchen via SVG */
    form.checkout input.input-checkbox[type="checkbox"]:checked,
    form.checkout input[type="checkbox"].woocommerce-form__input-checkbox:checked,
    form.woocommerce-form-register input[type="checkbox"]:checked,
    form.woocommerce-form-login input[type="checkbox"]:checked,
    .woocommerce-checkout-review-order input[type="checkbox"]:checked,
    .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked,
    .gzd-legal-checkbox input[type="checkbox"]:checked,
    #ship-to-different-address-checkbox:checked,
    .aqc-kontaktformular input[type="checkbox"]:checked {
        background: var(--brand-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8l3.5 3.5L13 5'/%3E%3C/svg%3E") center/16px 16px no-repeat !important;
        border-color: var(--brand-primary) !important;
    }

    /* Focus-Ring für Tastaturnutzer */
    form.checkout input.input-checkbox[type="checkbox"]:focus-visible,
    .aqc-kontaktformular input[type="checkbox"]:focus-visible,
    form.woocommerce-form-register input[type="checkbox"]:focus-visible {
        outline: 2px solid var(--brand-accent-blue-2) !important;
        outline-offset: 2px !important;
    }

    /* "Lieferung an eine andere Adresse senden" — fett */
    label[for="ship-to-different-address-checkbox"],
    label[for="ship-to-different-address-checkbox"] span {
        font-weight: 700;
    }

    /* === v1.10 LAYOUT-FIX: Payment-Liste flex-li mit kompaktem Padding ======
       Theme:  #payment .payment_methods > .wc_payment_method > label { display: block }
               → Label bricht nach Input um (Yasin sah "Text unter Radio").
       Theme:  #payment .payment_methods li { padding: 0.75rem 0 }
               → Felder zu hoch (Yasin will niedriger).
       Fix: <li> wird flex-container, Label wird inline-flex.
       ========================================================================= */
    html body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method,
    html body.woocommerce-checkout #payment ul.payment_methods li.woocommerce-PaymentMethod,
    html body.woocommerce-checkout #payment ul.payment_methods li {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        column-gap: 12px;
        row-gap: 6px;
        padding: 8px 16px !important;
        margin: 0 !important;
        list-style: none !important;
        position: relative;
    }
    html body.woocommerce-checkout #payment .payment_methods > .wc_payment_method > label,
    html body.woocommerce-checkout #payment .payment_methods > .woocommerce-PaymentMethod > label,
    html body.woocommerce-checkout #payment ul.payment_methods li label {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px;
        margin: 0;
        padding: 0;  /* Theme-Default 0 1.41575em weg */
        flex: 1 1 auto;
        cursor: pointer;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #222;
        box-sizing: border-box;
    }
    /* Payment-Box (Beschreibungs-Container) bleibt full-width und unter Label */
    html body.woocommerce-checkout #payment ul.payment_methods li .payment_box {
        flex: 1 1 100%;
        margin-left: 0;
    }

    /* === 2) Custom-Radio-Buttons in der Kasse (Zahlungsart) ==================
       v1.9: Shoptimizer versteckt das native Radio mit
         #payment .payment_methods li.wc_payment_method > input[type="radio"]:first-child {
            clip: rect(1px,1px,1px,1px); position: absolute !important;
         }
       und nutzt ein Pseudo-Element auf <label>::before als "Custom Radio" mit
       :checked + label:before { background-color: #dc9814 } → ORANGE.
       (04.09.2026 W4: der Text unten stammt aus der Blau-Aera; heute ist die
       Marke selbst orange — "blau" hier historisch lesen.)
       Wir holen das native Radio raus (clip auto + position static), stylen es
       blau wie #shipping_method, und blenden das Theme-Pseudo aus.
       ========================================================================= */
    body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"],
    body.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"]:first-child,
    body.woocommerce-checkout #payment .payment_methods li.woocommerce-PaymentMethod > input[type="radio"]:first-child,
    .woocommerce-checkout ul.payment_methods input[type="radio"],
    form.checkout ul.payment_methods input[type="radio"] {
        clip: auto;
        clip-path: none;
        position: static !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
        margin: 0 12px 0 0;
        padding: 0;
        background: #ffffff;
        border: 2px solid var(--brand-primary);
        border-radius: 50%;
        cursor: pointer;
        flex-shrink: 0;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        vertical-align: middle;
        box-shadow: none !important;
        opacity: 1;
    }
    html body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked,
    body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked,
    .woocommerce-checkout ul.payment_methods input[type="radio"]:checked,
    form.checkout ul.payment_methods input[type="radio"]:checked {
        /* v1.11: box-shadow:inset Trick — robust in allen Browsern.
           Background = blau (= Punkt-Farbe), Inset white 4px = weißer Ring innen
           → blauer Punkt 10x10px in der Mitte sichtbar. */
        border-color: var(--brand-primary) !important;
        background-color: var(--brand-primary) !important;
        background-image: none !important;
        box-shadow: inset 0 0 0 4px #ffffff !important;
    }
    body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:focus-visible,
    .woocommerce-checkout ul.payment_methods input[type="radio"]:focus-visible,
    form.checkout ul.payment_methods input[type="radio"]:focus-visible {
        outline: 2px solid var(--brand-accent-blue-2) !important;
        outline-offset: 2px !important;
    }
    /* Theme-Pseudo-Element <label>::before deaktivieren — das war der orange Punkt */
    body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] + label::before,
    body.woocommerce-checkout #payment ul.payment_methods li input[type="radio"]:checked + label::before,
    body.woocommerce-checkout #payment .payment_methods li.wc_payment_method > input[type="radio"]:first-child:checked + label:before,
    body.woocommerce-checkout #payment .payment_methods li.woocommerce-PaymentMethod > input[type="radio"]:first-child:checked + label:before {
        display: none !important;
        content: none !important;
        background: transparent !important;
    }

    /* === 3) Blaue Rahmen für alle Eingabefelder (wie Suchbegriff) ============ */
    form.checkout .form-row input.input-text,
    form.checkout .form-row textarea,
    form.checkout .form-row select,
    form.woocommerce-form-register input.input-text,
    form.woocommerce-form-register textarea,
    form.woocommerce-form-register select,
    form.woocommerce-form-login input.input-text,
    .woocommerce form .form-row input.input-text,
    .woocommerce form .form-row textarea,
    .woocommerce form .form-row select,
    .aqc-kontaktformular input.input-text,
    .aqc-kontaktformular textarea,
    .aqc-kontaktformular select {
        border: 1px solid var(--brand-primary);
        border-radius: 4px;
    }

    /* Focus state — etwas dunkler + dezenter Glow */
    form.checkout .form-row input.input-text:focus,
    form.checkout .form-row textarea:focus,
    form.checkout .form-row select:focus,
    form.woocommerce-form-register input.input-text:focus,
    form.woocommerce-form-register textarea:focus,
    .woocommerce form .form-row input.input-text:focus,
    .woocommerce form .form-row textarea:focus,
    .aqc-kontaktformular input.input-text:focus,
    .aqc-kontaktformular textarea:focus {
        border-color: var(--brand-primary) !important;
        box-shadow: 0 0 0 3px rgba(var(--brand-primary-rgb),0.30) !important;
        outline: none !important;
    }

    /* Auch Select2 / selectWoo Container — blauer Rahmen */
    form.checkout .select2-container--default .select2-selection--single,
    form.woocommerce-form-register .select2-container--default .select2-selection--single,
    .aqc-kontaktformular .select2-container--default .select2-selection--single {
        border: 1px solid var(--brand-primary);
        border-radius: 4px;
    }

    /* === 4) Zahlungsart-Box: blauer Rahmen + Innen-Padding =================== */
    .woocommerce-checkout #payment,
    .woocommerce-checkout ul.payment_methods {
        border-radius: 4px;
    }
    .woocommerce-checkout ul.payment_methods {
        border: 1px solid var(--brand-primary) !important;
        padding: 8px;
    }
    .woocommerce-checkout ul.payment_methods li {
        padding: 14px 16px !important;
        margin: 0 !important;
        list-style: none !important;
    }
    .woocommerce-checkout ul.payment_methods li label {
        display: inline-flex !important;
        align-items: center !important;
        font-weight: 700 !important;
    }
    /* WP3 2026-07-06 (Blocker #4, Kriegsende): bg/border-Farben RAUS — sie
       gewannen nie: Kanon-Regel Z.~89 (#payment …, RT-Rebrand, höhere
       Spezifität) liefert --brand-payment-box + 1px solid --brand-primary.
       Diese Regel macht nur noch Layout. (#f6fafd/#cce0ee = AC-Blau-Ära.) */
    .woocommerce-checkout ul.payment_methods li .payment_box {
        margin-top: 10px;
        padding: 14px 16px !important;
        border-radius: 4px;
    }

    /* === 5) Notice-Box: solides Blau + weiße fette Schrift ==================== */
    /* Gilt für "Besitzt du bereits ein Kundenkonto?" + "Hast du einen Gutschein?" */
    /* (NICHT für "Bitte überprüfe deine Eingaben" — die hat eigene Klasse, siehe 5b) */
    form.checkout .woocommerce-info,
    form.checkout .gzd-checkout-notice,
    form.checkout .gzd-info,
    .woocommerce-checkout .woocommerce-info,
    .woocommerce-checkout-review-order .woocommerce-info,
    .woocommerce-account .woocommerce-info {
        background: var(--brand-primary) !important;
        color: #ffffff !important;
        border: none !important;
        border-top: none !important;
        border-radius: 4px !important;
        padding: 16px 20px !important;
        font-weight: 700 !important;
        font-size: 1em !important;
        line-height: 1.5 !important;
    }
    form.checkout .woocommerce-info a,
    .woocommerce-checkout .woocommerce-info a,
    .woocommerce-account .woocommerce-info a {
        color: #ffffff !important;
        text-decoration: underline !important;
        font-weight: 700 !important;
    }
    form.checkout .woocommerce-info::before,
    .woocommerce-checkout .woocommerce-info::before,
    .woocommerce-account .woocommerce-info::before {
        color: #ffffff !important;
    }

    /* === 5b) Germanized Edit-Data-Notice (hellblau, wie Payment-Beschreibung) =
       Quelle: woocommerce-germanized/templates/checkout/edit-data-notice.php
       HTML:   <div class="wc-gzd-edit-data-notice"><p class="wc-gzd-info">…</p></div>
       Text:   "Bitte überprüfe deine Eingaben. Du kannst diese durch Klicken
                des „Zurück"-Buttons deines Browsers korrigieren"
       v1.2 (Yasin-Wunsch 26.04.): nicht solides Blau, sondern hellblau wie
       die Vorkasse-Beschreibung — visuell ruhiger und konsistent mit der
       Payment-Box-Description (siehe Punkt 4).
       ========================================================================= */
    /* WP3 2026-07-06 (Kriegsende, wie Payment-Box): bg + border-FARBE raus —
       Kanon-Regel Z.~90 (body.woocommerce-checkout form.checkout …) gewinnt und
       liefert --brand-germanized-box + border-color --brand-primary. ABER:
       border-width/-style MÜSSEN hier bleiben — die Kanon-Regel setzt NUR die
       Farbe; ohne width/style gäbe es gar keinen Rahmen. (v1.2-"hellblau" = AC-Ära.) */
    form.checkout .wc-gzd-edit-data-notice,
    .woocommerce-checkout .wc-gzd-edit-data-notice {
        border-width: 1px !important;
        border-style: solid;
        border-radius: 4px !important;
        padding: 14px 16px !important;
        margin: 16px 0 !important;
        color: #333333 !important;
        font-weight: 400 !important;
    }
    form.checkout .wc-gzd-edit-data-notice .wc-gzd-info,
    form.checkout .wc-gzd-edit-data-notice p,
    .woocommerce-checkout .wc-gzd-edit-data-notice .wc-gzd-info,
    .woocommerce-checkout .wc-gzd-edit-data-notice p {
        background: transparent !important;
        color: #333333 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-weight: 400 !important;
        font-size: 1em !important;
        line-height: 1.5 !important;
    }
    form.checkout .wc-gzd-edit-data-notice a,
    .woocommerce-checkout .wc-gzd-edit-data-notice a {
        color: var(--brand-primary) !important;
        text-decoration: underline !important;
    }

    /* === 6) Spacing über "Anmerkungen zur Bestellung" ======================== */
    form.checkout #order_comments_field,
    form.checkout p.form-row-wide:has(#order_comments),
    form.checkout .form-row-wide:has(textarea[name="order_comments"]) {
        margin-top: 24px !important;
    }
    /* Sektion T / 2026-07-06 (Yasin-Review): Die alte Label-Regel
       (margin-top:18px + inline-block) stammte aus der Vor-Floating-Label-Ära.
       Seit rt-form-floating-labels sitzt das Label absolut bei top:7px — das
       margin-top schob es auf ~25px, exakt IN die Placeholder-Zeile
       ("Anmerkungen zur Bestellung (optional)" überlappte den Prompt-Text).
       Regel ersatzlos raus; den Abstand über dem Block macht die
       #order_comments_field-Regel (margin-top:24px) darüber. */

    /* === 7) Mein Konto Login/Register-Boxen ================================== */
    .woocommerce-form-login,
    .woocommerce-form-register {
        border-radius: 4px;
    }

    /* === 9) abbr.required — Browser-Default-Punkte hinter Stern entfernen ====
       Quelle: WooCommerce nutzt <abbr class="required" title="Pflichtfeld">*</abbr>
               und <abbr title="required">. Browser zeichnen abbr[title]
               standardmäßig mit gepunkteter Unterstreichung — DAS sind die
               5 Punkte unter dem roten Stern in Yasins Screenshots.
       v1.3 (27.04.): nur die dotted-line entfernen, der Stern bleibt rot.
       ========================================================================= */
    form.checkout abbr.required,
    form.checkout abbr[title],
    .woocommerce-checkout abbr.required,
    .woocommerce-checkout abbr[title],
    .woocommerce-account abbr.required,
    .woocommerce-account abbr[title],
    form.woocommerce-form-register abbr.required,
    form.woocommerce-form-register abbr[title],
    form.woocommerce-form-login abbr.required,
    form.woocommerce-form-login abbr[title],
    .aqc-kontaktformular abbr.required,
    .aqc-kontaktformular abbr[title] {
        text-decoration: none;
        border-bottom: none;
        cursor: default;
    }

    /* === 10) Versand-Methoden so groß wie "Versand"-Heading ==================
       <ul id="shipping_method"><li><label>gratis DHL Paket</label></li></ul>
       WoodMart-Default ist deutlich kleiner als die <th>Versand</th>-Heading.
       v1.3 (27.04.): Labels und List-Items auf 1.05em / weight 600 anheben,
       damit die Versand-Optionen visuell gleichwertig zur Überschrift sind.
       ========================================================================= */
    .woocommerce-checkout #shipping_method li,
    .woocommerce-checkout #shipping_method li label,
    form.checkout #shipping_method li,
    form.checkout #shipping_method li label,
    .woocommerce-shipping-totals.shipping #shipping_method li,
    .woocommerce-shipping-totals.shipping #shipping_method li label {
        font-size: 1.05em !important;
        font-weight: 600 !important;
        line-height: 1.6 !important;
        color: #333333;
    }
    /* Etwas Luft zwischen den Versand-Optionen */
    .woocommerce-checkout #shipping_method li {
        padding: 4px 0 !important;
        margin: 0 !important;
    }

    /* === 11) Payment-Method-Logos: einheitliche Größe + 4px Radius ===========
       Sofortüberweisung-Logo war ~40px hoch, alle anderen ~24px → uneinheitlich.
       v1.4 (27.04.): max-height 28px, width auto, vertikal mittig, 4px Radius
       (Yasin UI-Standard für klein), kein Background.
       ========================================================================= */
    .woocommerce-checkout ul.payment_methods li img,
    form.checkout ul.payment_methods li img,
    .woocommerce-checkout ul.payment_methods li label img {
        max-height: 24px;
        width: auto !important;
        max-width: 60px;
        vertical-align: middle !important;
        border-radius: 4px !important;
        background: transparent !important;
        margin: 0 6px !important;
        display: inline-block !important;
    }

    /* === 12) Versand-Methoden: Radio + Label vertikal mittig ==================
       Default WoodMart positioniert das Radio höher als das Label (top-aligned).
       Flex + align-items center bringt sie auf eine Linie. Ergänzt §10.
       ========================================================================= */
    .woocommerce-checkout #shipping_method,
    form.checkout #shipping_method,
    .woocommerce-shipping-totals.shipping #shipping_method {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .woocommerce-checkout #shipping_method li,
    form.checkout #shipping_method li,
    .woocommerce-shipping-totals.shipping #shipping_method li {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 3px 0 !important;
        margin: 0 !important;
        list-style: none;
    }
    body.woocommerce-checkout #shipping_method > li > input[type="radio"]:first-child,
    body.woocommerce-checkout #shipping_method li input[type="radio"],
    .woocommerce-checkout #shipping_method li input[type="radio"],
    form.checkout #shipping_method li input[type="radio"] {
        /* v1.5+1.9: Shoptimizer hidet das native Radio mit clip+absolute,
           das Pseudo `<label>::before` ist der visuelle Radio (orange).
           Wir holen das native raus und stylen es selbst blau. */
        clip: auto;
        clip-path: none;
        position: static !important;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
        margin: 0;
        padding: 0;
        background: #ffffff;
        border: 2px solid var(--brand-primary);
        border-radius: 50%;
        cursor: pointer;
        flex-shrink: 0;
        top: auto !important;
        vertical-align: middle;
        box-shadow: none !important;
        opacity: 1;
    }
    html body.woocommerce-checkout #shipping_method li input[type="radio"]:checked,
    .woocommerce-checkout #shipping_method li input[type="radio"]:checked,
    form.checkout #shipping_method li input[type="radio"]:checked {
        /* v1.11: gleicher box-shadow:inset Trick wie Payment-Radio */
        background-color: var(--brand-primary) !important;
        background-image: none !important;
        box-shadow: inset 0 0 0 4px #ffffff !important;
        border-color: var(--brand-primary) !important;
    }
    .woocommerce-checkout #shipping_method li input[type="radio"]:focus-visible,
    form.checkout #shipping_method li input[type="radio"]:focus-visible {
        outline: 2px solid var(--brand-accent-blue-2) !important;
        outline-offset: 2px !important;
    }
    /* Shoptimizer-Theme-Pseudo-Element <label>::before/::after deaktivieren
       (das war der orange Versand-Radio-Punkt) */
    body.woocommerce-checkout #shipping_method > li > label::before,
    body.woocommerce-checkout #shipping_method > li > label::after,
    body.woocommerce-checkout #shipping_method > li > input[type="radio"]:first-child:checked + label::before,
    body.woocommerce-checkout #shipping_method li:only-child label::before,
    .woocommerce-checkout #shipping_method li label::before,
    .woocommerce-checkout #shipping_method li label::after {
        display: none !important;
        content: none !important;
        background: transparent !important;
    }
    /* v1.11: shipping_method-Label-Override zurückgenommen (Theme-Default).
       Nur noch margin/padding/line-height Reset für sauberes Layout. */
    body.woocommerce-checkout #shipping_method li label,
    .woocommerce-checkout #shipping_method li label,
    form.checkout #shipping_method li label {
        margin: 0 !important;
        padding: 0;
        line-height: 1.4 !important;
    }

    /* === 13) Order-Review-Tabelle: Zeilenabstände halbiert ===================
       Default in WoodMart: ~16px padding-top/bottom auf <tr><th|td>. Yasin
       wünscht halbierte Abstände zwischen Zwischensumme/Versand/Gesamtsumme/
       MwSt./Paketankündigung. v1.4: 8px statt 16px.
       ========================================================================= */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.fee th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.fee td {
        padding-top: 8px;
        padding-bottom: 8px;
    }
    /* v1.6: Versand-tr — th-bottom und td-top halbiert für engeren Abstand
       zwischen "Versand"-Heading und der Methoden-Liste */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th {
        padding-top: 8px;
        padding-bottom: 2px !important;
    }
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping td {
        padding-top: 2px;
        padding-bottom: 8px;
    }
    /* v1.7: Tax-Rate halbiert; Order-Total bekommt mehr Top-Padding (Trennlinie),
       Bottom-Padding auf 2px (engerer Abstand zur MwSt.). */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
        padding-top: 12px;  /* Luft über Trennlinie */
        padding-bottom: 2px; /* halbiert: war 4px */
    }
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.tax-rate th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.tax-rate td {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    /* v1.7: MwSt — top halbiert (war 4px), bottom halbiert (war 2px) */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.includes_tax th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.includes_tax td {
        padding-top: 2px !important;
        padding-bottom: 1px !important;
    }
    /* v1.8: Shoptimizer-Override — höhere Specificity via body.woocommerce-checkout.
       Theme-Default (cart-checkout.min.css):
         .woocommerce-checkout-review-order-table tfoot td, ... tfoot th {
            padding: 1em 20px;
            border-bottom: 1px solid #e2e2e2;
            background-color: #f9f9f9;
            ...
         }
       → Hintergrund weg, alle borders weg, dann gezielt EINE über order-total. */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th {
        background-color: transparent;
        border-top: none !important;
        border-bottom: none;
        border-left: none;
        border-right: none;
        padding-left: 0 !important;
    }
    /* Auch der border-radius am Bottom der order-total entfernen
       (war fürs alte Box-Layout) */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    /* Border-top auf cart-subtotal (Theme-Default) auch weg */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td {
        border-top: none !important;
    }
    /* v1.11: Trennlinien-Verschiebe-Versuche entfernt (Yasin's Wunsch —
       aktueller Zustand wird akzeptiert; kein ungenützter Code). */
    /* v1.11: Zwischensumme bleibt 1.05em/600 (Yasin: "passt").
       Versand-Heading auf 1.15em/700 — soll matchen mit Theme-rendered
       shipping_method labels (gratis DHL Paket / Abholung). */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-subtotal td .amount {
        font-size: 1.05em !important;
        font-weight: 600 !important;
        color: #333333 !important;
    }
    html body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.shipping th {
        font-size: 1.15em;
        font-weight: 700;
        color: #333333;
    }
    /* v1.6: zusätzlich Margin reduzieren auf #shipping_method, damit kein
       extra Luft zwischen "Versand"-Heading und erster Methode entsteht */
    .woocommerce-checkout #shipping_method,
    form.checkout #shipping_method {
        margin-top: 2px;
    }
    /* v1.5: Linksbündige Ausrichtung — padding-left 0 für Footer-Cells, damit
       Zwischensumme/Versand/Gesamtsumme/MwSt. an gleicher x-Position starten
       wie die AGB-Checkbox oben und die Paketankündigung unten. */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr td {
        padding-left: 0 !important;
    }
    /* Auch unterhalb der Zeilen: keine zusätzlichen margins */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr {
        margin: 0;
    }

    /* === 14) Paketankündigung-Zeile + Place-Order: mehr Luft zum Button ======
       Germanized-DHL-Parcel-Announcement sitzt zwischen Tax-Row und dem
       Place-Order-Button. v1.4: Abstand zur Paketankündigung halbiert,
       danach (zum "Jetzt kaufen"-Button) deutlich vergrößert.
       ========================================================================= */
    /* Paketankündigung-Checkbox-Block (Germanized DHL) — kompakter zum MwSt.-Eintrag */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.gzd-dhl-parcel-announcement th,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.gzd-dhl-parcel-announcement td,
    .woocommerce-checkout .gzd-dhl-parcel-announcement-form-row,
    form.checkout .gzd-dhl-parcel-announcement-form-row {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        margin-top: 0 !important;
    }
    /* Place-Order-Button — mehr Abstand nach oben */
    form.checkout .form-row.place-order,
    form.checkout #payment .place-order {
        margin-top: 28px;
        padding-top: 16px;
        border-top: 1px solid #e8e8e8;
    }
    form.checkout #place_order {
        margin-top: 4px;
    }

    /* === v1.14: Freizeile zwischen Zahlungsart-Rahmen und "Deine Bestellung" =
       Yasin sagt das ist zu gequetscht. 32px Margin-Top auf das Heading. */
    body.woocommerce-checkout h3#order_review_heading,
    body.woocommerce-checkout #order_review_heading {
        margin-top: 32px !important;
    }
    body.woocommerce-checkout #payment.woocommerce-checkout-payment,
    body.woocommerce-checkout .woocommerce-checkout-payment {
        margin-bottom: 24px;
    }

    /* === 8) Mobile Tweaks ==================================================== */
    @media (max-width: 768px) {
        form.checkout .form-row,
        form.woocommerce-form-register .form-row,
        .aqc-kontaktformular .form-row {
            margin-bottom: 12px !important;
        }
    }

    /* === 15) Hint-Text unter Toggle-Checkboxen — bündig zum Label-Text =======
       Struktur: <p> <label flex gap:10> [checkbox 22px] <span margin-left:15px>
                 Text </span> </label>
                 <span class="aqc-hint aqc-hint-toggle">Hint</span>
                </p>
       Label-Text startet bei: 22 (checkbox) + 10 (gap) + 15 (margin) = 47px.
       Bisherige Werte: mein-konto margin-left:30px (17px zu weit links),
       kontakt margin-left:30px + padding-left:28px ≈ 58px (11px zu weit rechts).
       Override mit !important, weil Plugin-eigene Inline-Styles im Body
       nach wp_head laden und sonst gewinnen würden.
       ========================================================================= */
    form.woocommerce-form-register p .aqc-hint-toggle,
    .aqc-kontaktformular p .aqc-hint-toggle {
        display: block !important;
        margin-top: 4px !important;
        margin-left: 47px;
        padding-left: 0 !important;
    }

    /* === 16) Gutschein-Zeile: [Entfernen] links neben Preis ==================
       WC-Default-Markup: <td><span>-100,00 €</span> <a>[Entfernen]</a></td>
       Cell ist text-align:right → Link wird rechts vom Preis gerendert und
       fliegt bei schmalem Viewport rechts aus dem Cell heraus.
       Fix: Link per float:left auf die linke Seite der Zelle schieben.
       Preis bleibt rechtsbündig (= bündig unter Zwischensumme drüber).
       Ergebnis: "[Entfernen]                          -100,00 €"
       ========================================================================= */
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-discount td .woocommerce-remove-coupon,
    body.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.cart-discount td a.woocommerce-remove-coupon {
        float: left;
        margin: 0 !important;
    }

    /* === 17) Chained-Products: einheitlicher Indent für alle Zeilen ==========
       Plugin hängt &nbsp;&nbsp; vor den Produktnamen → indented nur 1. Zeile,
       wrapped Lines + Variante-Text fallen auf 0px zurück. PHP-Filter oben
       strippt das Präfix, hier setzen wir den Indent auf das ganze <td> UND
       auf das <ul.wc-item-meta>, damit auch "Variante:..." mitkommt.
       Selektoren ohne body-class-Requirement (woocommerce-Body-Class fehlt
       teilweise auf order-received).
       ========================================================================= */
    table.shop_table tr.chained_item td.product-name,
    table.shop_table tr.chained_item td.woocommerce-table__product-name,
    table.woocommerce-table--order-details tr.chained_item td.product-name,
    table.woocommerce-table--order-details tr.chained_item td.woocommerce-table__product-name {
        padding-left: 24px !important;
    }
    /* Variante:-Block zusätzlich pushen — <ul.wc-item-meta> hat sonst
       browser-default padding-left:40px ABER WC resettet das oft auf 0,
       wodurch das Listen-Item auf 0px (cell-Innenkante) landet statt auf
       unserem 24px-Indent. Margin-left:0 + display:block sorgen dafür,
       dass die Liste die Cell-Padding voll nutzt. */
    table.shop_table tr.chained_item td.product-name .wc-item-meta,
    table.shop_table tr.chained_item td.product-name dl.variation,
    table.shop_table tr.chained_item td.woocommerce-table__product-name .wc-item-meta,
    table.shop_table tr.chained_item td.woocommerce-table__product-name dl.variation,
    table.woocommerce-table--order-details tr.chained_item td.product-name .wc-item-meta,
    table.woocommerce-table--order-details tr.chained_item td.product-name dl.variation {
        padding-left: 0 !important;
        margin-left: 0;
        display: block;
    }

/* ============================================================
   QUELLE: aquacentrum-layout-header-menu (Header/Menue-Optik + Content-Link-Farben)
   ============================================================ */
/**
 * Produktseite Layout-Fix (901-992px)
 *
 * Problem: Shoptimizer Theme hat CSS-Luecke zwischen 901px und 992px.
 * - 320-567px: width:100% (mobile, einspaltig) OK
 * - 568-900px: width:100% (tablet, einspaltig) OK
 * - 901-992px: KEINE REGEL! Bild faellt auf ~39% zurueck mit Weissraum
 * - 993px+: float:left/right (desktop, zweispaltig) OK
 *
 * Fix: Zwei-Spalten-Layout auf 901px erweitern (wie Desktop)
 */
@media (min-width: 901px) and (max-width: 992px) {
    .product-details-wrapper .images,
    .product-details-wrapper .woocommerce-product-gallery {
        float: left;
        width: 40%;
    }
    .product-details-wrapper .summary.entry-summary {
        float: right;
        width: 55%;
    }
}

/* Fix: Breadcrumb-Abstand auf Produktseiten */
body.single-product .archive-header .col-full {
    margin-top: 0 !important;
}
/* Fix: Produktseiten rechte Spalte — padding-right entfernen für einheitliche Breite */
body.single-product .product-details-wrapper {
    padding-right: 0;
}
/* Fix: Weißer Abstand zwischen Tab-Navigation und Tab-Inhalt reduzieren */
body.single-product .woocommerce-tabs ul.tabs {
    margin-bottom: 0 !important;
}
body.single-product .woocommerce-tabs .panel {
    padding-top: 8px;
}
/* Fix: Tab-Navigation zentrieren wenn Tabs umbrechen (Mobil + schmale Fenster) */
@media (max-width: 900px) {
    body.single-product .woocommerce-tabs ul.tabs {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    body.single-product .woocommerce-tabs ul.tabs li {
        float: none;
    }
}

/**
 *  * Kasse (Checkout) 50/50 Layout Fix
 *  *
 *  * Problem: Shoptimizer Theme setzt .col2-set (Rechnungsdetails) auf 52.94%
 *  * und Bestelluebersicht bekommt nur ~41%. Dazu 6% margin-right.
 *  * Ergebnis: Linke Spalte zu breit, rechte zu schmal, ungleichmaessig.
 *  *
 *  * Fix: Beide Spalten auf 48% setzen, margin entfernen.
 *  * Ergebnis: Symmetrisches 50/50 Layout mit 4% Gap.
 *  */
@media (min-width: 993px) {
	  /* Linke Spalte: Rechnungsdetails + Lieferadresse */
	.woocommerce-checkout .col2-set {
		    width: 48% !important;
		    float: left !important;
		    margin-right: 0 !important;
	}
	  /* Rechte Spalte: Zahlungsart + Bestelluebersicht + Jetzt kaufen */
	.woocommerce-checkout .woocommerce-checkout-review-order {
		    width: 48% !important;
		    float: right !important;
	}
}

/* Mega-Menu Spalten Fix: Spalten passen in 1170px Container */
/* Problem: 5 Spalten x 269px = 1345px > 1170px Container */
/* Loesung: Spalten auf 20% setzen, Padding reduzieren */

/* Fix 2: Abstand zwischen Menüleiste und Dropdown reduzieren */
/* Problem: 40px padding-top ist zu viel, Maus verlässt Hover-Zone */
/* Loesung: padding-top auf 8px reduzieren (80% weniger) */

@media (min-width: 992px) {
	.full-width .sub-menu-wrapper .sub-menu > .menu-item {
		width: 20% !important;
		flex-shrink: 1;
		padding: 0 12px !important;
		box-sizing: border-box !important;
		min-width: 0 !important;
	}
	.full-width .sub-menu-wrapper .sub-menu {
		flex-wrap: nowrap;
	}

	/* Mega-Menu Dropdown Gap Fix */
	.main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu {
		padding-top: 8px !important;
	}
}

/* Content Links: Markenfarbe (Orange), Hover via --brand-accent-blue-dark (RT: Schwarz)
 * Nur Fließtext (entry-content, Produktbeschreibungen, Tabs)
 * KEIN Header, Footer, Navigation, Menü
 */

/* Standard-Seiten & Blog-Posts */
.entry-content a,
.entry-content a:link,
.entry-content a:visited {
  color: var(--brand-primary) !important;
}
.entry-content a:hover {
  color: var(--brand-accent-blue-dark) !important;
}

/* WooCommerce Produkt-Kurzbeschreibung */
.woocommerce-product-details__short-description a,
.woocommerce-product-details__short-description a:link,
.woocommerce-product-details__short-description a:visited {
  color: var(--brand-primary) !important;
}
.woocommerce-product-details__short-description a:hover {
  color: var(--brand-accent-blue-dark) !important;
}

/* WooCommerce Produkt-Tabs (Beschreibung, FAQ, etc.) */
.woocommerce-tabs .panel a,
.woocommerce-tabs .panel a:link,
.woocommerce-tabs .panel a:visited {
  color: var(--brand-primary) !important;
}
.woocommerce-tabs .panel a:hover {
  color: var(--brand-accent-blue-dark) !important;
}

/* FAQ-Kategorie-Buttons: Weiße Schrift auf blauem Hintergrund */
.entry-content a.faq-card,
.entry-content a.faq-card:link,
.entry-content a.faq-card:visited {
  color: #ffffff !important;
}
/* === Header Kontakt-Block + Sekundär-Navi (konsolidiert aus #125668 + #125669 am 26.05.2026)
 * Vorher: #125668 (PHP + Navi-CSS) + #125669 (Kontakt-Block-CSS) = 2 Snippets
 * Nachher: Beides in #125668. #125669 auf Draft (Backup).
 * Dead-Code entfernt: border-left:1px solid auf #menu-item-125667 (war durch
 *    #125668 mit border-left:none überschrieben, wirkungslos in Live).
 * Author: Platon via Ruflo @ Sokrates-Rechner
 */

/* --- Sekundär-Navi-Separatoren (vorher in #125668 wp_head-CSS) --- */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 { border-left: none !important; }
   (innere Kommentarzeichen als (* *) neutralisiert) */
.secondary-navigation .menu > li:not(#__rt-noop__) { border-left: none; position: relative !important; }
.secondary-navigation .menu > li:not(#__rt-noop__)::before {
    content: "" !important; display: block !important; position: absolute !important;
    left: 0; top: 3px !important; bottom: -3px !important;
    width: 1px !important; background-color: var(--brand-primary);
}
/* 03.09.2026 ID→Slug: tote Menü-ID 91724, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-91724 > a::before { content: "\f015"; }
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125570 / 91724 / 90309, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125570, #menu-item-91724, #menu-item-90309 { margin-top: 5px; }
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 90309, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-90309 > a { padding-left: 20px !important; }
   (innere Kommentarzeichen als (* *) neutralisiert) */
.main-header .site-header-cart a.cart-contents {
    position: relative !important; overflow: visible;
    border-left: none !important; padding-left: 25px;
}
.site-header-cart, .shoptimizer-cart { overflow: visible; }
.shoptimizer-cart a.cart-contents::after {
    content: "" !important; display: block; position: absolute !important;
    left: -7px; top: 1px; bottom: -1px;
    width: 1px !important; background-color: var(--brand-primary);
}
.shoptimizer-cart a.cart-contents::before {
    width: 100% !important; text-align: center;
}
.shoptimizer-cart a.cart-contents .amount {
    position: relative; top: 2px; text-align: left;
}

/* --- Header Kontakt-Block Styling (vorher in #125669) --- */
/* border-left-color: wirkt auf alle Sekundär-Navi-li (außer #menu-item-125667 das border:none hat) */
.secondary-navigation .menu > li { border-left-color: var(--brand-primary); }
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 {
    padding: 0 !important;
    (* border-left:1px solid bewusst NICHT mehr — war ohnehin durch border:none oben überschrieben *)
    display: inline-flex !important;
    align-items: center;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 > .ac-contact-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 20px;
    height: 45px;
    box-sizing: border-box;
    transform: translateY(-3px);
}
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 .ac-contact-block a:first-child {
    transform: translateY(-3px);
}
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 .ac-contact-block a:last-child {
    transform: translateY(1px);
}
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 .ac-contact-block a {
    display: block !important;
    color: var(--brand-primary) !important;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none !important;
    white-space: nowrap;
    line-height: 1.2;
    height: auto;
    padding: 0 !important;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 .ac-contact-block a:hover {
    color: var(--brand-primary) !important;
    text-decoration: underline !important;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */
/* 03.09.2026 ID→Slug: tote Menü-ID 125667, Item existiert nicht mehr — Regel entfernt. Original:
#menu-item-125667 .ac-divider {
    display: none;
}
   (innere Kommentarzeichen als (* *) neutralisiert) */

/* ============================================================
   QUELLE: aquacentrum-shiftnav-optik (ShiftNav Mobile-Menue-Optik, KANON #3)
   ============================================================ */
    /* Mobile Logo Fix - ShiftNav Toggle Bar (05.03.2026, Block 4 gescoped 26.05.2026) */

    /* 1. Logo vertikal zentrieren */
    #shiftnav-toggle-main .shiftnav-main-toggle-content {
        display: flex;
        align-items: center;
        height: 100%;
    }
    #shiftnav-toggle-main .shiftnav-toggle-main-block a {
        display: flex;
        align-items: center;
    }
    #shiftnav-toggle-main .shiftnav-toggle-main-block a img {
        height: 35px;
        width: auto;
        max-width: none;
        position: static;
        top: auto;
    }

    /* 2. Mobile Admin Bar ist 46px - ShiftNav muss tiefer */
    @media screen and (max-width: 782px) {
        .admin-bar #shiftnav-toggle-main {
            top: 46px !important;
        }
    }

    /* 3. Blaue woo-sc-hr Linie weg von H1 Titel */
    .entry-content > .woo-sc-hr:first-child {
        margin-top: 25px;
    }

    /* 4. Homepage Spacing - mehr Abstand zwischen Elementen (GESCOPED 26.05.2026) */
    body.home .entry-header {
        margin-bottom: 25px !important;
        padding-top: 15px;
    }
    body.home .entry-content .row:first-child {
        margin-top: 15px !important;
    }
    body.home .entry-content .row:first-child h2 {
        margin-top: 20px !important;
    }

    /* 5. H1 groesser als H2 - bessere Hierarchie */
    h1.entry-title {
        font-size: 1.55em !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
    }
    @media screen and (max-width: 768px) {
        h1.entry-title {
            font-size: 1.35em !important;
        }
    }
/**
 * Mobile Header Layout-Fixes (v4)
 *
 * 1. Logo-Zentrierung im ShiftNav Toggle Bar (Mobile/Tablet)
 * 2. Desktop-Menuleiste auf Tablet/iPad ausblenden (993-1199px)
 * 3. Ab 1200px: ShiftNav verstecken, Original-Theme-Header zeigen
 * 4. Warenkorb-Icon Ecken abrunden
 *
 * Ergebnis:
 * - 0-992px:   ShiftNav-Bar mit zentriertem Logo (Theme-Standard)
 * - 993-1199px: ShiftNav-Bar mit zentriertem Logo, KEINE Desktop-Nav
 * - 1200px+:    Original Shoptimizer-Header (Logo + Nav + Cart)
 */

/* === 1. Logo-Container zentrieren (ShiftNav) === */
#shiftnav-toggle-main .shiftnav-main-toggle-content {
  left: 50% !important;
  transform: translateX(-50%);
  margin-left: 0;
  width: auto !important;
  padding-left: 10px;
  padding-right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#shiftnav-toggle-main .shiftnav-main-toggle-content img {
  margin-left: 0;
}

#shiftnav-toggle-main .shiftnav-main-toggle-content a {
  padding-left: 0;
}

/* === 2. Desktop-Nav auf Tablet ausblenden (993-1199px) === */
@media (min-width: 993px) and (max-width: 1199px) {
  .col-full-nav {
    display: none;
  }
}

/* === 3. Ab 1200px: ShiftNav weg, Theme-Header zeigen === */
@media (min-width: 1200px) {
  /* ShiftNav Toggle Bar verstecken */
  #shiftnav-toggle-main {
    display: none;
  }

  /* Original Shoptimizer Desktop-Header zeigen */
  .main-header.col-full {
    display: flex !important;
  }
}

/* === 4. Warenkorb-Icon Ecken abrunden === */
.site-header-cart .cart-contents .count {
  border-radius: 5px !important;
}

/* Fix: Navigation Gap between 1200-1279px
 *  * Problem: ShiftNav hides #masthead .main-header below 1280px
 *  *          Theme hides #shiftnav-toggle-main at 1200px+
 *  *          Theme hides .col-full-nav at max-width:1200px
 *  *          Result: NO navigation visible between 1200-1279px
 *  * Solution: Force both desktop menu containers visible at 1200px+
 *  * Date: 2026-03-12
 *  */
@media (min-width: 1200px) {
	  /* ShiftNav override: show header container */
	#masthead .main-header.col-full {
		    display: flex !important;
	}
	  /* Theme override: show primary navigation bar */
	.col-full-nav {
		    display: block;
	}
}

/* === 1. Mobile: Content unter ShiftNav Header (< 1200px) === */
/* ShiftNav ist 52px hoch, position:fixed am oberen Rand */
/* Ohne Admin-Bar: ShiftNav gap-auto setzt body padding-top, 20px reicht */
/* MIT Admin-Bar: gap-auto funktioniert nicht, braucht mehr Padding */
/* CLEANED 2026-05-26 (Platon via Ruflo @ Sokrates-Rechner):
 * - 8 verwaiste schliessende } am Ende entfernt (CSS-Combiner-Time-Bomb)
 * - Doppel-Indent normalisiert (war Tab + 8 Spaces)
 * KEINE Verhaltensaenderung — nur Hygiene. */
@media (max-width: 1199px) {
    #content.site-content {
        padding-top: 20px;
    }
    .admin-bar #content.site-content {
        padding-top: 55px;
    }
}

/* === 2. Desktop: Sticky Nav zu hoch ohne Admin-Bar === */
/* Normal: margin-top:-22px ueberlappt mit Header, sieht ~46px aus */
/* Sticky ohne Admin-Bar: volle 68px sichtbar, wirkt zu dick */
/* Fix: 20px nach oben, 48px sichtbar, passt zum Normal-Zustand */
body:not(.admin-bar) .col-full-nav.is_stuck {
    top: -20px;
}

/* === 3. Mobile Admin-Bar: ShiftNav Position Fix === */
/* Admin-Bar ist 46px unter 782px (statt 32px) */
/* ShiftNav bleibt bei top:32px, 14px Luecke */
@media screen and (max-width: 782px) {
    .admin-bar .shiftnav-toggle-main-align-center.shiftnav-toggle-style-full_bar {
        top: 46px !important;
    }
}

/* === 4. Kleinste Mobile: Admin-Bar fixed erzwingen === */
/* WordPress Core macht Admin-Bar unter 600px position:absolute */
/* Dadurch scrollt sie weg - Fix: position:fixed wie bei groesseren Viewports */
@media screen and (max-width: 600px) {
    .admin-bar #wpadminbar {
        position: fixed !important;
        top: 0 !important;
    }
}
/* iOS Landscape Safe Area - volle Breite fuer blaue Bars */
body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}
#wp-bottom-menu {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}
.shiftnav-toggle-main-wrap,
#shiftnav-toggle-main,
.site-header {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
}

/* === 1. LOGO: Zentriert, feste Position, kein Hover-Sprung === */
#shiftnav-main .shiftnav-menu-image {
    max-width: 100% !important;
    width: 100% !important;
    padding: 10px 25px 5px 25px !important;
    text-align: center;
    box-sizing: border-box;
}
#shiftnav-main .shiftnav-menu-image img {
    display: inline-block;
    max-width: 200px;
    height: auto;
    transform: none !important;
    transition: none !important;
}
/* Hover-Animation deaktivieren - Logo bleibt an Ort und Stelle */
#shiftnav-main:hover .shiftnav-menu-image img {
    transform: none !important;
}

/* === 1b. CONTENT-WRAPS: Kompakterer Abstand zwischen Sektionen === */
#shiftnav-main .shiftnav-content-wrap {
    padding-top: 14px !important;
    padding-bottom: 14px;
}

/* === 2. SUCHFELD === */
#shiftnav-main .shiftnav-search-input {
    border: 2px solid var(--brand-primary);
    border-radius: 5px;
    font-size: 16px;
    color: #333 !important;
    padding: 10px 40px 10px 15px;
    box-shadow: none;
    -webkit-appearance: none;
}
#shiftnav-main .shiftnav-search-input::placeholder {
    color: #999 !important;
    font-size: 16px;
}
/* WICHTIG: Der Schatten kommt vom .shiftnav-search Wrapper! */
#shiftnav-main .shiftnav-search {
    box-shadow: none !important;
}
#shiftnav-main .shiftnav-search-submit {
    color: var(--brand-primary);
    font-size: 16px;
}

/* === 3. MENU-ITEMS: Fette Schrift === */
#shiftnav-main .shiftnav-nav li > a.shiftnav-target {
    font-weight: 700;
}
#shiftnav-main .shiftnav-nav li li > a.shiftnav-target {
    font-weight: 600;
}

/* === 4. MENU-ITEMS: Schriftgroesse === */
#shiftnav-main .shiftnav-nav > li > a.shiftnav-target .shiftnav-target-text {
    font-size: 16px;
}
#shiftnav-main .shiftnav-nav li li > a.shiftnav-target .shiftnav-target-text {
    font-size: 14px;
}

/* === 5. DROPDOWN-PFEILE: Besser sichtbar === */
#shiftnav-main .shiftnav-submenu-activation {
    background-color: rgba(var(--brand-primary-rgb),0.12) !important;
    color: var(--brand-primary) !important;
    border-left: 1px solid rgba(var(--brand-primary-rgb),0.25) !important;
}
#shiftnav-main .shiftnav-submenu-activation i {
    color: var(--brand-primary) !important;
}

/* === 6a. HOVER STATE: Blauer Hintergrund === */
#shiftnav-main .shiftnav-nav li:hover > a.shiftnav-target {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
}
#shiftnav-main .shiftnav-nav li:hover > .shiftnav-submenu-activation {
    background-color: rgba(var(--brand-primary-rgb),0.90) !important;
    color: #fff !important;
    border-left-color: rgba(255, 255, 255, 0.3) !important;
}
#shiftnav-main .shiftnav-nav li:hover > .shiftnav-submenu-activation i {
    color: #fff !important;
}

/* === 6b. ACTIVE STATE (aktuelle Seite): Dezenter Indikator === */
#shiftnav-main .shiftnav-nav li.shiftnav-active > a.shiftnav-target {
    background-color: rgba(var(--brand-primary-rgb),0.10) !important;
    color: var(--brand-primary) !important;
    border-left: 4px solid var(--brand-primary) !important;
}
#shiftnav-main .shiftnav-nav li.shiftnav-active > .shiftnav-submenu-activation {
    background-color: rgba(var(--brand-primary-rgb),0.10) !important;
    color: var(--brand-primary) !important;
}
#shiftnav-main .shiftnav-nav li.shiftnav-active > .shiftnav-submenu-activation i {
    color: var(--brand-primary) !important;
}

/* === 7. MEIN KONTO + WARENKORB Links === */
#shiftnav-main .shiftnav-highlight > a.shiftnav-target {
    color: var(--brand-primary) !important;
    font-weight: 700;
}

/* === 8. FOOTER: Tel + E-Mail === */
#shiftnav-main .menu-footer-content {
    padding: 8px 25px;
}
#shiftnav-main .menu-footer-content a {
    display: block;
    font-weight: 700;
    font-size: 14px;
    color: var(--brand-primary);
    padding: 6px 0;
    margin: 0;
}
/* mb-footer-text Span innerhalb Tel/E-Mail hat padding vom Theme */
/* Neutralisieren, damit alle Footer-Links gleich starten */
#shiftnav-main .menu-footer-content a .mb-footer-text {
    padding: 0;
}

/* === 9. "SO FINDEN SIE UNS (KARTE)" === */
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap {
    padding: 0 25px 12px 25px;
}
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap a {
    font-weight: 700;
    font-size: 14px;
    color: var(--brand-primary);
}

/* === 10. CLOSE-BUTTON (X) === */
#shiftnav-main .shiftnav-panel-close {
    background-color: var(--brand-primary) !important;
}

/* === 11. TRENNLINIE vor Footer === */
#shiftnav-main .woo-sc-hr {
    margin: 5px 25px;
}

/* ============================================================
   QUELLE: mein-konto-fixes (Mein-Konto-Optik, AQC-Blau Akzent)
   ============================================================ */
    .main-navigation ul.menu ul li.menu-item-image img {
        border-radius: 10px;
    }
    /* Mobile Carousel: Gleiche Kartenhoehe fuer Related/Upsells/Cross-sells */
    @media (max-width: 992px) {
        .related.products ul.products li.product,
        .upsells.products ul.products li.product,
        .cross-sells ul.products li.product {
            height: auto !important;
        }
        .related.products ul.products li.product .woocommerce-card__header .button,
        .upsells.products ul.products li.product .woocommerce-card__header .button,
        .cross-sells ul.products li.product .woocommerce-card__header .button {
            margin-top: auto !important;
        }
    }
    /* ===== NAVIGATION SIDEBAR: Blaue Buttons ===== */
    .woocommerce-MyAccount-navigation ul li {
        margin-bottom: 2px;
    }
    body .woocommerce-MyAccount-navigation ul li a,
    body .woocommerce-MyAccount-navigation ul li a:link,
    body .woocommerce-MyAccount-navigation ul li a:visited {
        background-color: var(--brand-primary) !important;
        color: #fff !important;
        padding: 10px 16px;
        border-radius: 4px;
        font-weight: 700;
        display: block !important;
        transition: background-color 0.2s ease;
        text-decoration: none;
    }
    .woocommerce-MyAccount-navigation ul li a:hover {
        background-color: var(--brand-accent-blue) !important;
        color: #fff !important;
    }
    .woocommerce-MyAccount-navigation ul li.is-active a,
    .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--afwc-dashboard.is-active a {
        background-color: var(--brand-accent-blue) !important;
        color: #fff !important;
    }
    /* Navigation Icons: Weiss statt Grau/Blau */
    .woocommerce-MyAccount-navigation ul li a:before {
        background: #fff !important;
        opacity: 0.9 !important;
    }
    .woocommerce-MyAccount-navigation ul li.is-active a:before,
    .woocommerce-MyAccount-navigation ul li a:hover:before {
        opacity: 1 !important;
    }
    /* Affiliate Icon (Personen-Netzwerk) */
    .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--afwc-dashboard a:before {
        -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 20H22V18C22 16.3431 20.6569 15 19 15C18.0444 15 17.1931 15.4468 16.6438 16.1429M17 20H7M17 20V18C17 17.3438 16.8736 16.717 16.6438 16.1429M7 20H2V18C2 16.3431 3.34315 15 5 15C5.95561 15 6.80686 15.4468 7.35625 16.1429M7 20V18C7 17.3438 7.12642 16.717 7.35625 16.1429M7.35625 16.1429C8.0935 14.301 9.89482 13 12 13C14.1052 13 15.9065 14.301 16.6438 16.1429M15 7C15 8.65685 13.6569 10 12 10C10.3431 10 9 8.65685 9 7C9 5.34315 10.3431 4 12 4C13.6569 4 15 5.34315 15 7ZM21 10C21 11.1046 20.1046 12 19 12C17.8954 12 17 11.1046 17 10C17 8.89543 17.8954 8 19 8C20.1046 8 21 8.89543 21 10ZM7 10C7 11.1046 6.10457 12 5 12C3.89543 12 3 11.1046 3 10C3 8.89543 3.89543 8 5 8C6.10457 8 7 8.89543 7 10Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
                mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 20H22V18C22 16.3431 20.6569 15 19 15C18.0444 15 17.1931 15.4468 16.6438 16.1429M17 20H7M17 20V18C17 17.3438 16.8736 16.717 16.6438 16.1429M7 20H2V18C2 16.3431 3.34315 15 5 15C5.95561 15 6.80686 15.4468 7.35625 16.1429M7 20V18C7 17.3438 7.12642 16.717 7.35625 16.1429M7.35625 16.1429C8.0935 14.301 9.89482 13 12 13C14.1052 13 15.9065 14.301 16.6438 16.1429M15 7C15 8.65685 13.6569 10 12 10C10.3431 10 9 8.65685 9 7C9 5.34315 10.3431 4 12 4C13.6569 4 15 5.34315 15 7ZM21 10C21 11.1046 20.1046 12 19 12C17.8954 12 17 11.1046 17 10C17 8.89543 17.8954 8 19 8C20.1046 8 21 8.89543 21 10ZM7 10C7 11.1046 6.10457 12 5 12C3.89543 12 3 11.1046 3 10C3 8.89543 3.89543 8 5 8C6.10457 8 7 8.89543 7 10Z' stroke='%234A5568' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    }

    /* ===== AFFILIATE TABS (Berichte, Profil, Netzwerk) ===== */
    body .nav-tab-wrapper .nav-tab,
    body .nav-tab-wrapper a.nav-tab {
        background-color: var(--brand-primary) !important;
        color: #fff !important;
        border: none;
        border-radius: 4px 4px 0 0;
        padding: 8px 16px;
        font-weight: 700;
        margin-left: 3px;
        opacity: 0.85;
    }
    body .nav-tab-wrapper .nav-tab:hover,
    body .nav-tab-wrapper a.nav-tab:hover {
        opacity: 1;
        background-color: var(--brand-accent-blue) !important;
        color: #fff !important;
    }
    body .nav-tab-wrapper .nav-tab-active,
    body .nav-tab-wrapper .nav-tab-active:hover,
    body .nav-tab-wrapper .nav-tab-active:focus,
    body .nav-tab-wrapper a.nav-tab-active {
        background-color: var(--brand-accent-blue) !important;
        color: #fff !important;
        opacity: 1;
        border-bottom: 2px solid var(--brand-accent-blue) !important;
    }
    .nav-tab-wrapper {
        border-bottom-color: var(--brand-accent-blue);
    }

    /* ===== AFFILIATE PROFILKARTE ===== */
    .afwc-affiliate-details-card {
        background-color: var(--brand-primary) !important;
        color: #fff !important;
        border-radius: 4px;
    }
    .afwc-affiliate-details-card * {
        color: #fff !important;
    }
    .afwc-affiliate-details-card a {
        color: var(--brand-primary-tint-text, #fce6c4) !important; /* 04.09.2026 Farb-Kanon (W4) — 07-02: helles Orange statt AC-Hellblau (Karte ist orange) */
        text-decoration: underline !important;
    }
    .afwc-affiliate-details-card a:hover {
        color: #fff !important;
    }

    /* ===== MULTI-TIER NETZWERK: Partner-Boxen ===== */
    .multi-tier-tree span.inline-block {
        background-color: var(--brand-primary) !important;
        color: #fff !important;
        font-weight: 700;
        border-color: var(--brand-accent-blue) !important;
        border-radius: 4px;
        padding: 8px 12px;
    }

    /* ===== BESTELLUNGS-BUTTONS ===== */
    .woocommerce-MyAccount-content .woocommerce-orders-table a.woocommerce-button,
    .woocommerce-MyAccount-content a.woocommerce-button.button {
        background-color: var(--brand-primary) !important;
        padding: 6px 12px !important;
        line-height: 1.4 !important;
        vertical-align: middle !important;
        border-radius: 4px !important;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table a.woocommerce-button:hover,
    .woocommerce-MyAccount-content a.woocommerce-button.button:hover {
        background-color: var(--brand-accent-blue) !important;
    }

    /* ===== BEARBEITEN-BUTTON (Adressen) ===== */
    body .woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
    body .woocommerce-MyAccount-content header.woocommerce-Address-title a.edit {
        display: inline-block !important;
        padding: 8px 20px !important;
        background-color: var(--brand-primary) !important;
        color: #fff !important;
        border-radius: 4px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        transition: background-color 0.2s ease;
    }
    body .woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover,
    body .woocommerce-MyAccount-content header.woocommerce-Address-title a.edit:hover {
        background-color: var(--brand-accent-blue) !important;
        color: #fff !important;
    }

    /* ===== KPI ZAHLEN: Aquacentrum-Blau ===== */
    .afwc_kpis_price,
    .afwc_kpis_number {
        color: var(--brand-primary) !important;
    }

    /* ===== REPORTS: Abschnitts-Trennung ===== */
    .afwc-table-header-wrapper {
        margin-top: 30px;
        padding-top: 20px;
        border-top: 2px solid #e2e8f0;
    }
    .afwc-table-header {
        font-size: 18px;
        font-weight: 700;
        color: var(--brand-accent-blue);
        display: inline-block;
        padding-bottom: 6px;
        border-bottom: 3px solid var(--brand-primary);
        margin-bottom: 10px;
    }
    /* KPI-Bereich Abstand nach unten */
    #afwc_kpis_container {
        margin-bottom: 10px;
        padding-bottom: 15px;
        border-bottom: 2px solid #e2e8f0;
    }
    /* Tabellen-Header fett */
    .afwc_referrals thead th,
    .afwc_products thead th,
    .afwc_payout_history thead th {
        font-weight: 700;
        color: var(--brand-accent-blue);
        border-bottom: 2px solid var(--brand-primary);
        padding-bottom: 8px;
    }
    /* KPI Boxen: leichter Schatten + Rundung */
    .afwc_kpi {
        border-radius: 8px;
        border-color: var(--brand-primary-tint-border, #ffe0a0); /* 04.09.2026 Farb-Kanon (W4) */
        box-shadow: 0 1px 3px rgba(var(--brand-primary-rgb, 243,156,18),0.12); /* 04.09.2026 Farb-Kanon (W4) — Fallback ergaenzt, sonst tote Regel im Klon */
    }

/* ============================================================
   QUELLE: aquacentrum-produktseite-feinschliff (Produktseiten-Optik A-F)
   ============================================================ */
/* ===================================================================
   A. KURZBESCHREIBUNGS-BULLETS (v1.5: bullets-brg ist fuer diesen
   Container ABGEMELDET — keine Konkurrenz-Regel mehr, simple Selektoren.
   Geometrie (gemessen): Textkante aller Zeilen = Titelkante; Dot haengt
   18px links AUSSERHALB; vertikal mittig zur 1. Zeile (+1px).
=================================================================== */
body.single-product .woocommerce-product-details__short-description ul {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
}
body.single-product .woocommerce-product-details__short-description ul > li {
  position: relative !important;
  list-style: none;
  padding-left: 0;
  margin-left: 0;
  text-indent: 0;
}
body.single-product .woocommerce-product-details__short-description ul > li::before {
  content: "";
  position: absolute !important;
  display: block;
  left: -18px;
  top: 0.7em;  /* finale Justierung: 1px hoeher */
  transform: translateY(-50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--brand-primary-hover);
  margin: 0;
}

/* ===================================================================
   B. PREISZEILE
   3. MwSt-/Versand-Hinweis ~3px tiefer.
   4. Durchstreich-Linie des Altpreises ~3px tiefer (optisch mittig durch die Ziffern).
      text-decoration laesst sich nicht verschieben -> Strich per linear-gradient nachbauen.
=================================================================== */
/* 3. MwSt./Versand-Zeile leicht tiefer */
.single-product .legal-price-info {
  margin-top: 1px !important;  /* Justierung Yasin 09:55: 2px hoeher */
}
/* 4. Altpreis: nativen Durchstreich aus, Strich per Gradient auf ~57% Hoehe */
.single-product p.price del,
.single-product p.price del .woocommerce-Price-amount,
.single-product p.price del bdi {
  text-decoration: none;
}
.single-product p.price del bdi {
  background-image: linear-gradient(currentColor, currentColor) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 1px !important;
  background-position: 0 48% !important;  /* Justierung Runde 2: halben px hoeher */   /* ~3px tiefer als die typische ~50% Strich-Lage */
}

/* ===================================================================
   C. VARIANTEN-BEREICH
=================================================================== */
/* 8. "Variante"-Label = Schriftgroesse wie blaue Menuzeile (Menu ~ 1rem/16px). */
.single-product table.variations th.label label {
  font-size: 16px !important;
  line-height: 1.2 !important;
}
/* 5. "Leeren" weg von unter dem Select -> in die "Variante"-Zeile, ganz rechts (auf Label-Hoehe).
   td.value als Positionsanker; Link absolut oben rechts. "Leeren" waechst mit (8). */
.single-product table.variations tbody tr {
  position: relative !important;
}
.single-product table.variations td.value {
  position: static !important;
}
.single-product table.variations a.reset_variations {
  position: absolute !important;
  top: 0 !important;
  right: 0;
  margin: 0 !important;
  line-height: 1.2 !important;
  font-size: 16px !important;           /* mitwachsen mit Label (8) */
  white-space: nowrap;
  visibility: visible !important;       /* WC blendet es via inline-style aus, bis gewaehlt; hier sichtbar lassen */
  opacity: 1;
  z-index: 2;
}

/* 6. Select-Pfeil: gleichseitiges Dreieck, Brand-Orange, etwas groesser als Menu-Pfeile.
   VORLAGE: fill je Klon = colors.primary (kein var() in data-URI moeglich); wird zusaetzlich dynamisch via functions.php gerendert. */
.single-product form.variations_form .variations select,
.single-product .variations td.value select,
.single-product .variations select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M2%209%20L22%209%20L12%2019%20Z'%20fill='%23f39c12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 22px 22px !important;   /* > 20px Menu-Pfeil */
  padding-right: 40px !important;
}
/* 9. Gewaehlte Variante im Select: gruen -> Aquacentrum-Blau. */
.single-product form.variations_form select,
.single-product .variations td.value select {
  color: var(--brand-primary) !important;
}

/* 7. Hauptmenue-Pfeile (weiss) auf dieselbe Groesse wie der neue Select-Pfeil (22px).
   NUR Groesse — Farbe (background-color) + Abstaende unveraendert.
   Selektor matcht exakt die Theme-Regel (...span.caret:after) + Spezifitaet via .main-navigation. */
html body .col-full-nav .main-navigation .menu > li.menu-item-has-children > a::after,
html body .main-navigation ul.menu li.menu-item-has-children span.caret:after,
html body .main-navigation ul.menu li.menu-item-has-children span.caret::after {
  content: '';
  display: inline-block;
  width: 22px !important;
  height: 22px !important;
  border: none;
  -webkit-mask: none;
  mask: none;
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M2%209%20L22%209%20L12%2019%20Z'%20fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  position: relative;
  top: 3px;   /* Runde 3: mittig in der blauen Leiste */
  /* Hover-Rotation des Themes bleibt (transform nicht angefasst) */
}

/* ===================================================================
   D. MENGE + WARENKORB-ZEILE
   10. Stepper -/1/+ : je eine Schriftgroesse groesser + dicker (bold).
       (element-height-unify setzt 15px/700 -> hier 17px, bold bleibt.)
=================================================================== */
.single-product .aq-qty-group .aq-qty-minus,
.single-product .aq-qty-group .aq-qty-plus,
.single-product .aq-qty-group input.qty {
  font-size: 17px !important;
  font-weight: 800 !important;
}
/* 11. Platzgewinn: da "Leeren" nach oben in die Variante-Zeile wandert, faellt die
   Leerzeile darunter weg -> Mengen-/Button-Zeile rueckt nach oben (dort wo "Leeren" war). */
.single-product form.variations_form .single_variation_wrap {
  margin-top: 0 !important;
}
.single-product .woocommerce-variation-add-to-cart {
  margin-top: 4px !important;
}

/* ===================================================================
   E. MEGA-MENUE (Blaue Menuleiste -> aufklappendes Kategorie-Panel)
   Sitewide (NICHT nur Single-Product). Theme rendert das Panel als
   .col-full-nav .main-navigation .menu > li.full-width
       .sub-menu-wrapper .container > ul.sub-menu  { padding: 40px 0 }
   Problem: 40px oben + 40px unten = 80px Leerraum ueber/unter den Kacheln
   -> Panel wirkt unnoetig hoch.
   Fix 1 (v1.6.0): vertikalen Leerraum auf das gemessene Header-Mass = 14px
   (Suchfeld-Unterkante -> blaue Leiste, live @1340px: 57px -> 71px).
   Fix 2 (v1.6.1): 7 Kacheln einzeilig MIT voller Bildgroesse 145px.
   RECHNUNG (alles @1340px gemessen):
     Container .container        = 1170px (max-width)
     Theme-Kachelpolster         = 0 25px  -> bei 7 Kacheln shrinkt flex
                                   die Kachel auf 167px, Content 117px
                                   -> Bild 114px, Labels brechen um. BUG.
     Laengste Labels (12px/600):   Umkehrosmoseanlagen 136px,
                                   Filter & Umkehrosmose 135px,
                                   Untertisch-Wasserfilter 133px
     Bild (Soll, wie live)       = 145px  > 136px  -> Labels einzeilig frei
     Kachel = 145 + 2*4px Polster = 153px (border-box)
     7 * 153 + 0 Gap             = 1071px  <=  1170px Container  -> PASST
     Rest 99px -> justify-content:center (49.5px je Seite).
     KEIN letter-spacing noetig, KEINE Vollbreite noetig.
   Fix 3 (v1.6.2, Yasin-Abnahme-Runde 3):
     a) Luecke blaue Leiste -> Bildoberkante war 36px: 14px Panel-Padding
        + 1px + 21px PHANTOM-ZEILE (Titel-Span hat font-size:0, aber sein
        line-height-Strut erzeugt eine leere 21px-Zeile UEBER dem Bild).
        Fix: line-height:0 auf dem Titel-Span, Label (.sub) restauriert
        auf line-height 1.75 (= gemessene 21px Zeilenbox). Neu: 15px ~ Header-Mass.
     b) Grau unter Labels war 18px (14 ul-pb + 3.5 Kachel-mb) -> ul-pb 5px
        => 8.5px ~ halbiert. Nur Bild-Panels (per :has), Info bleibt 14px.
     c) Bild 145 -> 152px (+5%; natural 150px, +2px Upscale unsichtbar).
        Kachel = 152 + 2*4 = 160px; 7*160 = 1120 <= 1170 OK. Labels (max
        136px) <= 152px -> einzeilig OK.
   Fix 4 (v1.6.2) INFO-/TEXT-PANEL (5 Spalten) @1220px: Spalten 5*269px
     (Polster 25px/Seite, Content 219px) = 1345 > 1170 Container ->
     justify-center-Overflow 175px -> Spalte 1 bei left -63px ABGESCHNITTEN.
     Fix: Spalten gleichmaessig flex 1 1 0 (= 1170/5 = 234px), Polster
     25 -> 12px/Seite (Spalten-Gap 50 -> 24px, halbiert), Content 210px.
     Einzeilig-Beweis: nur die 3 Eintraege, die SCHON HEUTE umbrechen
     (247/239/227px > alt 219px Content), brechen weiter um; naechst-
     laengster Eintrag 200px <= 210px -> KEIN neuer Umbruch.
   Kachel-Regeln nur >=1200px Viewport (darunter Theme-Default).
=================================================================== */
.col-full-nav .main-navigation .menu > li.full-width .sub-menu-wrapper .container > ul.sub-menu,
.main-navigation .menu > li.full-width .sub-menu-wrapper > .container > ul.sub-menu {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
/* (3b) Bild-Panels: Abstand unter den Bildunterschriften halbieren */
.main-navigation .menu > li.full-width .sub-menu-wrapper .container > ul.sub-menu:has(> li.menu-item-image) {
  padding-bottom: 5px !important;   /* + 3.5px Kachel-Margin = 8.5px (~18/2) */
}
/* (3a) Phantom-Zeile ueber dem Kachelbild eliminieren */
.main-navigation .menu > li.full-width ul.sub-menu > li.menu-item-image > a > span {
  line-height: 0;        /* Strut der font-size-0-Titelzeile weg */
}
.main-navigation .menu > li.full-width ul.sub-menu > li.menu-item-image > a > span .sub {
  line-height: 1.75;     /* Label-Zeilenbox wie gemessen (21px @12px) */
}
@media (min-width: 1200px) {
  .main-navigation .menu > li.full-width .sub-menu-wrapper .container > ul.sub-menu {
    justify-content: center;
  }
  .main-navigation .menu > li.full-width .sub-menu-wrapper .container > ul.sub-menu > li.menu-item-image {
    box-sizing: border-box !important;
    flex: 0 0 160px;     /* 152px Bild + 2*4px Polster */
    width: 160px !important;
    min-width: 160px !important;
    max-width: 160px;
    padding-left: 4px !important;   /* war 25px -> Kachel-Gap 8px */
    padding-right: 4px !important;
  }
  /* (3c) Bild +5%: 145 -> 152px */
  .main-navigation .menu > li.full-width ul.sub-menu > li.menu-item-image .sub img {
    width: 152px;
    height: auto;
    max-width: 152px;
  }
}
/* (4) Info-/Text-Panel: 5 Spalten passen in den Container, Gaps halbiert */
@media (min-width: 992px) {
  .main-navigation .menu > li.full-width .sub-menu-wrapper .container > ul.sub-menu > li:not(.menu-item-image) {
    box-sizing: border-box !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding-left: 12px !important;   /* war 25px -> Spalten-Gap 50 -> 24px */
    padding-right: 12px !important;
  }
}
/* (5) v1.7.0: Kachel-Beschriftungen — Ruhe = Menueblau, Hover = schwarz
   + schwarze Unterstreichung. Bild ist display:block -> Unterstreichung
   trifft nur den Text, nicht das Bild. */
.main-navigation .menu > li.full-width ul.sub-menu > li.menu-item-image > a > span .sub {
  color: var(--brand-primary) !important;
}
.main-navigation .menu > li.full-width ul.sub-menu > li.menu-item-image > a:hover > span .sub,
.main-navigation .menu > li.full-width ul.sub-menu > li.menu-item-image > a:focus > span .sub {
  color: #000 !important;
  text-decoration: underline !important;
  text-decoration-color: #000 !important;
}

/* ============================================================
   QUELLE: aquacentrum-element-height-unify (46px-Elementhoehen/Stepper-Optik)
   ============================================================ */
/* === Einheitliche Höhe = sichtbare blaue Menüleiste (46px) === */

/* Buttons: In den Warenkorb / Weiter zur Kasse / Jetzt kaufen */
.single_add_to_cart_button,
.wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
#place_order {
  min-height: 46px !important;
  height: 46px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}
/* Mengen-Zeile als Flex: Stepper fix links, "In den Warenkorb" fuellt die Restbreite
   (rechte Kante buendig mit dem Varianten-Dropdown oben) und schrumpft responsiv mit.
   Variable Produkte: .woocommerce-variation-add-to-cart; simple: form.cart (ohne Variations-Tabelle). */
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
  display: flex !important;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}
.single-product .aq-qty-group {
  flex: 0 0 auto;
}
/* Clearfix-Pseudos der Mengen-Zeile NICHT als Flex-Items zaehlen lassen
   (sonst erzeugt gap:12px je 12px Extra-Einzug links/rechts -> Versatz zur Spaltenkante). */
.single-product .woocommerce-variation-add-to-cart::before,
.single-product .woocommerce-variation-add-to-cart::after,
.single-product form.cart:not(.variations_form)::before,
.single-product form.cart:not(.variations_form)::after {
  display: none !important;
}
/* Produkt-Infospalte: gleichmaessiger horizontaler Rand (12px), damit Kurzbeschreibung,
   Dropdown und Mengen-/Button-Zeile nie am Fensterrand kleben (war padding 0 -> bei
   ~1024-1200px bis an die Kante) und alle auf einer Kante liegen. */
.single-product .summary.entry-summary {
  padding-left: 12px;
  padding-right: 12px;
  box-sizing: border-box;
}
.woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .single_add_to_cart_button {
  display: flex !important;
  flex: 1 1 auto !important;
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}

/* Schrift 15px DURCHSETZEN: Theme hat ".product .cart .single_add_to_cart_button"
   mit 18px !important (Spezifitaet 0,3,0) -> hoehere Spezifitaet noetig. */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product form.cart .quantity input.qty,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce form.checkout #place_order {
  font-size: 15px !important;
}

/* Kassen-Hinweisboxen: "Besitzt du bereits ein Kundenkonto?" + "Hast du einen Gutschein?"
   KEIN display:flex (das schluckt das Leerzeichen zwischen Text und Link!) -> vertikale
   Zentrierung per symmetrischem Padding; Leerzeichen bleibt erhalten. */
.woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-form-coupon-toggle .woocommerce-info {
  min-height: 46px !important;
  padding-top: 11px !important;
  padding-bottom: 11px !important;
  display: block !important;
}

/* Produkt-Tabs: Beschreibung / Bewertungen / Installation / Downloads
   (robust: Höhe sowohl auf <li> als auch auf <a>, damit der blaue Hintergrund
    egal wo er sitzt die volle 46px fuellt; inline-flex erhaelt die horizontale Reihe) */
.woocommerce-tabs ul.tabs li {
  height: 46px;
  min-height: 46px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex !important;
  align-items: stretch;
  /* Radius rundum (vorher nur oben 4px, unten eckig -> wirkte komisch) */
  border-radius: 4px !important;
}
.woocommerce-tabs ul.tabs li a {
  height: 46px;
  min-height: 46px;
  padding-top: 0;
  padding-bottom: 0;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  line-height: 1.2;
}
/* WooCommerce-Tab-Deko entfernen:
   - dünne graue Linie ueber den Tabs (border-top #f5f5f5 am Wrapper)
   - blaue Eck-"Oehrchen" (li::before / li::after, 1px, bottom:-1px) -> wirkten als Punkte
   Goldene Aktiv-Unterstreichung + "Bewertungen"-Zaehler (eigene Elemente) bleiben unberuehrt. */
.woocommerce-tabs.wc-tabs-wrapper {
  border-top: 0;
}
.woocommerce-tabs ul.tabs::before {
  border: 0;
}
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after {
  display: none !important;
  content: none !important;
  border: 0 !important;
}

/* Produktkarten-Button "Details & Bestellen" (Übersicht / Kategorie / Related):
   Höhe 46px + Schrift 15px (= Menueleisten-Schrift, einheitlich mit allen Buttons) */
ul.products li.product a.button {
  min-height: 46px !important;
  padding-top: 0;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* === Kasse/Warenkorb: Gutschein-Feld + Coupon-/Update-Buttons (46px, 15px) === */
#coupon_code {
  height: 46px;
  min-height: 46px;
  font-size: 15px !important;
  box-sizing: border-box;
}
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"] {
  min-height: 46px;
  height: 46px;
  padding-top: 0;
  padding-bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* === Produktseite: Mengen-Stepper [-] [1] [+] in EINEM 46px blauen Rahmen ===
   Minus/Plus-Buttons werden server-seitig via WooCommerce-Hooks gerendert (siehe unten),
   umschliessen .quantity in .aq-qty-group. Nativer Spinner ausgeblendet. Funktion via
   inline onclick (LiteSpeed-JS-Delay-sicher). Nur Produktseite. */
.single-product .aq-qty-group {
  display: inline-flex;
  align-items: stretch;
  height: 46px;
  border: 1px solid var(--brand-primary);
  border-radius: 4px;
  box-sizing: border-box;
  overflow: hidden;
  vertical-align: middle;
}
.single-product .aq-qty-group .quantity {
  border: 0;
  margin: 0;
  height: 44px;
  display: flex;
  align-items: stretch;
}
.single-product .aq-qty-group input.qty {
  height: 44px !important;
  min-height: 44px;
  width: 48px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-align: center;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box;
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: textfield !important;
  appearance: textfield;
}
.single-product .aq-qty-group input.qty::-webkit-outer-spin-button,
.single-product .aq-qty-group input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
  display: none !important;
}
/* Breiter Schutz: falls ein verzoegertes Theme-JS das Mengenfeld neu rendert
   (type zurueck auf number), Spinner trotzdem ueberall auf Produktseiten ausblenden. */
.single-product input.qty::-webkit-outer-spin-button,
.single-product input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  margin: 0 !important;
  display: none !important;
}
.single-product input.qty {
  -moz-appearance: textfield !important;
}
.single-product .aq-qty-group .aq-qty-minus,
.single-product .aq-qty-group .aq-qty-plus {
  width: 36px;
  min-width: 36px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #ffffff !important;
  color: var(--brand-primary);
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none;
}
.single-product .aq-qty-group .aq-qty-minus { border-right: 1px solid var(--brand-primary) !important; }
.single-product .aq-qty-group .aq-qty-plus  { border-left: 1px solid var(--brand-primary) !important; }
.single-product .aq-qty-group .aq-qty-minus:hover,
.single-product .aq-qty-group .aq-qty-plus:hover { background: var(--brand-notice-box-bg, #fdf6ec) !important; } /* 04.09.2026 Farb-Kanon (W4) — 07-02: helles Orange statt AC-Hellblau */

/* === Produktseite: Varianten-Auswahl (natives select) — 46px, duenner blauer Rahmen === */
form.variations_form .variations select,
form.variations_form select,
.variations td.value select,
.single-product .variations select {
  height: 46px !important;
  min-height: 46px !important;
  border: 1px solid var(--brand-primary) !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
}

/* === Mein-Konto-Navigation: gruene Bullets/Punkte ueber den Tabs entfernen ===
   Das Bullets-Plugin nutzt sehr hohe Spezifitaet (.entry-content ul:not()... > li::before,
   ~12 Klassenstufen). Eine ID (#page/#main/#content) schlaegt das (ID-Tier > Klassen-Tier).
   Nur fuer die Konto-Nav, ohne das Bullets-Plugin anzufassen. */
#page .woocommerce-MyAccount-navigation ul li,
#main .woocommerce-MyAccount-navigation ul li,
#content .woocommerce-MyAccount-navigation ul li {
  list-style: none;
  padding-left: 0;
}
#page .woocommerce-MyAccount-navigation ul li::before,
#page .woocommerce-MyAccount-navigation ul li::after,
#page .woocommerce-MyAccount-navigation ul li::marker,
#main .woocommerce-MyAccount-navigation ul li::before,
#main .woocommerce-MyAccount-navigation ul li::after,
#main .woocommerce-MyAccount-navigation ul li::marker,
#content .woocommerce-MyAccount-navigation ul li::before,
#content .woocommerce-MyAccount-navigation ul li::after,
#content .woocommerce-MyAccount-navigation ul li::marker {
  content: none;
  display: none !important;
  background: none !important;
  background-image: none;
}

/* ============================================================
   QUELLE: aquacentrum-faq-optik-schema (FAQ-Optik; Schema bleibt im mu-plugin)
   ============================================================ */
/* Touch Targets Fix: FAQ-Links Mobile (A11y) */
@media (max-width: 767px) {
  .ewd-ufaq-post-margin a,
  .ewd-ufaq-faq-post a {
    display: inline-block;
    min-height: 44px;
    line-height: 1.6;
    padding: 4px 0;
  }
}

/* FAQ Layout-Fix · 2026-05-26 (Update 26.05.2026: Section F Belt-and-Suspenders)
 * Ziel: Single-FAQs auf Blog-Breite + FAQ-Übersicht auf News-Layout
 * Source: _diagnostik/2026-05-26_FAQ-Layout-Diagnose.md + _diagnostik/2026-05-26_Snippet-Audit-Master.md
 * Author: Platon via Ruflo @ Sokrates-Rechner
 * Scope: nur type-ufaq und single-ufaq / tax-ufaq-* — News bleibt unverändert
 */

/* (A) FAQ-Single: Sidebar-Spalte entfernen */
body.single-ufaq #primary.content-area,
body.single-ufaq .content-area {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}
body.single-ufaq #secondary,
body.single-ufaq .widget-area { display: none !important; }

/* (B) FAQ-Kategorie-/Tag-Archiv: Sidebar entfernen */
body.tax-ufaq-category #primary.content-area,
body.tax-ufaq-tag      #primary.content-area,
body.tax-ufaq-category .content-area,
body.tax-ufaq-tag      .content-area {
    width: 100% !important; max-width: 100% !important; float: none !important;
}
body.tax-ufaq-category #secondary,
body.tax-ufaq-tag      #secondary,
body.tax-ufaq-category .widget-area,
body.tax-ufaq-tag      .widget-area { display: none !important; }

/* (C) FAQ-Übersichts-Karten: Grid-Layout wie News */
.site-main.flow article.type-ufaq {
    display: grid !important;
    grid-template-columns: minmax(180px, 280px) 1fr;
    column-gap: 1.25rem;
    align-items: stretch;
    padding: 0 !important;
    overflow: hidden !important;
}
.site-main.flow article.type-ufaq .post-thumbnail {
    grid-column: 1 !important; margin: 0;
    align-self: stretch; overflow: hidden !important;
}
.site-main.flow article.type-ufaq .post-thumbnail img {
    width: 100%; height: 100%;
    object-fit: cover; aspect-ratio: auto;
    border-radius: 0 !important; display: block !important;
}
.site-main.flow article.type-ufaq > :not(.post-thumbnail) { grid-column: 2 !important; }
.site-main.flow article.type-ufaq .entry-header,
.site-main.flow article.type-ufaq .entry-content,
.site-main.flow article.type-ufaq .entry-summary,
.site-main.flow article.type-ufaq .blog-loop-content-wrapper {
    padding: 1.5em 1.75em !important;
}

/* (D) Mobile <768px: einspaltig */
@media (max-width: 767px) {
    .site-main.flow article.type-ufaq { grid-template-columns: 1fr !important; }
    .site-main.flow article.type-ufaq .post-thumbnail { grid-column: 1 !important; }
    .site-main.flow article.type-ufaq .post-thumbnail img {
        height: auto !important; max-height: 240px !important;
    }
    .site-main.flow article.type-ufaq > :not(.post-thumbnail) { grid-column: 1 !important; }
}

/* (E) FAQ-Single: UFAQ-Plugin Body-Padding entfernen
 * Verifiziert per DevTools 2026-05-26: .ewd-ufaq-faq-body hat padding-left:55px padding-right:25px
 * Dieses Padding ist beim Single-FAQ überflüssig — kein Toggle-Icon, kein Listen-Layout.
 */
body.single-ufaq .ewd-ufaq-faq-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* (F) Belt-and-Suspenders gegen ungescopede Global-Snippets (ergänzt 26.05.2026)
 * Hintergrund: #125261 Block 4 ("Homepage Spacing") wurde 26.05.2026 auf body.home gescoped
 *              (Smoking-Gun aus _diagnostik/2026-05-26_Snippet-Audit-Master.md).
 * Diese Counter-Regel ist redundant solange #125261 gescoped bleibt — dient als Sicherheit,
 * falls #125261 zukünftig wieder unscoped wird oder ein ähnliches Snippet neu hinzukommt.
 * Wenn diese Regel in 6 Monaten noch immer keinen Effekt hat (DevTools: nicht überschrieben),
 * kann sie ersatzlos gelöscht werden.
 */
body.single-ufaq .entry-header {
    padding-top: 0 !important;
    margin-bottom: 0 !important;
}
body.single-ufaq .entry-content .row:first-child {
    margin-top: 0 !important;
}
/* Container: zentriert, kompakte Breite wie das Header-Suchfeld */
.aqc-faq-search-wrap #ewd-ufaq-jquery-ajax-search {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    max-width: 760px;
    margin: 16px auto 8px;
}
/* Label im Sie-Ton, dezent, in Markenblau */
.aqc-faq-search-wrap .ewd-ufaq-field-label {
    display: inline-block;
    flex: 0 0 auto;
    font-weight: 700;
    margin: 0;
    white-space: nowrap;
    color: var(--brand-primary);
    font-size: 16px;
}
/* Such-Box: Lupe links sichtbar (wie Header-Suche, SVG-Mask) */
.aqc-faq-search-wrap .search-field,
#ewd-ufaq-jquery-ajax-search .search-field {
    position: relative;
    flex: 1 1 420px;
    max-width: 420px;
    min-width: 240px;
    display: block !important;
    margin: 0;
    border-radius: 4px !important;
    overflow: hidden;
}
.aqc-faq-search-wrap .search-field::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 16px;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    pointer-events: none;
    background-color: var(--brand-primary);
    -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 21L15 15M17 10C17 13.866 13.866 17 10 17C6.13401 17 3 13.866 3 10C3 6.13401 6.13401 3 10 3C13.866 3 17 6.13401 17 10Z' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-size: contain; mask-size: contain;
    -webkit-mask-position: center; mask-position: center;
}
/* Input: weiss, blauer Rahmen, blaue Schrift, klein + fett, Radius 5px */
.aqc-faq-search-wrap input#ewd-ufaq-text-search {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid var(--brand-primary) !important;
    border-radius: 4px !important;
    height: 40px;
    padding: 0 1rem 0 3rem;
    font-size: 14px;
    font-weight: 700;
    line-height: 40px;
    color: var(--brand-primary);
    -webkit-appearance: none;
    appearance: none;
}
.aqc-faq-search-wrap input#ewd-ufaq-text-search:focus {
    border-color: var(--brand-primary);
    box-shadow: 0 0 0 2px rgba(var(--brand-primary-rgb),0.30);
    outline: none;
}
.aqc-faq-search-wrap input#ewd-ufaq-text-search::placeholder {
    color: var(--brand-primary);

    font-weight: 700;
}
/* Clear-Button (x) dezent rechts, in Markenblau */
.aqc-faq-search-wrap .clear-field {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    color: var(--brand-primary);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    z-index: 2;
}
/* HIGH-SPECIFICITY OVERRIDE: schlaegt ufaq-Plugin (#ewd-ufaq...search-field .ewd-ufaq-text-input
   mit padding 12px !important + border-radius:0 !important). Text muss rechts neben der Lupe
   beginnen + runde Ecken + blaue Schrift. */
#ewd-ufaq-jquery-ajax-search .search-field .ewd-ufaq-text-input,
.aqc-faq-search-wrap #ewd-ufaq-jquery-ajax-search .search-field input#ewd-ufaq-text-search {
    padding: 8px 30px 8px 48px;
    border: 1px solid var(--brand-primary) !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--brand-primary) !important;
    font-weight: 700 !important;
    font-size: 14px;
    height: 40px;
    box-sizing: border-box;
}
#ewd-ufaq-jquery-ajax-search .search-field .ewd-ufaq-text-input::placeholder {
    color: var(--brand-primary) !important;
    font-weight: 700 !important;
    opacity: 1;
}

/* ============================================================
   QUELLE: aquacentrum-medien-a11y-optik (Medien-Optik + A11Y; WCAG-Kontrast erhalten)
   ============================================================ */
/* Verringert Abstand zwischen YouTube-Video und Videotitel (Unterschrift) */
/* Spezifitaet 0-3-2 um .entry-content .row:first-child h2 (0-3-1) zu ueberschreiben */
.entry-content .youtube-player + a.bc_lazy_load + h2,
.entry-content .youtube-player + a.bc_lazy_load + h3,
.entry-content .youtube-player + a.bc_lazy_load + h4,
/* Kategorie-Seiten nutzen .term-description statt .entry-content */
.term-description .youtube-player + a.bc_lazy_load + h2,
.term-description .youtube-player + a.bc_lazy_load + h3,
.term-description .youtube-player + a.bc_lazy_load + h4 {
    margin-top: -17px !important;
}

/* === Blauer Rahmen um alle Video-Einbettungen === */
/* Markenfarbe --brand-primary (gleiche Farbe wie Suchfeld + Navigation).
   04.09.2026 W4: fruehere Fassung sagte "Aquacentrum-Blau #f39c12" — durch den
   alten Blau->Orange-sed sinnentstellt, Farbname korrigiert. */
.youtube-player {
    border: 2px solid var(--brand-primary);
}

/* ===== Abgerundete Ecken  aquacentrum.de =====
 *    Erstellt: 08.03.2026 */

/* Produktgalerie Hauptbild (Swiper-Container hat overflow:hidden) */
.cg-main-swiper { border-radius: 10px; }

/* Produktgalerie Thumbnails */
.cg-thumb-swiper .swiper-slide img { border-radius: 6px; }

/* Content-Bilder (Beschreibung, Tabs, Seiteninhalte) */
.entry-content img,
.woocommerce-Tabs-panel img { border-radius: 10px; }

/* YouTube Lazy-Load Player */
.youtube-player { border-radius: 10px; overflow: hidden; }

/* Shop-Produktkarten (Kategorie, Related, Upsells) */
.products li.product img { border-radius: 10px; }

/* Alle Bilder im Seiteninhalt (außer Logo & Emojis) */
.site-main img:not(.custom-logo):not(.emoji) { border-radius: 10px; }

/* === Produktkarten Hover-Schatten Fix === */
/* Schatten ging 15px unter die Karte und ueberlagerte die Ueberschrift darueber */
ul.products li.product::before {
    bottom: 5px;   /* War -15px, jetzt nur noch 5px ueber Kartenrand */
    top: 5px !important;      /* 5px vom oberen Rand, damit Schatten-Blur nicht in Ueberschrift blutet */
}

/* Weniger leerer Platz unter dem Button */
ul.products li.product {
    padding-bottom: 20px !important;  /* War 40px */
}


/* === Kategorie-Archiv: Beitrags-Karten abgerundet === */
.site-main.flow article {
    border: 2px solid var(--brand-primary);
    border-radius: 10px !important;
    overflow: hidden;
}

/* === FAQ-Archiv: Padding innerhalb der Rahmen === */
.site-main.flow article.type-ufaq {
	    padding: 20px 25px;
}

/* === News/Blog-Karten: Abstand Rahmen<->Ueberschrift (Yasin 2026-06-12) === */
.site-main.flow article .entry-header {
	    padding-top: 18px;
}
.site-main.flow article {
	    column-gap: 22px;
}

/* === News/Blog-Karten mobil/gestapelt: Bild randlos bis zum Rand (Yasin 2026-06-12) === */
@media (max-width: 768px) {
	.site-main.flow article {
	    flex-direction: column;
	}
	.site-main.flow article .post-thumbnail {
	    width: 100% !important;
	    max-width: 100% !important;
	    margin-bottom: 0 !important;
	}
	.site-main.flow article .post-thumbnail img {
	    width: 100% !important;
	    height: auto !important;
	    aspect-ratio: 16/9;
	    object-fit: cover;
	    display: block;
	}
	.site-main.flow article .entry-header {
	    padding-top: 12px;
	}
}

/* === News/Blog-Karten: Beitragsbild randlos === */
.site-main.flow article .post-thumbnail {
	    align-self: stretch;
	    margin-bottom: -35px;
	    overflow: hidden;
}
.site-main.flow article .post-thumbnail img {
	    border-radius: 0;
	    width: 100%;
	    height: 100%;
	    object-fit: cover;
}

/* === Autoren-Box: blauer Rahmen + Bild links (160px), Text rechts (Yasin 2026-06-12) === */
#post-author {
	display: flex;
	align-items: flex-start;
	gap: 22px;
	border: 1px solid var(--brand-primary);
	border-radius: 10px;
	padding: 22px 24px;
	background: #fff;
}
#post-author .profile-image { flex: 0 0 auto; margin: 0; }
#post-author .profile-image img.avatar {
	width: 160px;
	height: 160px;
	max-width: none;
	border-radius: 12px;
}
#post-author .profile-content { flex: 1; min-width: 0; }
#post-author .profile-content h4 { margin-top: 0; }
@media (max-width: 480px) {
	#post-author { gap: 14px; padding: 16px; }
	#post-author .profile-image img.avatar { width: 100px; height: 100px; }
}

/* === Suchfeld: Kontrast-Fix (PageSpeed A11Y) === */
.site-search .search-field {
	    background-color: #fff !important;
}
.site-search .search-field::placeholder {
	    color: #666 !important;
}

/* Fix 1: Video auf Homepage mit H2-Überschrift ausrichten */
.home .entry-content .youtube-player {
  margin-top: 20px;
}

/* Fix 2: Schwarze Pixel oben/unten bei allen Videos beheben (Aspect Ratio 16:9 korrekt) */
.youtube-player {
  padding-bottom: 56.25%;
  margin-left: 0;
  margin-right: 0;
}

/* Fix 3: H1 auf Archiv- und Kategorie-Seiten ebenfalls bold */
h1.page-title {
  font-size: 1.55em;
  font-weight: 700;
  line-height: 1.2;
}
/* Fix: WooCommerce Kurzbeschreibung Links unterstrichen (wie Fließtext) */
.woocommerce-product-details__short-description a {
  text-decoration: underline 0.75px !important;
  text-underline-offset: 2px !important;
}
/* Fix: Links in Aufzählungslisten (li) ebenfalls unterstrichen */
.entry-content li a {
  text-decoration: underline 0.75px;
  text-underline-offset: 2px;
}
/* Fix 6: Produktbilder in Übersichten mittig ausrichten */
.shoptimizer-plp-image-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Fix 7: Warenkorb — Papierkorb-Icon rot & größer, Produktbilder größer mit abgerundeten Ecken */

/* Warenkorb-Seite: Papierkorb Icon rot & größer */
td.product-remove a.remove {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
td.product-remove a.remove::before {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px;
  background-color: #cc0000;
  -webkit-mask-size: 22px 22px;
  mask-size: 22px 22px;
}

/* Warenkorb-Seite: Produktbild größer & abgerundete Ecken */
td.product-thumbnail {
  width: 105px !important;
}
td.product-thumbnail img {
  width: 80px !important;
  height: 80px !important;
  max-width: 80px !important;
  object-fit: cover;
  border-radius: 6px !important;
}

/* Mini-Warenkorb: Produktbild größer & abgerundete Ecken */
.woocommerce-mini-cart__item img,
.mini_cart_item img {
  width: 80px !important;
  height: 80px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
}

/* Mini-Warenkorb: X-Löschen-Button größer */
.mini_cart_item a.remove_from_cart_button,
.woocommerce-mini-cart__item a.remove {
  font-size: 22px;
  width: 24px;
  height: 24px;
  line-height: 24px;
}


/* Fix 8+9: Einheitliche Typoskala — Warenkorb & Kasse
   Skala: 13px (S) | 14px (M) | 15px (L) | 17px (XL) | 18px (XXL)
   ============================================================== */

/* --- WARENKORB-TABELLE --- */

/* Produktname */
td.product-name a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4 !important;
}
/* Variante */
td.product-name .variation,
td.product-name .variation dt,
td.product-name .variation dd {
  font-size: 13px !important;
}
/* Produktpreis (prominent) */
td.product-subtotal .woocommerce-Price-amount,
td.product-subtotal bdi {
  font-size: 18px !important;
  font-weight: 600 !important;
}
/* Mengen-Input */
td.product-quantity input.qty {
  font-size: 14px !important;
}

/* --- BESTELLZUSAMMENFASSUNG WARENKORB (rechte Box) --- */

/* Zwischensumme / Versand: Labels */
.cart_totals .cart-subtotal th,
.cart_totals .woocommerce-shipping-totals th {
  font-size: 14px;
  font-weight: 600;
}
/* Zwischensumme / Versand: Werte */
.cart_totals .cart-subtotal td .woocommerce-Price-amount,
.cart_totals .cart-subtotal td bdi {
  font-size: 14px !important;
  font-weight: 500 !important;
}
/* Versand-Optionen */
.cart_totals .shipping_method + label,
.cart_totals .shipping ul li label {
  font-size: 13px !important;
}
/* Gesamtsumme: Label & Wert */
.cart_totals .order-total th {
  font-size: 17px !important;
  font-weight: 700 !important;
}
.cart_totals .order-total td .woocommerce-Price-amount,
.cart_totals .order-total td bdi {
  font-size: 17px !important;
  font-weight: 700 !important;
}
/* MwSt Hinweis (klein) */
.cart_totals .includes_tax,
.cart_totals small {
  font-size: 12px !important;
}

/* --- KASSE: SECTION-ÜBERSCHRIFTEN --- */

/* H3 fett machen (waren nur font-weight: 400) */
.woocommerce-checkout h3,
#customer_details h3,
#payment h3,
#order_review_heading {
  font-weight: 600 !important;
}

/* --- KASSE: BESTELLÜBERSICHT (rechts) --- */

/* Produktname in Order Review */
#order_review .product-name {
  font-size: 14px !important;
  font-weight: 500 !important;
}
/* Produktpreis in Order Review */
#order_review .product-total .woocommerce-Price-amount,
#order_review .product-total bdi {
  font-size: 14px !important;
  font-weight: 600 !important;
}
/* Zwischensumme / Versand */
#order_review .cart-subtotal th,
#order_review .woocommerce-shipping-totals th {
  font-size: 14px !important;
  font-weight: 600 !important;
}
#order_review .cart-subtotal td,
#order_review .woocommerce-shipping-totals td {
  font-size: 14px !important;
  font-weight: 400 !important;
}
/* Gesamtsumme */
#order_review .order-total th {
  font-size: 17px !important;
  font-weight: 700 !important;
}
#order_review .order-total td .woocommerce-Price-amount,
#order_review .order-total td bdi {
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* --- KASSE: FORMULAR --- */

/* Formular Labels */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label {
  font-size: 14px;
  font-weight: 500;
}
/* Formular Inputs + Select */
.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
  font-size: 14px;
}

/* Fix 10: Ausgelagert in Snippet 125482 (Footer Komplett-Styling) */

  /* Fix 11: A11y Kontrast-Fix — alte Inline-Farbe #2678c0 (Aquacentrum-Blau) auf weiß = 4.07:1,
     WCAG AA verlangt 4.5:1. Loesung: Inline-Farben mit 2678c0 im Content auf die
     Markenfarbe ueberschreiben. Betrifft ~20 Posts mit inline style=color:#2678c0.
     (04.09.2026 W4: Kommentar repariert — der alte Blau->Orange-sed hatte alle drei
     Hex-Werte auf #f39c12 gesetzt und den Satz damit sinnlos gemacht.) */
  .entry-content [style*="2678c0"],
  .ufaq-faq-body [style*="2678c0"],
  .woocommerce-product-details__short-description [style*="2678c0"] {
    color: var(--brand-primary) !important;
  }

 /* ============================================ */
  /* Fix 12: Suchseite — Pagination + Ergebnis-Zähler (20.04.2026) */
  /* ============================================ */

  /* 12a. Ergebnis-Zähler bold + größer */
  .woocommerce-result-count {
    font-weight: 700;
    font-size: 15px;
  }

  /* 12b. Pagination-Zahlen größer + bold */
  .woocommerce-pagination .page-numbers,
  nav.pagination .page-numbers {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--brand-primary) !important;
    padding: 6px 10px;
  }

  /* 12c. Aktive Seite hervorgehoben */
  .woocommerce-pagination span.page-numbers.current,
  nav.pagination span.current {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
    border-radius: 4px;
  }

  /* 12d. Content-Suche: "Nächste Seite" groß + bold + blau */
  .nav-links a,
  .navigation.pagination a,
  a.next.page-numbers,
  a.prev.page-numbers {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--brand-primary) !important;
  }

  /* 12e. Content-Tab "Nächste Seite" groß + bold + blau */
  .search-pagination a {
    font-size: 16px;
    font-weight: 700;
    color: var(--brand-primary);
    padding: 8px 0 !important;
    display: inline-block;
  }

  /* 12f. Content-Tab Ergebnis-Info oben anzeigen (margin) */
  .search-pagination {
    padding: 15px 0 !important;
  }

/* Produktpreise: nutzen --brand-price wie der Warenkorb-Button.
   (04.09.2026 W4: alter Text "Orange (#DC9814) → Grün (#f39c12)" war nach dem
   Blau->Orange-sed widerspruechlich und wurde entfernt.) */

/* Einzelproduktseite: Preis größer & fetter */
.product p.price,
.product p.price ins,
.product p.price .woocommerce-Price-amount,
.product p.price bdi {
    color: var(--brand-primary) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
}

/* Kategorie-/Shop-Seiten: Preis größer & fetter */
ul.products li.product .price,
ul.products li.product .price ins,
ul.products li.product .price .woocommerce-Price-amount {
    color: var(--brand-primary) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
}

/* Germanized Preiszusatz (Grundpreis etc.) */
.wc-gzd-additional-info.price-unit .woocommerce-Price-amount {
    color: var(--brand-primary) !important;
}

/* Ajax-Suche Preise */
.commercekit-ajs-product-price,
.commercekit-ajs-product-price ins,
.commercekit-ajs-product-price a span {
    color: var(--brand-primary) !important;
}

/* Durchgestrichener Originalpreis bleibt grau & kleiner */
.product p.price del,
.product p.price del .woocommerce-Price-amount,
ul.products li.product .price del,
ul.products li.product .price del .woocommerce-Price-amount,
.commercekit-ajs-product-price del {
    color: #72767c !important;
    font-size: 14px !important;
    font-weight: 400 !important;
}

/* CLS Fix: Platz fuer Produkt-Thumbnails reservieren */
/* Problem: LiteSpeed Lazy Load ersetzt Bilder mit 1x1px Placeholder.
   Wenn das echte Bild laedt, springt das Layout (CLS 0.197).
   Fix: aspect-ratio auf dem Image-Wrapper reserviert den Platz vorab. */

/* Produkt-Thumbnail-Wrapper: Quadratisch (1:1) */
.shoptimizer-plp-image-wrapper {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  width: 100%;
}

/* Bild: Container fuellen, Seitenverhaeltnis beibehalten */
.shoptimizer-plp-image-wrapper img.attachment-woocommerce_thumbnail {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Auch fuer Produktlisten auf Kategorie-Seiten */
ul.products li.product .shoptimizer-plp-image-wrapper {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* A11Y Kontrast-Fix — WCAG 2.0 AA (4.5:1 Ratio) */
/* WPCode Snippet 125318 — Aquacentrum.de */
/* Footer-Regeln ausgelagert in Snippet 125482 (Footer Komplett-Styling) */

/* 1. Blaue Menuleiste + Header: Hintergrund abdunkeln fuer 4.5:1 mit weiss */
/* Historie: Original war rgb(40,126,201) = #287ec9 → Ratio 4.27:1 (zu niedrig);
   heute liefert --brand-primary die Nav-Farbe.
   (04.09.2026 W4: Kontrastwerte-Kommentar repariert — der alte Blau->Orange-sed
   hatte beide Hex-Werte auf #f39c12 gesetzt.) */
.col-full-nav {
    background-color: var(--brand-primary) !important;
}

/* 2. Mobile Bottom Menu: gleicher abgedunkelter Blauton */
#wp-bottom-menu {
    background-color: var(--brand-primary);
}

/* 4. WooCommerce Preise: Blau #f39c12 auf weiss (4.63:1) */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce ul.products li.product .price ins,
.woocommerce-card__header .price,
.woocommerce-card__header .price .woocommerce-Price-amount,
.woocommerce-card__header .price .woocommerce-Price-amount bdi,
.summary p.price,
.summary p.price .woocommerce-Price-amount,
.summary p.price .woocommerce-Price-amount bdi {
    color: var(--brand-primary) !important;
}

/* 5. ALLE Buttons/Elemente auf die Markenfarbe (--brand-primary) statt #3BB54A.
   Historie: #3BB54A hatte nur Ratio 2.65:1 (viel zu niedrig).
   (04.09.2026 W4: Kommentar repariert — "Dunkelgruen #f39c12" / "#f39c12 = #f39c12"
   waren Artefakte des alten Blau->Orange-sed.) */

/* Produktlisten-Buttons */
li.product .woocommerce-card__header a.button.custom-button {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
}

/* "In den Warenkorb" Button — maximale Spezifitaet */
body .product .cart .single_add_to_cart_button,
body.single-product .cart .single_add_to_cart_button,
.woocommerce .product .cart .single_add_to_cart_button,
.single_add_to_cart_button {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
}
body .product .cart .single_add_to_cart_button:hover,
body.single-product .cart .single_add_to_cart_button:hover,
.single_add_to_cart_button:hover {
    background-color: var(--brand-primary-hover) !important;
}

/* 5c. Produktseite: Variante-Dropdown, Button-Text, Anzahl fett */
.product .cart .variations select,
.product .cart .variations .woocommerce-variation-description {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--brand-primary) !important;
}
.product .cart .single_add_to_cart_button {
    font-weight: 700 !important;
    font-size: 18px !important;
}
.product .cart .quantity input.qty {
    font-weight: 700 !important;
    font-size: 18px !important;
}
.product .cart .quantity .qty-btn,
.product .cart .quantity button {
    font-weight: 700 !important;
}

/* 5d. ALLE verbleibenden gruenen Buttons: WCAG AA Kontrast */
/* Login, Registrieren, Kasse, Coupon, etc. */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .woocommerce-Button,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt,
.woocommerce a.button.checkout,
.checkout-button,
#place_order {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
}
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .woocommerce-Button:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce a.button.checkout:hover,
.checkout-button:hover,
#place_order:hover {
    background-color: var(--brand-primary-hover) !important;
}

/* 5f. Warenkorb aktualisieren Button: Sichtbar auch im disabled-Zustand */
button[name="update_cart"],
button[name="update_cart"]:disabled,
button[name="update_cart"][disabled] {
    background-color: var(--brand-primary);
    color: #fff;
    opacity: 0.5;
}
button[name="update_cart"]:not(:disabled) {
    opacity: 1;
}
button[name="update_cart"]:not(:disabled):hover {
    background-color: var(--brand-primary-hover) !important;
}

/* 6. Links in Textbloecken: Keine Unterstreichung, Hover = schwarz + underline */
.entry-content a,
.textwidget a,
.woocommerce-product-details__short-description a {
    text-decoration: none !important;
    color: var(--brand-primary) !important;
}
.entry-content a:hover,
.textwidget a:hover,
.woocommerce-product-details__short-description a:hover {
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
    color: #333333 !important;
}

/* Ausnahmen: Buttons NICHT unterstreichen + Farbe nicht ueberschreiben */
.entry-content a.button,
.entry-content a.wp-block-button__link {
    text-decoration: none !important;
    color: #fff !important;
}

/* 6b. Produktnamen in Uebersichten: Blau, kein underline; Hover = schwarz + underline */
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
    color: var(--brand-primary) !important;
    text-decoration: none !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title a:hover {
    color: #333333 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
    text-decoration-color: rgba(51, 51, 51, 0.8) !important;
}

/* 6c. Footer Nav-Menu-Links: Hover = schwarz + underline */
.widget_nav_menu a {
    text-decoration: none !important;
}
.widget_nav_menu a:hover {
    color: #333333 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}

/* 8. Chatbase Button: Kontrast abdunkeln */
/* Original: #f39c12 = Ratio 4.27:1 (zu niedrig) */
/* Neu: #f39c12 = Ratio 4.63:1 (WCAG AA bestanden) */
button[onclick*="chatbase"],
button[data-chatbase],
.chatbase-button {
    background-color: var(--brand-primary) !important;
}

/* 10. Produktseite: Preis + MwSt auf einer Zeile */
/* float statt display:inline weil LiteSpeed UCSS display:inline filtert */
.single-product .summary p.price {
    float: left !important;
    margin-right: 10px !important;
    margin-top: 0px !important;
    margin-bottom: 10px !important;
}
.single-product .summary p.price + .wc-gzd-additional-info + .wc-gzd-additional-info + .clear,
.single-product .summary .clear:has(+ .legal-price-info) {
    display: none !important;
}
.single-product .summary .legal-price-info {
    float: left !important;
    margin-left: 4px !important;
    line-height: 1 !important;
    padding-top: 6px !important;
}
.single-product .summary .woocommerce-product-rating {
    clear: left;
    margin-bottom: 14px !important;
}
.single-product .summary .product_title {
    margin-bottom: 10px;
}

/* 11. Kategorieseiten: MwSt + Versand auf eine Zeile + Titel feste Hoehe */
@media (min-width: 993px) {
    .woocommerce ul.products li.product .wc-gzd-additional-info.tax-info,
    .woocommerce ul.products li.product .wc-gzd-additional-info.shipping-costs-info {
        display: inline !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .woocommerce ul.products li.product .wc-gzd-additional-info.tax-info::after {
        content: " ";
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        min-height: 84px;
        margin-bottom: 8px !important;
    }
    .woocommerce ul.products li.product .price {
        margin-bottom: 2px !important;
    }
}

@media (max-width: 767px) {
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        min-height: auto;
    }
    .woocommerce ul.products li.product .price {
        margin-bottom: 2px !important;
    }
}

/* 7. Warenkorb-Banner: Farbe + volle Breite + Abstand Text/Links */
.woocommerce-message,
body.single-product .woocommerce-message .message-inner {
    background-color: var(--brand-primary) !important;
}
/* W17 B5 (07.10.2026): nur noch auf der Produktseite (dort hat .woocommerce das 36.65px-Padding).
   Vorher galt das fuer ALLE Hinweise → z. B. /mein-konto/lost-password/ ragte die Box 39px links hinaus. */
body.single-product .woocommerce-message {
    /* Negative margins ausgleichen des .woocommerce 36.65px Paddings (=3.13%) */
    margin-left: -3.342% !important;
    margin-right: -3.342% !important;
    width: calc(100% + 6.684%) !important;
    box-sizing: border-box;
}
.woocommerce-message .message-inner {
    justify-content: space-between;
    border-left-color: var(--brand-primary);
}

/* 7b. Warenkorb-Banner: Doppelten "Warenkorb anzeigen" Button links ausblenden */
/* (button.wc-forward ist in .message-content, Links stehen rechts in .buttons-wrapper) */
.woocommerce-message .message-content .button.wc-forward {
    display: none !important;
}

/* 6e. Produktkurzbeschreibung + Kategoriebeschreibung: Blau, kein underline; Hover = schwarz + underline */
body .woocommerce-product-details__short-description a,
.term-description a,
.archive-header .term-description a,
.below-woocommerce-category a {
    color: var(--brand-primary) !important;
    text-decoration: none !important;
}
body .woocommerce-product-details__short-description a:hover,
.term-description a:hover,
.archive-header .term-description a:hover,
.below-woocommerce-category a:hover {
    color: #333333 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
    text-decoration-color: rgba(51, 51, 51, 0.8) !important;
}
/* 6f. Versandkosten-Link auf Produktseiten: kein underline, hover = schwarz + underline */
.entry-summary .wc-gzd-additional-info a {
    text-decoration: none !important;
}
.entry-summary .wc-gzd-additional-info a:hover {
    color: #333333 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 3px !important;
}
/* 6g. Produkttitel (Startseite + Kategorie-Seiten): fett */
.woocommerce-loop-product__title {
    font-weight: 700 !important;
}

/* 6i. ShiftNav Mobile-Menü: Menüpunkte schwarz statt grau */
.shiftnav-nav a.shiftnav-target {
    color: #333333 !important;
}
.shiftnav-nav a.shiftnav-target:hover {
    color: var(--brand-primary) !important;
}

/* 6j. ShiftNav Mobile-Menü: Aktiver/aktueller Menüpunkt → Aquacentrum-Blau statt iOS-Blau (#007AFF) */
/* skin-light setzt rgb(0,122,255) für current-menu-item + shiftnav-active → mit #ID + !important überschreiben */
#shiftnav-main .shiftnav-nav li.current-menu-item > a.shiftnav-target,
#shiftnav-main .shiftnav-nav li.current-menu-item > .shiftnav-submenu-activation,
#shiftnav-main .shiftnav-nav li.shiftnav-active > a.shiftnav-target,
#shiftnav-main .shiftnav-nav li.shiftnav-active > .shiftnav-submenu-activation,
.shiftnav.shiftnav-skin-light ul.shiftnav-menu li.menu-item.current-menu-item > .shiftnav-target,
.shiftnav.shiftnav-skin-light ul.shiftnav-menu li.menu-item.shiftnav-active > .shiftnav-target {
    background-color: var(--brand-primary) !important;
    color: #ffffff !important;
}

/* ============================================ */
/* RT 2026-06-29: Produkttitel-Reserve 4 Zeilen auf ALLEN Breiten            */
/* Zuvor: min-height:84px NUR >=993px; <768px explizit auf auto -> Mobil-    */
/* Preis sprang je nach Titel-Zeilen. 4lh = 4x Titel-Zeilenhoehe (font-      */
/* agnostisch, passt sich der groesseren Mobil-Schrift an). Preis immer      */
/* auf gleicher Hoehe. !important schlaegt die alten media-Regeln.           */
/* ============================================ */
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 4lh !important; }
@supports not (height: 1lh) { .woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 84px !important; } }

/* ============================================================== */
/* RT 2026-06-29 — PHASE 1: CSS-only mu-plugins → Child-Theme       */
/* Quelle: rt-content-spacing.php + rt-checkbox-align.php (entfernt). */
/* theme-design.css ist in LiteSpeed optm-ucss_file_exc_inline →     */
/* wird NICHT von UCSS gestrippt (sonst Fallback-Bugs). Reines CSS,  */
/* keine Marken-Hexes → keine Tokens nötig.                          */
/* ============================================================== */

/* --- ex rt-content-spacing.php: einheitliche Content-Abstände (.entry-content) --- */
.entry-content h2{margin-top:32px !important;margin-bottom:14px !important;}
.entry-content h3{margin-top:26px !important;margin-bottom:8px !important;}
.entry-content h4{margin-top:22px !important;margin-bottom:8px !important;}
.entry-content > h2:first-child,.entry-content > h3:first-child,.entry-content > h4:first-child{margin-top:0 !important;}
.entry-content img.aligncenter{margin-top:18px !important;margin-bottom:18px !important;}
.entry-content figure,.entry-content .wp-block-image{margin-top:18px !important;margin-bottom:18px !important;}

/* --- ex rt-checkbox-align.php: Checkbox mittig zur 1. Textzeile (WC -1px / Kontakt -4px) --- */
form.checkout label.woocommerce-form__label-for-checkbox,form.checkout label.checkbox,form.woocommerce-form-register label.woocommerce-form__label-for-checkbox,form.woocommerce-form-login label.woocommerce-form__label-for-checkbox,.woocommerce-checkout-review-order label.woocommerce-form__label-for-checkbox,.woocommerce-terms-and-conditions-wrapper label,.gzd-legal-checkbox label,label[for="ship-to-different-address-checkbox"],.rt-kontaktformular label.woocommerce-form__label-for-checkbox,.rt-kontaktformular .rt-toggle-row .woocommerce-form__label-for-checkbox,.rt-toggle-row .woocommerce-form__label-for-checkbox{align-items:flex-start !important;}
form.checkout label.woocommerce-form__label-for-checkbox input[type="checkbox"],form.woocommerce-form-register label.woocommerce-form__label-for-checkbox input[type="checkbox"],form.woocommerce-form-login label.woocommerce-form__label-for-checkbox input[type="checkbox"],.woocommerce-checkout-review-order label.woocommerce-form__label-for-checkbox input[type="checkbox"],.woocommerce-terms-and-conditions-wrapper label input[type="checkbox"],.gzd-legal-checkbox label input[type="checkbox"],#ship-to-different-address-checkbox{transform:translateY(-1px) !important;top:0 !important;}
.rt-kontaktformular .rt-toggle-row input[type="checkbox"],.rt-toggle-row input[type="checkbox"]{transform:translateY(-4px);top:0;}

/* ============================================================== */
/* RT 2026-06-29 — PHASE 1b: rt-footer-fixes.php → Child-Theme      */
/* Reines CSS (war inline data-no-optimize). theme-design.css ist   */
/* UCSS-ausgenommen → kein Stripping. Footer/Sticky/Mini-Cart/       */
/* YouTube-Radius/Hamburger/Cart-Hinweis-Höhe.                       */
/* ============================================================== */
html body section.copyright_sec{border-top:0 !important;border-top-width:0 !important;padding-top:10px !important;padding-bottom:10px !important;margin-bottom:0 !important;}
section.copyright_sec .container,section.copyright_sec .row,section.copyright_sec .col-12{padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;}
.widget_shopping_cart_content .mini_cart_item img,.site-header-cart .mini_cart_item img,.shoptimizer-cart .mini_cart_item img{max-width:90px;width:90px !important;height:auto !important;}
lite-youtube,.wp-block-embed__wrapper,.wp-block-embed iframe,iframe[src*="youtube"],iframe[src*="youtu.be"],.wp-embed-aspect-16-9,.wp-block-embed-youtube iframe{border-radius:6px;overflow:hidden;}
.shiftnav-toggle,.shiftnav-toggle-main,button.shiftnav-toggle,a.shiftnav-toggle,.menu-toggle{border-radius:6px;overflow:hidden;}
/* Sticky-Footer: schwarze Leiste auch auf kurzen Seiten unten (Flexbox auf #page/#content). */
#page{display:flex;flex-direction:column;min-height:calc(100vh - 52px - env(safe-area-inset-bottom,0px));}
#content{flex:1 0 auto;display:flex;flex-direction:column;}
#content > section.copyright_sec{margin-top:auto;}
section.copyright_sec a.ac-copy-link{color:inherit;text-decoration:none !important;}
section.copyright_sec a.ac-copy-link:hover .ac-copy{text-decoration:underline;}
section.copyright_sec .ac-footer-credit{text-align:center;margin-top:8px;font-size:13px;opacity:.85;}
section.copyright_sec .ac-footer-credit a{color:inherit;text-decoration:underline;}
section.copyright_sec{width:100%;max-width:none;margin-left:0;margin-right:0;}
.woocommerce-message{min-height:68px !important;box-sizing:border-box !important;padding-top:18px !important;padding-bottom:18px !important;}

/* ============================================ */
/* RT 2026-06-29: Produkt-Content-Gutter bei MITTLEREN Breiten (768-1199px).      */
/* div.product wird ab 1170px auf max-width zentriert (Gutter via Zentrierung),   */
/* verliert aber UNTER 1170px jeden seitlichen Gutter (x=0) -> Bullets/Content     */
/* klebten am Rand. Header behaelt sein col-full-Padding (~36.65px). Hier dem      */
/* Produkt-Content denselben Gutter geben -> fluchtet mit dem Header. <768px       */
/* (Mobil) bleibt unberuehrt (war ok); >=1200px ist zentriert (war ok).           */
/* ============================================ */
@media (min-width: 768px) and (max-width: 1199px) {
    .single-product div.product { padding-left: 36.65px; padding-right: 36.65px; box-sizing: border-box; }
}

/* ============================================ */
/* RT 2026-06-29: Cart-Hinweisleiste einzeilig kompakt + Video-Abstaende           */
/* ============================================ */
/* "In den Warenkorb"-Banner: einzeilig = Hoehe wie der Add-to-Cart-Button (~46px), */
/* NICHT 68px (war zu hoch). Mehrzeilig (lange Produktnamen) darf wachsen -> min-height. */
.woocommerce-message { min-height: 46px !important; padding-top: 7px !important; padding-bottom: 7px !important; }
/* W17 B5 (07.10.2026): Hinweise ausserhalb der Produktseite haben keinen Button-Inhalt (.message-inner) →
   einzeiliger Text sass bei 7px oben. 12.5px oben/unten + 21px Zeile = 46px → Text vertikal mittig. */
body:not(.single-product) .woocommerce-message { padding-top: 12.5px !important; padding-bottom: 12.5px !important; }
/* Eingebettete YouTube-Videos (.youtube-player): Abstand oben/unten wie bei Bildern  */
/* (18px statt 5px aus der footer.php-Inline-Regel; !important schlaegt diese).        */
.youtube-player { margin-top: 18px !important; margin-bottom: 18px !important; }

/* ============================================================== */
/* RT 2026-06-29 — PHASE 1c: header-icons-fix.php → Child-Theme     */
/* Reines CSS (JS-Reorder wurde 06-29 entfernt → nativ via menu_order).*/
/* Secondary-Nav-Icons (Icon über Text), Cart-Icon, Trennlinien,     */
/* Cart-Hover. theme-design.css ist UCSS-ausgenommen → kein Stripping.*/
/* Hardcodierte Menu-IDs (127755-127759) sind Template-Cleanup-      */
/* Kandidaten (Phase 4: → Menu-Locations/Klassen statt IDs).         */
/* ============================================================== */
/* === Secondary-Nav Icons (Icon über Text): Kontakt + Mein Konto === */
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127756 > a, */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-page-kontakt.menu-item-page-kontakt.menu-item-page-kontakt > a,
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127757 > a */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-mein-konto.menu-item-slug-mein-konto.menu-item-slug-mein-konto > a {
    display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start;
    gap: 2px; height: 45px !important; line-height: 21px !important; padding: 5px 10px 0 15px;
    color: var(--brand-primary-hover, #d9870f) !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; white-space: nowrap;
}
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127756 > a:hover, */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-page-kontakt.menu-item-page-kontakt.menu-item-page-kontakt > a:hover,
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127757 > a:hover */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-mein-konto.menu-item-slug-mein-konto.menu-item-slug-mein-konto > a:hover { color: var(--brand-primary-hover-dark, #b56d00) !important; text-decoration: none !important; }
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127756 > a::before, */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-page-kontakt.menu-item-page-kontakt.menu-item-page-kontakt > a::before,
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127757 > a::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-mein-konto.menu-item-slug-mein-konto.menu-item-slug-mein-konto > a::before {
    font-family: "FontAwesome"; font-weight: 400 !important; font-size: 24px !important; line-height: 1 !important;
    display: block !important; color: var(--brand-primary-hover, #d9870f) !important; margin: 0;
}
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127756 > a:hover::before, */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-page-kontakt.menu-item-page-kontakt.menu-item-page-kontakt > a:hover::before,
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127757 > a:hover::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-mein-konto.menu-item-slug-mein-konto.menu-item-slug-mein-konto > a:hover::before { color: var(--brand-primary-hover-dark, #b56d00) !important; }
/* Glyphs: Kontakt = Telefon, Mein Konto = Person */
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127756 > a::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-page-kontakt.menu-item-page-kontakt.menu-item-page-kontakt > a::before { content: "\f095"; }
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127757 > a::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-mein-konto.menu-item-slug-mein-konto.menu-item-slug-mein-konto > a::before { content: "\f007"; }
/* Cart-Icon oben = Warenkorb-Wagen (höhere Spezifität nötig: schlägt Shoptimizer-Default \f291)
   03.09.2026: Token statt Hardcode, Kanon #7 — Wert kommt aus design-variables.php cart_icon (\f07a) */
html body #masthead .site-header-cart a.cart-contents::before { content: var(--brand-cart-icon) !important; font-family: "FontAwesome" !important; }
/* Header-Trennlinien: Theme-Standard (volle ~45px-Linien) statt Flex/zentriert */
.secondary-navigation .menu { display: block; }
.secondary-navigation .menu > li { display: inline-block !important; }
.secondary-navigation .menu > li::before { top: 3px !important; height: 45px; transform: none; bottom: auto !important; }
/* Leitlinie vor dem 1. Item entfernen (künstliche ID-Spezifität via :not(#__rt-noop__) schlägt die
   Theme-:not(#id)::before-Trenner; ohne echte Item-ID zu hardcoden) */
.secondary-navigation .menu > li:first-child:not(#__rt-noop__)::before { display: none !important; content: none !important; background: none !important; }
/* E-Mail/Telefon-Block (#127755, inline-flex/2-zeilig, 9px tiefer): seine Trennlinie 9px anheben → deckungsgleich */
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127755::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-kontakt.menu-item-slug-kontakt.menu-item-slug-kontakt:not(.menu-item-page-kontakt)::before { top: -6px !important; }
/* Blog-Item (#127812): Icon über Text, Stift-Symbol */
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127812 > a */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-blog.menu-item-slug-blog.menu-item-slug-blog > a {
    display: flex !important; flex-direction: column; align-items: center; justify-content: flex-start;
    gap: 2px; height: 45px !important; line-height: 21px !important; padding: 5px 10px 0 15px;
    color: var(--brand-primary-hover, #d9870f) !important; font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important; white-space: nowrap;
}
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127812 > a:hover */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-blog.menu-item-slug-blog.menu-item-slug-blog > a:hover { color: var(--brand-primary-hover-dark, #b56d00) !important; text-decoration: none !important; }
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127812 > a::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-blog.menu-item-slug-blog.menu-item-slug-blog > a::before {
    font-family: "FontAwesome"; font-weight: 400 !important; font-size: 24px !important; line-height: 1 !important;
    display: block !important; color: var(--brand-primary-hover, #d9870f) !important; margin: 0; content: "\f040";
}
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: .secondary-navigation .menu > li#menu-item-127812 > a:hover::before */
.secondary-navigation .menu > li.menu-item-loc-secondary.menu-item-slug-blog.menu-item-slug-blog.menu-item-slug-blog > a:hover::before { color: var(--brand-primary-hover-dark, #b56d00) !important; }
/* Warenkorb-Icon-Link Hover DUNKLER (Theme-Default machte ihn heller via opacity:0.8) */
html body .main-header .site-header-cart a.cart-contents:hover,
html body #masthead .site-header-cart a.cart-contents:hover { opacity: 1 !important; color: var(--brand-primary-hover-dark, #b56d00) !important; }
html body #masthead .site-header-cart a.cart-contents:hover::before,
html body .main-header .site-header-cart a.cart-contents:hover .amount { color: var(--brand-primary-hover-dark, #b56d00) !important; }

/* ============================================================ */
/* RT 2026-06-29b — Video-Abstaende wie Bilder + Home-H1 bold     */
/* Yasin: "Abstaende ueber/unter Videos wie bei Bildern" + H1 fett.*/
/* An theme-design.css angehaengt (Cascade gewinnt ggue. 18px-Block).*/
/* ============================================================ */

/* A) PRODUKTSEITE: rohe YouTube-<iframe> in .row .col-md-6.        */
/*    margin war 0px -> vom .youtube-player-Fix (Context A) NIE      */
/*    erfasst; deshalb "immer noch nicht geloest".                  */
/*    display:block entfernt zusaetzlich die inline-Baseline-Luecke. */
.woocommerce-Tabs-panel .row .col-md-6 > iframe,
.entry-content .row .col-md-6 > iframe {
    display: block !important;
    margin-top: 22px !important;
    margin-bottom: 16px !important;
}

/* A2) Gleiche Spalte, verlinkte Bilder (<a> > <img>) statt <iframe>.          */
/*     Das Gasballon-Bild (ID 126991) ist bare <img> in <a> ohne aligncenter/  */
/*     figure — greift nicht in img.aligncenter-Regel. display:block noetig,   */
/*     damit margin-bottom bei Inline-<img> wirkt. Wert wie iframe (16px).     */
/*     RT5 2026-07-02                                                           */
.woocommerce-Tabs-panel .row .col-md-6 > a > img,
.entry-content .row .col-md-6 > a > img {
    display: block !important;
    margin-bottom: 16px !important;
}

/* B) HOME/BLOG: .youtube-player-Facade grosszuegiger (war 18px).   */
.youtube-player {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
}

/* B2) Bildunterschrift NICHT mehr ans Video heranziehen (war -17px) */
/*     -> echter Abstand zwischen Video und Unterschrift unten.      */
.entry-content .youtube-player + a.bc_lazy_load + h2,
.entry-content .youtube-player + a.bc_lazy_load + h3,
.entry-content .youtube-player + a.bc_lazy_load + h4,
.term-description .youtube-player + a.bc_lazy_load + h2,
.term-description .youtube-player + a.bc_lazy_load + h3,
.term-description .youtube-player + a.bc_lazy_load + h4 {
    margin-top: 4px !important;
}

/* C) HOME-CONTENT-H1 (.entry-content h1) genauso fett wie h2/h3.    */
/*    War font-weight:400; Content-h2 ist 700.                       */
.entry-content h1,
.entry-content h1.wp-block-heading {
    font-weight: 700;
}

/* ============================================================ */
/* RT196 2026-06-29: Turnstile-Widget auf ~46px Höhe (wie die   */
/* anderen Buttons). Cloudflare-iframe ist fix ~65px → per       */
/* transform skalieren (Branding bleibt sichtbar, kein Clipping).*/
/* margin kompensiert den Layout-Überstand → ~46px im Fluss.     */
/* ============================================================ */
.rt-kontaktformular .cf-turnstile,
.woocommerce-form-register .cf-turnstile {
    transform: scale(0.812);
    transform-origin: left center;
    margin-top: -6.5px;
    margin-bottom: -6.5px;
}


/* ===================================================================
   E.1 MEGA-MENUE HINTERGRUND DURCHGEHEND — AC-Paritaet (2026-06-30)
   Befund (computed, live @1440px):
     AC  #menu-blaue-menuleiste: .sub-menu-wrapper bg = #f2f2f2 (1350px, full-width)
                                  ul.sub-menu        bg = #f2f2f2 (1170px, zentriert)
                                  -> durchgehend grau, keine weissen Raender.
     RT  #menu-hauptmenue:        .sub-menu-wrapper bg = #fff (1350px, full-width)
                                  ul.sub-menu        bg = #f2f2f2 (1170px, zentriert)
                                  -> grauer 1170-Block auf weissem Grund
                                     = grauer Balken oben + weisse Seitenraender.
   Ursache: AC faerbt den Wrapper via #menu-blaue-menuleiste-Regel (style.css).
            RT-Hauptmenue heisst #menu-hauptmenue -> Regel greift nicht.
   Fix: full-width-Wrapper im Hauptmenue ebenfalls #f2f2f2 -> Hintergrund
        durchgehend wie AC. Kacheln/ul bleiben im 1170-Container zentriert.
=================================================================== */
.main-navigation .menu > li.full-width > .sub-menu-wrapper {
  background-color: #f2f2f2 !important;
}

/* ===================================================================
   E.2 MEGA-MENUE FEINSCHLIFF (2026-07-01) — 2 CSS-Design-Bugs
   ------------------------------------------------------------------
   BUG 5 (Desktop): Grauer/dunkler Streifen zwischen oranger Menue-
   leiste und den Bild-Kacheln. Ursache: der Mega-Menue-Wrapper
   (.sub-menu-wrapper, position:absolute; Containing Block = die 68px
   hohe orange .col-full-nav-Leiste) stand auf top:87px (= Hoehe der
   .menu-Zeile, NICHT der Leiste) -> ~19px Luecke, in der der beim
   Aufklappen abgedunkelte Seiten-/Breadcrumb-Bereich durchschien.
   AC dockt buendig an (top:68px). Fix: top auf Leisten-Unterkante.
   ------------------------------------------------------------------
   BUG 6 (Mobile/ShiftNav): Im Off-Canvas-Menue (#shiftnav-main)
   rendern die Mega-Menue-Kinder zerbrochen — ShiftNav legt die Menue-
   DESCRIPTION (<img 150x150> + Label) in einen auf 14px begrenzten
   .icon-wrapper -> Mini-Bild + senkrecht umbrechender Text; zusaetzl.
   doppelt sich der Menue-TITEL daneben. Fix: Mini-Bild ausblenden,
   redundanten Titel-Textknoten via font-size:0 verstecken, das
   Description-Label (.icon-wrapper) normal fliessen lassen -> saubere
   einzeilige Textlabels. Nur #shiftnav-main -> Desktop bleibt intakt.
=================================================================== */
/* BUG 5 — Mega-Menue buendig an Unterkante der orangen Leiste */
.main-navigation .menu > li.full-width > .sub-menu-wrapper {
  top: 68px;
}
/* BUG 6 — ShiftNav-Kinder: nur sauberes Textlabel, kein Mini-Bild/Senkrecht-Text */
#shiftnav-main li.menu-item-image > a.shiftnav-target {
  font-size: 0 !important;              /* redundanten Menue-Titel verstecken */
}
#shiftnav-main li.menu-item-image .icon-wrapper {
  display: inline !important;           /* 14px-Breitenzwang loesen */
  width: auto !important;
  height: auto !important;
  font-size: 15px !important;           /* Description-Label wieder lesbar */
  line-height: 1.5 !important;
  white-space: normal !important;
}
#shiftnav-main li.menu-item-image .icon-wrapper img {
  display: none !important;             /* Mini-Bild raus (nur Desktop-Kacheln) */
}


/* ==================================================================
   RT196 2026-07-01 — 3 Design-Feinheiten (A1/A2/A3)
   QUELLE: theme-design.css (UCSS-ausgenommen -> kein Stripping).
   Backup: ../_build-2026-06-30-backups/rtfixes-2026-07-01/
   ------------------------------------------------------------------
   A1  Mobile ShiftNav: Untermenue-(Mega-Kachel-)Labels flush links.
       Befund (live, computed): Top-Level-Glyph @x=-265 (= content-edge,
       25px padding), Bild-Untermenue-Glyph @x=-261 -> +4px durch das
       fuehrende Leerzeichen im "<img> Label"-Description-Text
       (img display:none, das Leerzeichen bleibt). Padding ist bei
       beiden identisch 25px -> einzige Ursache = das Leerzeichen.
       Fix: text-indent:-4px am Image-Item-Target frisst genau das eine
       Leerzeichen (15px-Font ~4px) -> Glyph @-265 = exakt buendig mit
       Top-Level. Nur #shiftnav-main li.menu-item-image -> Desktop-Mega
       -Menue bleibt unberuehrt.
   ================================================================== */
#shiftnav-main li.menu-item-image > a.shiftnav-target {
  text-indent: -4px !important;
}

/* ------------------------------------------------------------------
   A2  "Registrieren" (Mein Konto): Projekt-Standardhoehe 46px statt
       65px (65px war = ungeskalierte Turnstile-iFrame-Hoehe; Turnstile
       ist per transform:scale(.708) inzwischen ~46-49px). Layout
       (Button rechts vom Turnstile) bleibt unveraendert; nur Hoehe.
       Hoehere Spezifitaet als die mu-plugin-Inline-Regel
       (.woocommerce-form-register button.woocommerce-Button, 65px).
   ------------------------------------------------------------------ */
form.woocommerce-form-register button.woocommerce-Button,
form.woocommerce-form-register button[name="register"],
form.woocommerce-form-register .rt-reg-submit-row button {
  min-height: 56px !important;
  height: 56px !important;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
}

/* ------------------------------------------------------------------
   A3  "Anfrage senden" (Kontakt): 46px + zuverlaessig RECHTS neben dem
       Turnstile (wie Registrieren). Befund: der Turnstile-Layoutkasten
       ist ~304px breit, sichtbar aber nur ~215px (transform:scale .708,
       origin left) -> ~89px Totraum. Dadurch (breiterer Button
       "Anfrage senden" vs. "Registrieren") brach der Button bei
       schmaleren Breiten UNTER das Widget um. Fix: Totraum per negativem
       margin-right killen -> Button haengt an der sichtbaren Kante und
       bleibt in der Reihe; Hoehe auf Projekt-Standard 46px. Selektoren
       mit hoeherer Spezifitaet als die mu-plugin-Inline-Regeln
       (.rt-kontaktformular .rt-submit-* , 65px). Nur .rt-kontaktformular.
   ------------------------------------------------------------------ */
.rt-kontaktformular div.rt-submit-row {
  gap: 14px;
}
.rt-kontaktformular div.rt-submit-row .cf-turnstile {
  margin-right: -57px;   /* scale 0.812: ~304px Kasten -> ~247px sichtbar -> ~57px Totraum */
}
.rt-kontaktformular button.rt-submit-btn {
  min-height: 56px;
  height: 56px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
}


/* ==================================================================
   F. RT196 2026-07-01 (menufinish2) — Mobile-Menue + Formular-Feinschliff
   QUELLE: theme-design.css (UCSS-ausgenommen -> kein Stripping).
   Backup: inc/_build-2026-06-30-backups/menufinish2-*
   ------------------------------------------------------------------
   M1  Bild-Untermenue-Labels: exakt Top-Level-Typo, bold. Ursache der
       duennen/serifigen Optik: ShiftNav rendert das Label im
       .icon-wrapper (Icon-Font-Kontext) -> Serifen-Fallback. Fix: Typo
       hart auf Top-Level ziehen (inherit-Family = a.shiftnav-target,
       16px, 700, Anchor-Farbe). Ergaenzung zu text-indent:-4px (A1).
   M2  Aufklapp-Toggle (.shiftnav-submenu-activation, blaue AC-Altlast)
       -> Hintergrund orange #f39c12, Pfeil (i) weiss, alle Zustaende
       (default/hover/active/current) + alle Toggles (Wissen/Zubehoer).
   M3  Footer "So finden Sie uns (Karte)": Abstand oben auf Tel<->E-Mail-
       Rhythmik reduziert (Kind-Top-Margins + Wrapper-Top raus) +
       linksbuendig (Einzug/padding-left/text-indent 0, flush 25px).
   F1  Turnstile-Kasten visuell 46px (46/69 = 0.667) statt ~49px, beide
       Formulare (/kontakt/, /mein-konto/). Row bleibt align-center.
       F2 (Text-Groesse) = Cross-Origin-iFrame -> per CSS NICHT
       vergroesserbar; als Entscheidung an Nutzer berichtet, hier nichts.
================================================================== */

/* --- M1: Bild-Untermenue-Labels = Top-Level-Typo, bold ------------ */
#shiftnav-main li.menu-item-image .icon-wrapper {
  font-family: inherit !important;   /* wie Top-Level a.shiftnav-target (kein Icon-Font) */
  font-size: 16px !important;        /* wie Top-Level (.shiftnav-target-text) */
  font-weight: 700 !important;       /* bold wie Top-Level */
  color: inherit !important;         /* = Anchor-/Top-Level-Farbe */
}

/* --- M2: Aufklapp-Toggle = SOLIDES gefuelltes Dreieck (identisch zur
       Desktop-Hauptmenue-Leiste) statt duennem Chevron. Gleiches SVG-
       Dreieck (path M2 9 L22 9 L12 19 Z) wie die orange Hauptmenueleiste
       oben, weiss gefuellt auf orangem Kasten -> klares, auffaelliges
       ▼. Alle Toggles (Wissen/Zubehoer) + alle Zustaende. -------------- */
#shiftnav-main .shiftnav-submenu-activation,
#shiftnav-main .shiftnav-nav li.shiftnav-active > .shiftnav-submenu-activation,
#shiftnav-main .shiftnav-nav li.current-menu-item > .shiftnav-submenu-activation {
  background-color: var(--brand-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3E%3Cpath%20d='M2%209%20L22%209%20L12%2019%20Z'%20fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px 20px;
  color: #fff !important;
  border-left: 1px solid rgba(255, 255, 255, 0.35) !important;
}
#shiftnav-main .shiftnav-nav li:hover > .shiftnav-submenu-activation {
  background-color: var(--brand-primary-hover) !important;                 /* Hover: etwas dunkler */
  border-left-color: rgba(255, 255, 255, 0.45) !important;
}
/* ShiftNav-eigenen Chevron-Glyph ausblenden -> nur das SVG-Dreieck bleibt */
#shiftnav-main .shiftnav-submenu-activation i {
  display: none;
}

/* --- M3: "So finden Sie uns (Karte)" — linksbuendig zur 25px-Kante ---
       Vorher-Fehlschlag: nur direkte Kinder / <p> / <a> zurueckgesetzt.
       Der Einzug kommt aber aus einem TIEFER verschachtelten Element
       (Listen-padding / zentrierter Wrapper), das die > * -Selektoren
       nicht erreicht haben. Jetzt: 25px NUR am Wrapper, und ALLE
       Nachfahren (*) hart flush (padding/margin/indent 0, list-style
       none, text-align left) -> buendig zu Tel/E-Mail. ---------------- */
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap {
  margin-top: 0 !important;
  padding: 0 25px 12px 25px;   /* 25px links = Kante wie Tel/E-Mail */
  text-align: left;
}
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap * {
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  text-indent: 0 !important;
  text-align: left;
  list-style: none;
}
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap a {
  display: block !important;
}

/* --- F1: Turnstile visuell 46px (46/69 = 0.667), beide Formulare -- */
.rt-kontaktformular .cf-turnstile,
.woocommerce-form-register .cf-turnstile {
  transform: scale(0.812);
  transform-origin: left center;
  margin-top: -6.5px;           /* 69px Layoutkasten -> 56px Fluss (Option B) */
  margin-bottom: -6.5px;
}
/* Ende F. menufinish2 */


/* ==================================================================
   G. RT196 2026-07-01 (menuaclike) — Off-Canvas an AC angleichen (orange)
   QUELLE: theme-design.css (UCSS-ausgenommen -> kein Stripping).
   Backup: ../_build-2026-06-30-backups/menuaclike-*
   ------------------------------------------------------------------
   A  Untermenue-Hintergrund WEISS (AC ist weiss; RT zeigte grau #f2f2f2).
      Quelle egal (ShiftNav-Skin/Theme) -> mit #shiftnav-main + !important
      hart auf weiss. Nur Container/Listen; a-Hover/-Active-BG (auf dem <a>)
      bleiben unberuehrt.
   B  ALLE Mobil-Menuepunkte einheitlich 16px / 700 / gleiche Family:
      Top-Level (.shiftnav-target-text), Text-Unterpunkte (li li ...) UND
      Bild-Kachel-Labels (.icon-wrapper). Vorher: Unterpunkte 14px/600 ->
      uneinheitlich. Farbe kommt bereits einheitlich aus 6i (schwarz).
================================================================== */

/* --- A: Off-Canvas-Untermenue-Hintergrund WEISS (wie AC) ---------- */
#shiftnav-main .shiftnav-nav ul,
#shiftnav-main ul.sub-menu,
#shiftnav-main .sub-menu-wrapper,
#shiftnav-main .shiftnav-nav li li {
  background-color: #fff;
}

/* --- B: Menuepunkte einheitlich 16px, bold, gleiche Schriftart ---- */
#shiftnav-main .shiftnav-nav a.shiftnav-target,
#shiftnav-main .shiftnav-nav li li > a.shiftnav-target,
#shiftnav-main .shiftnav-nav a.shiftnav-target .shiftnav-target-text,
#shiftnav-main .shiftnav-nav li li > a.shiftnav-target .shiftnav-target-text,
#shiftnav-main li.menu-item-image .icon-wrapper {
  font-size: 16px !important;
  font-weight: 700;
  font-family: inherit;
}
/* Ende G. menuaclike */

/* ============================================================ */
/* RT 2026-06-30 — Mobile ShiftNav: Blog-Menuepunkt + Karten-Abstand      */
/* AUFGABE 1: Menue 19474 bedient primary(Desktop-Orange) + shiftnav +     */
/*   mobile GLEICHZEITIG. Neuer "Blog"-Punkt (#127815 -> Seite 127364)      */
/*   global ausgeblendet, NUR im Off-Canvas #shiftnav-main sichtbar        */
/*   -> erscheint mobil unten, NICHT in der orangen Desktopleiste.         */
/*   Vorbild AC: Blog = eigener Menuepunkt im dedizierten ShiftNav-Menue.  */
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: li.menu-item-127815 */
/* 04.09.2026 Korrektur D3: Shoptimizers eigener Walker (submenuwrap) setzt weder
   menu-item-<ID> noch die loc-Klasse — die Originalregel griff daher NIE im
   Desktop-Hauptmenue. Deshalb explizit nur die Ausgabeorte mobile/shiftnav. */
li.menu-item-loc-mobile.menu-item-slug-blog,
li.menu-item-loc-shiftnav.menu-item-slug-blog { display: none !important; }
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: #shiftnav-main li.menu-item-127815 */
#shiftnav-main li.menu-item-slug-blog { display: block !important; }

/* AUFGABE 2: Abstand E-Mail <-> "So finden Sie uns (Karte)" auf den       */
/*   Tel<->E-Mail-Rhythmus (12px) + etwas hoeher. .menu-footer-content     */
/*   hat 8px Unterrand -> per neg. Margin neutralisiert, dann 6px Oberrand  */
/*   = wie .menu-footer-content a (padding:6px 0).                          */
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap {
    margin-top: -8px !important;
    padding-top: 6px !important;
}


/* ==================================================================
   H. RT196 2026-07-01 (rt1 — Mobile-Menue + Formular-Finish) — P1-P7
   QUELLE: theme-design.css (UCSS-ausgenommen -> kein Stripping).
   Backup: inc/_build-2026-06-30-backups/rt1-*
   ------------------------------------------------------------------
   P1 Doppel-Eintrag (Regression): Bild-(Mega-)Unterpunkte zeigten den
      redundanten Menue-TITEL (bare text node im a.shiftnav-target) UND
      das icon-wrapper-Label. Ursache: G/B-Selektor
      "#shiftnav-main .shiftnav-nav li li > a.shiftnav-target" (Spez 1,2,3)
      schlug BUG6 "#shiftnav-main li.menu-item-image > a" (1,2,2) -> Titel
      wieder font-size:16px sichtbar. Fix: hoehere Spez. (1,3,3) font-
      size:0 auf den Bild-Item-Anker (versteckt Titel-Textknoten),
      icon-wrapper (1,4,3) zurueck auf 16px -> nur EIN Label. Normale
      Items (nicht menu-item-image) unberuehrt.
   P3 Mobile Item-Hoehe ~46px: padding 13px + line-height 1.25 (16px*1.25
      =20 + 26 = 46). Text nicht abgeschnitten.
   P4 Suchfeld wie Desktop: 46px, oranger 2px-Rahmen, orange fette
      Schrift + Placeholder, orange Lupe (Submit rechts, wie erlaubt).
   P5 "So finden Sie uns (Karte)": Karte-Link bekommt IDENTISCHES
      padding:6px 0 wie Tel/E-Mail; Wrapper margin-top:-8px (mfc-Pad-
      Bottom 8px neutralisiert) + padding-top:0 -> Text-zu-Text E-Mail
      <->Karte = 12px = Tel<->E-Mail. (Alt-Fehler: Karte-a hatte
      ShiftNav-Default-padding -> Abstand groesser.)
   P7 Formular-Text schwarz (input/textarea/select), Placeholder bleibt
      grau (nicht angefasst). Kontakt + Login + Register + Checkout.
================================================================== */

/* --- P1: Bild-Untermenue = nur EIN Label (redundanten Titel weg) --- */
#shiftnav-main li.menu-item-image > a.shiftnav-target,
#shiftnav-main .shiftnav-nav li li.menu-item-image > a.shiftnav-target {
  font-size: 0 !important;               /* Titel-Textknoten verstecken (Spez 1,3,3 > 1,2,3) */
}
#shiftnav-main li.menu-item-image > a.shiftnav-target > .icon-wrapper,
#shiftnav-main .shiftnav-nav li li.menu-item-image > a.shiftnav-target > .icon-wrapper {
  font-size: 16px !important;            /* Label wieder sichtbar (Spez 1,4,3) */
  font-weight: 700 !important;
  font-family: inherit !important;
}

/* --- P3: Mobile Menue-Item-Hoehe ~46px ---------------------------- */
#shiftnav-main .shiftnav-nav a.shiftnav-target {
  padding-top: 13px;
  padding-bottom: 13px;
  line-height: 1.25;
}

/* --- P4: Suchfeld wie Desktop (46px, orange Rahmen+Text, Lupe) ----- */
#shiftnav-main .shiftnav-search-input {
  box-sizing: border-box;
  height: 46px;
  padding: 0 42px 0 15px;
  border: 2px solid var(--brand-primary);
  border-radius: 5px;
  font-weight: 700 !important;
  color: var(--brand-primary) !important;
}
#shiftnav-main .shiftnav-search-input::placeholder {
  color: var(--brand-primary) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}
#shiftnav-main .shiftnav-search-submit {
  color: var(--brand-primary);
  font-size: 18px;
}

/* --- P5: "So finden Sie uns (Karte)" = Rhythmus wie Tel/E-Mail ----- */
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap {
  margin-top: -8px !important;           /* mfc padding-bottom(8px) neutralisieren */
  padding: 0 25px 12px 25px;  /* kein Extra oben; 12px unten Luft */
  text-align: left;
}
#shiftnav-main .menu-footer-content + .shiftnav-content-wrap a {
  display: block !important;
  padding: 6px 0 !important;             /* identisch zu Tel/E-Mail-Links */
  margin: 0 !important;
  text-indent: 0 !important;
}

/* --- P7: Formular-Text SCHWARZ (Placeholder bleibt grau) ----------- */
.rt-kontaktformular input[type="text"],.rt-kontaktformular input[type="email"],.rt-kontaktformular input[type="tel"],.rt-kontaktformular input[type="password"],.rt-kontaktformular input[type="search"],.rt-kontaktformular input[type="number"],.rt-kontaktformular input[type="url"],.rt-kontaktformular textarea,.rt-kontaktformular select,
.woocommerce-form-login input[type="text"],.woocommerce-form-login input[type="email"],.woocommerce-form-login input[type="tel"],.woocommerce-form-login input[type="password"],.woocommerce-form-login input[type="number"],.woocommerce-form-login select,
.woocommerce-form-register input[type="text"],.woocommerce-form-register input[type="email"],.woocommerce-form-register input[type="tel"],.woocommerce-form-register input[type="password"],.woocommerce-form-register input[type="number"],.woocommerce-form-register select,
form.checkout input[type="text"],form.checkout input[type="email"],form.checkout input[type="tel"],form.checkout input[type="password"],form.checkout input[type="number"],form.checkout textarea,form.checkout select {
  color: #000;
}
/* Ende H. rt1 */


/* =============================================================== */
/* RT196 2026-06-30 (Aitomat): 3-Punkte-Deploy                     */
/* 1) Fussleiste (copyright_sec) full-width  2) Kontakt-Abstaende  */
/* =============================================================== */

/* --- 1. FUSSLEISTE: dunkler Hintergrund ueber volle Bildschirmbreite --- */
/* Hintergrund randlos (100vw-Breakout), Inhalt bleibt zentriert (.container). */
section.copyright_sec {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
/* Inhalt wieder auf Content-Breite zentrieren, damit Links nicht am Rand kleben. */
section.copyright_sec > .container {
    width: 100% !important;
    max-width: 1170px;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
}
/* Verhindert horizontalen Scrollbalken durch den 100vw-Breakout.
   overflow-x:clip (nicht hidden) -> bricht weder Sticky-Nav noch ShiftNav.
   07-03 SCROLL-FIX: clip NUR auf body! html{overflow-x:clip} machte je nach
   Chrome-Verhalten das ROOT-Scrolling komplett tot (Yasin: "auf keiner Seite
   rauf/runter scrollen") — zuvor maskiert, weil UCSS die Regel bei Gaesten
   pro Seite wegstrippte. body-clip reicht: der 100vw-Breakout wird am body
   geclippt, html bleibt Default -> Viewport scrollt normal. */
body { overflow-x: clip; }

/* --- 2. KONTAKT (Seite 127366): Abstand unter H1 verkleinern --- */
/* Erste Ueberschriften der Kontakt-Spalten starten weiter oben (32px-Top-Margin weg). */
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: body.page-id-127366 .entry-content > .wp-block-columns:first-child */
body.ac-page-kontakt .entry-content > .wp-block-columns:first-child {
    margin-top: 0;
}
/* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: body.page-id-127366 .entry-content .wp-block-column > .wp-block-heading:first-child */
body.ac-page-kontakt .entry-content .wp-block-column > .wp-block-heading:first-child {
    margin-top: 0 !important;
}
/* Mobil (gestapelte Spalten <=781px): "Schreiben Sie uns" wieder etwas abtrennen. */
@media (max-width: 781px) {
    /* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: body.page-id-127366 .entry-content .wp-block-column:nth-child(2) > .wp-block-heading:first-child */
    body.ac-page-kontakt .entry-content .wp-block-column:nth-child(2) > .wp-block-heading:first-child {
        margin-top: 28px !important;
    }
}


/* ==================================================================
   I. RT196 2026-07-02 (rt2 — Menue-Finish + Placeholder) — P1-P6
   QUELLE: theme-design.css (UCSS-ausgenommen -> kein Stripping).
   Backup: inc/_build-2026-06-30-backups/rt3-20260702-010149-theme-design.css
   ------------------------------------------------------------------
   P1 icon-wrapper linksbündig (mobil): display:block (statt inline) ->
      Anker-text-indent greift nicht mehr auf Block; text-indent:-0.25em
      am icon-wrapper kompensiert das führende Leerzeichen geraete-
      unabhaengig (0.25em = 1 space @ 16px); overflow:hidden clippt
      den -0.25em-Ueberhang. Reset Anker-text-indent 0 (war -4px).
   P2 Login-Buttons 46px: submit + rt-lostpw-btn auf /mein-konto/.
      form-register + rt-kontaktformular (56px) NICHT angefasst.
   P3 Toggle-Trennung + 5px-Radius (Zubehoer/Wissen): Anker margin-
      right:58px schafft 6px sichtbaren Spalt. Toggle width:46px,
      right:6px, border-radius:5px. Anker border-radius:5px.
   P4 E-Mail <-> Karte exakt wie Tel <-> E-Mail: hoehere Spez (html
      body) schlaegt F.M3 margin-top:0. margin-top:-8px neutralisiert
      .menu-footer-content padding-bottom(8px). mb-footer-text im
      Karte-Link explizit padding+margin 0.
   P5 Alle mobilen Hauptmenue-Anker border-radius:5px (Hover zeigt
      Hintergrund mit Radius; No-Toggle-Items unveraendert breit).
   P6 Placeholder SCHWARZ + bold seitenweite: input/textarea color:#000
      font-weight:700 opacity:1. Ueberschreibt orange ShiftNav-Suche.
================================================================== */

/* --- P1: icon-wrapper linksbündig -------------------------------------- */
#shiftnav-main li.menu-item-image .icon-wrapper {
  display: block !important;
  text-indent: -0.25em !important;  /* 1 Leerzeichen (<img hidden>[space]Label) kompensieren */
  text-align: left !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  overflow: hidden !important;
}
/* Anker-text-indent auf 0 (war -4px Desktop-Kompensation; nun block-basiert) */
#shiftnav-main li.menu-item-image > a.shiftnav-target,
#shiftnav-main .shiftnav-nav li li.menu-item-image > a.shiftnav-target {
  text-indent: 0 !important;
}

/* --- P2: Login-Buttons 46px -------------------------------------------- */
.woocommerce-form-login button[type="submit"],
.woocommerce-form-login button.woocommerce-Button,
.woocommerce-form-login .rt-login-actions a,
.woocommerce-form-login .rt-lostpw-btn {
  height: 46px !important;
  min-height: 46px;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* --- P3: Toggle-Trennung + 5px-Radius (Zubehoer / Wissen mobil) --------- */
/* Anker margin-right:58px = 6px Luft + 46px Toggle + 6px Rand */
#shiftnav-main .shiftnav-nav > li.menu-item-has-children > a.shiftnav-target {
  margin-right: 58px !important;
  border-radius: 5px !important;
}
/* Toggle: etwas kleiner (46px statt 50px), 6px vom Rand */
#shiftnav-main .shiftnav-nav > li.menu-item-has-children > .shiftnav-submenu-activation {
  width: 46px !important;
  max-width: 46px !important;
  right: 6px !important;
  border-radius: 5px !important;
}

/* --- P4: E-Mail <-> Karte exakt wie Tel <-> E-Mail ---------------------- */
/* html body = Spez (1,2,2) schlaegt alle frueheren (1,2,0)-Regeln */
html body #shiftnav-main .menu-footer-content + .shiftnav-content-wrap {
  margin-top: -8px !important;
  padding-top: 0 !important;
}
html body #shiftnav-main .menu-footer-content + .shiftnav-content-wrap > a {
  display: block !important;
  padding: 6px 0 !important;
  margin: 0 !important;
}
html body #shiftnav-main .menu-footer-content + .shiftnav-content-wrap > a .mb-footer-text {
  padding: 0;
  margin: 0;
}

/* --- P5: Alle mobilen Hauptmenue-Anker — border-radius 5px -------------- */
#shiftnav-main .shiftnav-nav > li > a.shiftnav-target {
  border-radius: 5px !important;
}

/* --- P6: Placeholder STANDARD-TEXTFARBE + DUENN (site-weit).
       07-03 (Yasin-Audio): #000 war "zu aggressiv" -> #333 = Standard-
       Schriftfarbe der Seiten (body color, wie "Ein Link zum Erstellen..."). */
input::placeholder,
textarea::placeholder,
select::placeholder {
  color: #333333 !important;
  font-weight: 400;
  opacity: 1;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #333333;
  font-weight: 400;
  opacity: 1;
}
/* ShiftNav-Suchfeld war orange -> jetzt schwarz (gleiche Spez, spaeterer Cascade-Sieg) */
#shiftnav-main .shiftnav-search-input::placeholder,
#shiftnav-main .shiftnav-search-input::-webkit-input-placeholder {
  color: #000000 !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}
/* --- P6b: EINGETIPPTER Text fett (07-02: Platzhalter duenn, Eingabe fett) ------------ */
input.input-text,
textarea.input-text {
  font-weight: 700;
}
/* --- P7: Mobile Untermenue-Fixes (07-03, Yasin Audio-Feedback) -------------- */
/* (a) "Strich vorm ersten Buchstaben" in Zubehoer-/Wissen-Untermenues:
       LiteSpeed-Lazyload wickelt die Mega-Menue-Kachel-Bilder in <noscript>-Fallbacks;
       ShiftNav klont das Menue per JS -> noscript-INHALT rendert als Roh-Text
       ("<img data-lazyloaded=...") und ueberlappt den Buchstaben. */
#shiftnav-main .icon-wrapper noscript,
#shiftnav-main .menu-item-image noscript { display: none !important; }
#shiftnav-main .icon-wrapper img,
#shiftnav-main .menu-item-image img { display: none !important; }
/* (b) "Hauptmenue springt nach rechts" beim Aufklappen: 4px-border-left der
       active-Regel schob den Anker ein -> Markierung nur noch per Hintergrund. */
#shiftnav-main .shiftnav-nav li.shiftnav-active > a.shiftnav-target,
#shiftnav-main .shiftnav-nav li.current-menu-item > a.shiftnav-target {
  border-left: 0;
}
/* (c) Sauberes Ersatz-Label der Mega-Menue-Kinder (JS-Rebuild in
       aquacentrum-shiftnav-optik.php TEIL 3; Anker selbst hat font-size:0) */
#shiftnav-main li.menu-item-image .rt-clean-label {
  font-size: 16px;
  font-weight: 700;
  font-family: inherit;
}
/* Ende I. rt2 */

/* ============================================================ */
/* RT 2026-07-02 — MINI-WARENKORB Typografie + Layout (Pts 1–7) */
/* Scope: Shoptimizer Off-Canvas CartDrawer (#shoptimizerCartDrawer) */
/* Revert: Backup _build-2026-06-30-backups/rt4-minicart-20260702-011812 */
/* ============================================================ */

/* --- PUNKT 1+3: Produktname — 13px, bold, linksbündig, kein Einzug --- */
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item a:not(.remove) {
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    padding-left: 0;
    text-indent: 0;
}

/* --- PUNKT 1: Produkt-Kurztext / Variation (dl.variation) — 13px, bold --- */
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item dl.variation,
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item dl.variation dt,
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item dl.variation dd,
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item dl.variation p {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #111 !important;
}

/* --- PUNKT 1: Preise + durchgestrichene Preise (Bundle-Gratis) — 13px, bold --- */
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item .woocommerce-Price-amount {
    font-size: 13px !important;
    font-weight: 700 !important;
}
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item del,
#shoptimizerCartDrawer .widget_shopping_cart li.mini_cart_item del .woocommerce-Price-amount {
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* --- PUNKT 2: Menge/Anzahl — schwarz, 13px, bold --- */
#shoptimizerCartDrawer .product_list_widget li .quantity {
    color: #000000;
    font-size: 13px;
    font-weight: 700;
}

/* --- PUNKT 4: Papierkorb-Icon weiter links (left:0 statt left:5px) --- */
#shoptimizerCartDrawer .widget_shopping_cart .product_list_widget li a.remove {
    left: 0 !important;
}

/* --- PUNKT 5: Bild<->Name-Abstand ~4px (war margin-left:20px) --- */
#shoptimizerCartDrawer .product_list_widget img {
    margin-left: 4px;
}

/* --- PUNKT 6: Summen — beide bold, Label links / Betrag rechts --- */
/* Zwischensumme-Zeile */
#shoptimizerCartDrawer .woocommerce-mini-cart__total strong {
    float: left;
    font-weight: 700;
}
#shoptimizerCartDrawer .woocommerce-mini-cart__total > .woocommerce-Price-amount {
    float: right !important;
    font-weight: 700 !important;
}
/* inkl. MwSt.-Zeile: flex ersetzt text-align:right + font-weight:normal */
#shoptimizerCartDrawer p.total .tax_label {
    display: flex !important;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    font-weight: 700 !important;
    text-align: left !important;
}

/* --- PUNKT 7: Graue Trennlinie — Abstand unverändert (Theme-Default reicht) --- */
/* Keine Änderung — border-bottom:1px solid rgba(0,0,0,0.06) + padding:1em 0 1em 35px bleibt */


/* ==================================================================
   J. RT196 2026-07-03 (rt6 — Feedback-Runde 2: Scroll-Fix, Menue-Buttons,
      Blau-Killer, Suchfeld, Formular-Politur)
   QUELLE: theme-design.css (UCSS-ausgenommen -> kein Stripping).
   Backup: _build-2026-06-30-backups/rt-feedbackfix2-*
   ------------------------------------------------------------------
   J0 Scroll-/Kollaps-Fix /mein-konto/: .woocommerce-Wrapper enthaelt die
      gefloateten .u-columns nicht (h=0; Shoptimizer floatet col2-set,
      WC-Layout-CSS mit Clearfix laedt nicht) -> Dokumenthoehe kollabiert
      je nach CSS-Variante -> "kann nicht nach unten scrollen".
      display:flow-root = eigener BFC, umschliesst Floats. Kein Optik-Effekt.
   J1 ShiftNav-Hauptpunkte = Buttons: 46px hoch, Radius 5px, enden VOR dem
      Toggle (margin-right 62px = 10px Luft + 46px Toggle + 8px Rand,
      auch Punkte OHNE Untermenue -> alle gleich breit), 8px links,
      4px vertikaler Rhythmus. Text-Einzug bleibt bei 25px (8+17).
      WICHTIG: P3/P5-Regeln im I-Block zielten auf ".shiftnav-nav > li" —
      die li liegen aber in ul.shiftnav-menu (nav > ul > li) -> nie
      gematcht (inert). Diese Regeln hier ersetzen sie.
   J2 Untermenue-Toggle = 46x46-Button mit Radius 5px (wie Hamburger),
      top-aligned statt volle li-Hoehe (spannte sonst ueber das
      aufgeklappte Untermenue nach unten).
   J3 Hover ENTKOPPELT: nur das gehoverte Element faerbt sich. Vorher
      li:hover -> Anker UND Toggle wechselten gleichzeitig die Farbe
      ("aendern sich hier nochmal die Farben von beiden").
   J4 BLAU-KILLER: ShiftNav-Skin "light" faerbt li.current-menu-ancestor
      > .shiftnav-target #007AFF (iOS-Blau), sichtbar sobald das Unter-
      menue zugeklappt ist und kein Hover greift (Touch!). Alle
      current-*-Zustaende hart auf helles Markenorange.
   J5 Suchfeld wie Desktop-Header: 1px-Rahmen (statt 2px), Placeholder
      orange + bold (Desktop-Referenz .site-search); P6-Schwarz gilt
      hier nicht mehr (Cascade: spaeter im File).
   J6 Register-Hinweis "Ein Link zum Erstellen..." buendig zum Feld-
      Innentext (15px = 1px Rahmen + 14px padding). Sie-Form kommt per
      gettext-Filter (fix-wc-translations.php).
================================================================== */

/* --- J0: Scroll-/Kollaps-Fix Mein-Konto ---------------------------- */
body.woocommerce-account main.site-main .woocommerce { display: flow-root; }

/* --- J1: Hauptmenue-Anker als Buttons ------------------------------ */
#shiftnav-main ul.shiftnav-menu > li > a.shiftnav-target {
  box-sizing: border-box;
  height: 46px;
  display: flex;
  align-items: center;
  margin: 1px 56px 1px 8px;  /* 07-03 R9: 2px-Luecken wie Konto-Nav; rechts 56 = 8 Rand + 46 Toggle + 2 Luecke */
  padding: 0 17px;
  border-radius: 5px;
}

/* --- J2: Toggle = 46x46-Button mit Radius (wie Hamburger) ---------- */
#shiftnav-main ul.shiftnav-menu > li.menu-item-has-children > .shiftnav-submenu-activation {
  width: 46px;
  max-width: 46px;
  height: 46px;
  top: 0;   /* 07-03 R3: war 4px -> sass 4px zu tief. Anker-margin-top KOLLABIERT
                          ans li (kein padding/border am li), der Anker sitzt am li-Top ->
                          Toggle muss ebenfalls bei 0 starten. */
  right: 8px;
  bottom: auto;
  border-radius: 5px;
  border-left: 0 !important;
}

/* --- J3: Hover entkoppelt (nur gehovertes Element faerbt sich) ----- */
#shiftnav-main .shiftnav-nav li:hover > a.shiftnav-target {
  background-color: transparent !important;
  color: #333 !important; /* Ruhe-Textfarbe; inherit erbte #666 vom li */
}
#shiftnav-main .shiftnav-nav li:hover > .shiftnav-submenu-activation {
  background-color: var(--brand-primary) !important;
  border-left-color: transparent !important;
}
#shiftnav-main .shiftnav-nav .shiftnav-submenu-activation:hover {
  background-color: var(--brand-primary-hover) !important;
}

/* --- J4: Blau-Killer — current-Zustaende = helles Markenorange ----- */
#shiftnav-main ul.shiftnav-menu > li.shiftnav-active > a.shiftnav-target,
#shiftnav-main ul.shiftnav-menu > li[class*="current-menu"] > a.shiftnav-target,
#shiftnav-main ul.shiftnav-menu > li[class*="current-product_cat"] > a.shiftnav-target,
#shiftnav-main ul.shiftnav-menu > li.current_page_item > a.shiftnav-target,
#shiftnav-main ul.shiftnav-menu > li.current_page_ancestor > a.shiftnav-target {
  background-color: var(--brand-primary) !important;  /* 07-03 R4 (Yasin): VOLL-Orange wie Hover */
  color: #fff !important;
}
/* Anker-Hover schlaegt auch current-Zustand (nach J4 -> gewinnt per Order) */
#shiftnav-main ul.shiftnav-menu li > a.shiftnav-target:hover {
  background-color: var(--brand-primary) !important;
  color: #fff !important;
}

/* --- J5: Suchfeld wie Desktop (duenne 1px-Linie, oranger Placeholder) */
#shiftnav-main .shiftnav-search-input {
  border-width: 1px;
}
#shiftnav-main .shiftnav-search-input::placeholder,
#shiftnav-main .shiftnav-search-input::-webkit-input-placeholder {
  color: var(--brand-primary) !important;
  font-weight: 700 !important;
  opacity: 1 !important;
}

/* --- J6: Register-Hinweis buendig zum Feld-Innentext --------------- */
form.woocommerce-form-register > p:not([class]) {
  padding-left: 15px;
}
/* Ende J. rt6 */


/* ==================================================================
   K. RT196 2026-07-03 (rt7 — Feedback-Runde 3, Yasin-Screenshots 09:24-09:31)
   QUELLE: theme-design.css. Backup: _build-2026-06-30-backups/rt-feedbackfix3-*
   ------------------------------------------------------------------
   K1 Untermenue-Anker (li li) = GLEICHE Button-Optik wie Hauptpunkte
      (gingen ueber volle Breite): 46px, Radius 5px, margin 4/62/4/8.
   K2 Desktop-Suchfeld 43px -> 46px (Site-Standard; ShiftNav-Suche ist
      bereits exakt 46, Details&Bestellen 46, orange Leiste sichtbar 46
      — gemessen, nicht angefasst).
   K3 Mega-Menue: Rest-Strich unter der Leiste = Subpixel-Spalt
      (Leisten-Unterkante 117.x vs. Wrapper top:68=118), durch den der
      beim Aufklappen gedimmte Content scheint (Rest von BUG 5).
      Wrapper 1px hoeher + oberste Zeile orange -> Spalt versiegelt.
   K4 /mein-konto/: "Anmelden"/"Registrieren"-H2 22.75px > H1 21.7px ->
      20px (= Kontakt-H2 "Schreiben Sie uns"); Abstand H1->H2 46px ->
      21px wie /kontakt/ (h2 margin-top 32->7px).
   K5 /kontakt/ (Seite 127366): Spalten 50/50 -> Mein-Konto-Verhaeltnis
      41.18% / 52.94% (Formular breiter, wie Registrieren). Nur Desktop
      (>=782px); mobil bleibt gestapelt.
================================================================== */

/* --- K1: Untermenue-Punkte = Buttons wie Hauptpunkte ---------------- */
#shiftnav-main ul.shiftnav-menu li li > a.shiftnav-target {
  box-sizing: border-box;
  height: 46px;
  display: flex;
  align-items: center;
  margin: 1px 56px 1px 8px;  /* 07-03 R9: 2px-Luecken wie Konto-Nav; rechts 56 = 8 Rand + 46 Toggle + 2 Luecke */
  padding: 0 17px;
  border-radius: 5px;
}

/* --- K2: Desktop-Suchfeld 46px (wie ShiftNav-Suche/Buttons) --------- */
.site-search input[type="search"] {
  box-sizing: border-box;
  height: 46px;
  padding-top: 0;
  padding-bottom: 0;
}

/* --- K3: Mega-Menue-Wrapper versiegelt den Subpixel-Spalt ----------- */
.main-navigation .menu > li.full-width > .sub-menu-wrapper {
  top: 67px;                                  /* 1px unter die Leiste */
  border-top: 1px solid var(--brand-primary) !important; /* oberste Zeile = Leisten-Orange */
}

/* --- K4: Mein-Konto-Ueberschriften wie /kontakt/ -------------------- */
body.woocommerce-account .u-columns h2 {
  font-size: 20px;      /* wie "Schreiben Sie uns" (H1 bleibt 21.7px) */
  margin-top: 7px !important;      /* 14px h1-margin + 7px = 21px Abstand wie /kontakt/ */
}

/* --- K5: Kontakt-Spalten im Mein-Konto-Verhaeltnis (41/53) ---------- */
@media (min-width: 782px) {
  /* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: body.page-id-127366 .entry-content .wp-block-columns */
  body.ac-page-kontakt .entry-content .wp-block-columns {
    justify-content: space-between;
  }
  /* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: body.page-id-127366 .entry-content .wp-block-columns > .wp-block-column:first-child */
  body.ac-page-kontakt .entry-content .wp-block-columns > .wp-block-column:first-child {
    flex: 0 0 41.1765%;
  }
  /* 03.09.2026 ID→Klasse (Welle 2b/D3). Original: body.page-id-127366 .entry-content .wp-block-columns > .wp-block-column:nth-child(2) */
  body.ac-page-kontakt .entry-content .wp-block-columns > .wp-block-column:nth-child(2) {
    flex: 0 0 52.9412%;
  }
}
/* Ende K. rt7 */


/* ==================================================================
   L. RT196 2026-07-03 (rt8 — Feedback-Runde 4)
   ------------------------------------------------------------------
   L1 EINE Rahmendicke ueberall: Checkboxen 2px -> 1px (wie Text-
      felder); Turnstile-Kaesten sind in rt-contact-form /
      rt-extended-registration auf 1px gezogen.
   L2 (Hintergrund) LiteSpeed optm-ucss/css_async/js_defer auf Staging
      DEAKTIVIERT (Scroll-/Optik-Heisenbugs bei Gaesten; Yasin-Trackpad).
      Vor Go-Live bewusst mit AC-erprobten Ausnahmen reaktivieren.
================================================================== */

/* --- L1: Checkboxen 1px (eine Rahmendicke im ganzen System) -------- */
form.checkout input[type="checkbox"],
form.woocommerce-form-register input[type="checkbox"],
form.woocommerce-form-login input[type="checkbox"],
.woocommerce-form-register input[type="checkbox"],
.gzd-legal-checkbox input[type="checkbox"],
.woocommerce-terms-and-conditions-wrapper input[type="checkbox"],
.rt-kontaktformular input[type="checkbox"],
#rt_addr_block input[type="checkbox"],
.rt-toggle-row input[type="checkbox"] {
  border-width: 1px !important;
}
/* Ende L. rt8 */


/* ==================================================================
   M. RT196 2026-07-03 (rt9 — Feedback-Runde 5)
   ------------------------------------------------------------------
   M1 Untermenue-Punkte im Ruhezustand LEICHT orange (0.12) -> als
      Unterpunkte erkennbar. Hover (J, Spez 1,3,2 > 1,2,3) und aktiver
      Punkt (M1b, Order nach M1a) bleiben VOLL-Orange.
================================================================== */

/* --- M1a: Untermenue-Ruhezustand hell-orange ----------------------- */
#shiftnav-main ul.shiftnav-menu li li > a.shiftnav-target {
  background-color: rgba(var(--brand-primary-rgb), 0.12) !important;
}
/* --- M1b: aktiver Unterpunkt bleibt VOLL-Orange (Order schlaegt M1a) */
#shiftnav-main ul.shiftnav-menu li li.current-menu-item > a.shiftnav-target,
#shiftnav-main ul.shiftnav-menu li li[class*="current-product_cat"] > a.shiftnav-target,
#shiftnav-main ul.shiftnav-menu li li.current_page_item > a.shiftnav-target {
  background-color: var(--brand-primary) !important;
  color: #fff !important;
}
/* Ende M. rt9 */


/* ==================================================================
   N. RT196 2026-07-03 (rt11 — Feedback-Runde 6)
   ------------------------------------------------------------------
   N1 Header-"Wackeln" zwischen Seiten (Suchfeld/Menue-Abstaende):
      klassische Scrollbar erscheint nur auf langen Seiten -> Viewport
      mal 15px schmaler. scrollbar-gutter reserviert die Breite konstant.
   N2 Leerer Warenkorb: statt orangem Vollflaechen-Kasten (erbte die
      .woocommerce-info-Regel der leeren Kategorie) -> transparent,
      Icon + Text in Markenorange, fett. Nur Warenkorb-Seite.
================================================================== */

/* --- N1: ENTFERNT (07-03 R8). Sowohl overflow-y:scroll als auch
   overflow-x:clip am html-Element KILLEN bei Yasins Chrome das
   komplette Seiten-Scrolling. HARTE REGEL: html bleibt zu 100%
   Browser-Default — keinerlei overflow-/gutter-Deklarationen.
   Das Mein-Konto-"Wackeln" wird separat geloest (Ultracode-Analyse). */

/* --- N1b: Scrollbar-Konstanz OHNE html-Deklaration (07-03, Ultracode-Judge) ----
   Ursache Mein-Konto-Wackeln: einzige Seite unter der Scroll-Schwelle
   (#page min-height: 100vh - 52px, Sticky-Footer-Regel) -> klassische
   Scrollleiste fehlt NUR dort -> clientWidth +15px -> zentrierter Header
   springt, flexendes Suchfeld aendert Breite, Menue-Abstaende "atmen".
   Fix: jede Desktop-Seite ist minimal (1px) scrollbar -> Scrollleiste
   konstant auf allen Seiten. html bleibt zu 100% Browser-Default. */
/* N1b ABGELOEST durch Sektion P (07-03 spaet): gleiche Regel, aber auf ALLEN
   Breiten + col-full-Streckung fuer deterministischen Fusszeilen-Reveal.
@media (min-width: 1200px) {
  #page { min-height: calc(100vh + 1px); }
}
*/

/* --- N2: Leerer Warenkorb dezent (Icon + orange Schrift) ------------ */
.woocommerce-cart .wc-empty-cart-message .cart-empty,
.woocommerce-cart p.cart-empty,
.woocommerce-cart .wc-empty-cart-message .woocommerce-info,
.woocommerce-cart .woocommerce-info {
  background: transparent !important;
  color: var(--brand-primary) !important;
  font-weight: 700 !important;
}
.woocommerce-cart .wc-empty-cart-message .cart-empty::before,
.woocommerce-cart p.cart-empty::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .wc-empty-cart-message svg,
.woocommerce-cart .cart-empty svg {
  color: var(--brand-primary) !important;
  fill: var(--brand-primary);
  stroke: var(--brand-primary);
}
/* --- N4 (07-03): "Angemeldet bleiben" — Checkbox-Text-Abstand wie rechts
   (Register: nur flex-gap 10px). Der klassenlose <span> erbte vom Theme
   margin-left:15px -> 25px Gesamtabstand. */
form.woocommerce-form-login .woocommerce-form-login__rememberme > span {
  margin-left: 0;
}
/* Ende N. rt11 */


/* --- N3 (07-03 R7): Leerer-Warenkorb-Icon in Markenorange ----------
   Das Icon ist eine SVG-MASKE auf .cart-empty::before mit grauem
   background-color (#ddd) — Farbe kommt NUR ueber background-color. */
.woocommerce-cart .cart-empty::before,
.woocommerce-cart .wc-empty-cart-message .cart-empty::before {
  background-color: var(--brand-primary);
}


/* ==================================================================
   O. RT196 2026-07-03 (rt12 — Feedback-Runde 8, Yasin-Screenshot 18:48)
   ------------------------------------------------------------------
   O1 J3-Hover-Entkopplung loeschte den M1a-Untermenue-Ruhezustand:
      das li ist volle Menuebreite, der Button endet 56px vor rechts
      (R9-Margin) -> Maus rechts NEBEN dem Unterpunkt-Button matcht
      J3 li:hover>a (transparent, Spez 1,3,2) und schlaegt M1a
      (0.12-Orange, Spez 1,2,4). Fix: fuer Unterpunkte haelt li:hover
      den Ruhe-Ton (Spez 1,5,3 via :not-Pseudos). Der direkte
      a:hover (Voll-Orange, 4986) bleibt via :not(:hover) unberuehrt;
      aktive current-Unterpunkte (M1b Voll-Orange) via :not([class*=
      "current"]) ausgenommen.
================================================================== */
#shiftnav-main ul.shiftnav-menu li li:not([class*="current"]):hover > a.shiftnav-target:not(:hover) {
  background-color: rgba(var(--brand-primary-rgb), 0.12) !important;
}
/* Ende O. rt12 */


/* ==================================================================
   P. RT196 2026-07-03 (rt13 — Yasin-Screenshots 21:00: Fusszeilen-Reveal)
   ------------------------------------------------------------------
   ZIEL (Yasin): Auf ALLEN Breiten wie auf Desktop — beim Landen nur ein
   duenner schwarzer Strich ueber der orangen Bottom-Bar; die schwarze
   Fusszeile (copyright_sec) erscheint erst beim Scrollen ans Seitenende.
   VORHER war der Desktop-Strich ZUFALLS-Geometrie (Content-Laenge vs.
   Fensterhoehe; N1b galt nur >=1200px) — mobil dicker Strich bzw. bei
   mehrzeiliger Fusszeile dauerhaft sichtbarer Block.
   MECHANIK:
   P1  #page-Mindesthoehe jetzt auf ALLEN Breiten (loest N1b ab) ->
       Scrollleisten-Konstanz ueberall (Wackel-Schutz bleibt).
   P2  Haupt-Container wird bei kurzen Seiten gestreckt, sodass die
       Fusszeile IMMER unterhalb der Bar-Oberkante beginnt (Peek = 0,
       unabhaengig von der Fusszeilenhoehe/Zeilenzahl). Der sichtbare
       4px-Strich kommt jetzt DETERMINISTISCH von der Bar-Oberkante
       (border-top in rt-mobile-bottom-bar v1.5) — pixelgleich auf
       allen Breiten. 56px = 52px Bar + 4px Strich.
   HARTE REGEL bleibt: html-Element unangetastet.
================================================================== */
#page { min-height: calc(100vh + 1px); }
#content > .col-full { min-height: calc(100vh - 56px); }
/* Ende P. rt13 */

/* ==================================================================
   Q. RT196 2026-07-03 (rt14 — Yasin-Screenshot 21:30: Passwort-Auge)
   ------------------------------------------------------------------
   Q1 WC-Passwort-Sichtbarkeits-Toggle (button.show-password-input,
      per WC-JS injiziert): war 17px, grau #999, sass ~8px zu tief.
      Das Auge ist eine SVG-MASKE am ::after -> Farbe via background-
      color (etablierte Masken-Technik, vgl. N2). Jetzt: doppelt so
      gross (32px), Marken-Orange, vertikal mittig im 46px-Feld,
      Hover dunkler-orange. Gilt fuer beide Masken-Zustaende
      (Auge / durchgestrichenes Auge).
================================================================== */
form .password-input .show-password-input {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  right: 12px;
  width: 34px !important;
  height: 34px !important;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
form .password-input .show-password-input::after {
  width: 32px !important;
  height: 32px !important;
  background-color: var(--brand-primary, #f39c12) !important;
}
form .password-input .show-password-input:hover::after,
form .password-input .show-password-input:focus::after {
  background-color: var(--brand-buy-hover, #d9870f) !important;
}
/* Ende Q. rt14 */

/* --- Q1b (Korrektur): .password-input-Wrapper ist HOEHER als das
   46px-Feld (Hinweistext darunter) -> 50%-Zentrierung sass 7px zu
   tief. Deterministisch am 46px-Projektstandard: (46-34)/2 = 6px. */
form .password-input .show-password-input {
  top: 6px;
  transform: none;
}
/* Ende Q1b */

/* --- Q1c (finale Zentrierung): .password-input-Wrapper ist durch die
   Floating-Label-Struktur KOLLABIERT (18px hoch, sitzt 21px unter der
   Feld-Oberkante) — Bezugsrechnung: Feldmitte 23px ab Feld-Top; Wrapper-
   Top = Feld-Top + 21px; Button 34px -> top = 23 - 21 - 17 = -15px. */
form .password-input .show-password-input {
  top: -15px;
}
/* Ende Q1c */

/* ==================================================================
   R. RT196 2026-07-03 (rt15 — Yasin-Screenshots 21:42/21:53)
   ------------------------------------------------------------------
   R1 Hamburger-/Kreuz-Toggle hatte margin-left:-10px -> ragte
      geschlossen 10px aus dem Viewport (linker Radius unsichtbar)
      und verschwand offen 10px UNTER dem Panel (linke Kante wirkte
      abgeschnitten). Jetzt 4px Luft — Radius beidseitig sichtbar,
      in BEIDEN Zustaenden (gleicher Button wandert mit).
   R2 Passwort-Auge v2: WCs SVG-Maske ist duenn gezeichnet und hat
      viel Leerraum -> eigene FETTE Auge-Maske (stroke 2.4 + gefuellte
      Pupille, fuellt die Box), 38px sichtbar in 42px-Button.
      Zustand: verborgen = Marken-Orange, angeklickt (WC-Klasse
      .display-password, Passwort sichtbar) = SCHWARZ #333.
      Zentrierung: Wrapper-Versatz 21px (s. Q1c) -> (46-42)/2-21 = -19px.
================================================================== */
#shiftnav-toggle-main-button {
  margin-left: 4px !important;
}
form .password-input .show-password-input {
  width: 42px !important;
  height: 42px !important;
  top: -19px;
  right: 10px;
}
form .password-input .show-password-input::after {
  width: 38px !important;
  height: 38px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5.5C7 5.5 3 9 1.5 12 3 15 7 18.5 12 18.5S21 15 22.5 12C21 9 17 5.5 12 5.5Z' fill='none' stroke='black' stroke-width='2.4' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3.6' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5.5C7 5.5 3 9 1.5 12 3 15 7 18.5 12 18.5S21 15 22.5 12C21 9 17 5.5 12 5.5Z' fill='none' stroke='black' stroke-width='2.4' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='3.6' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  background-color: var(--brand-primary, #f39c12) !important;
}
form .password-input .show-password-input.display-password::after {
  background-color: #333 !important;
}
/* Ende R. rt15 */

/* ==================================================================
   S. RT196 2026-07-03 (rt16 — Yasin-Screenshots 22:04/22:06)
   ------------------------------------------------------------------
   S1 Haupt-Toggle (Hamburger/X): exakt 46x46 (Projektstandard, wie
      die Untermenue-Dreieck-Toggles J2), buendig links (margin 0 —
      "weisser Abstand komplett weg", gilt zu UND offen), Icon ist
      FontAwesome fa-bars/fa-times -> Striche+Luecken skalieren
      gemeinsam ueber font-size: 16 -> 21px (+30%).
   S2 Passwort-Auge v3: 40% kleiner (38 -> 23px sichtbar, Button 30px,
      top = (46-30)/2 - 21 = -13px) und 20% duenner (stroke 2.4 -> 1.9,
      Pupille 3.6 -> 2.9). Zustandsfarben aus R bleiben.
================================================================== */
#shiftnav-toggle-main-button {
  margin-left: 0 !important;
  width: 46px;
  height: 46px;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
#shiftnav-toggle-main-button i.fa {
  font-size: 21px;
  line-height: 1;
}
form .password-input .show-password-input {
  width: 30px !important;
  height: 30px !important;
  top: -13px;
  right: 12px;
}
form .password-input .show-password-input::after {
  width: 23px !important;
  height: 23px !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5.5C7 5.5 3 9 1.5 12 3 15 7 18.5 12 18.5S21 15 22.5 12C21 9 17 5.5 12 5.5Z' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='2.9' fill='black'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5.5C7 5.5 3 9 1.5 12 3 15 7 18.5 12 18.5S21 15 22.5 12C21 9 17 5.5 12 5.5Z' fill='none' stroke='black' stroke-width='1.9' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='2.9' fill='black'/%3E%3C/svg%3E");
}
/* Ende S. rt16 */

/* ============================================================================
   Sektion T (2026-07-06, Yasin-Review-Feedback nach WP2/WP3)
   ============================================================================ */

/* T1: Versand-Label "DHL Paket: 6,50 €" — der Space nach dem Doppelpunkt ist im
   DOM vorhanden, wurde aber optisch verschluckt. ECHTE Ursache (per Regel-Scan
   verifiziert): Shoptimizer cart-checkout.min.css setzt
   `ul#shipping_method li span.amount { float: right }` → der Span wird
   blockifiziert (computed display:block trotz inline-Regel!) und rutscht aus
   dem Textfluss direkt hinter den Doppelpunkt (Yasin-Screenshot Warenkorb).
   float:none stellt den natürlichen Textfluss samt Leerzeichen wieder her. */
#shipping_method li label .woocommerce-Price-amount,
ul#shipping_method li span.amount,
.woocommerce-shipping-totals #shipping_method label .woocommerce-Price-amount,
.cart_totals .shipping ul li label .woocommerce-Price-amount {
    float: none !important;
    display: inline !important;
}


/* ============================================================== */
/* W17 B3 (07.10.2026, Aladin): zweite Fusszeilen-Zeile (Versand | Ruecksendung | Zahlung | Vertrag widerrufen). */
/* Markup: footer.php (.ac-footer-service), Links: inc/design-variables.php footer_service_links (KANON #10).    */
/* „Vertrag widerrufen“ = gesetzliche Widerrufs-Schaltflaeche: gleiche Groesse wie die Nachbarn,    */
/* fett, Akzentfarbe ueber Token --brand-link (#e07b14, Kontrast 4.9:1 auf dem Fusszeilen-Navy). !important noetig, */
/* weil style.css „.ac-footer-info a { color:#fff !important }“ setzt.                                            */
/* ============================================================== */
section.copyright_sec .ac-footer-info.ac-footer-service { margin-top: -4px; }
section.copyright_sec .ac-footer-info a.ac-footer-widerruf { color: var(--brand-link) !important; font-weight: 700; }
section.copyright_sec .ac-footer-info a.ac-footer-widerruf:hover,
section.copyright_sec .ac-footer-info a.ac-footer-widerruf:focus { text-decoration: underline !important; }
