/* ============================================================
   07-ELEMENTOR.CSS
   Elementor Adapter
   ============================================================ */


/* ============================================================
   CONTAINER
   ============================================================ */

body.eih .elementor-section.elementor-section-boxed
> .elementor-container,

body.eih .e-con.e-con-boxed
> .e-con-inner {
    width: 100%;
    max-width: var(--cd-container-max);
}


/* ============================================================
   HEADINGS
   ============================================================ */

body.eih .elementor-widget-heading .elementor-heading-title {
    font-family: var(--cd-font-heading);
    font-weight: var(--cd-fw-bold);
    line-height: var(--cd-lh-tight);
    color: var(--cd-color-dark);
}

body.eih .elementor-heading-title .cd-dot,
body.eih .elementor-heading-title .cd-highlight {
    color: var(--cd-color-primary);
}


/* ============================================================
   TEXT EDITOR
   ============================================================ */

body.eih .elementor-widget-text-editor {
    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-medium);
    color: var(--cd-color-text);
    line-height: var(--cd-lh-relaxed);
}


/* ============================================================
   IMAGES
   ============================================================ */

body.eih .elementor-widget-image.cd-img-rounded img,
body.eih .elementor-widget-image .cd-img-rounded {
    border-radius: var(--cd-radius-md);
}


/* ============================================================
   ICONS
   ============================================================ */

body.eih .elementor-widget-icon .elementor-icon,
body.eih .elementor-widget-icon-box .elementor-icon {
    color: var(--cd-color-primary);
    transition:
        color var(--cd-transition-base),
        transform var(--cd-transition-base);
}

body.eih .elementor-widget-icon:hover .elementor-icon {
    color: var(--cd-color-primary-soft);
    transform: scale(1.05);
}

body.eih .elementor-widget-icon-box:hover .elementor-icon {
    color: var(--cd-color-primary);
}


/* ============================================================
   ICON BOX
   ============================================================ */

body.eih .elementor-widget-icon-box .elementor-icon-box-title {
    font-family: var(--cd-font-heading);
    font-weight: var(--cd-fw-semibold);
    color: var(--cd-color-text);
}

body.eih .elementor-widget-icon-box .elementor-icon-box-description {
    font-family: var(--cd-font-body);
    color: var(--cd-color-text-muted);
    line-height: var(--cd-lh-normal);
}


/* ============================================================
   ELEMENTOR BUTTON
   Nutzt exakt das zentrale Button-System
   ============================================================ */

body.eih .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cd-space-xs);

    min-height: 48px;
    padding: 0.85em 1.75em;

    border: var(--cd-button-border);
    border-radius: var(--cd-button-radius);

    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-semibold);
    font-size: var(--cd-fs-body);
    line-height: 1.2;

    color: var(--cd-button-text);
    background: var(--cd-button-bg);

    text-decoration: none;
    box-shadow: var(--cd-button-shadow);

    transition:
        background-color var(--cd-transition-base),
        border-color var(--cd-transition-base),
        color var(--cd-transition-base),
        box-shadow var(--cd-transition-base),
        transform var(--cd-transition-fast);
}

body.eih .elementor-button:hover {
    color: var(--cd-button-text-hover);
    background: var(--cd-button-bg-hover);
    border-color: var(--cd-button-bg-hover);
}

body.eih .elementor-button:focus-visible {
    outline: none;
    box-shadow: var(--cd-focus-ring);
}

body.eih .elementor-button:active {
    transform: translateY(1px);
}


/* Elementor Varianten */

body.eih .elementor-button.cd-btn--outline {
    color: var(--cd-color-primary);
    background: transparent;
    border-color: var(--cd-color-primary);
}

body.eih .elementor-button.cd-btn--outline:hover {
    color: var(--cd-color-white);
    background: var(--cd-color-primary);
    border-color: var(--cd-color-primary);
}

body.eih .elementor-button.cd-btn--secondary {
    color: var(--cd-color-text-on-accent);
    background: var(--cd-color-accent);
    border-color: var(--cd-color-accent);
}

body.eih .elementor-button.cd-btn--secondary:hover {
    background: var(--cd-color-accent-soft);
    border-color: var(--cd-color-accent-soft);
}

body.eih .elementor-button.cd-btn--ghost {
    padding-inline: 0;
    color: var(--cd-color-primary);
    background: transparent;
    border-color: transparent;
}

body.eih .elementor-button.cd-btn--ghost:hover {
    color: var(--cd-color-primary-soft);
    background: transparent;
    border-color: transparent;
}

body.eih .elementor-button.cd-btn--on-dark {
    color: var(--cd-color-dark);
    background: var(--cd-color-white);
    border-color: var(--cd-color-white);
}

body.eih .elementor-button.cd-btn--on-dark:hover {
    color: var(--cd-color-white);
    background: transparent;
}


/* ============================================================
   ELEMENTOR FORM
   ============================================================ */

body.eih .elementor-form .elementor-field-group {
    margin-bottom: var(--cd-space-md);
}

body.eih .elementor-form .elementor-field {
    border-radius: var(--cd-radius-md);
    font-family: var(--cd-font-body);
}

body.eih .elementor-form .elementor-field-label {
    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-semibold);
    font-size: var(--cd-fs-small);
    color: var(--cd-color-text);
}

body.eih .elementor-form .elementor-button {
    border-radius: var(--cd-radius-pill);
}


/* ============================================================
   ICON LIST
   ============================================================ */

body.eih .elementor-widget-icon-list
.elementor-icon-list-item {
    margin-bottom: var(--cd-space-xs);
}

body.eih .elementor-widget-icon-list
.elementor-icon-list-icon i,

body.eih .elementor-widget-icon-list
.elementor-icon-list-icon svg {
    color: var(--cd-color-primary);
}

body.eih .elementor-widget-icon-list
.elementor-icon-list-text {
    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-medium);
    color: var(--cd-color-text);
}


/* ============================================================
   DIVIDER
   ============================================================ */

body.eih .elementor-widget-divider {
    --divider-color: var(--cd-color-accent);
    --divider-border-style: solid;
    --divider-border-width: 1.5px;
}


/* ============================================================
   PROGRESS BAR
   ============================================================ */

body.eih .elementor-progress-bar {
    background: var(--cd-color-primary);
}


/* ============================================================
   ACCORDION
   ============================================================ */

body.eih .elementor-accordion .elementor-accordion-item {
    margin-bottom: var(--cd-space-xs);

    overflow: hidden;

    background: var(--cd-color-white);
    border: 1px solid var(--cd-color-border);
    border-radius: var(--cd-radius-md);
}

body.eih .elementor-accordion .elementor-tab-title,
body.eih .elementor-toggle .elementor-toggle-title {
    padding: var(--cd-space-sm) var(--cd-space-md);

    font-family: var(--cd-font-heading);
    font-weight: var(--cd-fw-semibold);

    color: var(--cd-color-text);
    background: var(--cd-color-white);

    border: 0;

    transition:
        background-color var(--cd-transition-base),
        color var(--cd-transition-base);
}

body.eih .elementor-accordion .elementor-tab-title:hover,
body.eih .elementor-toggle .elementor-toggle-title:hover {
    color: var(--cd-color-primary);
    background: var(--cd-color-primary-tint);
}

body.eih .elementor-accordion
.elementor-tab-title.elementor-active {
    color: var(--cd-color-white);
    background: var(--cd-color-primary);
}

body.eih .elementor-accordion .elementor-tab-content,
body.eih .elementor-toggle .elementor-tab-content {
    padding: var(--cd-space-md);

    color: var(--cd-color-text);
    background: var(--cd-color-white);

    line-height: var(--cd-lh-relaxed);

    border-top: 1px solid var(--cd-color-border);
}


/* ============================================================
   HEADER
   ============================================================ */

body.eih .site-header,
body.eih header.elementor-location-header,
body.eih .elementor-location-header {
    background: var(--cd-color-header-bg);
    border-bottom: 1px solid var(--cd-color-header-border);
    box-shadow: var(--cd-shadow-xs);
}

body.eih .site-branding img,
body.eih .custom-logo,
body.eih .elementor-widget-site-logo img {
    max-height: 60px;
    width: auto;
}

body.eih .main-navigation,
body.eih .elementor-nav-menu--main {
    font-family: var(--cd-font-body);
    font-weight: var(--cd-fw-semibold);
    font-size: var(--cd-fs-small);
}

body.eih .main-navigation a,
body.eih .elementor-nav-menu .elementor-item {
    display: inline-flex;
    align-items: center;

    min-height: 44px;
    padding-block: 10px;

    color: var(--cd-color-menu);
    border-bottom: 2px solid transparent;

    transition:
        color var(--cd-transition-base),
        border-color var(--cd-transition-base);
}

body.eih .main-navigation a:hover,
body.eih .elementor-nav-menu .elementor-item:hover {
    color: var(--cd-color-menu-hover);
}

body.eih .elementor-nav-menu
.elementor-item.elementor-item-active {
    color: var(--cd-color-menu-active);
}

body.eih .elementor-menu-toggle {
    color: var(--cd-color-primary);
}


/* ============================================================
   FOOTER
   ============================================================ */

body.eih .site-footer,
body.eih .elementor-location-footer {
    color: var(--cd-color-footer-text);
    background: var(--cd-color-footer-bg);
}

body.eih .elementor-location-footer a {
    color: var(--cd-color-footer-link);
}

body.eih .elementor-location-footer a:hover {
    color: var(--cd-color-footer-link-hover);
}

body.eih .elementor-location-footer
:where(p, li, span) {
    color: inherit;
}

body.eih .elementor-location-footer
:where(h1,h2,h3,h4,h5,h6) {
    color: var(--cd-color-footer-text);
}