/*
Theme Name:   Divi Child
Theme URI:    https://localhost:8051/
Description:  Child theme for Divi — custom CSS and functions for the Mindlead site.
Author:       Thaler Software
Author URI:   https://thaler-software.eu
Template:     Divi
Version:      1.0.0
Text Domain:  divi-child
*/

/* Global typography weight (matches live/business-pro baseline) */
h1, h2, h3, h4, h5 { font-weight: 300; }
body { font-weight: 300 !important; }

/* Global: automatische Silbentrennung (alle drei Eigenschaften sind
   vererbbar, daher reicht die Verankerung an der Wurzel).
   hyphens: auto braucht ein lang-Attribut am <html>. */
html {
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    word-break: normal;
    overflow-wrap: normal;
}

/* Keine Silbentrennung auf Buttons – dort sieht die Trennung unschön aus
   (z. B. "AUFNEH-MEN"). Deckt Divi-, Gutenberg- und generische Buttons ab. */
.et_pb_button,
.wp-block-button__link,
button,
input[type="button"],
input[type="submit"],
a.button,
.button {
    -webkit-hyphens: manual;
    -ms-hyphens: manual;
    hyphens: manual;
}

/* Mobile / Desktop Menu */
@media only screen and (max-width: 1300px) {
    #dm-mobile {
        display: block!important;
    }
    #dm-desktop {
        display: none!important;
    }
}

@media only screen and (min-width: 1301px) {
    #dm-desktop {
        display: block!important;
    }
    #dm-mobile {
        display: none!important;
    }
}

/*Button styling for the Guttenberg blog editor - News section - Blogpost section*/
.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link {
    background-color: #efa92c!important;
    font-weight: 600!important;
    color: #fff!important;
    line-height: normal!important;
    text-transform: uppercase!important;
    padding-left: 10px!important;
    padding-right: 10px!important;
    font-size: 16px!important;
}
.wp-block-buttons>.wp-block-button.has-custom-font-size .wp-block-button__link :hover {
    background-color: #efa92c;
    font-weight: 600!important;
    color: #fff!important;
    line-height: normal!important;
    text-transform: uppercase!important;
    padding-left: 10px!important;
    padding-right: 10px!important;
    font-size: 16px!important;
}

/*removes Divi social icons and footer menu in media page footer*/
#footer-bottom { display: none; }
#footer-info { display: none; }
#top-header .container { display: none; }

/*blog image aspect ratio square 1:1*/
.pa-blog-image-1-1 .entry-featured-image-url {
    padding-top: 100%;
    display: block;
}
.pa-blog-image-1-1 .entry-featured-image-url img {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0; left: 0; right: 0; bottom: 0;
    object-fit: cover;
    object-position: center 20%;
}

/*blog image aspect ratio fullsize referenzen*/
.pa-blog-image-referenzen .entry-featured-image-url {
    padding-top: 100%;
    display: block;
}
.pa-blog-image-referenzen .entry-featured-image-url img {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0; left: 0; right: 0; bottom: 0;
    object-fit: cover;
}

/*make Divi Blog module post title link unclickable*/
.pa-blog-no-links .et_pb_post .entry-title a { pointer-events: none; }
.pa-blog-no-links .et_pb_post .post-meta span.author.vcard a { pointer-events: none; }
.pa-blog-no-links .et_pb_post .post-meta a { pointer-events: none; }

/* Equalize height on blog grid layout (CSS works with JS snippet in head) */
.pa-blog-equal-height .pa-auto-height { height: auto !important; }
.pa-blog-equal-height .pa-auto-margin { margin-top: 0px !important; }

/* Woo: Hide Navigation menu on MyAccount page shortcode */
.woocommerce-MyAccount-navigation { display: none; }
.woocommerce-account .woocommerce-MyAccount-content { width: 100%; }

/* WOO Shop Product thumbnails */
@media (min-width:768px) and (max-width:1024px) {
    .et-db #et-boc .et-l .custom-shop ul.products.columns-4 li.product { width: 48% !important; }
}
@media (max-width:600px) {
    .et-db #et-boc .et-l .custom-shop ul.products.columns-3 li.product { width: 100% !important; }
}

/* Woo MyAccount Page ALL BUTTONS */
#customer_login .button {
    padding-top: 14px!important;
    padding-bottom: 14px!important;
    background-color: #efa92c!important;
    color: white!important;
    font-weight: 600!important;
    border: none!important;
    letter-spacing: 0em!important;
    text-transform: uppercase!important;
    border-radius: 3px!important;
    padding-left: 30px!important;
    padding-right: 30px!important;
}
#customer_login .button:hover {
    padding-top: 14px!important;
    padding-bottom: 14px!important;
    background-color: #697688!important;
    color: white!important;
    font-weight: 600!important;
    border: none;
    letter-spacing: 0em!important;
    text-transform: uppercase!important;
    border-radius: 3px!important;
}

/* Woo WPF Product Filter Plugin */
.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton {
    width: 95%!important;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #efa92c;
    color: white;
    font-weight: 600;
    border: none;
}
.wpfFilterButton.wpfButton, .wpfClearButton.wpfButton:hover {
    width: 95%!important;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #697688;
    color: white;
    font-weight: 600;
    border: none;
}

/* Fix Divi Button glitch for mouse over image buttons */
.et_multi_view_image__loaded { animation: none !important; }

/* WOO Checkout: terms and condition */
.woocommerce-terms-and-conditions-wrapper {
    color: #000000!important;
    padding-bottom: 20px!important;
}
.woocommerce-terms-and-conditions-wrapper a {
    color: #697688!important;
    padding-bottom: 20px!important;
}
.woocommerce-terms-and-conditions-wrapper a:hover {
    color: #efa92c!important;
    padding-bottom: 20px!important;
}

/* Fixes WP/Siteground link underline */
a { text-decoration: none!important; }

/* Prevent hamburger mobile menu in Widget area menus */
.lwp-hide-mobile-menu.et_pb_menu .et_pb_menu__menu,
.lwp-hide-mobile-menu.et_pb_fullwidth_menu .et_pb_menu__menu {
    display: flex!important;
}
.lwp-hide-mobile-menu .et_mobile_nav_menu { display: none; }
.lwp-hide-mobile-menu .et_pb_menu__menu > nav > ul > li {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Hide WordPress Sidebar */
#sidebar {
    float: left;
    width: 20.875%;
    display: none;
}

/* Newsletter Subscription LISSA */
.tnp-subscription label {
    color: #efa92c;
    font-weight: 800;
    line-height: normal;
    font-size: 19px;
    padding-bottom: 14px;
    padding-top: 0;
    padding-left: 0;
    margin-left: 0;
    margin-top: -14px;
}

/* Contact Form: Left-align submit button */
.contact-button .et_contact_bottom_container { float: none; }

/* Newsletter Subscribe LISSA BUTTON */
.tnp-subscription input[type=submit],
.tnp-subscription input[type=submit]:link {
    background-color: #efa92c;
    font-weight: 500;
    color: #fff;
    line-height: normal;
    text-transform: uppercase;
    padding-left: 25px;
    padding-right: 25px;
    font-size: 16px;
}
.tnp-subscription input[type=submit]:hover {
    background-color: #697688;
    font-weight: 500;
    color: #fff;
    line-height: normal;
    text-transform: uppercase;
    padding-left: 25px;
    padding-right: 25px;
    font-size: 16px;
}
.tnp-field.tnp-privacy-field > label > a:link,
.tnp-field.tnp-privacy-field > label > a:visited,
.tnp-field.tnp-privacy-field > label > a:active {
    color: #ffffff!important;
    font-weight: 500;
    line-height: normal;
    font-size: 14px;
}
.tnp-field.tnp-privacy-field > label > a:hover {
    color: #efa92c!important;
    font-weight: 500;
    line-height: normal;
    font-size: 14px;
}

/* Mobile menu wrap center */
@media (max-width: 479px) {
    .lwp-hide-mobile-menu .et_pb_menu__wrap {
        justify-content: center!important;
    }
}

/* Mobile menu font */
.et_mobile_menu li a { font-size: 15px; }

/* Make mobile logo larger */
@media only screen and (max-width: 980px) {
    #logo {
        height: 100% !important;
        max-height: 100% !important;
        width: auto;
        max-width: 70% !important;
    }
}

/* Larger hamburger icon */
.mobile_menu_bar:before { font-size: 40px!important; }

/* Float social icons in top menu right */
#top-header .et-social-icons {
    float: right;
    display: inline-block;
}

/* Tick bullets */
.tick-bullets ul { list-style-type: none!important; }
.tick-bullets ul li:before {
    content: '5e' !important;
    color: #ff0000;
    font-family: 'ETMODULES';
    margin-right: 10px;
    margin-left: -14px;
    font-size: 1.2em!important;
    position: relative;
    top: 4px;
    line-height: 2em;
}

/* Inline footer date+sitetitle */
.pa-inline-module .et_pb_text { display: inline-block!important; }

/* CSS FOOTER Menu */
@media (max-width: 980px) {
    .ctm_footer .et_pb_menu .et_pb_menu__menu,
    .et_pb_fullwidth_menu .et_pb_menu__menu { display: flex !important; }
    .ctm_footer .et_pb_menu .et_mobile_nav_menu,
    .et_pb_fullwidth_menu .et_mobile_nav_menu { display: none !important; }
}

/* Remove Captcha Code badge */
.grecaptcha-badge { visibility: hidden!important; }

/* Kill orangefarbenen Hover-Shadow an et_pb_blog-Modulen
   (kommt aus Divi Modul-Hover-Setting box_shadow_color__hover="#F35C27" in Postmeta) */
.et_pb_blog:hover article.et_pb_post,
.et_pb_blog_0:hover article.et_pb_post,
.et_pb_blog_1:hover article.et_pb_post,
.et_pb_blog_2:hover article.et_pb_post,
.et_pb_blog_3:hover article.et_pb_post,
[class*="et_pb_blog_"]:hover article.et_pb_post {
    box-shadow: none !important;
}

/* Equal-Height-JS überschreiben: Karten richten sich nach Inhalt — nicht nach
   dem höchsten Post. JS setzt inline style="height:730px" → wir killen es. */
html body .et_pb_blog article.et_pb_post {
    height: auto !important;
    min-height: 0 !important;
}

/* Bild im Blog-Card: füllt den Container, oberer Bildteil bleibt sichtbar
   (Portraits: Kopf/Gesicht statt Mitte). Bild wird beschnitten um Container
   vollständig auszufüllen. */
html body .et_pb_blog article.et_pb_post .entry-featured-image-url img {
    object-fit: cover !important;
    object-position: center 20% !important;
    width: 100% !important;
    height: 100% !important;
}
/* Falls Blog OHNE Aspect-Ratio-Klasse → Container nimmt Bildhöhe an */
html body .et_pb_blog:not(.pa-blog-image-1-1):not(.pa-blog-image-referenzen) article.et_pb_post .entry-featured-image-url {
    padding-top: 0 !important;
    height: auto !important;
    position: relative !important;
}
html body .et_pb_blog:not(.pa-blog-image-1-1):not(.pa-blog-image-referenzen) article.et_pb_post .entry-featured-image-url > img {
    position: static !important;
    height: auto !important;
    display: block !important;
}

/* Header Überschrift bei Expertinnen */
.et_pb_text_0_tb_body .et_pb_text_inner,
.et_pb_text_0_tb_body .et_pb_text_inner p,
.et_pb_text_0_tb_body .et_pb_text_inner a,
.et_pb_text_0_tb_body .et_pb_text_inner a:link,
.et_pb_text_0_tb_body .et_pb_text_inner a:visited,
.et_pb_text_0_tb_body .et_pb_text_inner a:hover,
.et_pb_text_0_tb_body .et_pb_text_inner a:active {
    text-transform: uppercase;
    color: #fae5c0 !important;
    font-size: 15px;
}

/* Ausgefadete Divi-Image-Module nicht klickbar machen (CSS-Fallback).
   Primär übernimmt das assets/js/image-fade-pointer-events.js — dieser Fallback
   greift bei deaktiviertem JS und matcht, wenn Divi das inline-style-Format nutzt. */
.et_pb_image[style*="opacity: 0;"],
.et_pb_image[style*="opacity:0;"],
.et_pb_image[style*="opacity: 0)"] {
    pointer-events: none;
}

/* Footer Row 7 (Helden-des-Alltags-Logo): Row-Container ist klick-transparent,
   alle Kinder explizit klickbar. So funktioniert der Logo-Link auf der ganzen
   Bildfläche und Buttons in den Leerräumen der Row sind nicht blockiert.
   Im ausgefadeten Zustand zieht das JS (image-fade-pointer-events.js)
   z-index: -1 + pointer-events: none drauf. */
.et_pb_row_7_tb_footer {
    pointer-events: none !important;
}
.et_pb_row_7_tb_footer * {
    pointer-events: auto !important;
}

/* Circle-Counter-Titel unter den Kreis schieben (statt überlappend).
   6em ist ein Magic-Number der zur Divi-Kreis-Größe passt — nicht ideal,
   aber Flexbox-Ansatz bricht das Canvas-Rendering von Divi. */
.et_pb_circle_counter .et_pb_module_header {
    position: static !important;
    margin-top: 6em !important;
}
