/* ============================================================
   KONTAKT-SEITE (page-id-128) - GESAMTSTYLING
   ============================================================ */

/* --- ALLGEMEINES LAYOUT & SPALTEN --- */
body.page-id-128 .main-column {
    justify-content: center !important;
}

body.page-id-128 .column1,
body.page-id-128 .column2 {
    padding-left: 25px !important;
    padding-right: 25px !important;
    margin-left: 0 !important;
}

body.page-id-128 .column1 { order: 1 !important; }
body.page-id-128 .column2 { order: 2 !important; }

body.page-id-128 .contact-column-full {
    padding-left: 25px;
    padding-right: 25px;
}

.contact-column-block1, 
.contact-column-block2 {
    justify-content: center !important;
}

/* --- WPFORMS: STANDARD INPUTS (Radio/Checkbox) --- */
body.page-id-128 .wpforms-container input[type=radio] {
    -webkit-appearance: radio !important;
    appearance: radio !important;
}

body.page-id-128 .wpforms-container input[type=checkbox] {
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
}

body.page-id-128 div.wpforms-container-full input[type="checkbox"]::before,
body.page-id-128 div.wpforms-container-full input[type="checkbox"]::after,
body.page-id-128 div.wpforms-container-full input[type="radio"]::before,
body.page-id-128 div.wpforms-container-full input[type="radio"]::after {
    content: none !important;
    display: none !important;
}

/* --- WPFORMS: SPEZIFISCHE FELDER (1, 3, 4) & CHOICES --- */
body.page-id-128 #wpforms-3907-field_1,
body.page-id-128 #wpforms-3907-field_3,
body.page-id-128 #wpforms-3907-field_4 {
    background-color: var(--wpforms-field-background-color) !important;
    border: var(--wpforms-field-border) !important;
    border-radius: var(--wpforms-field-border-radius) !important;
    border-width: var(--wpforms-field-border-size) !important;
    border-style: var(--wpforms-field-border-style) !important;
    border-color: var(--wpforms-field-border-color) !important;
    padding: var(--wpforms-field-size-padding-h) !important;
    color: var(--wpforms-field-text-color) !important;
    caret-color: var(--wpforms-field-text-color) !important;
    max-width: 1000px !important;
    width: 100% !important;
    font-size: var(--wpforms-field-size-font-size) !important;
}

body.page-id-128 #wpforms-3907-field_1::placeholder,
body.page-id-128 #wpforms-3907-field_3::placeholder,
body.page-id-128 #wpforms-3907-field_4::placeholder,
body.page-id-128 .choices input::placeholder {
    font-size: var(--wpforms-field-size-font-size) !important;
}

/* --- WPFORMS: CHOICES DROPDOWN REFINEMENT --- */
body.page-id-128 .choices {
    background-color: var(--wpforms-field-background-color) !important;
    border-radius: var(--wpforms-field-border-radius) !important;
    max-width: 1000px !important;
    width: 100% !important;
}

.choices__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 44px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.choices__list--single .choices__item {
    width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    line-height: 1.3 !important;
    padding: 11px 11px 11px 0px !important; 
    display: flex !important;
    align-items: center !important;
    min-height: inherit !important;
    box-sizing: border-box !important;
}

body.page-id-128 .choices__item::selection {
    background: #066aab !important;
}

/* --- WPFORMS: RECAPTCHA & HCAPTCHA --- */
body.page-id-128 .g-recaptcha {
    padding-bottom: 10px !important;
}

.wpforms-recaptcha-container.wpforms-is-hcaptcha {
    width: 100% !important;
    max-width: 302px !important;
    min-width: 302px !important;
    margin: 10px 0 !important;
    overflow: visible !important;
}

.wpforms-recaptcha-container {
    display: flex;
    justify-content: flex-start;
}

/* --- KONTAKT-KACHELN (BLOCKS 1-6) --- */
.contact-block1, .contact-block2, .contact-block3, 
.contact-block4, .contact-block5, .contact-block6 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
    border-radius: 7px; 
    margin-left: 0 !important;
}

.contact-block4, .contact-block5, .contact-block6 {
    container-type: inline-size;
    container-name: buttoncontainer;
}

/* Buttons in den Kacheln */
.contact-block4 .wp-block-buttons a,
.contact-block5 .wp-block-buttons a,
.contact-block6 .wp-block-buttons a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: clamp(12px, 5cqi, 17px) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* --- BILDER & EFFEKTE --- */
body.page-id-128 img {
    transition: none !important;
}

body.page-id-128 figure:has(.wp-image-454),
body.page-id-128 .wp-block-image:has(.wp-image-454) {
    position: relative !important;
    display: inline-block !important;
}

body.page-id-128 figure:has(> img.wp-image-5114) {
    position: relative;
}

body.page-id-128 figure:has(> img.wp-image-5114)::before {
    content: '';
    position: absolute;
    top: 20px;
    right: 20px;
    width: 100%;
    height: 100%;
    background-color: #066aab;
    z-index: -1;
}

/* Sonstiges */
div.wp-block-columns:nth-child(2) {
    margin-top: 35px !important;
}

.overlay a[href^="tel:"] {
    pointer-events: auto;
}


/* ============================================================
   MEDIA QUERIES (RESPONSIVE)
   ============================================================ */

/* Desktop (ab 1425px) */
@media (min-width: 1425px) {
    body.page-id-128 .wp-block-columns,
    body.page-id-128 .entry-content {
        margin-top: 0 !important;
    }
}

/* Tablet (783px bis 1250px) */
@media (min-width: 783px) and (max-width: 1250px) {
    body.page-id-128 .wpforms-one-half {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

/* Tablet/Mobile (bis 782px) */
@media (max-width: 782px) {
    body.page-id-128 .wp-block-columns {
        display: flex !important;
        flex-direction: column !important;
    }
    
    body.page-id-128 .column1 { order: 2 !important; }
    body.page-id-128 .column2 { order: 1 !important; }

    body.page-id-128 .contact-block1,
    body.page-id-128 .contact-block2,
    body.page-id-128 .contact-block3,
    body.page-id-128 .contact-block4,
    body.page-id-128 .contact-block5,
    body.page-id-128 .contact-block6 {
        margin-bottom: 0 !important;
    }

    div.wp-block-columns:nth-child(2) {
        margin-top: 2em !important;
    }
}

/* Kleine Mobilgeräte (bis 550px) */
@media (max-width: 550px) {
    body.page-id-128 .wpforms-one-half {
        width: 100% !important;
        margin-left: 0 !important;
    }
}