section h1,
section h2 {
    margin: 0;

    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
    color:var(--brand-primary);
}
section a {
    color:var(--brand-primary);
    text-decoration: none;

}


section h3 {
    font-family: var(--font-body);
    font-size: var(--font-size-h3);
    font-weight: normal;
    letter-spacing: var(--letter-spacing-b);
    text-transform: uppercase;
    line-height: var(--line-height-p);
    color: var(--brand-primary);
    cursor: default;
    margin: 0 0 0em 0;
}


/* ==========================================================================
   Dein Kontakt
   Werte aus "Website (verschoben) 13.pdf" gemessen.
   Bezugsrahmen: Container = x 169.1–1192.1 pt (Breite 1023 pt).

   Kontaktmodul: .feld0 = Textblock links, .feld1 = Formular rechts
   Selektor über die Modul-Klasse, damit er unabhängig von der Slice-ID
   greift – ggf. auf #sectionXX umstellen.
   ========================================================================== */

.kontaktmodul,
section:has(.kontaktformular) {
    background: var(--brand-wte-darker);
}

section:has(.kontaktformular) .container {
    position: relative;
    width: calc(100% - 2 * var(--gutter));
    max-width: var(--container-max-width);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 44% 46%;
    column-gap: 10%;
    align-items: start;
    padding: 4rem 0 5rem;
}

section:has(.kontaktformular) .feld0 {
    padding-left: 3.2%;
}

section:has(.kontaktformular) .feld0 p {
    text-align: left;
    margin: 0 0 1.6em;
}

section:has(.kontaktformular) .feld1 h2 {
    margin: 0 0 2.5rem;
}


/* ==========================================================================
   Formular
   PDF: nur Unterlinie, Label sitzt UNTER dem Feld
   ========================================================================== */

#section71 {
margin-bottom:-100px;
padding-bottom:5rem;
padding-top:2rem;
}

.kontaktformular .form-group,
.kontaktformular .rex-yform-element {
    display: flex;
    flex-direction: column;
    margin: 0 0 2.2rem;
}
@media (min-width:1000px) {


}
/* Label per order hinter das Feld schieben */
.kontaktformular label {
    order: 2;
    color: var(--brand-primary);
    font-family: var(--font-body);
    font-size: var(--font-size-a);
    font-weight: normal;
    letter-spacing: var(--letter-spacing-a);
    line-height: var(--line-height-p);
    margin: 0.4rem 0 0;
    cursor: text;
}

.kontaktformular input[type="text"],
.kontaktformular input[type="email"],
.kontaktformular input[type="tel"],
.kontaktformular textarea {
    order: 1;
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--brand-primary);
    border-radius: 0;
    padding: 0.4rem 0;
    color: var(--brand-primary);
    font-family: var(--font-body);
    font-size: var(--font-size-a);
    letter-spacing: var(--letter-spacing-a);
    line-height: var(--line-height-p);
    box-shadow: none;
    appearance: none;
    transition: border-color 0.2s ease;
}

.kontaktformular textarea {

    width: 94%;


}

@media (max-width:1000px) {
.kontaktformular textarea {

    width: 90%;


}
}
.kontaktformular input:focus,
.kontaktformular textarea:focus {
    outline: none;
    border-bottom-color: var(--brand-olive);
}

.kontaktformular input::placeholder,
.kontaktformular textarea::placeholder {
    color: var(--brand-primary);
    opacity: 0.45;
}

/* Nachricht: Rahmen rundum, Höhe aus dem PDF (321 : 1023 pt) */
.kontaktformular textarea {
    border: 1px solid var(--brand-primary);
    padding: 0.8rem 1rem;
    min-height: 240px;
    resize: vertical;
}

/* Fehlermeldungen */
.kontaktformular .form-warning,
.kontaktformular .help-block {
    order: 3;
    color: var(--brand-primary);
    font-size: 0.85em;
    margin: 0.3rem 0 0;
}

.kontaktformular .has-error input,
.kontaktformular .has-error textarea {
    border-bottom-color: var(--brand-accent);
}


/* --- Hinweise + Button ---------------------------------------------------- */

.kontaktformular .datenschutzhinweis p,
.kontaktformular .pflichtfelder p {
    color: var(--brand-primary);
    font-size: 0.85em;
    line-height: 1.6;
    text-align: left;
    margin: 0 0 1rem;
}

.kontaktformular .datenschutzhinweis {
    margin-top: 1.5rem;
}

.kontaktformular .buttongroup {
    display: block;
    margin-top: 1.5rem;
}

/* Submit-Button im Look von .button (default.css) */
.kontaktformular .buttongroup button,
.kontaktformular button[type="submit"],
.kontaktformular input[type="submit"] {
    display: inline-block;
    padding: 6px 16px;
    background: var(--brand-primary);
    color: var(--brand-wte);
    text-decoration: none;
    border: 0;
    border-radius: 2px;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: normal;
    letter-spacing: 0.05em;
    line-height: var(--line-height-p);
    cursor: pointer;
    appearance: none;
    transition: background 0.2s ease;
}

.kontaktformular .buttongroup button:hover,
.kontaktformular button[type="submit"]:hover,
.kontaktformular input[type="submit"]:hover {
    background: rgba(var(--brand-primary-rgb), 0.85);
}

.kontaktformular .danke p {
    color: var(--brand-primary);
}


/* --- Mobil ---------------------------------------------------------------- */

@media (max-width: 900px) {
	
	section h3 { 
	 margin-bottom:1rem;
	
	}
	
	

    section:has(.kontaktformular) .container {
        grid-template-columns: 100%;
        row-gap: 3rem;
        padding: 2.5rem 0 3rem;
    }

    section:has(.kontaktformular) .feld0 {
        padding-left: 0;
    }

    .kontaktformular textarea {
        min-height: 180px;
    }
}
@media (min-width: 1000px) {
#yform-kontakt-telefon {

margin-bottom:5rem;
}

}
