/* =====================================================================================
   post-291.css – Elementor page-specific CSS for "Über Uns" (About Us), Page ID 291
   Hero-Styles jetzt in shared-hero.css
   ===================================================================================== */

/* === Section 2: Wer wir sind ========================================================= */

.elementor-291 .elementor-element.elementor-element-47511493 {
    --display: flex;
    --min-height: 0px;
    --flex-direction: row;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --align-items: center;
    --gap: 60px 60px;
    --row-gap: 60px;
    --column-gap: 60px;
    --padding-top: 100px;
    --padding-bottom: 100px;
    --padding-left: 0px;
    --padding-right: 0px;
}

/* Left column – text + accordion */
.elementor-291 .elementor-element.elementor-element-4a6fc39e {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    width: var(--container-widget-width, 55%);
    max-width: 55%;
    --container-widget-width: 55%;
    --container-widget-flex-grow: 0;
}

/* "Wer wir sind" section label */
.elementor-291 .elementor-element.elementor-element-72467aff .elementor-heading-title {
    font-family: var(--e-global-typography-e5f7065-font-family), Sans-serif;
    font-size: var(--e-global-typography-e5f7065-font-size);
    font-weight: var(--e-global-typography-e5f7065-font-weight);
    text-transform: var(--e-global-typography-e5f7065-text-transform);
    line-height: var(--e-global-typography-e5f7065-line-height);
    letter-spacing: var(--e-global-typography-e5f7065-letter-spacing);
    color: var(--e-global-color-d79e5ec);
}

/* Main heading h3 */
.elementor-291 .elementor-element.elementor-element-3ece2f85 .elementor-heading-title {
    font-family: var(--e-global-typography-6a75036-font-family), Sans-serif;
    font-size: var(--e-global-typography-6a75036-font-size);
    font-weight: var(--e-global-typography-6a75036-font-weight);
    line-height: var(--e-global-typography-6a75036-line-height);
    color: var(--e-global-color-primary);
}

/* Accordion widget – Magenta-Button-Stil wie Original */
.elementor-291 .elementor-element.elementor-element-25e29943 {
    --n-accordion-border-color: var(--e-global-color-eabe6c8);
    --n-accordion-border-width: 0px;
    --n-accordion-border-style: solid;
    --n-accordion-title-normal-color: var(--e-global-color-accent);
    --n-accordion-title-hover-color: var(--e-global-color-accent);
    --n-accordion-title-active-color: var(--e-global-color-accent);
    --n-accordion-icon-size: 20px;
    --n-accordion-title-font-size: 1.1rem;
    --n-accordion-padding: 18px 25px;
    --n-accordion-item-title-space-between: 12px;
    --n-accordion-item-title-distance-from-content: 0px;
    --n-accordion-border-radius: 50px;
    --n-accordion-title-justify-content: space-between;
    --n-accordion-title-icon-order: 1;
    --n-accordion-icon-gap: 15px;
}

/* Accordion item title: Basis – pill-shape */
.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item-title {
    border-radius: 50px;
}

/* OPEN (aktiver) Button: Magenta */
.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item[open]>.e-n-accordion-item-title {
    background-color: var(--e-global-color-eabe6c8);
    border: none;
    padding: 18px 25px;
}

.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item[open]>.e-n-accordion-item-title:hover {
    background-color: #D54AD2;
}

/* CLOSED (inaktiver) Button: dunkel mit Rahmen */
.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item:not([open])>.e-n-accordion-item-title {
    background-color: var(--e-global-color-secondary);
    border-style: solid;
    border-width: 1px;
    border-color: rgba(255, 255, 255, 0.25);
    padding: 18px 25px;
}

.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item:not([open])>.e-n-accordion-item-title:hover {
    background-color: rgba(255, 255, 255, 0.06);
    border-color: var(--e-global-color-eabe6c8);
}

.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item-title-text {
    flex-grow: 1;
}

/* Accordion item content: kein Rahmen, padding */
.elementor-291 .elementor-element.elementor-element-25e29943 .e-n-accordion-item>.e-con {
    border: none;
    padding: 20px 5px;
}

/* Right column – image */
.elementor-291 .elementor-element.elementor-element-2ae09518 {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    width: var(--container-widget-width, 45%);
    max-width: 45%;
    --container-widget-width: 45%;
    --container-widget-flex-grow: 0;
}

.elementor-291 .elementor-element.elementor-element-45bdd244 img {
    width: 100%;
    border-radius: 20px;
}

/* === Section 3: CTA "Bring dein Design…" ============================================= */

.elementor-291 .elementor-element.elementor-element-1ee101ef {
    --display: flex;
    --min-height: 0px;
    --flex-direction: row;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --align-items: center;
    --overlay-opacity: 1;
    --padding-top: 80px;
    --padding-bottom: 80px;
    --padding-left: 0px;
    --padding-right: 0px;
}

.elementor-291 .elementor-element.elementor-element-1ee101ef:not(.elementor-motion-effects-element-type-background),
.elementor-291 .elementor-element.elementor-element-1ee101ef>.elementor-motion-effects-container>.elementor-motion-effects-layer {
    background-image: url("/images/uploads/2025/01/Grid-2.png");
    background-position: center center;
    background-size: cover;
}

.elementor-291 .elementor-element.elementor-element-1ee101ef::before,
.elementor-291 .elementor-element.elementor-element-1ee101ef>.elementor-background-video-container::before,
.elementor-291 .elementor-element.elementor-element-1ee101ef>.e-con-inner>.elementor-background-video-container::before,
.elementor-291 .elementor-element.elementor-element-1ee101ef>.elementor-background-slideshow::before,
.elementor-291 .elementor-element.elementor-element-1ee101ef>.e-con-inner>.elementor-background-slideshow::before,
.elementor-291 .elementor-element.elementor-element-1ee101ef>.elementor-motion-effects-container>.elementor-motion-effects-layer::before {
    background-color: transparent;
    --background-overlay: '';
    background-image: radial-gradient(at center center, #02010100 0%, var(--e-global-color-secondary) 65%);
}

/* CTA inner container – Cyan-Rahmen, gerundete Ecken, Abstände */
.elementor-291 .elementor-element.elementor-element-4b48ffee {
    --display: flex;
    --flex-direction: column;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --align-items: center;
    --padding-top: 60px;
    --padding-bottom: 60px;
    --padding-left: 60px;
    --padding-right: 60px;
    border-style: solid;
    border-width: 1px;
    border-color: var(--e-global-color-d79e5ec);
    border-radius: 20px;
    text-align: center;
    width: 100%;
}

/* CTA heading h3 */
.elementor-291 .elementor-element.elementor-element-73f4a9b6 .elementor-heading-title {
    font-family: var(--e-global-typography-6a75036-font-family), Sans-serif;
    font-size: var(--e-global-typography-6a75036-font-size);
    font-weight: var(--e-global-typography-6a75036-font-weight);
    line-height: var(--e-global-typography-6a75036-line-height);
    color: var(--e-global-color-primary);
    text-align: center;
}

/* CTA text – limit width and center */
.elementor-291 .elementor-element.elementor-element-eb438ba {
    width: var(--container-widget-width, 70%);
    max-width: 70%;
    --container-widget-width: 70%;
    --container-widget-flex-grow: 0;
    text-align: center;
}

/* CTA button */
.elementor-291 .elementor-element.elementor-element-46d7a941 .elementor-button {
    background-color: var(--e-global-color-eabe6c8);
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1em;
    color: var(--e-global-color-accent);
}

.elementor-291 .elementor-element.elementor-element-46d7a941 .elementor-button:hover,
.elementor-291 .elementor-element.elementor-element-46d7a941 .elementor-button:focus {
    background-color: var(--e-global-color-f6ce02f);
}

/* === Section 4: Founder / Team ======================================================= */

.elementor-291 .elementor-element.elementor-element-3e271e85 {
    --display: flex;
    --min-height: 0px;
    --flex-direction: column;
    --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%);
    --container-widget-height: initial;
    --container-widget-flex-grow: 0;
    --container-widget-align-self: initial;
    --flex-wrap-mobile: wrap;
    --align-items: center;
    --padding-top: 100px;
    --padding-bottom: 100px;
    --padding-left: 0px;
    --padding-right: 0px;
    text-align: center;
}

/* Team section heading */
.elementor-291 .elementor-element.elementor-element-794f1393 .elementor-heading-title {
    font-family: var(--e-global-typography-6a75036-font-family), Sans-serif;
    font-size: var(--e-global-typography-6a75036-font-size);
    font-weight: var(--e-global-typography-6a75036-font-weight);
    line-height: var(--e-global-typography-6a75036-line-height);
    color: var(--e-global-color-primary);
    text-align: center;
}

/* Team description text */
.elementor-291 .elementor-element.elementor-element-2c2d2de8 {
    text-align: center;
    width: var(--container-widget-width, 70%);
    max-width: 70%;
    --container-widget-width: 70%;
    --container-widget-flex-grow: 0;
}

/* Team cards flex row */
.elementor-291 .elementor-element.elementor-element-35d32805 {
    --display: flex;
    --flex-direction: row;
    --container-widget-width: initial;
    --container-widget-height: 100%;
    --container-widget-flex-grow: 1;
    --container-widget-align-self: stretch;
    --flex-wrap-mobile: wrap;
    --gap: 30px 30px;
    --row-gap: 30px;
    --column-gap: 30px;
    --justify-content: center;
    --padding-top: 40px;
    --padding-bottom: 0px;
}

/* Individual team card */
.elementor-291 .elementor-element.elementor-element-6c692fe1 {
    --display: flex;
    --flex-direction: column;
    --align-items: center;
    --padding-top: 2em;
    --padding-bottom: 2em;
    --padding-left: 2em;
    --padding-right: 2em;
    border-style: solid;
    --border-style: solid;
    border-width: 1px 1px 1px 1px;
    --border-top-width: 1px;
    --border-right-width: 1px;
    --border-bottom-width: 1px;
    --border-left-width: 1px;
    border-color: var(--e-global-color-d79e5ec);
    --border-color: var(--e-global-color-d79e5ec);
    --border-radius: 20px 20px 20px 20px;
    --background-transition: 0.3s;
    width: var(--container-widget-width, 30%);
    max-width: 400px;
    min-width: 280px;
}

/* Image box inside team card */
.elementor-291 .elementor-element.elementor-element-4cd7aa38 .elementor-image-box-wrapper {
    text-align: center;
}

.elementor-291 .elementor-element.elementor-element-4cd7aa38.elementor-position-top .elementor-image-box-img {
    margin-bottom: 20px;
}

.elementor-291 .elementor-element.elementor-element-4cd7aa38 .elementor-image-box-title {
    margin-bottom: 5px;
    color: var(--e-global-color-primary);
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
}

.elementor-291 .elementor-element.elementor-element-4cd7aa38 .elementor-image-box-wrapper .elementor-image-box-img {
    width: 50%;
}

.elementor-291 .elementor-element.elementor-element-4cd7aa38 .elementor-image-box-img img {
    border-radius: 50%;
    transition-duration: 0.3s;
}

.elementor-291 .elementor-element.elementor-element-4cd7aa38 .elementor-image-box-description {
    color: var(--e-global-color-text);
}

/* Social icons in team card */
.elementor-291 .elementor-element.elementor-element-742a3726 {
    --icon-size: 18px;
    --grid-column-gap: 10px;
    --grid-row-gap: 0px;
}

.elementor-291 .elementor-element.elementor-element-742a3726 .elementor-widget-container {
    text-align: center;
}

.elementor-291 .elementor-element.elementor-element-742a3726 .elementor-social-icon {
    background-color: var(--e-global-color-eabe6c8);
    --icon-padding: 0.5em;
    border-style: solid;
    border-width: 1px;
    border-color: var(--e-global-color-eabe6c8);
}

.elementor-291 .elementor-element.elementor-element-742a3726 .elementor-social-icon i {
    color: var(--e-global-color-accent);
}

.elementor-291 .elementor-element.elementor-element-742a3726 .elementor-social-icon svg {
    fill: var(--e-global-color-accent);
}

.elementor-291 .elementor-element.elementor-element-742a3726 .elementor-social-icon:hover {
    background-color: var(--e-global-color-f6ce02f);
}

/* elementor-invisible override: make animated elements visible immediately (no JS required) */
.elementor-291 .elementor-invisible {
    visibility: visible;
}

/* === Responsive: Tablet (≤1024px) ==================================================== */

@media(max-width:1024px) {
    .elementor-291 .elementor-element.elementor-element-47511493 {
        --flex-direction: column;
        --padding-top: 60px;
        --padding-bottom: 60px;
    }

    .elementor-291 .elementor-element.elementor-element-4a6fc39e {
        width: 100%;
        max-width: 100%;
        --container-widget-width: 100%;
    }

    .elementor-291 .elementor-element.elementor-element-2ae09518 {
        width: 100%;
        max-width: 100%;
        --container-widget-width: 100%;
    }

    /* Hero-Outer responsive → shared-hero.css */

    .elementor-291 .elementor-element.elementor-element-1ee101ef {
        --padding-top: 60px;
        --padding-bottom: 60px;
    }

    .elementor-291 .elementor-element.elementor-element-3e271e85 {
        --padding-top: 60px;
        --padding-bottom: 60px;
    }

    .elementor-291 .elementor-element.elementor-element-eb438ba {
        max-width: 90%;
        --container-widget-width: 90%;
    }

    .elementor-291 .elementor-element.elementor-element-2c2d2de8 {
        max-width: 90%;
        --container-widget-width: 90%;
    }
}

/* === Responsive: Mobile (≤767px) ===================================================== */

@media(max-width:767px) {
    /* Hero-Outer responsive → shared-hero.css */

    .elementor-291 .elementor-element.elementor-element-47511493 {
        --padding-top: 40px;
        --padding-bottom: 40px;
    }

    .elementor-291 .elementor-element.elementor-element-1ee101ef {
        --padding-top: 40px;
        --padding-bottom: 40px;
    }

    .elementor-291 .elementor-element.elementor-element-3e271e85 {
        --padding-top: 40px;
        --padding-bottom: 40px;
    }

    .elementor-291 .elementor-element.elementor-element-eb438ba {
        max-width: 100%;
        --container-widget-width: 100%;
    }

    .elementor-291 .elementor-element.elementor-element-2c2d2de8 {
        max-width: 100%;
        --container-widget-width: 100%;
    }

    .elementor-291 .elementor-element.elementor-element-73f4a9b6 .elementor-heading-title {
        font-size: 2rem;
    }

    .elementor-291 .elementor-element.elementor-element-794f1393 .elementor-heading-title {
        font-size: 2rem;
    }

    .elementor-291 .elementor-element.elementor-element-6c692fe1 {
        width: 100%;
        max-width: 100%;
    }
}