:root {
    /* Special Customer Colors */

    /* Customer Fonts */
    --kss-font-family: 'Barlow Condensed', sans-serif;

    /* Custom Font Sizes with clamp(min, preferred, max) TODO im Backend über Einstellungen anpassbar machen */
    --kss-h1-text: clamp(2.5rem, 6vw, 3.75rem);
    /* 40px - 60px */
    --kss-h2-text: clamp(2rem, 5vw, 3rem);
    /* 32px - 48px */
    --kss-h3-text: clamp(1.5rem, 4vw, 2rem);
    /* 24px - 32px */
    --kss-h4-text: clamp(1.25rem, 3vw, 1.75rem);
    /* 20px - 28px */
    --kss-copy-text: clamp(1rem, 1.8vw, 1.25rem);
    /* 16px - 20px */
}

/* Corporate Identity Typography */
/* Headings */
h1,
.kss-h1 {
    font-size: var(--kss-h1-text);
    line-height: 1.2;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
}

h2,
.kss-h2 {
    font-size: var(--kss-h2-text);
    line-height: 1.3;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
}

h3,
.kss-h3 {
    font-size: var(--kss-h3-text);
    line-height: 1.4;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
}

h4,
.kss-h4 {
    font-size: var(--kss-h4-text);
    line-height: 1.4;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
}

/* Paragraphs */
p,
.kss-paragraph,
.kss-copy,
ul,li,
a {
    font-size: var(--kss-copy-text);
    line-height: 1.6;
    font-weight: 400;
}

/* Links */
a:visited:not(.wp-block-button__link) {
    color: var(--kss-primary-color);
    text-decoration: underline;
    transition: color 0.3s ease;
}




/* Custom List Styling */
/* ul li::before {
    content: '\2713'; 
    position: absolute;
    font-weight: 500;
    left: 0;
    color: var(--kss-primary-color, #0a6);
} */


/* Wordpress Author Block Default Style */

/* Buttons */
/* Button Type Primary */
.wp-block-button__link {
    background-color: var(--kss-primary-color, #0a6);
    color: var(--kss-color-black);
    padding: 12px 24px;
    border-radius: 14px;
    font-size: var(--kss-copy-text);
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease;
}

.wp-block-button__link:hover {
    background-color: var(--kss-primary-hover-color, #094);
    color: var(--kss-color-black);
}

/* Button Type Secondary */
.is-style-outline .wp-block-button__link {
    background-color: unset;
    color: var(--kss-primary-color, #0a6);
    padding: 12px 24px;
    border: 2px solid var(--kss-primary-color, #0a6);
    border-radius: 14px;
    font-size: var(--kss-copy-text);
    text-decoration: none;
    display: inline-block;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.is-style-outline .wp-block-button__link:hover {
    background-color: var(--kss-primary-color, #0a6);
    color: var(--kss-color-black);
}

/* Kontaktformular Styling */


/* Contact Form 7 Anpassungen */
/* Labels ordentlich und Inputs auf 100% Breite */
.wpcf7 form label {
    display: block;
    margin-bottom: 6px;
}

.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    border-radius: 14px;
}

.wpcf7-form-control.wpcf7-submit {
    background-color: var(--kss-primary-color);
    border: none;
    border-radius: 14px;
    color: #ffffff;
    padding: 12px 24px;
    font-size: var(--kss-copy-text);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.wpcf7-form-control.wpcf7-submit:hover {
    background-color: var(--kss-primary-hover-color);
}

.wpcf7-list-item {
    margin-left: 0;
}

/* Kontaktformular Startseite - Rückruf bitte anfordern */

/* Custom Block Styling */
.is-style-kss-custom-headline-and-typewriter,
.is-style-kss-custom-headline-edo {
    font-family: 'Permanent Marker EDO SZ', 'Barlow Condensed' !important;
    font-weight: 400 !important;
    letter-spacing: 4px;
}

.is-style-kss-custom-block-spacer-mobile-only {
    display: none;
}

.kss-custom-block-spacer-desktop-only {
    display: block;
}

@media (max-width: 768px) {
    .is-style-kss-custom-block-spacer-desktop-only {
        display: none;
    }

    .is-style-kss-custom-block-spacer-mobile-only {
        display: block;
    }
}

.is-style-kss-core-group-with-background-white:not(#fakeID) {
    background-color: var(--kss-color-white, #ffffff) !important;
    border-radius: var(--kss-brand-border-radius-medium, 1rem);
    box-shadow: var(--kss-box-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.1));
    padding-bottom: var(--kss-page-layout-gap) !important;
    padding-top: var(--kss-page-layout-gap) !important;
}

.is-style-kss-core-group-with-background-black:not(#fakeID) {
    background-color: var(--kss-color-black, #000000) !important;
    border-radius: var(--kss-brand-border-radius-medium, 1rem);
    box-shadow: var(--kss-box-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.1));
    padding-bottom: var(--kss-page-layout-gap) !important;
    padding-top: var(--kss-page-layout-gap) !important;
}

.add-heading-background,
.is-style-kss-custom-block-paragraph-with-background {
    background-color: var(--kss-primary-color, rgb(19, 160, 241));
    padding: 12px;
    width: fit-content;
    margin: 0 auto !important;
    margin-bottom: 1rem !important;
}

/* Custom List Styles */
.is-style-kss-core-list-without-bullets {
    list-style: none;
    padding-left: 0;
}
.is-style-kss-core-list-with-checkmarks {
    list-style: none;
    padding-left: 0;
}
.is-style-kss-core-list-with-attention {
    list-style: none;
    padding-left: 0;
}

.is-style-kss-core-list-with-checkmarks li::before {
    content: "✔️";
    padding-right: 8px;
}
.is-style-kss-core-list-with-attention li::before {
    content: "⚠️";
    padding-left: 0;
}

/* Legende: Fügt dem Text-Element einen Hintergrund in der Primärfarbe hinzu */
.add-primary-color-background {
    background-color: var(--kss-primary-color, rgb(19, 160, 241));
    padding: 12px;
    width: fit-content;
    margin: 0 auto !important;
    margin-bottom: 1rem !important;
}

#wpadminbar+.body-background+.wp-site-blocks .kss-header-simple {
    top: 32px !important;
}

/* Legende: Text in Primärfarbe */
.kss-primary-color {
    color: var(--kss-primary-color) !important;
}

:is(h1 strong),
:is(h2 strong),
:is(h3 strong),
:is(h4 strong) {
    font-weight: 400 !important;
    color: var(--kss-primary-color) !important;
}

/* Elements in Spalten Block haben keinen Container */
.wp-block-columns .wp-block-column>* {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* TOC Fix Blog Content responsiv */
@media screen and (max-width: 768px) {
    .kss-sidebar-widget.kss-sidebar-widget--related {
        display: none;
    }
}

/* Kontaktformular Anpassungen */
.kss_contactform_contact {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1rem;
    row-gap: 0.5rem;
    max-width: calc(min(var(--kss-container-max-width), var(--kss-page-width)) * 0.5);
    margin: 0 auto;
    margin-top: var(--kss-page-layout-gap);
}

.wpcf7 .wpcf7-submit:disabled {
    background-color: var(--kss-primary-disabled-color);
}

/* First 4 <p> elements are span 6 /  */
.kss_contactform_contact p:nth-of-type(-n+4) {
    grid-column: span 6 / span 6;
    margin: 0 !important;
}

/* Last 3 <p> elements are span 12 / 12 */
.kss_contactform_contact p:nth-of-type(n+5) {
    grid-column: span 12 / span 12;
    margin: 0 !important;
}

/* Vorletztes <p> Element (Datenschutzerklärung) */
.kss_contactform_contact p:nth-of-type(6) {
    text-align: justify;
}

/* Responsive Anpassungen Kontaktformular  Kontaktseite */

@media screen and (max-width: 1440px) {
    .kss_contactform_contact {
        max-width: min(var(--kss-container-max-width), var(--kss-page-width));
    }
}

@media (max-width: 768px) {
    .kss_contactform_contact {
        grid-template-columns: 1fr;
        max-width: 100%;
        margin: 0;
    }

    .kss_contactform_contact p:not(#fakeID) {
        grid-column: span 12 / span 12;
    }
}