/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
.color-1 {
    color: #86bc35;
}

.color-2 {
    color: #6cb6c1;
}

.gray-text {
    color: #706f6f;
}

.startbild-hero-section {
    max-width: 550px;
}

.et_pb_button:hover {
    opacity: 0.65;
}

.et_pb_gutters4 .et_pb_column_3_4 .et_pb_module,
.et_pb_gutters4.et_pb_row .et_pb_column_3_4 .et_pb_module {
    margin-bottom: 0 !important;
}

h1 {
    font-weight: bolder;
    font-size: 64px;
}

h2 {
    font-weight: bolder;
    font-size: 33px;
}

h3 {
    font-weight: bolder;
    font-size: 33px;
}

body {
    line-height: 1.3 !important;
}

#mySidenav a {
    position: fixed;
    z-index: 9997;
    top: 50%;
    transform: translateY(-50%);
    right: -20px;
    transition: 1s;
    padding: 0px;
    width: 50px;
    text-decoration: none;
    font-size: 20px;
    color: white;
    border: 1px solid #fff;
    border-radius: 20px 0px 0px 20px;
}

#mySidenav a:hover {
    background-image: linear-gradient(135deg, #6cb6c1, #86bc35);
}

#mySidenav a:hover {
    right: 0px;
}

.text-vertical {
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin: 1em auto;
}

#aktuelles-sidebutton {
    top: 20px;
    background-color: #86bc35;
}

.dsm_floating_multi_images_child {
    transform: unset !important;
}

h5.dsm-faq-title {
    font-weight: unset !important;
}

.dsm-faq-content {
    padding-top: 20px;
}

/* Blog */
/* Quadratische Kacheln in Divi Blog-Übersicht, ohne Cropping */
.et_pb_blog .et_pb_image_container {
    aspect-ratio: 1 / 1;
    /* macht die Box quadratisch */
    background: #706f6f;
    /* gewünschter Hintergrund */
    display: block;
    overflow: hidden;
}

/* Link und Bild füllen die Box */
.et_pb_blog .et_pb_image_container>a,
.et_pb_blog .et_pb_image_container img {
    display: block;
    width: 100%;
    height: 100% !important;
    /* wichtig: damit object-fit greift */
}

/* Bild einpassen statt beschneiden */
.et_pb_blog .et_pb_image_container img {
    object-fit: contain;
    /* kein Cropping, komplette Grafik sichtbar */
    background: transparent;
    /* Hintergrundfarbe kommt von der Box */
}

.dsm-faq-content {
    font-size: 16px;
}

.hero-text {
    font-size: 24px;
}

body .rh-modal {
    z-index: 999999 !important;
}

header {
    z-index: 9997 !important;
}

/* optional: Divi-Größenbeschränkung aushebeln */
.et_pb_blog .et_pb_image_container img {
    max-width: none;
}

.page-id-25 .et_pb_blurb h4 span {
    font-weight: 700;
}

article .et_pb_image_container {
    border: 2px solid #d8d8d8;
}

body #main-content .et_pb_button {
    padding: 15px 25px !important;
    line-height: 1.1 !important;
}

/* Fade-in from left, sequential (targets your existing markup) */
@keyframes efhFadeInRight {
    from {
        opacity: 0;
        transform: translateX(14px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* initial state (don’t animate until DOM is ready) */
#et-boc .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner>* {
    opacity: 0;
    transform: translateX(14px);
    will-change: opacity, transform;
}

/* play animation after body gets the class */
.efh-icons-ready #et-boc .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner>* {
    animation: efhFadeInRight .6s ease both;
}

/* Stagger order: 3rd (menu) → 2nd (cart) → 1st (search)
   with a 500ms base delay for the first shown item */
.efh-icons-ready #et-boc .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner>*:nth-child(3) {
    animation-delay: 0ms;
}

.efh-icons-ready #et-boc .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner>*:nth-child(2) {
    animation-delay: 500ms;
}

.efh-icons-ready #et-boc .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner>*:nth-child(1) {
    animation-delay: 1000ms;
}

/* accessibility: respect reduced-motion */
@media (prefers-reduced-motion: reduce) {
    #et-boc .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner>* {
        opacity: 1;
        transform: none;
        animation: none !important;
    }
}

/* Divi Sidebar */
/*** Take out the divider line between content and sidebar ***/
#main-content .container:before {
    background: none;
}

/*** Hide Sidebar ***/
#sidebar {
    display: none;
}

/*** Expand the content area to fullwidth ***/
@media (min-width: 981px) {
    #left-area {
        width: 100% !important;
        padding: 23px 0px 0px !important;
        float: none !important;
    }
}

/* Farben & Maße zentral */
:root {
    --efh-green: #86bc35;
    --efh-wrap-bg: rgba(255, 255, 255, .55);
    --efh-shadow: 0 10px 30px rgba(0, 0, 0, .15);
}

/* nur unter 979px anzeigen */
@media (max-width: 979px) {

    /* Wrapper unten fixiert, Glas/Blur-Hintergrund */
    .efh-fixed-cta {
        position: fixed;
        left: 5px;
        right: 5px;
        bottom: calc(5px + env(safe-area-inset-bottom, 0px));
        z-index: 9997;
        display: flex;
        gap: 10px;
        justify-content: space-between;
        padding: 5px;
        background: var(--efh-wrap-bg);
        -webkit-backdrop-filter: blur(5px);
        backdrop-filter: blur(5px);
        border-radius: 16px;
        box-shadow: var(--efh-shadow);
        border: 1px solid rgba(255, 255, 255, .45);
    }

    /* Buttons */
    .efh-cta-btn {
        font-size: 14px;
        /* flex: 1 1 0; */
        text-align: center;
        padding: 5px 8px;
        border-radius: 50px;
        background: var(--efh-green);
        color: #fff;
        font-weight: 800;
        text-decoration: none;
        border: 2px solid var(--efh-green);
        transition: transform .05s ease, filter .15s ease, background .15s ease;
    }

    .efh-cta-analyse {
        width: 50%;
    }

    .efh-cta-shop {
        width: 50%;
    }

    .efh-cta-btn:hover {
        filter: brightness(1.06);
    }

    .efh-cta-btn:active {
        transform: translateY(1px);
    }

    .et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar:before,
    .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__search-button,
    .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__close-search-button,
    .et_pb_menu_0_tb_header .et_pb_menu__icon.et_pb_menu__cart-button {
        background-color: #86bc35;
        color: #fff !important;
        border-radius: 10px;
    }

    .et_pb_row_0_tb_header.et_pb_row--with-menu {
        width: 95% !important;
    }
}

/* über 979px ausblenden */
@media (min-width: 980px) {
    .efh-fixed-cta {
        display: none !important;
    }
}

body .et_pb_text_2,
body .et_pb_text_3,
body .et_pb_text_4,
body .et_pb_text_5,
body .et_pb_text_6,
body .et_pb_text_9,
body .et_pb_text_10,
body .et_pb_text_11 {
    margin-bottom: 25px !important;
}

h4,
.et_pb_circle_counter h3,
.et_pb_number_counter h3,
.et_pb_column_1_3 .et_pb_post h2,
.et_pb_column_1_4 .et_pb_post h2,
.et_pb_blog_grid h2,
.et_pb_column_1_3 .et_quote_content blockquote p,
.et_pb_column_3_8 .et_quote_content blockquote p,
.et_pb_column_1_4 .et_quote_content blockquote p,
.et_pb_blog_grid .et_quote_content blockquote p,
.et_pb_column_1_3 .et_link_content h2,
.et_pb_column_3_8 .et_link_content h2,
.et_pb_column_1_4 .et_link_content h2,
.et_pb_blog_grid .et_link_content h2,
.et_pb_column_1_3 .et_audio_content h2,
.et_pb_column_3_8 .et_audio_content h2,
.et_pb_column_1_4 .et_audio_content h2,
.et_pb_blog_grid .et_audio_content h2,
.et_pb_column_3_8 .et_pb_audio_module_content h2,
.et_pb_column_1_3 .et_pb_audio_module_content h2,
.et_pb_gallery_grid .et_pb_gallery_item h3,
.et_pb_portfolio_grid .et_pb_portfolio_item h2,
.et_pb_filterable_portfolio_grid .et_pb_portfolio_item h2 {
    font-weight: 500 !important;
}

body .et_pb_section_0_tb_header.et_pb_section {
    background-color: rgba(249, 249, 249, 0.784) !important;
    backdrop-filter: blur(5px);
}

.et_pb_column_1_4.et_pb_column_0_tb_header>div {
    width: 250px !important;
}

.single-post .et_post_meta_wrapper img {
    display: block;
    margin: auto;
}

/* END Blog */
.efh-table-boxen .et_pb_row {
    width: 95% !important;
}

.efh-table-boxen .custom-analysis-table {
    margin: 0 !important;
}

.icons-125 img {
    width: 125px !important;
}

.padding-bottom-80 {
    padding-bottom: 80px !important;
}

label[for="et_pb_contact_einwilligung_0"] {
    display: none !important;
}

label[for="et_pb_contact_einwilligung_4_0"] i {
    border: 1px solid #86bc35 !important;
    border-radius: 2px !important;
}

/* WooCommerce */
.single-product .product_meta,
.woocommerce-breadcrumb {
    display: none !important;
}

.single-product h1 {
    font-size: 26px;
}

.woocommerce.et-db #et-boc .et-l .et_pb_image .et_pb_image_wrap img[src*=".svg"] {
    width: 100% !important;
}

.woocommerce .products h2 {
    /* padding-top: 0 !important; */
}

.woocommerce-info {
    line-height: 1.3 !important;
}

.woocommerce-checkout #main-content>.container {
    padding-bottom: 80px;
}

.woocommerce .entry-content thead th,
.woocommerce .entry-content tr th {
    color: #706f6f;
}

.woocommerce .products h2,
.woocommerce.single-product .related.products ul h2 {
    font-size: 20px !important;
    font-weight: 600 !important;
}

.woocommerce-checkout .order-total .woocommerce-Price-amount.amount,
.woocommerce .order-total th {
    color: #212121 !important;
}

.woocommerce .order-total {
    background-color: rgba(134, 188, 53, 0.25);
    color: #212121 !important;
}

.single-product .price {
    color: #86bc35 !important;
    font-weight: 800 !important;
}

.single-product .notice-single-product {
    font-size: 16px;
    line-height: 1.3;
}

.single-product .woocommerce-product-details__short-description {
    line-height: 1.3;
}

/* ---- Modernes Mengenfeld ------------------------------------------------ */
:root {
    --wc-accent: #7ac142;
}

/* Container */
form.cart .quantity {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Input optisch modernisieren */
form.cart .quantity input.input-text.qty {
    width: 50px !important;
    height: 48px;
    padding: 0 10px;
    text-align: center;
    border: 1.5px solid #d9d9d9 !important;
    border-radius: 12px !important;
    background: #fff;
    font-size: 16px;
    font-weight: 600;
    color: #2b2b2b;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .04s;
}

.woocommerce div.product form.cart div.quantity,
.woocommerce-page div.product form.cart div.quantity,
.woocommerce #content div.product form.cart div.quantity,
.woocommerce-page #content div.product form.cart div.quantity {
    margin: 0 20px 20px 0 !important;
}

.woocommerce .single_add_to_cart_button:hover {
    opacity: 0.7;
}

.woocommerce .single_add_to_cart_button {
    margin-left: 0 !important;
}

/* Fokus/Hover */
form.cart .quantity input.input-text.qty:focus {
    border-color: var(--wc-accent) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--wc-accent) 25%, transparent);
}

/* Browser-Pfeile ausblenden */
form.cart .quantity input[type="number"].qty {
    -moz-appearance: textfield;
    appearance: textfield;
}

form.cart .quantity input[type="number"].qty::-webkit-outer-spin-button,
form.cart .quantity input[type="number"].qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ---- (Optional) eigene +- Buttons – Styling ----------------------------- */
form.cart .quantity .qty-btn {
    width: 44px;
    height: 44px;
    border: 1px solid #e6e6e6;
    background: #f6f6f6;
    border-radius: 10px;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    color: #333;
    cursor: pointer;
    padding: 0;
    transition: background .18s ease, transform .04s, border-color .18s ease;
}

form.cart .quantity .qty-btn:hover {
    background: #eee;
}

form.cart .quantity .qty-btn:active {
    transform: translateY(1px);
}

form.cart .quantity .qty-btn:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--wc-accent) 40%, transparent);
    outline-offset: 2px;
}

/* Button daneben sauber ausrichten */
form.cart .single_add_to_cart_button {
    margin-left: 10px;
}

.related.products,
.summary.entry-summary {
    --accent: #7ac142;
    --text: #4a4a4a;
    --muted: #8a8a8a;
}

.woocommerce-cart .price .amount,
ul.products .price .amount,
.related.products .price .amount {
    padding: .35rem .55rem !important;
    border-radius: .6rem;
    background: color-mix(in srgb, #7ac142 12%, #fff);
    color: #7ac142;
    font-size: clamp(1rem, 1.6vw, 1.3rem);
    font-weight: 700;
}

.summary.entry-summary .price .amount {
    display: inline-flex;
    align-items: baseline;
    gap: .25rem;
    padding: .35rem .55rem;
    border-radius: .6rem;
    background: color-mix(in srgb, var(--accent) 12%, #fff);
    color: var(--accent);
    font-weight: 800;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-checkout .wc-block-components-product-metadata__description {
    display: none !important;
}

.woocommerce-message a.button {
    color: #fff !important;
    margin-top: 20px;
}

.woocommerce-info a,
.woocommerce-message,
.woocommerce-message a,
.woocommerce-error,
.woocommerce-info {
    color: #706f6f !important;
}

.woocommerce-message a.button {
    color: #fff;
}

.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty,
.woocommerce #content .quantity input.qty,
.woocommerce-page #content .quantity input.qty,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.et_pb_wc_cart_totals .select2-container--default .select2-selection--single,
.et_pb_wc_checkout_billing .select2-container--default .select2-selection--single,
.et_pb_wc_checkout_shipping .select2-container--default .select2-selection--single {
    padding: 0.8em 1em !important;
}

/* Verhindert Zoom beim Hover auf dem Produktbild */
.woocommerce-product-gallery__image img {
    transform: none !important;
}

.woocommerce-product-gallery__image img:hover {
    transform: none !important;
}

.shipping-costs-info:hover {
    filter: grayscale(0);
}

.shipping-costs-info {
    font-size: 14px !important;
    filter: grayscale(1);
}

.woocommerce-cart a:hover,
.woocommerce-page a:hover,
.woocommerce-js a:hover,
.woocommerce-cart button:hover,
.woocommerce-page button:hover,
.woocommerce-js button:hover {
    opacity: 0.7;
}

/* Farbe zentral steuerbar */
:root {
    --bag-color: #86bc35;
}

/* deine Teal/Brand-Farbe */

.header-cart-link {
    margin-left: 15px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

/* Das "Viereck" mit der Anzahl */
.cart-icon strong {
    position: relative;
    display: inline-block;
    width: 2.2em;
    height: 2.2em;
    line-height: 1.9em;
    /* optischer Ausgleich für 2px Border */
    text-align: center;
    font-weight: 700;
    font-size: 1em;
    margin: .3em 0;
    border: 2px solid var(--bag-color);
    color: var(--bag-color);
    border-radius: 0;
    /* eckig, wie gewünscht */
    font-family: Helvetica, Arial, sans-serif;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}

/* Der Henkel als :after */
.cart-icon strong::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 100%;
    margin-left: -8px;
    /* halbe Breite */
    width: 14px;
    height: 8px;
    /* wird beim Hover größer */
    border: 2px solid var(--bag-color);
    border-bottom: 0;
    border-top-left-radius: 99px;
    border-top-right-radius: 99px;
    pointer-events: none;
    transition: height .1s ease-out, border-color .15s ease;
}

/* Hover-Effekt: Tasche füllt sich, Zahl wird weiß, Henkel wird etwas höher */
.header-cart-link:hover .cart-icon strong {
    background: var(--bag-color);
    color: #fff;
}

.header-cart-link:hover .cart-icon strong::after {
    height: 10px;
}

@media (max-width: 420px) {
    .efh-cta-analyse {
        width: 70%;
    }

    .efh-cta-shop {
        width: 30%;
    }
}

/* Optional: kleiner Feinschliff für sehr kleine Header */
@media (max-width: 480px) {
    .cart-icon strong {
        font-size: .95em;
    }

    .et_pb_column_1_4.et_pb_column_0_tb_header>div,
    .et_pb_image_0_tb_header a,
    .et_pb_image_0_tb_header .et_pb_image_wrap {
        width: 180px !important;
    }
}


/* ===== EFH ICONS – KOMPAKT & IMMER 2 SPALTEN ===== */
.efh-icons {
    --gap: clamp(6px, 1.2vw, 12px);
    --icon-size: clamp(24px, 4.2vw, 40px);
    /* kleiner als vorher */
    --text: #6f6f72;
    --font: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;
}

.efh-icons * {
    box-sizing: border-box;
}

.efh-icons__grid {
    margin: 0 0 10px 0;
    padding: 10px !important;
    border: 2px solid #e0e0e0;
    border-radius: 10px;
    list-style: none;
    display: grid;

    /* immer 2 Spalten, unabhängig von der Bildschirmbreite */
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(12px, 2vw, 24px);
    row-gap: var(--gap);
    align-items: start;
}

.efh-icon {
    display: grid;
    grid-template-columns: var(--icon-size) 1fr;
    gap: clamp(6px, 1vw, 10px);
    align-items: center;
    color: var(--text);
    font-family: var(--font);
    line-height: 1.15;
    letter-spacing: 0.2px;
}

.efh-icon img {
    width: var(--icon-size);
    height: var(--icon-size);
    display: block;
    flex: 0 0 auto;
    image-rendering: -webkit-optimize-contrast;
}

/* kompaktere, responsive Schriftgröße */
.efh-icon__label {
    font-size: clamp(12px, 1.2vw, 16px);
    opacity: 0.95;
}

/* optional: für ganz breite Screens etwas mehr Luft */
@media (min-width: 1200px) {
    .efh-icons {
        --gap: 14px;
    }
}


/* END WooCommerce */

/* Table Analyseboxen */
/* ---------------------------------------------------- */
/* Allgemeine Stile & Wrapper                           */
/* ---------------------------------------------------- */
.custom-analysis-table-wrapper {
    font-family: Arial, sans-serif;
    font-size: 0.8em !important;
    line-height: 1.4em !important;
    width: calc(100% + 10px);
    /* width: calc(100% - 40px); */
    overflow-x: auto;
    background-color: #f0f0f0;
    padding: 1px;
}

.custom-analysis-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: center;
    border-style: hidden;
}

/* ---------------------------------------------------- */
/* Tabellen-Zellen (TH & TD) Basis-Styling              */
/* ---------------------------------------------------- */
.custom-analysis-table td {
    text-align: center;
}

.custom-analysis-table th,
.custom-analysis-table td {
    padding: 15px 10px;
    vertical-align: middle;
    border: 2px solid white;
    transition: background-color 0.3s ease;
}

.custom-analysis-table thead th {
    font-weight: bold;
    color: white;
}

/* ---------------------------------------------------- */
/* Linke Header-Spalte im Body                          */
/* ---------------------------------------------------- */
.custom-analysis-table tbody th {
    background-color: #6cb6c1;
    color: white;
    text-align: left;
    font-weight: bold;
}

.custom-analysis-table .entry-content thead th,
.custom-analysis-table .entry-content tr th {
    min-width: 125px;
}

/* ---------------------------------------------------- */
/* Farbige Header in thead & Icons                      */
/* ---------------------------------------------------- */
.custom-analysis-table .col-header-stress {
    background-color: #f39200;
}

.custom-analysis-table .col-header-stoffwechsel {
    background-color: #fbb900;
}

.custom-analysis-table .col-header-einsteiger {
    background-color: #92a8b3;
}

.custom-analysis-table .col-header-schilddruese {
    background-color: #92847a;
}

.custom-analysis-table .col-header-performance {
    background-color: #86bc35;
}

.custom-analysis-table .col-header-stoffwechsel-2 {
    background-color: #009bde;
}

.custom-analysis-table .col-header-kinderwunsch {
    background-color: #e04097;
}

.custom-analysis-table .icon-cell-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    min-height: 40px;
}

.custom-analysis-table .icon-cell-container img {
    height: 24px;
    width: auto;
}

.custom-analysis-table .analysis-header {
    text-align: left;
    font-weight: bold;
    color: #333;
}

/* ---------------------------------------------------- */
/* Symbole                                              */
/* ---------------------------------------------------- */
.custom-analysis-table .check-mark {
    color: #86bc35;
    font-weight: bold;
    font-size: 1.5em;
}

.custom-analysis-table .minus-sign {
    color: #cccccc;
    font-weight: bold;
    font-size: 1.8em;
}

/* ---------------------------------------------------- */
/* Zebra-Streifen & Hover-Effekt                        */
/* ---------------------------------------------------- */
.custom-analysis-table tbody tr:nth-child(odd) td {
    background-color: #f4f4f4;
}

.custom-analysis-table tbody tr:nth-child(even) th {
    background-color: #62a8b3;
}

.custom-analysis-table tbody tr:nth-child(even) td {
    background-color: #e9e9e9;
}

.custom-analysis-table tbody tr:hover th,
.custom-analysis-table tbody tr:hover td {
    background-color: #d8d8d8;
}

/* ---------------------------------------------------- */
/* Tooltip Styling                                      */
/* ---------------------------------------------------- */
.custom-tooltip-container {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

.tooltip-trigger-text {
    text-decoration: underline dotted;
}

.custom-tooltip {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    bottom: 110%;
    left: 130px;
    /* left: 50%; */
    transform: translateX(-50%);
    background-color: #212121;
    color: #fff;
    padding: 10px 15px;
    border-radius: 4px;
    width: 260px;
    z-index: 10;
    transition: opacity 0.3s, visibility 0.3s;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.custom-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 30px;
    /* left: 50%; */
    margin-left: -6px;
    border-width: 6px;
    border-style: solid;
    border-color: #212121 transparent transparent transparent;
}

.custom-tooltip-container:hover .custom-tooltip,
.custom-tooltip-container.show-tooltip .custom-tooltip {
    visibility: visible;
    opacity: 1;
}

.tooltip-heading {
    font-weight: bold;
    font-size: 0.85em;
    margin-bottom: 8px;
    padding-bottom: 5px;
    border-bottom: 1px solid #555;
}

.tooltip-body {
    font-size: 0.75em;
    font-weight: normal;
    line-height: 1.4;
}

/* Optional: Tooltip-Body ohne Heading anpassen */
.tooltip-heading+.tooltip-body {
    padding-top: 5px;
}


/* ---------------------------------------------------- */
/* Buttons & Responsive Design                          */
/* ---------------------------------------------------- */
.custom-analysis-table .button-cell {
    padding: 10px;
    background-color: #fff;
}

.custom-analysis-table .button-cell a {
    display: inline-block;
    padding: 8px 16px;
    background-color: #8EBD39;
    color: white;
    border-radius: 5px;
    text-decoration: none;
    transition: background-color 0.3s;
}

.custom-analysis-table .button-cell a:hover {
    opacity: 0.7;
}

@media (max-width: 800px) {

    .custom-analysis-table .entry-content thead th,
    .custom-analysis-table .entry-content tr th {
        padding: 5px 10px;
    }

    /* .custom-analysis-table thead { display: none; }
        .custom-analysis-table, .custom-analysis-table tbody, .custom-analysis-table tr, .custom-analysis-table th, .custom-analysis-table td { display: block; width: 100%; box-sizing: border-box; }
        .custom-analysis-table tr { margin-bottom: 20px; border: 2px solid white; }
        .custom-analysis-table tbody th { text-align: center; border-right: none; }
        .custom-analysis-table td { text-align: right; padding-left: 50%; position: relative; border:none; border-top: 1px solid #eee; }
        .custom-analysis-table td:before { content: attr(data-label); position: absolute; left: 10px; width: calc(50% - 20px); padding-right: 10px; text-align: left; font-weight: bold; white-space: normal; }
        .custom-analysis-table .icon-cell-container { justify-content: flex-end; }
        .custom-analysis-table tbody tr:nth-child(odd) td,
        .custom-analysis-table tbody tr:nth-child(even) td { background-color: #fff; }

        .custom-tooltip { left: 0; transform: translateX(0); }
        .custom-tooltip::after { left: 30px; } */
}

/* single table */
.single-analysis-container {
    max-width: 600px;
    margin: 0px auto;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    font-size: 16px;
    /* Stellt sicher, dass die abgerundeten Ecken auch für die Zeilen gelten */
    /* overflow: hidden;  */
}

/* ---------------------------------------------------- */
/* Zeilen-Styling                                       */
/* ---------------------------------------------------- */
.analysis-header,
.analysis-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* Anforderung 2: Vertikales Padding reduziert */
    padding: 5px 8px;
    border-bottom: 1px solid white;
}

.analysis-item {
    line-height: 1.2 !important;
}

.analysis-header {
    font-size: 1em;
    font-weight: bold;
    color: #555;
}

/* Anforderung 1: Zebra-Streifen */
.analysis-item:nth-child(odd) {
    background-color: #f7f7f7;
    /* Helle Grundfarbe für ungerade Zeilen */
}

.analysis-item:nth-child(even) {
    background-color: #f0f0f0;
    /* Leicht dunklere Farbe für gerade Zeilen */
}

.analysis-item:last-child {
    border-bottom: none;
}

.analysis-item-text {
    color: #4a4a4a;
}

.analysis-checkmark {
    color: #86bc35;
    font-size: 1.1em;
    font-weight: bold;
}

/* END single table */
/* END Table Analyseboxen */
@media (max-width: 979px) {
    .et_pb_column_1_4.et_pb_column_0_tb_header {
        width: max-content !important;
    }

    .et_pb_column_1_4.et_pb_column_0_tb_header {
        margin-bottom: 0 !important;
    }

    .et_pb_module.et_pb_text.et_pb_text_0_tb_header.et_pb_text_align_right a.et_pb_button {
        display: none !important;
    }

    .et_pb_column_3_4.et_pb_column_1_tb_header {
        width: fit-content !important;
        float: right !important;
    }

    .et_pb_image_0_tb_header {
        padding-top: 10px !important;
        margin-bottom: unset !important;
    }

    .et_pb_column_3_4.et_pb_column_1_tb_header {
        display: flex !important;
        justify-content: flex-end;
        padding-top: 7px;
    }

    ul#mobile_menu1 {
        width: max-content !important;
        left: unset !important;
        right: 0 !important;
        margin-top: 13px;
    }

    .et_pb_column_3_4.et_pb_column_1_tb_header .et_pb_text.et_pb_text_0_tb_header,
    .et_pb_column_3_4.et_pb_column_1_tb_header .et_pb_menu.et_pb_menu_0_tb_header {
        display: inline-block !important;
    }

    .et_pb_column_3_4.et_pb_column_1_tb_header .et_pb_menu.et_pb_menu_0_tb_header {
        margin-left: 20px;
    }

}