/*
Theme Name: AS Sanierungen & Bau
Theme URI: 
Description: Child theme for Twenty Twenty-Five theme
Author: WP Profis
Author URI: https://wp-profis.com/
Template: twentytwentyfive
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: assanierungen
*/

/* Import parent theme styles */
@import url("../twentytwentyfive/style.css");

/* Add your custom styles below this line */

/* Example custom styles */
:root {
    /* You can override CSS variables from parent theme here */
}

/* Custom styles for the header */
.wp-site-blocks > header {
    /* Add your header customizations */
}

/* Custom styles for the main content area */
.wp-site-blocks > main {
    /* Add your main content customizations */
}

/* Custom styles for the footer */
.wp-site-blocks > footer {
    /* Add your footer customizations */
}

/* Custom typography styles */
.has-global-padding {
    /* Adjust global padding if needed */
}

/* Custom block styles */
.wp-block-group {
    /* Customize block group styles */
}

/* .wp-block-button.is-style-fill .wp-block-button__link.wp-element-button {
    background-color: var(--wp--preset--color--primary);
    color: #fff;
}
.wp-block-button .wp-block-button__link.wp-element-button:hover {
    background-color: var(--wp--preset--color--secondary);
    color: #fff;
} */


@media screen and (max-width: 782px) {
    .hero-text {
        padding-top: 0 !important;
    }
    
}


/******************************/
/*                            */
/*         Block Post         */
/*                            */
/******************************/
.blog-post-hero {
    /* margin-bottom: var(--wp--preset--spacing--50); */
}

.blog-post-hero .blog-post-title-block {
    z-index: 10;
}

@media screen and (max-width: 782px) {
    .blog-post-hero {
        margin-top: 0 !important;
        padding-top: 0 !important;
        margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
        margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
    }

    .blog-post-hero,
    .blog-post-hero > .wp-block-group {
        padding-top: 0 !important;
    }

    .blog-post-hero figure img {
        border-radius: 0 !important;
    }
    
    .blog-post-hero .blog-post-title-block {
        margin-top: 0 !important;
        padding: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: var(--wp--style--root--padding-right) var(--wp--style--root--padding-left) 0 !important;
    }
}


/************************************/
/*                                  */
/*         Contact Form Row         */
/*                                  */
/************************************/
/* Contact form styles */
.contact-form-row {
    gap: var(--wp--preset--spacing--40);
    margin-bottom: 0;
}

.contact-form-row .wp-block-column {
    flex: 1;
}

/* Input-Container spezifische Styles */
.contact-form-row .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.contact-form-row .wpcf7-not-valid-tip,
.wpcf7 .wpcf7-response-output {
    font-size: var(--wp--preset--font-size--medium);
}

.wpcf7 .wpcf7-response-output {
    background: var(--wp--preset--color--secondary-lighter);
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #d7ffdb;
}

/* Input-Felder */
.contact-form-row .form-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--30);
    border: 1px solid var(--wp--preset--color--contrast);
    border-radius: 4px;
}

/* Submit Button */
.contact-form-row .wp-block-button__link {
    display: block;
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

/* Responsive */
@media (max-width: 781px) {
    .contact-form-row {
        flex-wrap: wrap;
    }
    
    .contact-form-row .wp-block-column {
        flex-basis: 100% !important;
        margin-bottom: var(--wp--preset--spacing--30);
    }
}

/*****************************/
/*                           */
/*    Contact form styles    */
/*                           */
/*****************************/
/* Container Styles */
.contact-form {
    margin: 0 auto;
    /* padding: 20px; */
    counter-reset: section;
    --number-size: 32px;
    --number-size-mobile: 28px;
}

/* Row Styles */
.contact-form .contact-form-row {
    gap: var(--wp--preset--spacing--40);
    margin-bottom: var(--wp--preset--spacing--30);
}

.contact-form .wp-block-column {
    flex: 1;
}

/* Label Styles */
.contact-form .form-label {
    display: block;
    /* font-weight: 500; */
    margin-bottom: 8px;
    font-size: var(--wp--preset--font-size--medium);
}

/* Input Container */
.contact-form .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Input Styles */
.contact-form .form-input {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--30);
    border-radius: 4px;
    font-size: var(--wp--preset--font-size--medium);
    line-height: 1.4;
    transition: border-color 0.3s ease;
}

.contact-form .form-input:focus {
    outline: none;
    border-color: var(--wp--preset--color--primary);
}

/* Textarea Styles */
.contact-form textarea.form-input {
    resize: vertical;
    min-height: 120px;
    font-family: var(--wp--preset--font-family--sans-serif);
}

/* Checkbox Styles */
.contact-form .privacy-acceptance {
    display: flex;
    align-items: flex-start;
    margin: var(--wp--preset--spacing--30) 0;
}

.contact-form .form-checkbox {
    margin-right: 10px;
    margin-top: 4px;
}

.contact-form .privacy-acceptance .wpcf7-list-item {
    margin: 0;
}

/* Submit Button */
.contact-form .submit-button {
    margin-top: var(--wp--preset--spacing--40);
}

.contact-form .wp-block-button__link {
    /* display: block; */
    /* width: 100%; */
    /* margin: 0; */
    box-sizing: border-box;
    /* padding: var(--wp--preset--spacing--30); */
    border-radius: 9999px;
    /* font-size: var(--wp--preset--font-size--medium);
    font-weight: 500; */
    transition: background-color 0.3s ease;
}

/* Error Styles */
.contact-form .wpcf7-not-valid-tip,
.contact-form .wpcf7-response-output {
    font-size: var(--wp--preset--font-size--medium);
}

.contact-form .wpcf7-response-output {
    background: var(--wp--preset--color--secondary-lighter);
    margin: 2em 0;
    padding: var(--wp--preset--spacing--30);
    border-radius: 4px;
    text-align: center;
}

/* Überschriften-Styles */
.contact-form .form-section-title {
    font-weight: 500;
    margin-top: var(--wp--preset--spacing--50);
    margin-bottom: var(--wp--preset--spacing--30);
    padding-bottom: var(--wp--preset--spacing--20);
    border-bottom: 2px solid var(--wp--preset--color--contrast);
    position: relative;
    padding-left: calc(var(--number-size) + 10px);
}

/* Nummerierung hinzufügen */
.contact-form .form-section-title::before {
    counter-increment: section;
    content: counter(section);
    position: absolute;
    left: 0;
    top: 40%;
    transform: translateY(-50%);
    width: var(--number-size);
    height: var(--number-size);
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 500;
}

/* Optional: Beschreibungstext unter den Überschriften */
.contact-form .form-section-description {
    font-size: var(--wp--preset--font-size--medium);
    color: var(--wp--preset--color--contrast);
    margin-bottom: var(--wp--preset--spacing--40);
}

/* Erste Überschrift ohne oberen Abstand */
.contact-form .form-section-title:first-of-type {
    margin-top: 0;
}

/* Responsive Design */
@media (max-width: 781px) {
    .contact-form .contact-form-row {
        flex-wrap: wrap;
    }
    
    .contact-form .wp-block-column {
        flex-basis: 100% !important;
        margin-bottom: var(--wp--preset--spacing--30);
    }
    
    .contact-form .form-section-title::before {
        width: var(--number-size-mobile);
        height: var(--number-size-mobile);
    }
}


/* Responsive adjustments */
@media screen and (max-width: 781px) {
    /* Add your mobile-specific styles here */
}


/************************************/
/*                                  */
/*              Footer              */
/*                                  */
/************************************/
footer {
    margin: 0;
}