/* Theme Name:   UserMindTheme
Description:  Schreibe hier eine kurze Beschreibung über dein Child-Theme
Author:       usermind
Author URL:   https://www.user-mind.de/
Template:     hello-elementor
Version:      1.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  UserMindTheme
*/


/* =================================================================
 * 1.0 – THEME SETUP
 * ================================================================= */

/* 1.1 – CSS Custom Properties */

:root {
    --box-shadow-btn: 4px 4px 12px 0 rgba(0, 0, 0, 0.24);
    --box-shadow-md: 4px 4px 8px 0 rgba(0, 0, 0, 0.24);

    --primary-btn-icon: url("data:image/svg+xml;utf8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23F7B037'><path d='M9.99959 16.3746C9.90006 16.3751 9.80451 16.3354 9.73459 16.2646C9.66436 16.1943 9.6249 16.099 9.6249 15.9996C9.6249 15.9002 9.66436 15.8049 9.73459 15.7346L13.4696 11.9996L9.73459 8.2646C9.66014 8.19522 9.61709 8.09858 9.61529 7.99686C9.6135 7.89514 9.65311 7.79702 9.72506 7.72506C9.79701 7.65311 9.89514 7.6135 9.99686 7.61529C10.0986 7.61709 10.1952 7.66014 10.2646 7.73459L14.2646 11.7346C14.3348 11.8049 14.3743 11.9002 14.3743 11.9996C14.3743 12.099 14.3348 12.1943 14.2646 12.2646L10.2646 16.2646C10.1947 16.3354 10.0991 16.3751 9.99959 16.3746Z'/> </svg>");
    --jump-mark-btn-icon: url("data:image/svg+xml;utf8,<svg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='%23242424'><path d='M9.99959 16.3746C9.90006 16.3751 9.80451 16.3354 9.73459 16.2646C9.66436 16.1943 9.6249 16.099 9.6249 15.9996C9.6249 15.9002 9.66436 15.8049 9.73459 15.7346L13.4696 11.9996L9.73459 8.2646C9.66014 8.19522 9.61709 8.09858 9.61529 7.99686C9.6135 7.89514 9.65311 7.79702 9.72506 7.72506C9.79701 7.65311 9.89514 7.6135 9.99686 7.61529C10.0986 7.61709 10.1952 7.66014 10.2646 7.73459L14.2646 11.7346C14.3348 11.8049 14.3743 11.9002 14.3743 11.9996C14.3743 12.099 14.3348 12.1943 14.2646 12.2646L10.2646 16.2646C10.1947 16.3354 10.0991 16.3751 9.99959 16.3746Z'/> </svg>");
    --minimal-btn-icon: url("data:image/svg+xml;utf8,<svg width='41' height='15' viewBox='0 0 41 15'  xmlns='http://www.w3.org/2000/svg'><path d='M33.0541 0H6.94579C3.06998 0 -0.0776367 3.23774 -0.0776367 7.21072C-0.0776367 11.1837 3.07601 14.4214 6.94579 14.4214H33.0516C36.9274 14.4214 40.075 11.1837 40.075 7.21072C40.075 3.23774 36.9214 0 33.0516 0H33.0541ZM33.0541 13.6625H6.94579C3.48638 13.6625 0.667818 10.7686 0.667818 7.21709C0.667818 3.66563 3.48657 0.771711 6.94579 0.771711H33.0516C36.511 0.771711 39.3296 3.66563 39.3296 7.21709C39.3296 10.7686 36.5108 13.6625 33.0516 13.6625H33.0541Z'/><path d='M31.6968 4.08077C31.6298 4.01201 31.5395 3.97314 31.4347 3.97314C31.225 3.97314 31.062 4.14056 31.062 4.35581C31.062 4.46941 31.1144 4.57106 31.1901 4.63982L33.4789 6.82817H5.57341C5.36375 6.82817 5.20068 6.99558 5.20068 7.21083C5.20068 7.42608 5.36375 7.5935 5.57341 7.5935H33.4839L31.1951 9.78184C31.1193 9.8506 31.0669 9.94926 31.0669 10.0658C31.0669 10.2811 31.23 10.4485 31.4397 10.4485C31.5358 10.4485 31.626 10.4097 31.693 10.3409C31.693 10.3409 31.7017 10.3409 31.7017 10.3319L34.6748 7.49183C34.832 7.33937 34.832 7.08525 34.6748 6.93279L31.6842 4.0867L31.6968 4.08077Z' /></svg>");
    --bg-honey-comb: url("https://mindfacts.um-dev.de/wp-content/uploads/2026/02/bg-honey-comb.png");

    --neo-bg: #132A3F;
    --neo-border: rgba(255, 255, 255, 0.06);
    --neo-border-strong: rgba(255, 255, 255, 0.12);
    --neo-shadow-dark: rgba(0, 0, 0, 0.45);
    --neo-shadow-light: rgba(255, 255, 255, 0.08);
    --neo-focus: rgba(120, 190, 255, 0.18);
    --neo-text: var(--text-light);
    --neo-muted: rgba(255, 255, 255, 0.55);
    --neo-radius: 10px;
    --neo-ease: cubic-bezier(.2, .8, .2, 1);
    --neo-dur: 300ms;
}


/* =================================================================
 * 2.0 – BASE & RESET
 * ================================================================= */

/* 2.1 – Typography */

p, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

h1, h2, h3, h4, h5, h6 {
    hyphens: manual;
}

b, strong {
    font-weight: 500 !important;
}

ul {
    padding-inline-start: 20px;
    font-size: 0.92em;
}

label {
    padding-left: 6px;
    vertical-align: baseline !important;
}

/* 2.2 – Utility Classes */

.hide-1400 {
    @media (max-width: 1400px) {
        display: none;
    }
}

.text-max-width {
    max-width: var(--text-max-width) !important;
}

.box-shadow {
    box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.24) !important;
}


/* =================================================================
 * 3.0 – COMPONENTS
 * ================================================================= */

/* -------------------------
   3.1 – Buttons
   ------------------------- */

/* 3.1.1 – Base */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-xs);
    padding-block-start: var(--btn-padding-block);
    padding-block-end: var(--btn-padding-block);
    padding-inline-start: var(--btn-padding-left);
    padding-inline-end: var(--btn-padding-block);
    border-radius: 96px;

    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    font-size: var(--text-btn-font-size);
    font-weight: 500;

    border: 1px solid transparent;
    transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease, color .12s ease;
    cursor: pointer;
}

/* 3.1.2 – Primary */

.btn.btn--primary {
    background: var(--ci-accent, #F7B037);
    color: var(--text-inverted, #FFFFFF) !important;
    box-shadow: var(--box-shadow-btn);
    font-weight: 500 !important;

    &:after {
        content: var(--primary-btn-icon);
        display: inline-block;
        width: 24px;
        height: 24px;
        background: var(--bg-white, #FFFFFF);
        border-radius: 50%;
        color: var(--text-accent, #F7B037);
    }
}

.btn.btn--primary:hover {
    transform: translateY(-1px);
}

.primary > .elementor-button {
    transition: all .3s ease;

    .elementor-button-icon {
        transition: all .3s ease;
        background: white;
        color: var(--text-accent, #F7B037);
        fill: var(--text-accent, #F7B037);
        border-radius: 50%;
        height: 24px;
        width: 24px;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, 0.24);

        svg {
            width: var(--spacing-md);
        }
    }

    &:hover {
        transform: translateY(-2px);
        box-shadow: 1px 3px 1px 0 rgba(0, 0, 0, 0.24);

        .elementor-button-icon {
            transform: translateY(-2px);
            box-shadow: 1px 3px 1px 0 rgba(0, 0, 0, 0.24);
        }
    }
}

/* 3.1.3 – Secondary */

.btn.btn--secondary {
    background: rgba(0, 0, 0, 0);
    color: var(--text-accent, #F7B037);
    border-color: var(--text-accent, #F7B037);
    font-weight: 500 !important;


    &:after {
        content: var(--primary-btn-icon);
        display: inline-block;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        color: var(--text-accent, #F7B037);
    }
}

.btn--secondary:hover {
    background: var(--ci-accent, #F7B037);
    color: var(--text-inverted, #FFFFFF);
}

.secondary > .elementor-button {
    transition: all .3s ease;

    .elementor-button-icon {
        transition: all .3s ease;
        color: var(--text-accent, #F7B037);
        fill: var(--text-accent, #F7B037);
        border-radius: 50%;
        height: 24px;
        width: 24px;
        display: flex;
        justify-content: center;
        align-items: center;
        box-shadow: 0 0 0 1px var(--text-accent, #F7B037);

        svg {
            width: var(--spacing-md);
        }
    }

    &:hover {
        transform: translateY(-2px);
        box-shadow: 1px 3px 1px 0 rgba(0, 0, 0, 0.24);

        .elementor-button-icon {
            transform: translateY(-2px);
            background: white;
            color: var(--text-accent, #F7B037);
            fill: var(--text-accent, #F7B037);
            box-shadow: 1px 3px 1px 0 rgba(0, 0, 0, 0.24);
        }
    }
}

/* 3.1.4 – Minimal */

.btn--minimal {
    color: var(--text-regular, #0B1A2B) !important;
    padding: 0 !important;

    &:before {
        content: var(--minimal-btn-icon);
        display: inline-block;
        width: 40px;
        height: auto;
        border-radius: 50%;
        color: var(--text-regular, #0B1A2B);
        fill: var(--text-regular, #0B1A2B);
    }
}

.minimal > .elementor-button {
    transition: all .3s ease;
    padding: 0 !important;
    background: transparent !important;

    .elementor-button-text {
        display: flex;
        gap: var(--spacing-xs);
        align-items: center;
        justify-content: center;
        color: var(--text-regular, #0B1A2B);

        &:before {
            content: var(--minimal-btn-icon);
            display: inline-block;
            width: 40px;
            height: auto;
            border-radius: 50%;
            color: var(--text-regular, #0B1A2B);
        }
    }
}

/* 3.1.5 – Jump Mark */

.btn.btn--jump-mark {
    transition: all .3s ease;
    padding: 0 !important;
    background: transparent !important;

    display: flex;
    gap: var(--spacing-xs);
    align-items: center;
    justify-content: center;
    color: var(--text-regular, #0B1A2B) !important;

    &:after {
        content: var(--jump-mark-btn-icon);
        rotate: 90deg;
        display: inline-block;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        box-shadow: 0 0 0 1px var(--text-regular, #0B1A2B) !important;
        color: var(--text-regular, #0B1A2B) !important;
    }
}

/* 3.1.6 – Ghost */

.btn--ghost {
    background: transparent;
    color: var(--btn-ghost-fg, #0B1A2B);
    border-color: var(--btn-ghost-border, rgba(0, 0, 0, .18));
}

.btn--ghost:hover {
    background: rgba(0, 0, 0, .04);
}

/* -------------------------
   3.2 – Shimmer Border
   ------------------------- */

.shimmer-border {
    --sb-radius: 24px;
    --sb-width: 1px;
    --sb-speed: 16s;

    position: relative;
    isolation: isolate;
    border-radius: var(--sb-radius);
    background: transparent;
}

.shimmer-border:before {
    content: "" !important;
    position: absolute;
    inset: calc(-1 * var(--sb-width));
    border-radius: calc(var(--sb-radius) + var(--sb-width)) !important;
    pointer-events: none;
    z-index: 0;

    background: linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.04) 0%,
            rgba(255, 255, 255, 0.10) 18%,
            rgba(255, 255, 255, 0.35) 35%,
            rgba(255, 255, 255, 0.65) 50%,
            rgba(255, 255, 255, 0.35) 65%,
            rgba(255, 255, 255, 0.10) 82%,
            rgba(255, 255, 255, 0.04) 100%
    );
    background-size: 200% 100%;
    animation: sb-shimmer var(--sb-speed) linear infinite;

    padding: var(--sb-width);
    -webkit-mask: linear-gradient(#000000 0 0) content-box,
    linear-gradient(#000000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

.shimmer-border > * {
    position: relative;
    z-index: 1;
}

@keyframes sb-shimmer {
    from {
        background-position: 0% 50%;
    }
    to {
        background-position: -200% 50%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .shimmer-border::before {
        animation: none;
    }
}


/* =================================================================
 * 4.0 – LAYOUT
 * ================================================================= */

/* 4.1 – Header */

#navigation .e-n-menu-heading {
    flex-wrap: nowrap;
}

#navigation {
    will-change: transform;
    transition: transform 0.5s ease;
}

#navigation.is-floating {
    position: fixed;
    top: 0;
    left: 50%;
    z-index: 9999;
    transform: translate(-50%, -120%);
}

#navigation.is-floating.is-visible {
    transform: translate(-50%, 0);
    margin-top: var(--spacing-sm);
}

/* 4.2 – Footer */

.footer-menu .elementor-icon-list-item {
    transition: all 0.3s ease;

    &:hover {
        transform: translateX(var(--spacing-xs));
    }
}


/* =================================================================
 * 5.0 – PAGE SECTIONS
 * ================================================================= */

/* 5.1 – Backgrounds */

.blur-bg {
    background-color: var(--blur-8, #FFFFFF14);
    backdrop-filter: blur(8px);
}

.bg-tertiary {
    background-color: var(--bg-tertiary, #555555);
}

.bg-honey-comb {
    &:after {
        content: "";
        background-image: var(--bg-honey-comb);
        position: absolute;
        left: 0;
        bottom: 0;
        width: 60%;
        height: 60%;
        object-fit: cover;
        object-position: top right;
        background-repeat: no-repeat;
        z-index: 0;
        background-size: cover;
    }
}

.first-blue-section {
    border-top-left-radius: var(--border-radius-lg) !important;
    border-top-right-radius: var(--border-radius-lg) !important;
}

.last-blue-section {
    border-bottom-left-radius: var(--border-radius-lg) !important;
    border-bottom-right-radius: var(--border-radius-lg) !important;
}

/* 5.2 – Next Seminar */

.next-seminar {
    --sb-radius: var(--border-radius-sm);

    border-radius: var(--sb-radius);
    padding: var(--spacing-sm);
    min-width: max(var(--content-min-width), 400px);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);

    .top-bar {
        display: flex;
        justify-content: space-between;
        gap: var(--spacing-xs) var(--spacing-sm);
        align-items: flex-start;
        overflow: hidden;
        flex-wrap: wrap;

        .seminar-type {
            white-space: nowrap;
        }

        .seminar-date-string {
            white-space: nowrap;
        }
    }

    .seminar-buttons {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
}

/* 5.3 – Arbeiten */

.arbeiten-section {
    --sb-radius: var(--border-radius-sm);

    .ue-card {

        .item-index {
            font-size: clamp(5rem, -0.7143rem + 11.9048vw, 10rem);
            font-weight: bold;
            line-height: 1;
            -webkit-text-stroke: 2px var(--text-accent);
            color: transparent;
        }

        &:nth-child(even) {
            .ue-info {
                justify-content: flex-end;
            }
        }

        .ue-item-wrap {
            padding: var(--spacing-sm);
        }
    }
}

/* 5.4 – FAQ */

.faq-section {

    .faq-accordion-container {

        .e-n-accordion-item-title {
            z-index: 1;
            box-shadow: var(--box-shadow-md);
            border: none !important;
            transition: all 0.3s ease;

            &:hover {
                transform: translateY(-2px);
                box-shadow: 4px 6px 8px 0 rgba(0, 0, 0, 0.24);

                .e-closed {
                    transform: translateX(-1px);
                    box-shadow: 6px -4px 12px 0 rgba(0, 0, 0, 0.24);
                }

                .e-opened {
                    transform: translateY(-1px);
                    box-shadow: -4px 6px 12px 0 rgba(0, 0, 0, 0.24);
                }
            }
        }

        .e-closed {
            rotate: 90deg;
            background: white;
            border-radius: 50%;
            box-shadow: 4px -4px 12px 0 rgba(0, 0, 0, 0.24);
            transition: all 0.3s ease;
        }

        .e-opened {
            transition: all 0.3s ease;
            rotate: -90deg;
            background: white;
            border-radius: 50%;
            box-shadow: -4px 4px 12px 0 rgba(0, 0, 0, 0.24);
        }
    }
}

/* 5.5 – Verfahren */

.verfahren-bullets {
    --block-spacing: 8px;
    --sb-radius: var(--border-radius-sm);
    border-radius: var(--sb-radius);
    padding: var(--spacing-sm);

    table tbody {
        th {
            display: flex;
            padding-right: 40px;
            padding-bottom: var(--block-spacing);

            span {
                padding: 2px 6px;
                border-radius: 6px;
            }
        }

        td {
            padding-bottom: var(--block-spacing);
        }
    }
}

/* 5.6 – Inhalte */

.inhalte-card {

    .inhalte-card-list {
        list-style: none;
        padding-inline-start: 0 !important;
        display: flex;
        flex-direction: column;
        gap: var(--spacing-sm);

        li {
            display: flex;
            gap: 6px;

            .elementor-icon-list-icon svg {
                width: 24px;
                height: 24px;
            }
        }
    }

    .inhalte-card-icon .elementor-icon {
        transition: all 0.3s ease;
        box-shadow: var(--box-shadow-md);
    }

    &:hover {
        .inhalte-card-icon .elementor-icon {
            transform: translateY(-2px);
            box-shadow: 4px 2px 8px 0 rgba(0, 0, 0, 0.24);
        }
    }
}

/* 5.7 – Kondition (Table) */

.kondition-section {
    --table-border-width: 1px;

    .kondition-table-wrapper {
        overflow: scroll;
    }

    .kondition-table {
        border-collapse: collapse;
        border-spacing: 0;
        table-layout: fixed;

        tr > * {
            padding-inline: var(--spacing-md);
            padding-block: var(--spacing-sm);
        }

        tr > :first-child {
            position: sticky;
            left: 0;
            background: white;
        }

        tbody {
            th, td {
                text-align: left;
                vertical-align: text-top;
            }
        }

        th:not(th:last-child) {
            border-right: var(--table-border-width) solid #929292;
            border-top-width: 0;
            border-left-width: 0;
        }

        td:not(td:last-child) {
            border-right: var(--table-border-width) solid #929292;
            border-top-width: 0;
            border-left-width: 0;
        }

        tr:not(tr:last-child) {
            th, td {
                border-bottom: var(--table-border-width) solid #929292;
                border-top-width: 0;
                border-left-width: 0;
            }
        }

        thead tr {
            min-height: 12rem;

            th {
                border-bottom: var(--table-border-width) solid #929292;
                border-top-width: 0;
                border-left-width: 0;
                min-height: 15rem;

                .th-container {
                    display: flex;
                    flex-direction: column;
                    align-items: center;
                    justify-content: space-between;
                    gap: var(--spacing-md);
                }
            }
        }

        .label {
            padding: .25rem .5rem;
            background: var(--bg-tertiary);
            border-radius: .25rem;
            box-shadow: var(--box-shadow-md);
        }

        .first_th {
            text-align: left;
            vertical-align: bottom;

            .th-container {
                align-items: flex-start;
                justify-content: flex-end;
            }
        }

        .headline-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: var(--spacing-md);

            .headline-container--headline {
                display: flex;
                flex-direction: column;
                gap: var(--spacing-xs);
            }
        }

        .price-container {
            display: flex;
            flex-direction: column;
            gap: var(--spacing-xs);
        }
    }
}

/* 5.8 – Seminar Card */

.seminar-news-buttons {
    display: flex;
    justify-content: space-between;
    gap: var(--spacing-md);
    flex-wrap: wrap;

    .btn-booking-group {
        display: flex;
        gap: var(--spacing-sm);
    }
}

/* 5.9 – Loop Items */

.um_loop_carousel {
    .swiper-pagination-bullet {
        transition: all 0.3s ease;

        &.swiper-pagination-bullet-active {
            width: calc(var(--swiper-navigation-size) * 1.61803 - var(--swiper-pagination-bullet-horizontal-gap)) !important;
            border-radius: var(--border-radius-max);
        }
    }
}

.um_kernbereiche-loop-grid {
    @media screen and (min-width: 768px) {
        .e-loop-item:nth-of-type(even) {
            transform: translateY(var(--spacing-lg)) !important;
        }

        .e-loop-item:nth-of-type(odd) {
            transform: translateY(calc(-1 * var(--spacing-lg))) !important;
        }
    }
}

.ue_card_content .e-loop-item {
    width: 100%;
}

.uc_material_bullets_row {
    .ue-icon-wrapper {
        display: none !important;
    }

    .ue-text {
        display: none !important;
    }

    &.uc-bullet-active {
        .uc_content_box.uc_ceal .ue-title {
            color: var(--text-regular, #333333);
        }
    }
}

.ue_stacking_card_item:has(~ .ue-active) {
    .ue_card_content {
        box-shadow: none !important;
    }
}


/* =================================================================
 * 6.0 – TYPOGRAPHY UTILITIES
 * ================================================================= */

/* 6.1 – Color Utilities */

.text-primary {
    color: var(--text-primary, #0B1A2B);
    fill: var(--text-primary, #0B1A2B);
}

.text-accent {
    color: var(--text-accent, #F7B037);
    fill: var(--text-accent, #F7B037);
}

.text-inverted {
    color: var(--text-inverted, #FFFFFF);
    fill: var(--text-inverted, #FFFFFF);
}

.text-tertiary {
    color: var(--text-tertiary, #555555);
    fill: var(--text-tertiary, #555555);
}

.text-regular {
    color: var(--text-regular, #0B1A2B);
    fill: var(--text-regular, #0B1A2B);
}

/* 6.2 – Aspect Ratios */

.ar-5-3 {
    aspect-ratio: 5 / 3;
}

.ar-1-1 {
    @media screen and (min-width: 768px) {
        aspect-ratio: 1 / 1;
    }
}


/* =================================================================
 * 7.0 – ELEMENTOR OVERRIDES
 * ================================================================= */

/* 7.1 – Template Overrides */

.elementor-widget-loop-carousel {
    --bullet-size: var(--spacing-sm);

    .swiper-pagination {
        left: 50% !important;

        .swiper-pagination-bullet {
            width: var(--bullet-size);
            height: var(--bullet-size);
            transition: all 0.3s ease-in-out;

            &:hover {
                background-color: var(--text-accent);
            }
        }

        .swiper-pagination-bullet-active {
            width: calc(var(--bullet-size) * 1.61803);
            border-radius: var(--bullet-size);
            background-color: var(--text-accent);
        }
    }
}

.elementor-button {
    white-space: nowrap;
}

/* 7.2 – Widget Classes */

.bg-video-overlay {
    .e-hosted-video:after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: var(--primary-24);
    }
}


/* =================================================================
 * 8.0 – GRAVITY FORMS
 * ================================================================= */

/* 8.1 – Framework Variables */

body .gform-theme--framework .gform-field-label:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) {
    --gf-local-color: var(--text-inverted);
    --gf-local-font-family: var(--text-font);
    --gf-local-font-size: 1rem;
    --gf-local-line-height: 1.4;
}

body .gform-theme--api, body .gform-theme--framework {
    --gf-font-family-primary: var(--text-font);
    --gf-ctrl-outline-color-focus: var(--ci-accent);
    --gf-ctrl-outline-width-focus: 1px;
    --gf-form-gap-y: var(--spacing-md);
    --gf-font-family-base: var(--text-font);
}

body #gform_wrapper_1[data-form-index="0"].gform-theme {
    --gf-color-primary: var(--ci-accent);
    --gf-radius: var(--border-radius-md);
}

#gform_submit_button_1 {
    padding-block-start: 6px;
    padding-block-end: 6px;
    padding-inline-start: 20px;
    padding-inline-end: 6px;

    box-shadow: 4px 4px 13px 0px rgba(0, 0, 0, 0.24);
    gap: var(--spacing-xs);
    border-radius: 96px;

    &:hover {
        background-color: var(--ci-accent);
    }

    &:after {
        content: url("https://mindfacts.um-dev.de/wp-content/uploads/2026/02/chevron.svg");
        width: 24px;
        height: 24px;
        color: var(--text-accent);
        background: white;
    }
}

#gform_wrapper_1 .gform_footer {
    visibility: hidden;
    position: absolute;
    left: -100vw;
}

/* 8.2 – Inputs & Textareas */

#gform_1 .neo-input.gfield :where(.ginput_container input, .ginput_container textarea) {
    background: var(--neo-bg);
    color: var(--neo-text);
    border-radius: var(--neo-radius) !important;
    border: 1px solid var(--neo-border);
    box-shadow: inset 3px 3px 8px var(--neo-shadow-dark),
    inset -3px -3px 8px var(--neo-shadow-light);
    outline: none;
    transition: box-shadow var(--neo-dur) var(--neo-ease),
    border-color var(--neo-dur) var(--neo-ease),
    transform var(--neo-dur) var(--neo-ease);
}

#gform_1 .neo-input.gfield :where(.ginput_container input:hover, .ginput_container textarea:hover):not(:focus):not(:disabled) {
    box-shadow: inset 3px 3px 8px var(--neo-shadow-dark),
    inset -3px -3px 8px var(--neo-shadow-light),
    inset 0 0 0 1px rgba(120, 190, 255, 0.18),
    inset 0 0 10px rgba(120, 190, 255, 0.18);
}

#gform_1 .neo-input.gfield :where(.ginput_container input::placeholder, .ginput_container textarea::placeholder) {
    color: var(--neo-muted);
}

#gform_1 .neo-input.gfield :where(.ginput_container input:focus, .ginput_container textarea:focus) {
    border-color: var(--neo-border-strong);
    box-shadow: inset 2px 2px 7px var(--neo-shadow-dark),
    inset -2px -2px 7px var(--neo-shadow-light),
    0 0 0 4px var(--neo-focus);
}

#gform_1 .neo-input.gfield .ginput_container input:disabled,
#gform_1 .neo-input.gfield .ginput_container textarea:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

#gform_1 .neo-input.gfield :where(.ginput_container input[aria-invalid="true"], .ginput_container input.is-invalid, #gform_1 .ginput_container textarea[aria-invalid="true"], .ginput_container textarea.is-invalid) {
    border-color: rgba(255, 120, 120, 0.35);
    box-shadow: inset 3px 3px 8px var(--neo-shadow-dark),
    inset -3px -3px 8px var(--neo-shadow-light),
    0 0 0 4px rgba(255, 120, 120, 0.14);
}

/* 8.3 – Choice Labels */

#gform_1 .neo-label.gfield .ginput_container label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--neo-bg);
    color: var(--neo-text);
    border: 1px solid var(--neo-border);
    box-shadow: -3px -3px 8px var(--neo-shadow-light),
    3px 3px 8px var(--neo-shadow-dark);
    transform: translateY(0) scale(1);
    transition: box-shadow var(--neo-dur) var(--neo-ease),
    border-color var(--neo-dur) var(--neo-ease),
    transform var(--neo-dur) var(--neo-ease),
    filter var(--neo-dur) var(--neo-ease);
}

#gform_1 .neo-label.gfield .ginput_container label:hover {
    transform: translateY(-1px);
    border-color: var(--neo-border-strong);
    box-shadow: -4px -4px 10px rgba(255, 255, 255, 0.10),
    4px 4px 10px rgba(0, 0, 0, 0.50);
    filter: saturate(1.02);
}

#gform_1 .neo-label.gfield .ginput_container input:checked + label {
    border-color: var(--neo-border-strong);
    box-shadow: inset 3px 3px 8px var(--neo-shadow-dark),
    inset -3px -3px 8px var(--neo-shadow-light);
    transform: translateY(0) scale(0.99);
    color: var(--text-inverted) !important;
}

#gform_1 .neo-label.gfield .ginput_container input:focus-visible + label {
    border-color: var(--neo-border-strong);
    box-shadow: inset 2px 2px 7px var(--neo-shadow-dark),
    inset -2px -2px 7px var(--neo-shadow-light),
    0 0 0 4px var(--neo-focus);
}

/* 8.4 – Consent Checkbox */

#gform_1 .neo-consent.gfield .ginput_container_consent {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

#gform_1 .neo-consent.gfield .ginput_container_consent input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

#gform_1 .neo-consent.gfield .ginput_container_consent label.gfield_consent_label {
    position: relative;
    display: inline-block;
    padding-left: 34px;
    line-height: 1.35;
    margin: 0 !important;
    font-size: 0.75rem;
    color: var(--neo-text);
    cursor: pointer;
}

#gform_1 .neo-consent.gfield .ginput_container_consent label.gfield_consent_label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 22px;
    height: 22px;
    border-radius: 7px;
    background: var(--neo-bg);
    border: 1px solid var(--neo-border);
    box-shadow: -3px -3px 8px var(--neo-shadow-light),
    3px 3px 8px var(--neo-shadow-dark);
    transform: translateY(0);
    transition: box-shadow var(--neo-dur) var(--neo-ease),
    border-color var(--neo-dur) var(--neo-ease),
    transform var(--neo-dur) var(--neo-ease);
}

#gform_1 .neo-consent.gfield .ginput_container_consent label.gfield_consent_label:hover::before {
    transform: translateY(-1px);
    border-color: var(--neo-border-strong);
}

#gform_1 .neo-consent.gfield .ginput_container_consent input[type="checkbox"]:checked + label.gfield_consent_label::before {
    border-color: var(--neo-border-strong);
    box-shadow: inset 3px 3px 8px var(--neo-shadow-dark),
    inset -3px -3px 8px var(--neo-shadow-light);
    transform: translateY(0);
}

#gform_1 .neo-consent.gfield .ginput_container_consent label.gfield_consent_label::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 8px;
    width: 8px;
    height: 4px;
    border-left: 2px solid transparent;
    border-bottom: 2px solid transparent;
    transform: rotate(-45deg);
    opacity: 0;
    transition: opacity 120ms ease;
}

#gform_1 .neo-consent.gfield .ginput_container_consent input[type="checkbox"]:checked + label.gfield_consent_label::after {
    border-left-color: rgba(255, 255, 255, 0.9);
    border-bottom-color: rgba(255, 255, 255, 0.9);
    opacity: 1;
}

#gform_1 .neo-consent.gfield .ginput_container_consent input[type="checkbox"]:focus-visible + label.gfield_consent_label::before {
    border-color: var(--neo-border-strong);
    box-shadow: inset 2px 2px 7px var(--neo-shadow-dark),
    inset -2px -2px 7px var(--neo-shadow-light),
    0 0 0 4px var(--neo-focus);
}

#gform_1 .neo-consent.gfield .ginput_container_consent input[type="checkbox"][aria-invalid="true"] + label.gfield_consent_label::before {
    border-color: rgba(255, 120, 120, 0.35);
    box-shadow: -3px -3px 8px var(--neo-shadow-light),
    3px 3px 8px var(--neo-shadow-dark),
    0 0 0 4px rgba(255, 120, 120, 0.12);
}

/* 8.5 – Custom Chips */

.custom-input-fields input,
.gform_required_legend {
    display: none !important;
}

.custom-input-fields.gfield--type-choice .gfield_checkbox,
.custom-input-fields.gfield--type-choice .gfield_radio {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
}

.custom-input-fields.gfield label.gform-field-label.gform-field-label--type-inline {
    padding: 4px 12px;
    border-radius: 24px;
    margin: 0 !important;
    font-size: 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
    .neo-label.gfield .ginput_container label,
    .neo-consent.gfield .ginput_container_consent label.gfield_consent_label::before {
        transition: none;
        transform: none;
    }
}


/* =================================================================
 * 9.0 – EVENT META
 * ================================================================= */

.event-meta-list {
    list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--spacing-sm, 0.5rem);
    padding: 0;
    margin: 0;
}

.event-meta-list li {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.event-meta-list li svg {
    width: 1em;
    height: 1em;
    flex-shrink: 0;
}

.event-meta-list li .seminar-meta-text {
    white-space: nowrap;
}
