/* ==========================================================================
   FINALES GESAMT-BACKUP: SAUBERE TABELLEN, TEXTE & WP MOBILE MENU
   ========================================================================== */

:root {
    --color-table-header: #6b8f58; /* Dunkles Salbeigrün */
    --color-table-odd: #f7faf5;    /* Helle Zeilen */
    --color-table-even: #a4c292;   /* Perfekt leuchtendes Salbeigrün */
    --color-table-text: #2b2b2b;   /* Dunkelgrauer Text */
    --color-nav-bg: #ffffff;
    --color-text-link: #5b8c3d;
}

/* ==========================================================================
   1. TABELLENFARBEN & RAHMEN (DESKTOP & STANDARDEINSTELLUNGEN)
   ========================================================================== */
.wp-block-table, .wp-block-table th, .wp-block-table td, .wp-block-table tr,
table, thead, tbody, tfoot {
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
}

.wp-block-table td, .wp-block-table th {
    border-bottom: none !important;
    border-bottom-width: 0 !important;
}

.wp-block-table th {
    background-color: var(--color-table-header) !important;
    color: #ffffff !important;
    font-weight: bold !important;
}

.wp-block-table th a {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

.wp-block-table td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Helle Zeilen (Ungerade) */
.wp-block-table tr:nth-child(odd) {
    background-color: var(--color-table-odd) !important;
}
.wp-block-table tr:nth-child(odd) td {
    color: var(--color-table-text) !important;
}
.wp-block-table tr:nth-child(odd) td a,
.wp-block-table tr:nth-child(odd) a {
    color: var(--color-table-text) !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

/* Dunkle Zeilen (Gerade) */
.wp-block-table tr:nth-child(even) {
    background-color: var(--color-table-even) !important;
}
.wp-block-table tr:nth-child(even) td {
    color: var(--color-table-text) !important;
}
.wp-block-table tr:nth-child(even) td a,
.wp-block-table tr:nth-child(even) a {
    color: var(--color-table-text) !important;
    text-decoration: none !important;
    font-weight: bold !important;
}

/* ==========================================================================
   TABELLEN-UMBRUCH AUF MOBILGERÄTEN (Zellen untereinander schreiben)
   ========================================================================== */
@media (max-width: 767px) {
    /* Versteckt den Tabellenkopf auf Handys, da die Zeilen untereinander stehen */
    .wp-block-table thead, 
    .wp-block-table th {
        display: none !important;
    }

    /* Macht aus jeder Zeile und jeder Zelle einen eigenen Block untereinander */
    .wp-block-table table, 
    .wp-block-table tbody, 
    .wp-block-table tr, 
    .wp-block-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Trennt die ursprünglichen Tabellenzeilen optisch voneinander ab */
    .wp-block-table tr {
        margin-bottom: 15px !important;
        padding: 5px 0 !important;
        border-radius: 4px !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    }

    /* Richtet den Zellentext (z.B. Telefonnummern) linksbündig aus und gibt Raum */
    .wp-block-table td {
        text-align: left !important;
        padding: 8px 15px !important;
        white-space: normal !important; /* Erlaubt natürlichen Zeilenumbruch */
    }
}

/* ==========================================================================
   2. DESKTOP HAUPTNAVIGATION & COMPACT FIXES
   ========================================================================== */
@media (min-width: 922px) {
    .main-navigation ul ul, .wp-block-navigation__container ul, .sub-menu, .ast-builder-menu-sub-menu {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        display: block !important;
    }
    .main-navigation ul ul li, .sub-menu li, .wp-block-navigation-item .sub-menu li {
        width: 100% !important;
        display: block !important;
    }
}

.main-navigation a, .wp-block-navigation-item__content, .wp-block-navigation-item a {
    padding-left: 16px !important;  
    padding-right: 16px !important; 
    font-size: 0.90em !important;   
}

.main-navigation ul, .wp-block-navigation__container, .wp-block-navigation ul {
    flex-wrap: nowrap !important;
    display: flex !important;
}

.main-navigation .gt_wrapper, .wp-block-navigation-item .gt_wrapper, .wp-block-navigation .gt_wrapper {
    font-size: 11px !important;
    max-width: 110px !important;
    padding: 0 !important;
    margin-left: 5px !important;
}

.main-navigation img.nturl, .wp-block-navigation-item img.nturl, .wp-block-navigation img.nturl {
    width: 16px !important;
    height: auto !important;
    margin: 0 2px !important;
}

.main-navigation, .nav-menu, .ast-navigation, #site-navigation, .wp-block-navigation {
    background-color: var(--color-nav-bg) !important;
}

@media (min-width: 1025px) {
    .main-navigation ul ul, .sub-menu, .ast-builder-menu-sub-menu, .main-navigation ul ul li, .sub-menu li {
        background-color: #f0f5eb !important; 
    }
    .main-navigation .main-nav ul ul li a, .main-navigation ul ul a, .ast-builder-menu-sub-menu a, .sub-menu a {
        font-size: .82em !important;
        font-weight: normal !important;
        background-color: #f0f5eb !important;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
    }
}

.main-navigation ul ul li, .sub-menu li {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ==========================================================================
   3. INHALT-TEXTE & ÜBERSCHRIFTEN (MOBIL KOMPAKT)
   ========================================================================== */
.entry-content p a, .entry-content li a, .content-area p a, .content-area li a {
    color: var(--color-text-link) !important;
    font-weight: bold !important;
    text-decoration: underline !important;
}

.page h1, .page .entry-title, .page .page-title, .wp-theme-pubgateway h1, .wp-theme-pubgateway .entry-title {
    text-align: left !important;
}

@media (max-width: 1024px) {
    /* Fließtext verkleinern */
    .entry-content p, .entry-content li, .content-area p, .content-area li, .wp-block-paragraph {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }
    /* Hauptüberschriften verkleinern */
    .entry-content h1, .content-area h1, .entry-content h2, .content-area h2, 
    h1.entry-title, h2.entry-title, .page-title, .entry-title {
        font-size: 24px !important;
    }
    /* H3 Unterüberschriften verkleinern */
    .entry-content h3, .content-area h3, h3 {
        font-size: 17px !important;
    }
    /* H4 Überschriften verkleinern */
    .entry-content h4, .content-area h4, h4 {
        font-size: 14px !important;
    }
}

/* ==========================================================================
   4. ALTES THEMESHOP-MENÜ VERSTECKEN
   ========================================================================== */
@media (max-width: 1024px) {
    header .wp-block-navigation, header .main-navigation, header .ast-navigation,
    button.wp-block-navigation__responsive-container-open, button.wp-block-navigation__responsive-container-close,
    .wp-block-navigation__responsive-container {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    #mobmenuleft, .mobmenu-left-panel, .mobmenu-trigger, .mob_menu_overlay, #mob-menu-header {
        z-index: 99999999 !important;
    }
}

/* ==========================================================================
   5. WP MOBILE MENU PLUGIN ERZWUNGENE MOBILFARBEN
   ========================================================================== */
@media (max-width: 1024px) {
    .mobmenu-left-panel, #mobmenuleft, .mobmenu-panel, .mob-menu-slideout {
        background-color: #2d5128 !important;
    }
    .mobmenu-left-panel ul li a, #mobmenuleft ul li a, .mobmenu-panel li a {
        color: #ffffff !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    }
    .mobmenu-left-panel ul li ul, #mobmenuleft ul li ul, .mobmenu-panel .sub-menu, .mobmenu-left-panel .mobmenu-sub-menu {
        background-color: #203a1c !important;
    }
    .mobmenu-left-panel ul li ul li a, #mobmenuleft ul li ul li a {
        color: #ffffff !important;
    }
    .mobmenu-left-panel .mobmenu-close, .mobmenu-left-panel .mob-expand-submenu, .mob_menu_toggle, .mobmenu-trigger i, .mobmenu-icon-element {
        color: #ffffff !important;
        fill: #ffffff !important;
    }
}
