/*
 Theme Name:   SHK Personalberatung Child
 Theme URI:    https://www.shk-personalberatung.de
 Description:  Child-Theme fuer SHK-Personalberatung (Astra)
 Author:       Andreas Dohrmann Consulting
 Template:     astra
 Version:      1.1.0
 Text Domain:  shk-astra-child
*/

/* =============================================================
   SHK BRAND VARIABLES – nutzt Astra Global Colors als Quelle
   ============================================================= */
:root {
    --shk-blue:        #3c64c6;
    --shk-blue-dark:   #2a4fa0;
    --shk-blue-light:  #bfdbfe;
    --shk-blue-pale:   #eff6ff;
    --shk-text:        #1a1a1a;
    --shk-text-muted:  #6b7280;
    --shk-bg-light:    #f5f7fa;
    --shk-border:      #e5e7eb;
    --shk-white:       #ffffff;
    --shk-dark:        #1a1a1a;
}

/* =============================================================
   SEITENTITEL / PAGE TITLE AUSBLENDEN
   Gilt für alle normalen Seiten (pages), nicht für Posts
   ============================================================= */
.page .entry-header,
.page .entry-header .entry-title,
.page .ast-archive-description,
.single-stellenangebot .entry-header,
.ast-page-builder-template .entry-header {
    display: none !important;
}

/* Breadcrumb auch ausblenden wenn kein Inhalt sinnvoll */
.page .ast-breadcrumbs-wrapper {
    display: none;
}

/* =============================================================
   HEADER – Logo & Navigation
   ============================================================= */
.site-header {
    background: var(--shk-white) !important;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
}

.ast-site-identity img.custom-logo {
    max-height: 48px;
    width: auto;
}

/* Navigation Links */
.main-header-menu .menu-link,
.ast-builder-menu-1 .menu-link {
    font-weight: 600;
    font-size: 15px;
    color: var(--shk-text) !important;
    transition: color 0.2s;
    padding: 8px 16px !important;
}

/* Desktop-Navigation sichtbar halten */
@media (min-width: 922px) {
    .ast-main-header-wrap .main-navigation {
        display: block !important;
    }

    .main-header-menu {
        display: flex !important;
    }

    .ast-mobile-header-wrap {
        display: none !important;
    }

    .ast-builder-menu-1 {
        display: flex !important;
    }
}

.main-header-menu .menu-item:hover .menu-link,
.main-header-menu .current-menu-item .menu-link,
.ast-builder-menu-1 .menu-item:hover .menu-link,
.ast-builder-menu-1 .current-menu-item .menu-link {
    color: var(--shk-blue) !important;
}

/* Mobile Menu */
@media (max-width: 921px) {
    .ast-header-break-point .site-header {
        padding: 8px 0;
    }
    .ast-site-identity img.custom-logo {
        max-height: 38px;
    }
}

/* =============================================================
   FOOTER
   ============================================================= */
.site-footer,
.ast-site-footer,
.footer-widget-area,
.site-below-footer-wrap {
    background-color: #1a1a1a !important;
    color: #9ca3af !important;
}

.site-footer a,
.ast-footer-copyright a,
.site-below-footer-wrap a {
    color: var(--shk-blue-light) !important;
    text-decoration: none;
    transition: color 0.2s;
}

.site-footer a:hover,
.site-below-footer-wrap a:hover {
    color: var(--shk-white) !important;
}

/* Footer Navigation horizontal */
.footer-nav,
#footer-nav,
.ast-footer-navigation .footer-navigation {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 8px 0 0;
}

.ast-footer-copyright {
    color: #6b7280 !important;
    font-size: 14px;
    text-align: center;
    padding: 20px 0 !important;
}

/* =============================================================
   HERO / COVER BLOCK – Hintergrundbild
   ============================================================= */
.wp-block-cover {
    position: relative;
}

/* Sicherstellen dass Cover-Blöcke auf Mobile korrekt skalieren */
@media (max-width: 768px) {
    .wp-block-cover.alignfull {
        min-height: 60vh !important;
    }
    .wp-block-cover .wp-block-cover__inner-container {
        padding: 40px 20px;
    }
}

/* =============================================================
   BLOCK PATTERNS – Responsive Korrekturen
   ============================================================= */

/* Columns auf Mobile stacken */
@media (max-width: 768px) {

    /* Service-Kacheln */
    .wp-block-columns.is-not-stacked-on-mobile {
        flex-wrap: wrap !important;
    }
    .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
        flex-basis: 100% !important;
        width: 100% !important;
        margin-bottom: 16px;
    }

    /* Gruppen-Padding auf Mobile reduzieren */
    .wp-block-group.alignfull[style*="padding-right:40px"],
    .wp-block-group.alignfull[style*="padding-left:40px"] {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    /* Überschriften-Größe anpassen */
    .wp-block-heading {
        word-break: break-word;
    }
}

/* Tablet (bis 1024px) */
@media (max-width: 1024px) and (min-width: 769px) {
    .wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
        flex-basis: 100% !important;
    }
    /* 3 Columns → 1 auf Tablet */
    .wp-block-columns.is-not-stacked-on-mobile:has(> .wp-block-column:nth-child(3)) {
        flex-direction: column;
    }
}

/* =============================================================
   TESTIMONIALS – Dunkler Block auf Mobile
   ============================================================= */
@media (max-width: 768px) {
    /* Testimonial-Karten */
    .wp-block-column[style*="background-color:#2a2a2a"],
    .wp-block-column.has-background {
        margin-bottom: 16px;
    }
}

/* =============================================================
   STELLENANGEBOTE – Responsives Layout
   ============================================================= */
.shk-jobs-list {
    grid-template-columns: 1fr;
}

@media (min-width: 640px) {
    .shk-jobs-list {
        grid-template-columns: 1fr;
    }
}

/* =============================================================
   BUTTONS – Globale Anpassungen
   ============================================================= */
.wp-block-button__link.wp-element-button,
button,
input[type="submit"] {
    transition: background-color 0.2s, transform 0.15s;
}

.wp-block-button__link.wp-element-button:hover {
    transform: translateY(-1px);
}

/* =============================================================
   BLOG / NEUIGKEITEN
   ============================================================= */
.blog .entry-title a,
.archive .entry-title a {
    color: var(--shk-text);
    text-decoration: none;
}

.blog .entry-title a:hover,
.archive .entry-title a:hover {
    color: var(--shk-blue);
}

/* =============================================================
   CONTACT FORM 7 – Styling
   ============================================================= */
.wpcf7-form label {
    display: block;
    font-weight: 600;
    font-size: 14px;
    color: var(--shk-text);
    margin-bottom: 6px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.wpcf7-form select {
    width: 100%;
    border: 1px solid var(--shk-border);
    border-radius: 4px;
    padding: 10px 14px;
    font-size: 15px;
    color: var(--shk-text);
    background: var(--shk-white);
    margin-bottom: 16px;
    transition: border-color 0.2s;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: var(--shk-blue);
    outline: none;
    box-shadow: 0 0 0 3px rgba(60, 100, 198, 0.1);
}

.wpcf7-form input[type="submit"] {
    background: var(--shk-blue);
    color: #fff;
    font-weight: 700;
    padding: 14px 32px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 15px;
    width: auto;
}

.wpcf7-form input[type="submit"]:hover {
    background: var(--shk-blue-dark);
}

/* DSGVO Acceptance */
.wpcf7-form .wpcf7-acceptance {
    font-size: 13px;
    color: var(--shk-text-muted);
    margin-bottom: 16px;
}

/* =============================================================
   UTILITY – Abstände & Misc
   ============================================================= */
/* Astra container max-width */
.ast-container {
    max-width: 1240px !important;
}

/* Kein weißer Flash bei page-transition */
html {
    scroll-behavior: smooth;
}

/* =============================================================
   ASTRA STICKY HEADER
   ============================================================= */
.ast-primary-sticky-header-active .site-header {
    box-shadow: 0 2px 16px rgba(0,0,0,0.10);
}
