/* ==========================================================================
   esd-styles.css - ESD-Basis-Design (Besitzer: ESD, nie vom Kunden editieren)
   Migriert 1:1 aus Customizer 'Zusaetzliches CSS' (custom_css-Post ID 150,
   Stand 2026-04-02) am 2026-07-19. Eingebunden via functions.php,
   wp_enqueue_scripts Prio 999 (nach Plugin-CSS, vor Customizer = Kunden-Slot).
   ========================================================================== */

/* ============================
   INHALTSVERZEICHNIS
   ============================
    1   Global / Utility
    2   Gradient-Design (Apple Intelligence)
    3   Tabellen (Global)
    4   Elementor — Globale Anpassungen
    5   Navigation / Menü
    6   Ajax Suchleiste (WPCAS)
    7   Plugins (Dritt-Anbieter)    · 7a WPML  · 7b SliceWP  · 7c Complianz
    8   WooCommerce — Notices & Info
    9   Einzelprodukt-Seite         · 9a Add-to-Cart · 9b Variationen · 9c Tabs
                                    · 9d Galerie · 9e FBT · 9f Composite
                                    · 9g Price by Qty · 9h Quantity-Input
   10   WPC Fly Cart (WOOFC)
   11   Checkout-Seite              · 11a Formular · 11b Bestellübersicht
                                    · 11c Versand · 11d Bezahlung · 11e Coupon
                                    · 11f Upsell · 11g GZD · 11h Responsive
   12   Bestellbestätigung / Order Confirmation
   ============================ */

/* ============================
   1. GLOBAL / UTILITY
   ============================ */

/*Akzentfarbe Hilfsklasse*/
.akzent {
    color: var(--e-global-color-accent);
}

/*Globaler Margin-Reset für Überschriften und Paragraphen.
  .esd-canvas ist ausgenommen (Bug 21, 2026-07-21): dort tötete das !important
  ALLE Absatz-Abstände unserer HTML-Seiten — lokal unsichtbar, nur live.
  Gefahrlos, weil jede Canvas ihren eigenen Reset mitbringt (.esd-canvas *{margin:0}).*/
/* :where() haelt die Spezifitaet exakt bei (0,0,1) wie beim alten `h1,…,p`-Selektor,
   damit sich AUSSERHALB der Canvas kein Kaskaden-Ergebnis verschiebt. */
:is(h1, h2, h3, h4, h5, h6, p):not(:where(.esd-canvas *)) {
    margin: 0 !important;
}

/*Blink-Animation*/
.blink {
    -webkit-animation: blink 1s step-end infinite;
    animation: blink 1s step-end infinite;
    color: #CC0C39;
    font-weight: 600;
}

@-webkit-keyframes blink {
    50% {
        visibility: hidden;
    }
}

@keyframes blink {
    50% {
        visibility: hidden;
    }
}

/*Google reCAPTCHA Badge ausblenden*/
.grecaptcha-badge {
    visibility: hidden;
}

/*WooCommerce Preisamount*/
.woocommerce-Price-amount {
    font-weight: normal
}

/*EDD Lieferdatum*/
.pi-edd {
    font-size: 14px;
    font-weight: bolder;
}

/*Checkbox Fix: Elementor padding-Override*/
input[type="checkbox"] {
    padding: 0 !important;
    width: auto !important;
    flex-shrink: 0;
}

#customer_details>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-data-service>p {
    padding-top: 20px !important;
}

/* ============================
   2. GRADIENT-DESIGN (Apple Intelligence)
   ============================ */

/* Apple-Intelligence-Glow 45°  +  1 px Gradient-Border */
.gradient-container {
    position: relative;
    /* Basis für ::before-Glow   */
    border: 1px solid transparent;
    /* Rahmenbreite (1 px)       */
    border-radius: 16px;
    /* Ecken nach Wunsch ändern  */

    /* Zwei Layer:
       1) Innenfläche (hier Weiß – anpassen oder transparent setzen)
       2) Farbverlauf, der in den 1 px-Border geclippt wird            */
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(45deg,
            #0b66ff 0%,
            #457aff 18%,
            #7d63ff 32%,
            #bf5bff 46%,
            #e34cd4 58%,
            #f24598 70%,
            #ff4f5c 82%,
            #ff6724 100%) border-box;
}

/* Weicher Verlaufs-Glow */
.gradient-container::before {
    content: '';
    position: absolute;
    z-index: -1;
    /* hinter den Container      */
    border-radius: inherit;
    /* gleiche Rundung           */
    pointer-events: none;
    background: linear-gradient(45deg,
            #0b66ff 0%,
            #457aff 18%,
            #7d63ff 32%,
            #bf5bff 46%,
            #e34cd4 58%,
            #f24598 70%,
            #ff4f5c 82%,
            #ff6724 100%);
    filter: blur(20px);
    /* Weiches Leuchten          */
    opacity: 0.9;
    /* Intensität anpassen       */
}

/* Apple-Intelligence-Gradient  ─  von Blau → Pink → Orange-Rot   */
.gradient-text {
    background: linear-gradient(90deg,
            #0b66ff 0%,
            /* intensives Blau              */
            #457aff 18%,
            /* helleres Blau                */
            #7d63ff 32%,
            /* Blau-Violett                 */
            #bf5bff 46%,
            /* Violett                      */
            #e34cd4 58%,
            /* Magenta                      */
            #f24598 70%,
            /* Pink                         */
            #ff4f5c 82%,
            /* Koralle                      */
            #ff6724 100%
            /* leuchtendes Orange-RotAkzent)*/
        );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}


/* ============================
   3. TABELLEN (GLOBAL)
   ============================ */

/* Stellt sicher, dass die Tabellen auf allen Seiten nicht die Bildschirmbreite überschreiten */
table {
    width: 100%;
    max-width: 100vw;
    /* Maximale Breite auf die Bildschirmbreite beschränken */
    border-collapse: collapse;
    margin-bottom: 20px;
    table-layout: fixed;
    /* Verhindert das Ausdehnen der Tabelle über die Bildschirmbreite hinaus */
}

th,
td {
    padding: 8px;
    text-align: left;
    border: 1px solid #ddd;
    word-wrap: break-word;
    /* Ermöglicht den Zeilenumbruch von langen Wörtern */
}

/* Mobile Ansicht */
@media (max-width: 767px) {
    .table-responsive {
        overflow-x: auto;
        /* Ermöglicht horizontales Scrollen bei kleineren Bildschirmen */
    }

    /* Optional: Verkleinert die Schriftgröße in Tabellen auf mobilen Geräten */
    table {
        font-size: 14px;
    }
}


/* ============================
   4. ELEMENTOR — GLOBALE ANPASSUNGEN
   ============================ */

/*Buttons*/
.elementor-button:hover {
    transform: scale(1.02) !important;
}

/* Form Field Fokus-Effekt */
.elementor-field:focus {
    outline: none;
    /* Standard-Outline entfernen */
    border-color: #00aaff;
    /* Rahmen-Farbe anpassen */
    box-shadow: 0 0 8px rgba(0, 170, 255, 0.7);
    /* Leucht-Schatten */
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    /* sanfte Animation */
}

/*Heading Margin error fix*/
.elementor-widget.elementor-widget-heading>div>h2 {
    margin: 0;
}

/*Sticky-Navbar Abstände*/
.e-lazyloaded.elementor-sticky>div>div>div.elementor-element.elementor-element-852e51c.e-con-full.e-flex.e-con.e-child>div {
    margin-top: 0px;
    margin-bottom: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
}

/*Elementor Loop Padding*/
.woocommerce-js div.product {
    padding-left: 0px;
    padding-right: 0px;
}

/*Produktpreis Margin*/
.elementor-widget-woocommerce-product-price>div>p {
    margin: 0px !important;
}



/* ============================
   5. NAVIGATION / MENÜ
   ============================ */

/*Menü-Item-Labels (New / Hot / Sale / Custom)*/
.label-new.menu-item>a:after,
.label-hot.menu-item>a:after,
.label-sale.menu-item>a:after,
.label-popular.menu-item>a:after,
.label-custom.menu-item>a:after {
    text-transform: uppercase;
    font-size: 9px;
    font-weight: bolder;
    padding: 4px;
    border-radius: 2px;
    line-height: 12px;
    top: 1px;
    letter-spacing: 0.05em;
    margin-left: 4px;
    display: inline-block;
    position: relative;
}

.label-new.menu-item>a:after {
    content: 'New' !important;
    /* Change Text */
    background-color: #6168F2;
    /* Change BG color */
    color: #FFFFFF;
    /* Change Text color */
}

.label-hot.menu-item>a:after {
    content: 'Hot' !important;
    background-color: #35CE9D;
    color: #FFFFFF;
}

.label-sale.menu-item>a:after {
    content: 'Sale' !important;
    background-color: #FC6070;
    color: #FFFFFF;
}

.label-custom.menu-item>a:after {
    content: 'Custom';
    background-color: #262626;
    color: #FFFFFF;
}

/*NavBar VVK ROT*/
#e-n-menu-title-1621>a>span.e-n-menu-icon>span.icon-inactive>i {
    color: #CC0C39;
}

#e-n-menu-title-1621>a>span.e-n-menu-icon>span.icon-active>i {
    color: #CC0C39;
}


/* ============================
   6. AJAX SUCHLEISTE (WPCAS)
   ============================ */

#wpcas-area>div.wpcas-area-mid.wpcas-search>div.wpcas-popular-keywords>div>span {
    font-size: 19px;
}


/* ============================
   7. PLUGINS (DRITT-ANBIETER)
   ============================ */

/* --- 7a. WPML --- */

/*Since WPML: Notices ausblenden*/
body>div.woocommerce-notices-wrapper>div,
body>div.woocommerce-info {
    display: none;
}

body>div.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-horizontal {
    margin: 0px !important;
}

/* --- 7b. SliceWP Affiliate --- */

#slicewp-affiliate-account-tab>div.slicewp-tab.slicewp-active>table>thead>tr>th {
    width: auto !important;
}

#slicewp-affiliate-account-nav-tab>ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

#slicewp-affiliate-account-tab>div.slicewp-tab.slicewp-active table {
    table-layout: fixed !important;
    width: 100% !important;
}

/* Slice WP - registration/Anmeldung: Styles the form buttons */
body .slicewp-button-primary {
    background: #0A84FF;
    color: #fff;
    padding: 10px 30px;
    border-radius: 50px;
}

body .slicewp-button-primary:hover {
    background: #0A84FF;
}

/* Styles the form fields */
body .slicewp-field-wrapper input[type="text"],
body .slicewp-field-wrapper input[type="password"],
body .slicewp-field-wrapper input[type="email"],
body .slicewp-field-wrapper input[type="url"],
body .slicewp-field-wrapper textarea,
body .slicewp-field-wrapper select {
    border: 1px solid #D7DEE4;
    padding: 5px 10px;
    background: #ffffff;
    border-radius: 5px;
}

/* --- 7c. Complianz (DSGVO) --- */

/*Compliance-Button ausblenden*/
#cmplz-manage-consent>button {
    display: none;
}


/* ============================
   8. WOOCOMMERCE — NOTICES & INFO
   ============================ */

/*Woocommerce-info Icon ausblenden / WP Slice Guthaben*/
body>div.woocommerce-notices-wrapper>div.woocommerce-info::before,
.woocommerce-info::before {
    display: none !important;
}

.woocommerce-info {
    font-size: 18px !important;
    font-family: 'Montserrat', sans-serif !important;
}

.elementor-widget-woocommerce-checkout-page>div>div>div.woocommerce-info,
.e-checkout__order_review {
    margin: 0 !important;
}

.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>div.woocommerce-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.elementor-element.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>div.woocommerce-info>a {
    margin-top: 0px;
    margin-left: 20px;
}

.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>div.woocommerce-info {
    padding-bottom: 20px;
}

body>div.elementor.elementor-15307>div.elementor-element.elementor-element-b02bc23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-c2ab3db.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>div.woocommerce-info>a {
    border-radius: 50px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    color: #ffffff !important;
    font-weight: 400 !important;
    background: #0A84FF;
}

/* body p { display: none; } ENTFERNT – Selektor war zu aggressiv (alle direkten p-Tags in body).
   Falls ein Footer-Hinweis ausgeblendet werden muss, gezielten Selektor eintragen, z.B.:
   .site-footer p { display: none; } */


/* ============================
   9. EINZELPRODUKT-SEITE
   ============================ */

/* --- 9a. Add-to-Cart Button --- */

/* ATC-Button Schriftgröße */
.elementor-add-to-cart--align-justify.elementor-widget__width-inherit.e-add-to-cart--show-quantity-yes.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>button,
.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div.single_variation_wrap>div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled>button,
.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div.single_variation_wrap>div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled>button {
    font-size: 1rem;
}

.elementor-add-to-cart--align-justify.elementor-widget__width-inherit.e-add-to-cart--show-quantity-yes.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div.single_variation_wrap>div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled {
    padding: 0px !important;
}

/*ATC / FBT / FlyCart Button-Radius*/
.woocommerce-variation-add-to-cart-disabled>div.e-atc-qty-button-holder>button,
.woobt-summary>div.woobt-actions>div,
.woobt-actions>div>button,
#woofc-area>div>div.woofc-area-bot>div.woofc-action>div>div>a,
.woocommerce-variation-add-to-cart-enabled>div.e-atc-qty-button-holder>button,
.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div.e-atc-qty-button-holder>button {
    border-radius: 50px !important;
}

/*Abstände ATC*/
.e-add-to-cart--show-quantity-yes.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>p {
    padding-bottom: 10px !important;
}

/*Abstand FBT zu ATC Button*/
.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>div {
    padding-top: 15px;
}

/*Ausblenden der Bestätigungsmeldung nach AddToCart*/
.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div>div.woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled>div.e-atc-qty-button-holder>a {
    display: none;
}

/*Ausblenden warenkorb anzeigen nach ATC*/
.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div.e-atc-qty-button-holder>a,
.variations_button.woocommerce-variation-add-to-cart-enabled>a,
.elementor-add-to-cart--align-justify.elementor-widget__width-inherit.e-add-to-cart--show-quantity-yes.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>a {
    display: none;
}

/*Ausblenden der Roten Nicht-verfügbar-Meldung (VVK)*/
.elementor-add-to-cart--layout-stacked.elementor-widget__width-inherit.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>p {
    display: none;
}

/*Ausblenden Nicht lieferbar VVK*/
.e-add-to-cart--show-quantity-yes.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>p {
    display: none !important;
}

/*PP PayLater Button Abstand*/
div.wc-ppcp-paylater-msg__container {
    margin-top: 20px !important;
}

/* --- 9b. Variationen (WooVariation Swatches) --- */

/*Radien Rund Auswahl Variation box*/
.woovr-variations>div {
    border-radius: 5px;
}

.woovr-variations.woovr-variations-grid-2 {
    padding-top: 0 !important;
    padding-bottom: 10px !important;
}

@media only screen and (max-width: 768px) {
    .woovr-variations.woovr-variations-grid-2 {
        margin-left: -5px !important;
        margin-right: -25px !important;
    }

    .woovr-variations.woovr-variations-grid-2>* {
        padding-left: 5px !important;
        padding-right: 5px !important;
        margin-bottom: 0px !important;
        margin-top: 10px !important;
        margin-left: 5px !important;
        margin-right: 5px !important;
    }
}

/*Ausblenden von Produkt-Variations-Beschreibung über ATC-Button (doppelt wegen Radio-Buttons)*/
.elementor-widget-woocommerce-product-add-to-cart>div>div>form>div.single_variation_wrap>div.woocommerce-variation.single_variation>div.woocommerce-variation-description>p {
    display: none;
}

/*Ausblenden von Variation-Preis*/
.single_variation_wrap>div.woocommerce-variation.single_variation>div.woocommerce-variation-price {
    display: none;
}

/*Ausblenden Variable Produkt Haken*/
.woovr-variations[class*="woovr-variations-grid"] .woovr-variation::before {
    position: relative;
    top: 0px;
    right: 0px;
    margin-bottom: 10px;
}

/*Variations-Button Abstand*/
.elementor-add-to-cart--align-justify.elementor-add-to-cart--layout-stacked.elementor-widget__width-inherit.elementor-widget.elementor-widget-woocommerce-product-add-to-cart>div>div>form>table>tbody>tr>th {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

/* --- 9c. Produkt-Tabs --- */

.elementor-widget-woocommerce-product-data-tabs>div>div>ul {
    padding: 0px !important;
}

.elementor-widget-woocommerce-product-data-tabs>div>div>ul>li {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

[id^="tab-title-"]>a {
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Linksbündig statt Blocksatz (Tobias 2026-07-19 — gesperrte Wortabstände).
   "body"-Präfix: gewinnt gegen die alte justify-Kopie im noch aktiven
   Customizer-Block (bis das Feld geleert ist), danach weiterhin korrekt. */
body #tab-description {
    text-align: left !important;
    text-justify: auto !important;
}

/* Desktop (ab 768px Breite): 20px oben */
@media only screen and (min-width: 768px) {
    #tab-description {
        padding-top: 20px !important;
    }
}

/* Mobile (bis 767px Breite): 10px oben */
@media only screen and (max-width: 767px) {
    #tab-description {
        padding-top: 10px !important;
    }

    /* Alle Elemente, deren ID mit "tab-woost" beginnt */
    [id^="tab-woost"] {
        padding-top: 10px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        text-align: justify !important;
        text-justify: inter-word !important;
    }
}

/* Beschreibungs-Tab: Typografie & Rhythmus (Tobias 2026-07-19).
   Überschriften/Absätze/Listen klebten aneinander, Listen-Marker standen
   links über den Text hinaus. !important ist Pflicht, weil weiter oben eine
   globale Regel `h1..h6,p { margin:0 !important }` gilt (schlägt sonst alles). */
#tab-description p { margin: 0 0 1em !important; }
#tab-description h2,
#tab-description h3,
#tab-description h4 { margin: 1.6em 0 0.5em !important; line-height: 1.25 !important; }
#tab-description > *:first-child { margin-top: 0 !important; }
#tab-description ul,
#tab-description ol { margin: 0 0 1.1em !important; padding-left: 1.4em !important; }
#tab-description li { margin: 0 0 0.35em !important; }

/* ESD-Line-Icons Trust-Strip Gruppe 1 (2026-07-19) - ersetzt FA-Solid via mask-image,
   Farbe erbt currentColor (#0066FF), Groesse 1em folgt der Icon-Groesse. Reversibel: Block entfernen.
   Quelle der SVGs: website/assets/icons/esd/ (SoT: knowledge/icon-system.md). */
.elementor-element-49d10df .elementor-icon,
.elementor-element-93446e7 .elementor-icon,
.elementor-element-435000bd .elementor-icon,
.elementor-element-308f57bb .elementor-icon { display:inline-flex; align-items:center; justify-content:center; }
.elementor-element-49d10df .elementor-icon>svg,
.elementor-element-93446e7 .elementor-icon>svg,
.elementor-element-435000bd .elementor-icon>svg,
.elementor-element-308f57bb .elementor-icon>svg { display:none !important; }
.elementor-element-49d10df .elementor-icon::after,
.elementor-element-93446e7 .elementor-icon::after,
.elementor-element-435000bd .elementor-icon::after,
.elementor-element-308f57bb .elementor-icon::after { content:""; display:block; width:1em; height:1em; background-color:currentColor; -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }
.elementor-element-49d10df .elementor-icon::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M12%203%2019%206v5c0%204.6-2.9%207.6-7%209-4.1-1.4-7-4.4-7-9V6z%22%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%20%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M12%203%2019%206v5c0%204.6-2.9%207.6-7%209-4.1-1.4-7-4.4-7-9V6z%22%2F%3E%20%3Cpath%20d%3D%22M9%2012l2%202%204-4%22%2F%3E%20%3C%2Fsvg%3E"); }
.elementor-element-93446e7 .elementor-icon::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M11.5%203H5a2%202%200%200%200-2%202v6.5a2%202%200%200%200%20.6%201.4l7.5%207.5a2%202%200%200%200%202.8%200l6.5-6.5a2%202%200%200%200%200-2.8l-7.5-7.5A2%202%200%200%200%2011.5%203z%22%2F%3E%20%3Ccircle%20cx%3D%227.75%22%20cy%3D%227.75%22%20r%3D%221.25%22%2F%3E%20%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Cpath%20d%3D%22M11.5%203H5a2%202%200%200%200-2%202v6.5a2%202%200%200%200%20.6%201.4l7.5%207.5a2%202%200%200%200%202.8%200l6.5-6.5a2%202%200%200%200%200-2.8l-7.5-7.5A2%202%200%200%200%2011.5%203z%22%2F%3E%20%3Ccircle%20cx%3D%227.75%22%20cy%3D%227.75%22%20r%3D%221.25%22%2F%3E%20%3C%2Fsvg%3E"); }
.elementor-element-435000bd .elementor-icon::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%223.5%22%2F%3E%20%3Cpath%20d%3D%22M5.5%2019.5C5.5%2015.9%208.4%2014%2012%2014s6.5%201.9%206.5%205.5%22%2F%3E%20%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%223.5%22%2F%3E%20%3Cpath%20d%3D%22M5.5%2019.5C5.5%2015.9%208.4%2014%2012%2014s6.5%201.9%206.5%205.5%22%2F%3E%20%3C%2Fsvg%3E"); }
.elementor-element-308f57bb .elementor-icon::after { -webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%228%22%20cy%3D%2216%22%20r%3D%223.5%22%2F%3E%20%3Cpath%20d%3D%22M10.5%2013.5%2020%204%22%2F%3E%20%3Cpath%20d%3D%22M16%208l2.5%202.5%22%2F%3E%20%3Cpath%20d%3D%22M18.5%205.5%2021%208%22%2F%3E%20%3C%2Fsvg%3E"); mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%20%3Ccircle%20cx%3D%228%22%20cy%3D%2216%22%20r%3D%223.5%22%2F%3E%20%3Cpath%20d%3D%22M10.5%2013.5%2020%204%22%2F%3E%20%3Cpath%20d%3D%22M16%208l2.5%202.5%22%2F%3E%20%3Cpath%20d%3D%22M18.5%205.5%2021%208%22%2F%3E%20%3C%2Fsvg%3E"); }

/* --- 9d. Bilder-Galerie --- */

.elementor-sticky.animated.fadeIn.elementor-sticky--effects.elementor-sticky--active.elementor-section--handles-inside>div>div>ol {
    padding-top: 5px;
}

/* --- 9e. WPC Frequently Bought Together (FBT / woobt) --- */

/*Ausblenden "This product" 1. Zeile*/
.woobt-product-this {
    display: none !important;
}

/* FBT ATC Button volle Breite */
.woobt-actions .woobt-form .button {
    display: block;
    width: 100%;
}

/*Icon bought together size*/
.woobt-layout-default .woobt-products .woobt-product .woobt-thumb {
    width: 90px;
    flex: 0 0 100px;
}

/*FBT Preis*/
.woobt-price>div.woobt-price-new>span>span>bdi {
    font-size: 19px;
}

/*FBT Beschreibungstext*/
.woobt-title>div.woobt-description {
    font-size: 18px;
}

/*Überschrift FBT Einzelprodukte*/
div.woobt-title>span>a {
    font-weight: 500;
    line-height: 30px;
    color: #000000;
}

/*Ausblenden "x1" vor FBT Titel*/
div.woobt-title>span>span {
    display: none;
}

/*Verfügbarkeit in FBT*/
.woobt-availability>p>span.ast-stock-avail {
    font-size: 14px;
}

/*Plus/Minus-Buttons in FBT-Qty ausblenden*/
.woobt-title>div.woobt-quantity.woobt-quantity-plus-minus>div>div.woobt-quantity-input-minus,
.woobt-title>div.woobt-quantity.woobt-quantity-plus-minus>div>div.woobt-quantity-input-plus {
    display: none !important;
}

/*Ausrichtung Qty FBT auf Mobile*/
@media only screen and (max-width: 767px) {
    .woobt-title>div.woobt-quantity.woobt-quantity-plus-minus {
        display: flex;
        justify-content: center;
    }
}

/* --- 9f. WPC Composite Products (wooco) --- */

.wooco-qty-label {
    padding-right: 10px !important;
}

/*Plus/Minus-Buttons in Composite-Qty ausblenden*/
.wooco_component_product_selection_list_item_qty.wooco_component_product_selection_item_qty.wooco-qty-wrap>span.wooco-qty-input>span.wooco_component_product_qty_btn.wooco_component_product_qty_minus.wooco-minus,
.wooco_component_product_selection_list_item_qty.wooco_component_product_selection_item_qty.wooco-qty-wrap>span.wooco-qty-input>span.wooco_component_product_qty_btn.wooco_component_product_qty_plus.wooco-plus {
    display: none !important;
}

/* --- 9g. WPC Price by Quantity (wpcpq) --- */

/*Add-to-Cart Button in Price-by-Quantity ausblenden*/
.wpcpq-item.wpcpq-item>div.wpcpq-item-atc>button {
    display: none;
}

/* --- 9h. Quantity-Input (global) --- */

/* Minus/Plus-Buttons in WPC PQ Quantity so klein wie möglich */
.woopq-quantity-input-minus,
.woopq-quantity-input-plus {
    max-width: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Quantity-Input (mittleres Feld) so schmal wie möglich */
input.qty {
    max-width: 3ch !important;
    /* verhindert, dass es breiter wird */
    padding: 0 !important;
    /* Innenabstand entfernen */
    margin: 0 !important;
    /* Außenabstand entfernen */
    box-sizing: content-box !important;
    text-align: center !important;
    /* Zahl zentrieren */
}

/* Abstand Mengenfeld -> Add-to-Cart-Button (Produktseite, 2026-07-19):
   Pro-Elements setzt margin-inline-end:auto am .quantity-Wrapper — der Button
   füllt die Restbreite, "auto" kollabiert zu 0px, Feld klebt am Button. */
.woocommerce div.product form.cart div.quantity {
    margin-inline-end: 16px !important;
}

/* Native Spinner-Pfeile ausblenden (2026-07-24): Der Chromium-Spinner malt sich
   ein eigenes helles Pill-Kästchen, das sich im Sticky-Kaufcontainer sichtbar
   gegen den Frost-Blur absetzt (Tobias-Screenshot). Menge bleibt tippbar;
   iOS zeigt ohnehin keine Spinner. */
.woocommerce div.product form.cart input.qty::-webkit-inner-spin-button,
.woocommerce div.product form.cart input.qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}
.woocommerce div.product form.cart input.qty {
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}


/* ============================
   10. WPC FLY CART (WOOFC)
   ============================ */

/* Breite des Flycarts */
.woofc-area {
    width: 600px !important;
    /* Hier deine Wunschbreite eintragen (z.B. 450px, 500px, 600px) */
    max-width: 100vw !important;
    /* Wichtig: Sorgt dafür, dass es auf dem Smartphone nicht über den Rand hinausragt */
}

/*Flycart Z-Index in Vordergrund*/
#woofc-area>div {
    z-index: 1000 !important;
}

/* 1) Stelle sicher, dass jeder Item-Block position:relative hat */
#woofc-area .woofc-area-mid.woofc-items>div {
    position: relative;
}

/* 2) Qty-Control ganz nach rechts oben platzieren */
#woofc-area .woofc-item-qty.woofc-item-qty-plus-minus {
    position: absolute;
    top: 50%;
    /* vertikal zentrieren */
    right: 8px;
    /* Abstand von rechts */
    transform: translateY(-50%);
    z-index: 5;
}

/* 2) Remove-Span absolut in die obere rechte Ecke des Items verschieben  Causes suggested products error Was kunden gefällt was kunden auch kaufen*/
#woofc-area>div>div.woofc-area-mid.woofc-items>div>div>span {
    position: absolute;
    top: 20px;
    /* Abstand von oben */
    right: 0px;
    /* Abstand von rechts */
    cursor: pointer;
    z-index: 10;
    /* sicher über dem Rest */
}

/*Titel*/
#woofc-area>div>div.woofc-area-mid.woofc-items>div>div>div.woofc-item-info>span.woofc-item-title>a {
    font-weight: 600 !important;
    display: inline-block;
    font-size: 15px !important;
}

.woofc-item-info>span.woofc-item-title {
    padding-right: 90px !important;
}

/*im Set gekauft Typo*/
#woofc-area>div>div.woofc-area-mid.woofc-items>div>div>div.woofc-item-info>span.woofc-item-title>span {
    font-weight: 400;
}

/*Preise*/
#woofc-area>div>div.woofc-area-mid.woofc-items>div>div>div.woofc-item-info>span.woofc-item-price>span.original-price>span>bdi>span {
    font-size: 14px !important;
}

.woofc-items>div>div>div.woofc-item-info>span.woofc-item-price>span.original-price>span>bdi {
    font-size: 14px;
}

.woofc-item-info>span.woofc-item-price>span.woocommerce-Price-amount.amount>bdi {
    font-size: 16px !important;
}

/* Abstand nach dem durchgestrichenen Originalpreis erhöhen */
#woofc-area .woofc-item-info .woofc-item-price>span.original-price:nth-child(1) {
    margin-bottom: 8px;
    /* hier kannst Du 8px nach Belieben anpassen */
}

/* 1) Nur dem allerersten .original-price-Span im Preis-Block ein "Originalpreis: " voransetzen */
#woofc-area .woofc-item-info .woofc-item-price>span.original-price:nth-child(1)::before {
    content: "Originalpreis: ";
    font-weight: normal;
    font-size: 14px !important;
}

/*Plus/Minus-Buttons in Sidecart / FlyCart ausblenden*/
.woofc-item-qty.woofc-item-qty-plus-minus>div>div>div>div.woopq-quantity-input-minus,
.woofc-item-qty.woofc-item-qty-plus-minus>div>div>div>div.woopq-quantity-input-plus {
    display: none !important;
}

/*FlyCart Typo Fett/Bold*/
#woofc-area>div>div.woofc-area-bot>div.woofc-total.woofc-data>div.woofc-data-left,
#woofc-area>div>div.woofc-area-bot>div.woofc-subtotal.woofc-data>div.woofc-data-left,
#woofc-area>div>div.woofc-area-bot>div.woofc-shipping-cost.woofc-data>div.woofc-data-left,
#woofc-area>div>div.woofc-area-bot>div.woofc-data.sc-fly-data-original>div {
    font-weight: bold !important;
}

/*Abstände Flycart*/
#woofc-area>div>div.woofc-area-bot>div.woofc-shipping-cost.woofc-data {
    padding-bottom: 10px;
}

#woofc-area>div>div.woofc-area-bot {
    padding: 0px !important;
}

/*Coupon-Input Typo*/
.woofc-area.woofc-style-02 .woofc-area-bot .woofc-coupon .woofc-coupon-input .woofc-coupon-check {
    font-weight: 100;
    font-family: 'Montserrat';
    text-transform: none;
    font-size: 18px;
}

/*Couponcode Eingabe*/
#woofc-area>div>div.woofc-area-bot>div.woofc-coupon>div>input.woofc-coupon-check,
#woofc-area>div>div.woofc-area-bot>div.woofc-coupon>div>input.woofc-coupon-code {
    font-weight: 400 !important;
    font-size: 14px !important;
}

/* Button Design */
#woofc-area .woofc-area-bot .woofc-action .woofc-action-inner>div a {
    border-radius: 0px;
    background-color: #000;
    border-color: #000;
    border-width: 2px;
    color: #fff;
    text-transform: none;
    font-weight: 500;
}

/* Button Design on hover */
#woofc-area .woofc-area-bot .woofc-action .woofc-action-inner>div a:hover {
    border-radius: 0px;
    background-color: #fff;
    border-color: #000;
    border-width: 2px;
    color: #000;
    text-transform: none;
    font-weight: 500;
}

/* Free Shipping Bar */
#woofc-area .woofc-area-bot .woofc-free-shipping-bar.woofc-data,
#woofc-area .woofc-area-bot .woofc-free-shipping-bar.woofc-data .wpcfb-progress-bar {
    margin-top: 0;
}

#woofc-area>div>div.woofc-area-bot>div.woofc-free-shipping-bar.woofc-data>div {
    padding: 0px !important;
}

/*Upsell-Funnel Produktbild*/
#woofc-area>div>div.woofc-area-bot>div.woofc-upsell-funnel>div>div>div.wpcuf-uf-content>div>div>div.wpcuf-uf-product-image.wpcuf-image>a>img {
    height: 100px !important;
    object-fit: contain;
    /* Optional, um das Seitenverhältnis zu erhalten */
}

/* Leer-Cart-Vorschläge (suggested_empty=featured, aktiviert 2026-07-24):
   Plugin-Kopf "Was anderen gefällt" kollabiert auf 0px Höhe (Span + 1000px-Deko-Linie
   absolut positioniert) und überlagert die erste Produktkarte — Kopf als normale Zeile
   über die Karten setzen, Deko-Linie aus. */
.woofc-area .woofc-suggested {
    display: block !important;
    padding: 18px 25px !important;
}

.woofc-area .woofc-suggested-heading {
    display: block !important;
    position: static !important;
    float: none !important;
    width: auto !important;
    text-align: left !important;
    margin: 0 0 14px !important;
}

.woofc-area .woofc-suggested-heading span {
    background: none !important;
    padding: 0 !important;
    font-weight: 600 !important;
    position: static !important;
    display: inline-block !important;
    transform: none !important;
    left: auto !important;
    right: auto !important;
}

.woofc-area .woofc-suggested-heading:before,
.woofc-area .woofc-suggested-heading:after,
.woofc-area .woofc-suggested-heading span:before,
.woofc-area .woofc-suggested-heading span:after {
    display: none !important;
}

.woofc-area .woofc-suggested-products {
    clear: both !important;
}

/* Vorschlags-Block ans untere Panel-Ende (Tobias 2026-07-24 — Plugin hat KEINE native
   Positions-Option für suggested, nur Panel-/Badge-Position; geprüft in class-backend.php).
   Mid-Container wird flex-column, der Block rutscht per margin-top:auto ans Ende. */
.woofc-area .woofc-area-mid {
    display: flex !important;
    flex-direction: column !important;
}

.woofc-area .woofc-area-mid .woofc-suggested {
    margin-top: auto !important;
}


/* ============================
   11. CHECKOUT-SEITE
   ============================ */

/* --- 11a. Formular / Kundendetails --- */

/* Fokus-Effekt für alle Eingabefelder (Rand beim Reinklicken) */
.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
#customer_details input:focus,
.elementor-field-group input:focus {
    border-color: var(--e-global-color-accent, #000) !important;
    outline: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Styling der Kassen-Labels (Überschriften der Formularfelder) */
.woocommerce-checkout label {
    font-weight: 500;
    margin-bottom: 5px;
    display: block;
    font-size: 14px;
    color: #333;
}

/* Anpassung der Input-Felder (Höhe, Innenabstand und kantiges Design) */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea {
    padding: 10px 10px !important;
    border: 1px solid #dcdcdc;
    border-radius: 0px;
    background-color: #fff;
}

/* Stellt sicher, dass das Firmenfeld die volle Breite einnimmt */
.woocommerce-billing-fields .form-row-wide {
    clear: both;
    width: 100%;
}

/* Entfernt das "(wahlfrei)"-Suffix für ein sauberes Layout */
.woocommerce-checkout label .optional {
    display: none !important;
}

/*Form-Layout (zweispaltig)*/
.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div:not(.woocommerce-NoticeGroup.woocommerce-NoticeGroup-checkout) {
    display: flex;
    gap: 0;
}

.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-start,
.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end {
    flex: 1 1 50%;
    box-sizing: border-box;
}

/*Kundendetails Col-1*/
#customer_details>div.col-1 {
    padding-top: 0 !important;
}

#customer_details>div.col-1>div {
    padding-top: 20px;
}

#customer_details>div.col-1 {
    margin: 0px !important;
    padding-bottom: 0 !important;
    padding-left: 0px !important;
}

/*Kundendetails Col-2 / Versandfelder*/
#customer_details>div.col-2>div.woocommerce-shipping-fields {
    padding-bottom: 20px !important;
}

#customer_details>div.col-2>div.woocommerce-shipping-fields {
    padding-top: 20px !important;
}

#customer_details>div.col-2>div.woocommerce-shipping-fields>div {
    padding-left: 0px !important;
    padding-bottom: 0px !important;
}

#customer_details>div.col-2>div.woocommerce-additional-fields {
    padding: 0 !important;
    border-top: 1px solid #ddd;
    margin-top: 10px;
    margin-right: 20px !important;
}

@media (max-width: 768px) {
    #customer_details>div.col-2>div.woocommerce-additional-fields {
        border-top: none !important;
        margin-top: 0 !important;
        margin-right: 0 !important;
    }

    #customer_details>div.col-2>div.woocommerce-shipping-fields>div {
        padding: 0px !important;
        margin: 0px !important;
    }
}

#ship-to-different-address {
    padding: 0px !important;
}

#ship-to-different-address {
    margin: 0px !important;
}

/*Pickup-Location*/
#billing_pickup_location_notice>div.choose-pickup-location,
#shipping_pickup_location_notice>div.choose-pickup-location {
    padding-top: 10px;
}

#billing_pickup_location_notice>div.choose-pickup-location>p>a,
#shipping_pickup_location_notice>div.choose-pickup-location>p>a {
    font-size: 14px;
}

/*Formularfelder ausblenden*/
#billing_state_field,
#billing_address_2_field,
#billing_country_field {
    display: none !important;
}

/*Elementor-ID-spezifisch: Checkout Seite (ID 10)*/
body>div.elementor.elementor-10>div.elementor-element.elementor-element-b1eeb23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-38413f3.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-34ed207.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box {
    padding: 0px;
}

body>div.elementor.elementor-10>div.elementor-element.elementor-element-b1eeb23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-38413f3.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-34ed207.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box>div {
    margin-top: 5px;
}

/*Elementor-ID-spezifisch: Checkout Seite (ID 15307)*/
body>div.elementor.elementor-15307>div.elementor-element.elementor-element-b02bc23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-c2ab3db.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2 {
    padding-left: 0px;
    padding-top: 0px;
}

body>div.elementor.elementor-15307>div.elementor-element.elementor-element-b02bc23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-c2ab3db.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2 {
    padding-right: 0px;
    padding-bottom: 0px;
}

/* --- 11b. Bestellübersicht (Order Summary) --- */

#order_review>table {
    /* verhindert, dass die Spaltenbreiten sich nach Inhalt richten */
    table-layout: fixed;
    width: 100%;
}

#order_review>table,
body>div.elementor.elementor-10>div.elementor-element.elementor-element-b1eeb23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-38413f3.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-34ed207.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>div>section.woocommerce-order-details>table {
    background-color: #fff !important;
}

#order_review>table {
    margin: 0px !important;
    padding: 0px !important;
}

@media (max-width: 768px) {

    /* Für mobile Geräte */
    #order_review>table {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/*Spaltenüberschriften ausblenden*/
#order_review>table>thead {
    display: none;
}

#order_review>table>thead>tr {
    visibility: hidden;
}

#order_review>table>thead>tr>th.product-total {
    padding-left: 0px !important;
    margin-left: 0px !important;
    white-space: nowrap;
    width: 100px;
}

#order_review_heading {
    margin-bottom: 0px !important;
}

/*Produktname*/
#order_review>table>tbody>tr>td.product-name {
    font-size: 16px;
    font-weight: 600;
}

#order_review>table>tbody>tr>td.product-name {
    /* lässt Überlauf sichtbar, ohne die Zelle breiter werden zu lassen */
    overflow: visible;
}

#order_review>table>tbody>tr>td.product-name {
    word-wrap: break-word;
    /* Erlaubt das Brechen von langen Wörtern */
    overflow-wrap: break-word;
    /* Modernere Alternative zu word-wrap */
    white-space: normal;
    /* Erlaubt das Brechen von Zeilen */
}

#order_review>table>tbody>tr>td.product-name>p>span {
    color: #999999;
}

#order_review>table>tbody>tr>td.product-name>span {
    font-size: 14px;
    color: #999999;
    font-weight: 400;
}

#order_review>table>tbody>tr>td.product-name>p {
    font-weight: 400 !important;
}

#order_review>table>tbody>tr>td.product-name>p {
    font-size: 14px;
    color: gray;
}

#order_review>table>tbody>tr>td.product-name>strong {
    display: block;
    margin-top: auto !important;
}

#order_review>table>tbody>tr>td.product-name>div>p.unit-price,
#order_review>table>tbody>tr>td.product-name>p>span {
    display: inline-block;
    /* eigene Box, um max-width zu respektieren */
    white-space: nowrap;
    /* kein Umbruch */
    max-width: 100%;
    /* nie breiter als die Zelle */
    overflow: visible;
    /* Text läuft über, ohne Spalte zu expandieren */
}

/* Haupt-Container (dl) auf column-Flex umstellen und negative Gutters übernehmen */
#order_review .product-name>dl {
    display: flex !important;
    flex-direction: column !important;
    font-size: 14px !important;
}

/* Keine Zeilenumbrüche in den Listenelementen */
#order_review .product-name>dl>dd>ul>li {
    white-space: nowrap !important;
}

#order_review>table>tbody>tr.cart_item.wooco-cart-item.wooco-cart-parent.wooco-item-parent.wooco-hide-component>td.product-name>p>span {
    white-space: nowrap !important;
}

#order_review>table>tbody>tr.cart_item.wooco-cart-item.wooco-cart-parent.wooco-item-parent.wooco-hide-component>td.product-name>dl>dd>ul {
    padding-left: 20px !important;
    color: gray;
}

/*Produktbild in Checkout*/
.woocommerce-checkout-review-order-table img {
    display: inline-block !important;
    max-width: 100px;
    height: auto;
}

.e-checkout__order_review img {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
    /* Optional, for spacing below images */
}

/*Produktzeilen Padding*/
#order_review>table>tbody>tr>.product-name,
#order_review>table>tbody>tr>.product-total {
    padding: 0px 0px 20px 0px;
}

#order_review>table>tbody>tr>td.product-total {
    text-align: right;
}

/*Tfoot rechtsbündig*/
#order_review>table>thead>tr>th.product-total,
#order_review>table>tfoot>tr.cart-subtotal>td,
#order_review>table>tfoot>tr.woocommerce-shipping-totals.shipping>td,
#order_review>table>tfoot>tr.order-total>td,
#order_review>table>tfoot>tr.order-tax>td,
#order_review>table>tfoot>tr.original-price-total>td,
#order_review>table>tfoot>tr.tax-rate.tax-rate-de-umsatzsteuer-1>td,
#order_review>table>tfoot>tr.fee>td,
#order_review>table>tfoot>tr.nettobetrag-row>td {
    text-align: right;
    padding-right: 0 !important;
}

/*Rabatt / Discount Zeilen*/
#order_review>table>tfoot>tr.cart-discount>td {
    padding: 0px !important;
    text-align: right !important;
}

#order_review>table>tfoot>tr.cart-discount>td>span {
    font-weight: bold !important;
}

#order_review>table>tfoot>tr.cart-discount>th {
    padding: 0 !important;
}

#order_review>table>tfoot>tr.ersparnis-row>td,
#order_review>table>tfoot>tr.cart-discount-row>td {
    font-weight: normal !important;
}

#order_review>table>tfoot>tr.cart-discount.coupon-rabatt>td {
    padding-right: 0 !important;
    text-align: right !important;
    font-weight: normal !important;
}

/*Steuer*/
#order_review>table>tfoot>tr.order-tax>th {
    font-weight: 400;
}

#order_review>table>tfoot>tr.order-tax>td,
#order_review>table>tfoot>tr.order-tax>th {
    padding-bottom: 0px;
}

/*Originalpreis (durchgestrichen)*/
#order_review>table>tfoot>tr.original-price-total>th,
#order_review>table>tfoot>tr.original-price-total>td {
    padding-top: 0 !important;
}

#order_review>table>tfoot>tr.original-price-total>th {
    font-weight: 400 !important;
}

#order_review>table>tfoot>tr.original-price-total>td {
    font-weight: 600 !important;
}

#order_review>table>tfoot>tr.original-price-total>td>span {
    position: relative;
    color: inherit;
    /* Beibehaltung der Textfarbe */
}

#order_review>table>tfoot>tr.original-price-total>td>span::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: grey;
    /* Farbe des Strichs */
    transform: translateY(-50%);
    pointer-events: none;
}

/*Versandkosten*/
#order_review>table>tfoot>tr.woocommerce-shipping-totals.shipping>th,
#order_review>table>tfoot>tr.woocommerce-shipping-totals.shipping>td {
    padding: 0;
}

/*Zwischensumme ausblenden*/
#order_review>table>tfoot>tr.cart-subtotal {
    display: none;
}

#order_review>table>tfoot>tr.cart-subtotal>th,
#order_review>table>tfoot>tr.cart-subtotal>td {
    padding-top: 0px;
}

/*Gesamtbetrag*/
#order_review>table>tfoot>tr.order-total>td>strong>span>bdi {
    font-weight: 600;
}

/*Free Shipping Bar in Order Review*/
#order_review>table>tfoot>tr.ehg-freeshipping-row>td>div {
    padding: 0 !important;
}

/*Order Summary Container*/
.e-checkout__order_review {
    padding-bottom: 0px !important;
}

.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2,
.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review {
    margin-right: 0px;
}

.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2 {
    border: none;
    margin-top: 0px;
}

@media (max-width: 1024px) {

    .woocommerce-checkout .e-checkout__order_review,
    .e-checkout__column-end>div>div.e-checkout__order_review {
        border: none !important;
    }
}

#order_review>div {
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 10px;
}

/* --- 11c. Versand --- */

#shipping_method>li {
    margin-bottom: 10px !important;
}

#shipping_method>li>label {
    position: relative;
    /* Aktiviert relative Positionierung */
    top: -2px;
    /* Verschiebt das Element 2px nach oben */
}

#shipping_method>li>label {
    font-weight: 600 !important;
}

ul#shipping_method>li>label {
    display: inline-flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px !important;
    /* ← NEU */
    white-space: nowrap !important;
    float: right !important;
    margin: 0 0 0 auto !important;
    padding: 0 !important;
    min-width: 120px !important;
    width: auto !important;
}

/* --- 11d. Bezahlung (Payment) --- */

#payment {
    padding: 0px !important;
    margin: 0 !important;
    border-radius: 20px !important;
}


#payment>div>div {
    padding-top: 0 !important;
}

#payment>ul {
    border: none;
    box-shadow: none;
    padding: 0;
    border-radius: 5px;
    margin-bottom: 5px !important;
}

#payment>ul>li.wc_payment_method {
    margin-bottom: 5px !important;
    padding-bottom: 5px !important;
}

#payment>ul>li.wc_payment_method>label {
    font-size: 18px !important;
}

/*Zahlungsart-Container Abstände*/
#payment>ul>li.wc_payment_method.payment_method_bacs>div,
#payment>ul>li.wc_payment_method.payment_method_ppcp-card-button-gateway>div,
#payment>ul>li.wc_payment_method.payment_method_ppcp-gateway>div {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    margin-top: 10px !important;
    margin-bottom: 0px !important;
}

@media (max-width: 767px) {

    #payment>div {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    #payment>ul>li.wc_payment_method.payment_method_bacs>div,
    #payment>ul>li.wc_payment_method.payment_method_ppcp-card-button-gateway>div,
    #payment>ul>li.wc_payment_method.payment_method_ppcp-gateway>div {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        padding-right: 10px !important;
        padding-left: 10px !important;
        margin-top: 10px !important;
        margin-bottom: 0px !important;
    }

}

#direct-debit-form {
    border-radius: 5px !important;
    border-color: #D7DEE4 !important;
    border: 1px solid !important;
}

#direct-debit-form>p>label,
#direct-debit-form>p>label>span {
    color: #1c1c1e !important;
    /* Setzt die Schriftfarbe auf Schwarz */
}

/*PayPal Buttons*/
#buttons-container {
    display: flex;
    flex-direction: column;
    /* Sicherstellen, dass die Inhalte vertikal gestapelt sind */
}

#buttons-container>div>div.paypal-powered-by {
    order: 1 !important;
    /* Setzt die Reihenfolge nach oben */
}

/* --- 11e. Coupon --- */

.e-checkout__container>div.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box>div>label {
    display: none;
}

/* ============================
   COUPON STYLING (Für den WordPress Customizer)
   ============================ */
.woocommerce-checkout .e-coupon-box {
    text-align: right !important;
    display: block !important;
    width: 100% !important;
}

.woocommerce-checkout .e-coupon-box>p>a {
    font-size: 1rem !important;
    float: none !important;
    margin-left: 0 !important;
}

.e-coupon-box>button {
    color: #ffffff !important;
}

.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box {
    padding-left: 0px !important;
    padding-bottom: 0px !important;
    margin: 0 !important;
}

.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box {
    padding-bottom: 0;
    padding-top: 20px;
}

.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box>div>div.form-row>div>div.col.coupon-col-2>button {
    color: #ffffff !important;
}

.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-coupon-box>div>div.form-row>div>div.col.coupon-col-2>button {
    background-color: #ffffff !important;
    border: 1px solid #0A84FF !important;
    color: #0A84FF !important;
    border-radius: 50px !important;
}

/*Coupon Custom Field Buttons*/
#wcf_custom_coupon_field>div.wcf-coupon-col-2>span>button {
    border: 1px solid #d1d4db !important;
    color: black !important;
    background-color: white !important;
    transition: background-color 0.3s, color 0.3s !important;
    padding: 0px !important;
    font-size: 18px !important;
}

#wcf_custom_coupon_field_order_review>div.wcf-coupon-col-2>span>button {
    border: 1px solid #d1d4db !important;
    color: black !important;
    background-color: #00000000 !important;
    transition: background-color 0.3s, color 0.3s !important;
    padding: 10px !important;
    font-size: 18px !important;
}

#wcf_custom_coupon_field>div.wcf-coupon-col-2>span>button:hover,
#wcf_custom_coupon_field_order_review>div.wcf-coupon-col-2>span>button:hover {
    background-color: black !important;
    color: white !important;
    border: 1px solid black !important;
}

/*Coupon-Zeilen im Order Review Tfoot*/
#order_review>table>tfoot>tr.cart-discount.coupon-slicewp-store-credit>td {
    text-align: right !important;
    padding-right: 0 !important;
}

#order_review>table>tfoot>tr.cart-discount.coupon-slicewp-store-credit>td>span {
    font-weight: bold !important;
}

#order_review>table>tfoot>tr.cart-discount.coupon-comeback5>td {
    text-align: right !important;
    padding-right: 0px;
}

#order_review>table>tfoot>tr.cart-discount.coupon-comeback5>td>a {
    font-size: 16px !important;
}

/* --- 11f. WPC Upsell Funnel (Orderbump) --- */

#order_review>div>div {
    border: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
}

.wpcuf-ob-product-name {
    font-family: 'Montserrat', sans-serif !important;
    color: black !important;
}

#order_review>div>div>div.wpcuf-ob-content>div>div.wpcuf-ob-product-info>div.wpcuf-ob-product-desc,
#order_review>div>div>div.wpcuf-ob-footer>div {
    font-family: 'Montserrat', sans-serif !important;
}

#order_review>div>div>div.wpcuf-ob-header>div.wpcuf-ob-checkbox>label {
    font-size: 16px !important;
    color: white !important;
}

#order_review>div>div>div.wpcuf-ob-header {
    background-color: #0A84FF !important;
    border-radius: 5px;
}

.wpcuf-ob-header::before,
.wpcuf-ob-footer::before {
    display: none !important;
}

#order_review>div>div>div.wpcuf-ob-footer {
    margin: 0 !important;
}

#order_review>div>div>div.wpcuf-ob-content>div>div.wpcuf-ob-product-image>img {
    margin-bottom: 0px !important;
}

/* --- 11g. GZD (German Market) / Rechtliches --- */

.woocommerce-checkout form #order_review .wc-gzd-order-submit {
    clear: both;
}

/*AGBs bestätigen*/
#customer_details>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal {
    padding-top: 10px;
}

/*Data-Service Checkbox Abstand oben*/
#customer_details>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-data-service>p>label>span {
    padding-top: 20px !important;
}

@media (max-width: 767px) {
    #customer_details>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-data-service>p>label>span {
        padding-top: 10px !important;
    }
}

.wc-gzd-checkbox-placeholder p,
.wc-gzd-checkbox-placeholder label,
.wc-gzd-checkbox-placeholder span {
    font-size: 1rem !important;
    color: #1c1c1e !important;
    line-height: 1.25 !important;
}

.wc-gzd-checkbox-placeholder a {
    font-size: 1rem !important;
}

.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal>p>label>span,
.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-vvk>p>label>span {
    padding-left: 5px !important;
}

.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal>p>label>abbr,
.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-vvk>p>label>abbr {
    display: none;
}

.e-checkout__order_review-2>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal>p,
body>div.elementor.elementor-15307>div.elementor-element.elementor-element-b02bc23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-c2ab3db.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-vvk>p {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px !important;
    margin-bottom: 0px !important;
}

.e-checkout__order_review-2>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal>p>label>span {
    padding-bottom: 10px !important;
}

.e-checkout__order_review-2>div.wc-gzd-checkbox-placeholder.wc-gzd-checkbox-placeholder-legal>p>label>span {
    font-size: 16px !important;
}

.wc-gzd-checkbox-placeholder.ehg-terms-moved {
    margin-top: 10px;
}

/*Fehlermeldung Links*/
.woocommerce-NoticeGroup-checkout>ul>li>a,
body>div.elementor.elementor-15307>div.elementor-element.elementor-element-b02bc23.e-flex.e-con-boxed.e-con.e-parent.e-lazyloaded>div>div.elementor-element.elementor-element-c2ab3db.e-con-full.e-flex.e-con.e-child>div.elementor-element.elementor-element-ca8fc8c.e-checkout-layout-two-column.elementor-widget.elementor-widget-woocommerce-checkout-page>div>div>form>ul>li>a {
    font-size: 14px;
}

/*eael Checkbox (Accept TNC)*/
#eael_accept_tnc {
    display: inline-block;
    width: 20px !important;
    height: 20px !important;
    position: relative;
    cursor: pointer;
}

/* --- 11h. Responsive (Checkout) --- */

@media (max-width: 767px) {

    .elementor-widget-woocommerce-checkout-page>div>div>form>div>div.e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2 {
        margin: 0 !important;
        padding: 0 !important;
    }

    #order_review>div {
        padding-left: 10px;
        padding-right: 10px;
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    #customer_details>div.col-1 {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review {
        margin-left: 0px !important;
        margin-right: 0px !important;
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    .e-checkout__column.e-checkout__column-end>div>div.e-checkout__order_review-2 {
        margin-left: 10px !important;
        margin-right: 10px !important;
        padding-bottom: 10px !important;
        padding-right: 0px !important;
    }

    #place_order {
        margin: 0px !important;
    }

    .woovr-variation-info>div.woovr-variation-name>label {
        font-size: 15px !important;
    }

    /*Product grid mobil variation */
    .woovr-variation.woovr-variation-radio.woovr-variation-active>div.woovr-variation-info>div.woovr-variation-price,
    .woovr-variation-radio.woovr-variation-active>div.woovr-variation-info>div.woovr-variation-description,
    .woovr-variation-info>div.woovr-variation-price,
    .woovr-variation-info>div.woovr-variation-description {
        font-size: 10px !important;
    }

    .woovr-variation-info>div.woovr-variation-price {
        font-size: 10px !important;
    }

    /* Für mobile Geräte */
    #order_review_heading {
        padding-left: 10px !important;
    }
}


/* ============================
   12. BESTELLBESTÄTIGUNG / ORDER CONFIRMATION
   ============================ */

/*Bestellbestätigung Überschriften*/
.woocommerce-bacs-bank-details>h2,
.woocommerce-order-details>h2,
.woocommerce-customer-details>section>div.woocommerce-column.woocommerce-column--1.woocommerce-column--billing-address.col-1>h2,
.woocommerce-column.woocommerce-column--2.woocommerce-column--shipping-address.col-2>h2 {
    font-size: 24px !important;
}

/*Passwortgeschützte Seite*/
.post-password-form {
    padding: 40vh;
    height: 100vh;
    background: lightgray;
}
