/* === DESC.at WooCommerce - Design an Homepage anpassen === */
/* v2.2 - Alle Divi Customizer Overrides + lokal gehostete Fonts */

/* =====================================================
   IBM PLEX SANS - Lokal gehostet (DSGVO-konform)
   ===================================================== */

/* IBM Plex Sans Regular 400 */
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'IBM Plex Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* IBM Plex Sans Condensed Regular 400 */
@font-face {
    font-family: 'IBM Plex Sans Condensed';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-condensed-400-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'IBM Plex Sans Condensed';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-condensed-400-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* IBM Plex Sans Condensed Medium 500 */
@font-face {
    font-family: 'IBM Plex Sans Condensed';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-condensed-500-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'IBM Plex Sans Condensed';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-condensed-500-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* IBM Plex Sans Condensed Bold 700 */
@font-face {
    font-family: 'IBM Plex Sans Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-condensed-700-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: 'IBM Plex Sans Condensed';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('./fonts/ibm-plex-sans-condensed-700-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* =====================================================
   DIVI CUSTOMIZER OVERRIDES
   Homepage hat diese inline im <style id="et-critical-inline-css">,
   aber auf Produkt/Kategorie-Seiten ist dieser Block LEER.
   Daher hier alle relevanten Werte replizieren.
   ===================================================== */

/* === Body + Schriften (Customizer-Werte) === */
body {
    color: rgba(0,0,0,0.64);
}
body, input, textarea, select {
    font-family: 'IBM Plex Sans Condensed', sans-serif;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'IBM Plex Sans Condensed', sans-serif;
    color: #111111;
}
a {
    color: #173d87;
}

/* === HEADER: Top-Bar === */
.et_secondary_nav_enabled #page-container #top-header {
    background-color: #194174 !important;
}
#et-secondary-nav li ul {
    background-color: #194174;
}
#top-header {
    font-size: 12px;
    line-height: 13px;
    z-index: 100000;
    color: #ffffff;
}
#top-header a {
    color: #ffffff;
}
#top-header .container {
    font-family: 'IBM Plex Sans Condensed', sans-serif;
}
#top-header, #et-secondary-nav {
    transition: background-color 0.4s, transform 0.4s, opacity 0.4s ease-in-out;
}

/* === HEADER: Logo + Höhe (nur Desktop, Customizer-Werte) === */
@media (min-width: 981px) {
    .et_header_style_split .centered-inline-logo-wrap {
        width: 151px;
        margin: -151px 0;
    }
    .et_header_style_split .centered-inline-logo-wrap #logo {
        max-height: 151px;
    }
    .et_header_style_centered #main-header .logo_container {
        height: 151px;
    }
    #logo {
        max-height: 90%;
    }
    .et_header_style_left #et-top-navigation,
    .et_header_style_split #et-top-navigation {
        padding: 76px 0 0 0;
    }
    .et_header_style_left #et-top-navigation nav > ul > li > a,
    .et_header_style_split #et-top-navigation nav > ul > li > a {
        padding-bottom: 76px;
    }
}
/* Fixed Header: übernehme Customizer-Global-Werte */
.et_fixed_nav #page-container .et-fixed-header#top-header {
    background-color: #194174 !important;
}
.et_fixed_nav #page-container .et-fixed-header#top-header #et-secondary-nav li ul {
    background-color: #194174;
}
.et-fixed-header #top-menu a,
.et-fixed-header #et_search_icon:before,
.et-fixed-header .et_search_form_container input,
.et-fixed-header .et_close_search_field:after,
.et-fixed-header #et-top-navigation .et-cart-info {
    color: rgba(0,0,0,0.63) !important;
}
.et-fixed-header #top-menu li.current-menu-ancestor > a,
.et-fixed-header #top-menu li.current-menu-item > a,
.et-fixed-header #top-menu li.current_page_item > a {
    color: #194174 !important;
}

/* === NAVIGATION === */
#top-menu a,
.et_mobile_menu li a,
#et_search_icon:before,
.et_search_form_container input,
span.et_close_search_field:after,
#et-top-navigation .et-cart-info {
    color: rgba(0,0,0,0.63);
}
#top-menu li a {
    font-size: 17px;
    letter-spacing: 1px;
}
#top-menu li.current-menu-ancestor > a,
#top-menu li.current-menu-item > a,
#top-menu li.current_page_item > a {
    color: #194174;
}
#main-header .nav li ul a {
    color: rgba(0,0,0,0.89);
}
#main-header, #et-top-navigation {
    font-family: 'IBM Plex Sans Condensed', sans-serif;
}

/* === Accent Color === */
#et_search_icon:hover,
.mobile_menu_bar:before,
.mobile_menu_bar:after,
.et_toggle_slide_menu:after,
.woocommerce div.product span.price,
.woocommerce div.product p.price,
.et_pb_widget li a:hover,
.wp-pagenavi span.current,
.wp-pagenavi a:hover,
.nav-single a,
.tagged_as a,
.posted_in a {
    color: #194174;
}
.et-search-form,
.nav li ul,
.et_mobile_menu,
blockquote {
    border-color: #194174;
}

/* === WooCommerce Buttons Accent === */
.woocommerce #respond input#submit,
.woocommerce-page #respond input#submit,
.woocommerce #content input.button,
.woocommerce-page #content input.button,
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    background: #194174 !important;
}

/* =====================================================
   FOOTER: Passend zum Divi Customizer (Homepage-Design)
   ===================================================== */
#main-footer {
    background-color: #194174;
}
#footer-widgets {
    padding: 6% 0 0;
}
.footer-widget {
    color: #fff;
}
.footer-widget,
.footer-widget li,
.footer-widget li a {
    font-size: 16px;
}
.footer-widget h4,
#main-footer .widget_block h1,
#main-footer .widget_block h2,
#main-footer .widget_block h3,
#main-footer .widget_block h4,
#main-footer .widget_block h5,
#main-footer .widget_block h6 {
    color: #ffffff;
    font-weight: bold;
    font-style: normal;
    text-transform: none;
    text-decoration: none;
    font-size: 19px;
}
.footer-widget li:before {
    border-color: #ffffff;
}
#footer-widgets .footer-widget a,
#footer-widgets .footer-widget li a {
    color: #fff;
    text-decoration: none;
}
#footer-widgets .footer-widget li a:hover {
    color: rgba(255,255,255,0.7);
}
#footer-widgets .footer-widget li {
    padding-left: 14px;
    position: relative;
}
#footer-widgets .footer-widget li:before {
    border-radius: 3px;
    border-style: solid;
    border-width: 3px;
    content: "";
    left: 0;
    position: absolute;
    top: 10.6px;
}
.footer-widget .et_pb_widget div,
.footer-widget .et_pb_widget ul,
.footer-widget .et_pb_widget ol,
.footer-widget .et_pb_widget label {
    line-height: 1.7em;
}
#footer-bottom {
    background-color: rgba(0,0,0,0.32);
    padding: 15px 0 5px;
}
#footer-info {
    text-align: center;
    color: #e2e2e2;
    padding-bottom: 10px;
    float: none;
    font-size: 13px;
}
#footer-info a {
    font-weight: 700;
    color: #e2e2e2;
    float: none;
    text-align: center;
}
#et-footer-nav .bottom-nav li.current-menu-item a {
    color: #ffffff;
}

/* =====================================================
   WOOCOMMERCE PRODUKT/KATEGORIE LAYOUT
   ===================================================== */

/* === KERN-FIX: Divi Container auf WooCommerce-Seiten verbreitern === */
body.single-product #main-content .container,
body.tax-product_cat #main-content .container,
body.woocommerce-page #main-content .container {
    width: 90% !important;
    max-width: 1180px !important;
}

/* === Divi vertikale Linie (Sidebar-Trennlinie) entfernen === */
body.single-product #main-content .container:before,
body.tax-product_cat #main-content .container:before,
body.woocommerce-page #main-content .container:before {
    display: none !important;
}

/* === Sidebar komplett entfernen === */
body.single-product #sidebar,
body.tax-product_cat #sidebar,
body.woocommerce-page #sidebar {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
}

/* === Left-area volle Breite === */
body.single-product.et_right_sidebar #left-area,
body.tax-product_cat.et_right_sidebar #left-area,
body.woocommerce-page.et_right_sidebar #left-area,
body.single-product #left-area,
body.tax-product_cat #left-area,
body.woocommerce-page #left-area {
    width: 100% !important;
    float: none !important;
    padding-right: 0 !important;
}

/* === Doppelte Breadcrumbs: WooCommerce ausblenden === */
body.single-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb,
body.woocommerce-page .woocommerce-breadcrumb {
    display: none !important;
}

/* === Leerraum oben reduzieren === */
body.single-product #main-content {
    padding-top: 0 !important;
}

/* === Produkt-Titel === */
.woocommerce div.product .product_title {
    font-family: 'IBM Plex Sans Condensed', sans-serif !important;
    font-weight: 500 !important;
    font-size: 28px !important;
    line-height: 1.3 !important;
    color: #111 !important;
}

/* === Produkt-Galerie + Summary === */
.woocommerce div.product div.images {
    width: 48% !important;
    float: left !important;
}
/* Bilder nicht über natürliche Größe strecken */
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin: 0 auto;
}
/* Lightbox-Trigger (Lupe) + Klick-Cursor entfernen */
.woocommerce-product-gallery__trigger {
    display: none !important;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image a {
    cursor: default;
    pointer-events: none;
}
.woocommerce div.product div.summary {
    width: 48% !important;
    float: right !important;
}

/* === Short Description Links als Buttons === */
.woocommerce-product-details__short-description {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
}
.woocommerce-product-details__short-description a {
    background-color: #194174 !important;
    color: #fff !important;
    padding: 10px 20px !important;
    border-radius: 25px !important;
    text-decoration: none !important;
    display: inline-block;
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
}
.woocommerce-product-details__short-description a:hover {
    background-color: #0f2d52 !important;
}

/* === Tabs volle Breite === */
.woocommerce div.product .woocommerce-tabs {
    width: 100% !important;
    clear: both !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #e0e0e0 !important;
    padding: 0 !important;
    margin: 40px 0 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'IBM Plex Sans Condensed', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    color: #666 !important;
    padding: 12px 20px !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #194174 !important;
    border-bottom-color: #194174 !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    padding: 25px 0;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: 'IBM Plex Sans Condensed', sans-serif !important;
    font-weight: 500 !important;
    font-size: 22px !important;
    color: #111 !important;
}

/* === Preis === */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: 'IBM Plex Sans', sans-serif !important;
    font-size: 22px !important;
    color: #194174 !important;
    font-weight: 600 !important;
}

/* === Verwandte Produkte === */
.woocommerce .related.products h2,
.woocommerce .upsells.products h2 {
    font-family: 'IBM Plex Sans Condensed', sans-serif !important;
    font-weight: 500 !important;
    font-size: 24px !important;
    color: #111 !important;
}
.woocommerce ul.products li.product a img {
    border-radius: 8px;
}

/* === Kategorie: Produkt-Grid 4 Spalten === */
body.tax-product_cat.et_right_sidebar #main-content ul.products li.product,
body.et_right_sidebar.woocommerce-page #main-content ul.products li.product {
    width: 22% !important;
    margin-right: 4% !important;
}
body.tax-product_cat.et_right_sidebar #main-content ul.products li.product:nth-child(4n),
body.et_right_sidebar.woocommerce-page #main-content ul.products li.product:nth-child(4n) {
    margin-right: 0 !important;
}
body.tax-product_cat.et_right_sidebar #main-content ul.products li.product:nth-child(4n+1),
body.et_right_sidebar.woocommerce-page #main-content ul.products li.product:nth-child(4n+1) {
    clear: both !important;
}
/* Reset Divi 3-Spalten clear */
body.et_right_sidebar.woocommerce-page #main-content ul.products li.product:nth-child(3n+1) {
    clear: none !important;
}

/* === Kategorie: Sortierung ausblenden, Ergebniszähler zentriert === */
body.tax-product_cat .woocommerce-ordering,
body.woocommerce-page .woocommerce-ordering {
    display: none !important;
}
body.tax-product_cat .woocommerce-result-count,
body.woocommerce-page .woocommerce-result-count {
    float: none !important;
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

/* === Meta === */
.product_meta {
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 13px;
    color: #888;
    border-top: 1px solid #eee;
    padding-top: 15px;
    margin-top: 20px;
}
.product_meta a { color: #194174; }

/* === Pagination === */
.woocommerce nav.woocommerce-pagination ul {
    border: 1px solid #194174 !important;
    border-radius: 4px;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: #194174 !important;
    color: #fff !important;
}

/* === Buttons === */
.woocommerce div.product form.cart .button,
.woocommerce a.button,
.woocommerce button.button {
    font-family: 'IBM Plex Sans', sans-serif !important;
    background-color: #194174 !important;
    color: #fff !important;
    border-radius: 25px !important;
    padding: 12px 25px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: none !important;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background-color: #0f2d52 !important;
}

/* === Suchergebnis-Seite: Bilder verkleinern === */
.search-results .et_pb_post .entry-featured-image-url img,
.search-results article img,
body.search-results #left-area .et_pb_post img {
    max-width: 300px !important;
    height: auto !important;
    display: block;
}

/* === Schriften konsistent === */
body.single-product,
body.tax-product_cat,
body.woocommerce-page {
    font-family: 'IBM Plex Sans Condensed', sans-serif;
}
body.single-product h1, body.single-product h2, body.single-product h3,
body.tax-product_cat h1, body.tax-product_cat h2, body.tax-product_cat h3 {
    font-family: 'IBM Plex Sans Condensed', sans-serif !important;
    font-weight: 500 !important;
}

/* === Kategorie-Titel === */
h1.woocommerce-products-header__title {
    font-family: 'IBM Plex Sans Condensed', sans-serif !important;
    font-weight: 500 !important;
    font-size: 28px !important;
    margin-bottom: 20px !important;
}

/* === Responsive === */
@media (max-width: 980px) {
    /* Layout */
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        width: 100% !important;
        float: none !important;
    }
    /* Produkt-Grid 2 Spalten */
    body.tax-product_cat.et_right_sidebar #main-content ul.products li.product,
    body.et_right_sidebar.woocommerce-page #main-content ul.products li.product {
        width: 48% !important;
        margin-right: 4% !important;
    }
    body.tax-product_cat.et_right_sidebar #main-content ul.products li.product:nth-child(2n) {
        margin-right: 0 !important;
    }
    body.tax-product_cat.et_right_sidebar #main-content ul.products li.product:nth-child(2n+1) {
        clear: both !important;
    }
    #footer-info {
        float: none;
        text-align: center;
    }

    /* === MOBILE SCHRIFTGRÖSSEN (Tablet + Phone) === */
    /* Body-Text: 14px → 16px (Apple-Empfehlung) */
    body,
    body.single-product,
    body.tax-product_cat,
    body.woocommerce-page,
    .entry-content,
    #left-area {
        font-size: 16px !important;
        line-height: 1.7em !important;
    }
    /* Produkt-Titel */
    .woocommerce div.product .product_title {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }
    /* Kategorie-Titel */
    h1.woocommerce-products-header__title {
        font-size: 24px !important;
    }
    /* Überschriften allgemein */
    h1 { font-size: 26px !important; }
    h2 { font-size: 22px !important; }
    h3 { font-size: 19px !important; }
    h4 { font-size: 17px !important; }
    /* Produktbeschreibung + Tabs */
    .woocommerce-product-details__short-description,
    .woocommerce div.product .woocommerce-tabs .panel {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        font-size: 15px !important;
        padding: 10px 15px !important;
    }
    /* Produkt-Grid Titel */
    h2.woocommerce-loop-product__title {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }
    /* Breadcrumbs */
    .desc-breadcrumbs {
        font-size: 14px !important;
    }
    /* Meta */
    .product_meta {
        font-size: 14px !important;
    }
    /* Ergebniszähler */
    .woocommerce-result-count {
        font-size: 15px !important;
    }
    /* Footer */
    .footer-widget,
    .footer-widget li,
    .footer-widget li a {
        font-size: 16px !important;
    }
    #footer-info {
        font-size: 14px !important;
    }
    /* Navigation */
    .et_mobile_menu li a {
        font-size: 16px !important;
        padding: 10px 5% !important;
    }
}
@media (max-width: 480px) {
    body.tax-product_cat.et_right_sidebar #main-content ul.products li.product,
    body.et_right_sidebar.woocommerce-page #main-content ul.products li.product {
        width: 100% !important;
        margin-right: 0 !important;
    }
}
