
/* Center fix for flow layout */
.wp-block-group.is-layout-flow > .has-text-align-center,
.wp-block-group.is-layout-flow > h2.has-text-align-center,
.wp-block-group.is-layout-flow > h3.has-text-align-center {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Contact h3 no card border */
.q4-contact-info h3,
.q4-contact-form h3 {
    border-bottom: none !important;
    padding-bottom: 0 !important;
    position: static !important;
}
.q4-contact-info h3::after,
.q4-contact-form h3::after {
    display: none !important;
}
.q4-contact-cols .wp-block-column {
    background: transparent !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.q4-contact-cols .wp-block-column:hover {
    transform: none !important;
    box-shadow: none !important;
}
.q4-contact-cols > .wp-block-column:first-child {
    border-right: 1px solid #e1eaf3 !important;
    padding-right: 48px !important;
}
.q4-contact-cols > .wp-block-column:last-child {
    padding-left: 48px !important;
    border-right: none !important;
}


/* FIX: Hero banner images - center vertically instead of top */
.wp-block-cover__image-background {
    object-position: center center !important;
}

/* FIX: Contact form labels clipping */
.wpcf7 label {
    font-weight: 600 !important;
    color: #0d1b2a !important;
    font-size: 0.88rem !important;
    display: block !important;
    margin-bottom: 6px !important;
    line-height: 1.5 !important;
    overflow: visible !important;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    border: 1px solid #e1eaf3 !important;
    border-radius: 10px !important;
    font-family: inherit !important;
    font-size: 0.93rem !important;
    background: #fff !important;
    transition: all 0.2s !important;
    line-height: 1.5 !important;
    -webkit-appearance: none !important;
    box-sizing: border-box !important;
}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-color: #0693e3 !important;
    box-shadow: 0 0 0 3px rgba(6,147,227,0.1) !important;
    outline: none !important;
}
.wpcf7 textarea {
    min-height: 140px !important;
}
/* Ensure placeholder text is fully visible */
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: #a0b4c8 !important;
    opacity: 1 !important;
    line-height: 1.5 !important;
}
/* Prevent label text from being clipped by overflow */
.wpcf7-form-control-wrap {
    display: block !important;
    overflow: visible !important;
}
.wpcf7 p {
    overflow: visible !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
}
/* Submit button */
.wpcf7-submit {
    background: linear-gradient(135deg, #0693e3, #0580c7) !important;
    color: #fff !important;
    border: none !important;
    padding: 14px 36px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    font-size: 0.92rem !important;
    cursor: pointer !important;
    margin-top: 8px !important;
    transition: all 0.3s !important;
    box-shadow: 0 4px 14px rgba(6,147,227,0.2);
}
.wpcf7-submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(6,147,227,0.3) !important;
}


/* FIX: Select dropdown text clipping */
.wpcf7 select {
    height: auto !important;
    min-height: 48px !important;
    padding: 12px 36px 12px 16px !important;
    line-height: 1.5 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235f7990' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px !important;
    cursor: pointer !important;
}


/* ===== MENU HOVER & ACTIVE STATES ===== */
/* Reset any conflicting previous styles */
.main-navigation .menu-item a,
.main-navigation .menu-item > a {
    position: relative !important;
    background: transparent !important;
    transition: color 0.25s ease !important;
}

/* Underline animation on hover */
.main-navigation .menu-item > a::after {
    content: "" !important;
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 2px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #0693e3, #4dd69c) !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border-radius: 2px !important;
    opacity: 0 !important;
}

/* Hover effect - expand underline */
.main-navigation .menu-item:hover > a::after,
.main-navigation .menu-item > a:hover::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
}
.main-navigation .menu-item > a:hover {
    color: #0693e3 !important;
    background: transparent !important;
}

/* Active / current page - persistent underline */
.main-navigation .current-menu-item > a::after,
.main-navigation .current-menu-ancestor > a::after,
.main-navigation .current_page_item > a::after,
.main-navigation .current-menu-parent > a::after {
    transform: scaleX(1) !important;
    opacity: 1 !important;
}
.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a,
.main-navigation .current_page_item > a,
.main-navigation .current-menu-parent > a {
    color: #0693e3 !important;
    background: transparent !important;
}

/* Submenu - different hover style */
.main-navigation .sub-menu .menu-item > a::after {
    display: none !important;
}
.main-navigation .sub-menu .menu-item > a {
    border-left: 3px solid transparent !important;
    transition: all 0.2s ease !important;
}
.main-navigation .sub-menu .menu-item:hover > a {
    border-left-color: #0693e3 !important;
    background: linear-gradient(90deg, rgba(6,147,227,0.08), transparent) !important;
    color: #0693e3 !important;
    padding-left: 14px !important;
}
.main-navigation .sub-menu .current-menu-item > a,
.main-navigation .sub-menu .current_page_item > a {
    border-left-color: #4dd69c !important;
    background: linear-gradient(90deg, rgba(77,214,156,0.1), transparent) !important;
    color: #0693e3 !important;
    font-weight: 700 !important;
}

/* Dropdown arrow in parent menu - keep it small */
.main-navigation .menu-item-has-children > a .dropdown-icon,
.main-navigation .ast-submenu-expanded > a::before {
    transition: transform 0.2s !important;
}
.main-navigation .menu-item-has-children:hover > a .dropdown-icon {
    transform: rotate(180deg) !important;
}


/* Q4 MOBILE SUBMENUS EXPANDED — tonen alle subdiensten direct bij uitklappen hamburger */
@media (max-width: 921px) {
    .ast-mobile-header-wrap .main-navigation .sub-menu,
    #ast-mobile-header .sub-menu,
    .main-header-menu.submenu-with-border .sub-menu,
    .ast-builder-menu-mobile .sub-menu,
    .ast-mobile-popup-drawer .sub-menu,
    .main-navigation .menu-item-has-children > .sub-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        transform: none !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        margin: 4px 0 8px 0 !important;
        padding: 0 0 0 18px !important;
        background: transparent !important;
        min-width: 0 !important;
    }
    .ast-mobile-header-wrap .main-navigation .sub-menu a,
    #ast-mobile-header .sub-menu a,
    .ast-builder-menu-mobile .sub-menu a {
        padding: 8px 12px !important;
        font-size: 0.92rem !important;
        border-radius: 8px !important;
    }
    /* Plus/caret-toggle naast bovenliggend menu-item verbergen — niet meer nodig */
    .ast-mobile-header-wrap .menu-item-has-children > .ast-menu-toggle,
    #ast-mobile-header .menu-item-has-children > .ast-menu-toggle,
    .ast-builder-menu-mobile .menu-item-has-children > .ast-menu-toggle,
    .ast-mobile-popup-drawer .menu-item-has-children > .ast-menu-toggle {
        display: none !important;
    }
    /* Parent-item blijft normaal klikbaar */
    .ast-mobile-header-wrap .menu-item-has-children > a,
    #ast-mobile-header .menu-item-has-children > a {
        font-weight: 700 !important;
    }
}
/* END Q4 MOBILE SUBMENUS */


/* Q4 LOGO SIZING — logo groot genoeg tonen zodat slogan leesbaar is */
.custom-logo-link .custom-logo,
.ast-site-identity .custom-logo {
    max-height: 130px !important;
    height: auto !important;
    width: auto !important;
    max-width: 260px !important;
}
.ast-site-identity { padding: 10px 0 !important; }
@media (max-width: 921px) {
    .custom-logo-link .custom-logo,
    .ast-site-identity .custom-logo {
        max-height: 90px !important;
        max-width: 200px !important;
    }
}
/* END Q4 LOGO SIZING */
