/*******************************************
 GENERAL FORM STYLING – applies to all forms
********************************************/

.general-form .gfield {
    margin-top: 0.3rem;
    margin-bottom: 0.3rem;
}

/* Hide labels, but keep them for accessibility */
.firmen-check-form .gfield_label,
.general-form .gfield_label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}

/* Single-line inputs + select */
.general-form input[type="text"],
.general-form input[type="email"],
.general-form input[type="tel"],
.general-form input[type="url"],
.general-form input[type="number"],
.general-form input[type="password"],
.general-form select,
.firmen-check-form input[type="text"],
.firmen-check-form input[type="email"],
.firmen-check-form input[type="tel"],
.firmen-check-form input[type="url"],
.firmen-check-form input[type="number"],
.firmen-check-form input[type="password"],
.firmen-check-form select,
.newsletter-form input[type="text"],
.newsletter-form input[type="email"],
.newsletter-form input[type="tel"],
.newsletter-form input[type="url"],
.newsletter-form input[type="number"],
.newsletter-form input[type="password"],
.newsletter-form select {
    width: 100%;
    height: 38px;
    line-height: 38px;
    padding: 0 0.8rem;
    box-sizing: border-box;
    /*border: 1px solid #d3d7e0;*/
    background: #fff;
    color: #121c2e;
    font-family: inherit;
    font-size: 0.95rem;
}



/* Textarea */
.general-form textarea,
.newsletter-form textarea {
    width: 100%;
    min-height: 86px;
    padding: 0.5rem 0.8rem;
    box-sizing: border-box;
    /* border: 1px solid #d3d7e0;*/
    background: #fff;
    color: #121c2e;
    font-family: inherit;
    font-size: 0.95rem;
    line-height: 1.4;
    resize: vertical;
}

.general-form textarea[style] {
    height: auto !important;
}

/* Placeholder */
.general-form ::placeholder {
    color: #9ba2b5;
    opacity: 1;
}

/* Focus state */
.general-form input:focus,
.general-form textarea:focus,
.general-form select:focus {
    outline: none;
    /*border-color: #00c9cf;
    box-shadow: 0 0 0 1px rgba(0,201,207,0.3);*/
}

/* Footer spacing */
.general-form .gform_footer {
    margin-top: 0.3rem;
}

/*******************************************
 CUSTOM SVG BUTTON (reusable)
********************************************/

.general-form .si-gf-submit,
.general-form .gform_button.si-gf-submit {
    all: unset;
    display: inline-block;
    position: relative;
    cursor: pointer;
    font-family: "Montserrat", sans-serif;
}

/* Remove theme pseudo-elements */
.general-form .si-gf-submit::before {
    content: none !important;
}

/* SVG */
.general-form .si-gf-svg {
    display: block;
    width: 260px;
    height: auto;
    stroke: #00c9cf; /* initial border */
    fill: transparent;
    stroke-width: 1.2;
}

/* Text */
.general-form .si-gf-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #121c2e; /* initial text */
    font-size: 1rem;
    pointer-events: none;
    white-space: nowrap;
}

/* Hover */
.general-form .si-gf-submit:hover .si-gf-text {
    color: #00c9cf;
}

.general-form .si-gf-submit:hover .si-gf-svg {
    stroke: #00c9cf;
}

/* Modern browsers */
.general-form input::placeholder,
.general-form textarea::placeholder {
    font-size: var(--font-size-base);
    opacity: 1; /* prevent browser default fade */
}

/* WebKit (Chrome, Safari, newer Edge) */
.general-form input::-webkit-input-placeholder,
.general-form textarea::-webkit-input-placeholder {
    font-size: var(--font-size-base);
    opacity: 1;
}

/* Firefox */
.general-form input::-moz-placeholder,
.general-form textarea::-moz-placeholder {
    font-size: var(--font-size-base);
    opacity: 1;
}

/* Internet Explorer / Legacy Edge (only if still relevant) */
.general-form input:-ms-input-placeholder,
.general-form textarea:-ms-input-placeholder {
    font-size: var(--font-size-base);
}

.general-form .gform_wrapper .gform_fields .gfield select,
.general-form .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not(.ginput_total):not(.ginput_shipping_price):not(.ginput_product_price) {
    font-size: var(--font-size-base)!important;
}

.gform_wrapper .gform_fields .gfield select, .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]):not(.ginput_total):not(.ginput_shipping_price):not(.ginput_product_price) {
    font-size: var(--font-size-base)!important;
}

button.si-gf-submit {
    padding: unset!important;
}

/* ============================================
   FIRMA/FUNKTION - TELEFON/EMAIL - PLZ/ORT
   FORCE TWO-FIELD SIDE-BY-SIDE LAYOUT
   WITH !important EVERYWHERE
   ============================================ */


.firmen-check-form .gfmc-field {
    flex-direction: row !important;
}

.firmen-check-form #field_4_5,
.firmen-check-form #field_4_6,
.firmen-check-form #field_4_8,
.firmen-check-form #field_4_11 {
    padding: 0.3rem !important;
    width: 50% !important;
}

@media (max-width: 600px) {

}


.firmen-check-form #field_4_14 {
    padding: 0.3rem !important;
    width: 30% !important;
}
.firmen-check-form #field_4_15 {
    padding: 0.3rem !important;
    width: 70% !important;
}


.firmen-check-form #input_4_7 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.firmen-check-form #input_4_7 span {
    width: 100% !important;
    padding: 0.3rem!important;
}

.firmen-check-form fieldset {
    margin-bottom: 0!important;
}

.firmen-check-form .gfmc-field div:not(.gchoice) {
    padding-bottom: 0!important;
}

.firmen-check-form textarea {
    margin: 0.3rem!important;
}

/* Force the radio wrapper onto one line */
.firmen-check-form #input_4_1 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2rem !important; /* space between Herr / Frau */
    flex-wrap: nowrap !important;
}

/* Ensure each choice stays inline */
.firmen-check-form #input_4_1 .gchoice {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.35rem !important;
    white-space: nowrap !important;
}

.firmen-check-form #field_4_1 {
    padding: 0.3rem!important;
}

/* GF 3 */
#gform_confirmation_message_3 {
    color: var(--color-accent-dark, #79614d);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-relaxed);
}

/* GF 5 */
.newsletter-form legend,
.newsletter-form label {
    display: none;
}

#gform_wrapper_7 .gform_heading p {
    color: var(--color-dark-blue);
    font-weight: var(--font-weight-extrabold);
    line-height: var(--line-height-medium);
    font-size: clamp(1.4rem, 0.6059rem + 2.1176vw, 2.3rem);
    font-family: var(--h1-font-family);
    font-style: normal;
    margin: 0.6rem;
}

#field_7_1 {
    margin-bottom: 0;
}

#input_7_1 {
    display: flex;
    align-items: center !important;
    justify-content: center !important;
}

#input_7_1 span {
    margin-top: 0.3rem;
    margin-right: 0.3rem;
    margin-left: 0.3rem;
    margin-bottom: 0rem;
    width: 100%;
}

#field_7_3 {
    margin: 0.3rem;
}

#field_7_4 {
    margin: 0.3rem;
}

#gform_submit_button_7 {
    margin: 0.3rem !important;
}

#gform_submit_button_3 {
    margin-top: 0.3rem !important;
    margin-bottom: 0.3rem !important;
}

/* Modern browsers */
.newsletter-form input::placeholder,
.newsletter-form textarea::placeholder {
    font-size: var(--font-size-base);
    opacity: 1; /* prevent browser default fade */
}

/* WebKit (Chrome, Safari, newer Edge) */
.newsletter-form input::-webkit-input-placeholder,
.newsletter-form textarea::-webkit-input-placeholder {
    font-size: var(--font-size-base);
    opacity: 1;
}

/* Firefox */
.newsletter-form input::-moz-placeholder,
.newsletter-form textarea::-moz-placeholder {
    font-size: var(--font-size-base);
    opacity: 1;
}

/* Internet Explorer / Legacy Edge (only if still relevant) */
.newsletter-form input:-ms-input-placeholder,
.newsletter-form textarea:-ms-input-placeholder {
    font-size: var(--font-size-base);
}

#gform_confirmation_message_7 {
    color: var(--color-dark-blue);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-relaxed);
    font-size: var(--font-size-h6);
    font-family: var(--h1-font-family);
    font-style: normal;
}

#gform_confirmation_message_6 {
    color: var(--color-dark-blue);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-relaxed);
    font-size: var(--font-size-h6);
    font-family: var(--h1-font-family);
    font-style: normal;
}

/* firmencheck form */

#gform_wrapper_6 .gform_heading {
    display: none !important;
}

/* Modern browsers */
.new-firmen-check-form input::placeholder,
.new-firmen-check-form textarea::placeholder {
    font-size: var(--font-size-base);
    opacity: 1; /* prevent browser default fade */
}

/* WebKit (Chrome, Safari, newer Edge) */
.new-firmen-check-form input::-webkit-input-placeholder,
.new-firmen-check-form textarea::-webkit-input-placeholder {
    font-size: var(--font-size-base);
    opacity: 1;
}

/* Firefox */
.new-firmen-check-form input::-moz-placeholder,
.new-firmen-check-form textarea::-moz-placeholder {
    font-size: var(--font-size-base);
    opacity: 1;
}

/* Internet Explorer / Legacy Edge (only if still relevant) */
.new-firmen-check-form input:-ms-input-placeholder,
.new-firmen-check-form textarea:-ms-input-placeholder {
    font-size: var(--font-size-base);
}

.new-firmen-check-form legend,
.new-firmen-check-form label {
    display: none !important;
}
.new-firmen-check-form .gfield_radio label {
    display: inline-block !important;
}

/* Align radio input + label horizontally centered */
.new-firmen-check-form .gfield_radio .gchoice {
    display: flex;
    align-items: center;
}

/* Optional: consistent spacing between radio and label */
.new-firmen-check-form .gfield_radio .gchoice input[type="radio"] {
    margin: 0 0.5rem 0 0;
}

.new-firmen-check-form .gfmc-field {
    flex-direction: row !important;
}

.new-firmen-check-form fieldset {
    margin: 0 !important;
}

.new-firmen-check-form #input_6_6 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.new-firmen-check-form #input_6_6 span {
    width: 100% !important;
    padding: 0.3rem !important;
}

.new-firmen-check-form #field_6_1 {
    padding: 0.3rem !important;
    width: 100% !important;
}

.new-firmen-check-form #field_6_3 {
    padding: 0.3rem !important;
    width: 100% !important;
}

.new-firmen-check-form #field_6_7 {
    padding: 0.3rem !important;
    width: 100% !important;
}

.new-firmen-check-form #field_6_8 {
    padding: 0.3rem !important;
    width: 100% !important;
}

.new-firmen-check-form #field_6_11 {
    padding: 0.3rem !important;
    width: 25% !important;
}

.new-firmen-check-form #field_6_12 {
    padding: 0.3rem !important;
    width: 75% !important;
}

.new-firmen-check-form .gfmc-field div:not(.gchoice) {
    padding-bottom: 0 !important;
}

.new-firmen-check-form  #field_6_15,
.new-firmen-check-form  #field_6_16,
.new-firmen-check-form  #field_6_17 {
    padding: 0.3rem !important;
}

.new-firmen-check-form input[type="text"],
.new-firmen-check-form input[type="email"],
.new-firmen-check-form input[type="tel"],
.new-firmen-check-form input[type="url"],
.new-firmen-check-form input[type="number"],
.new-firmen-check-form input[type="password"],
.new-firmen-check-form select {
    height: 38px;
    line-height: 38px;
    padding: 0 0.8rem;
    box-sizing: border-box;
    /* border: 1px solid #d3d7e0; */
    background: #fff;
    color: #121c2e;
    font-family: inherit;
    font-size: 0.95rem;
}

.new-firmen-check-form #input_6_18 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 2rem !important;
    flex-wrap: nowrap !important;
}

.new-firmen-check-form #input_6_18 {
    padding: 0.3rem !important;
}

.new-firmen-check-form .gfmc-field div:not(.gchoice) {
    padding-bottom: 0!important;
}

#gform_submit_button_6  {
    margin: 0.3rem !important;
}