/*
 * Elementor normalization.
 * Neve Child controls typography and colors.
 */

body.vdm-site .elementor {
    color: var(--vdm-color-ink);
    font-family: var(--vdm-font-body);
}

/* Text Editor widget */

body.vdm-site .elementor-widget-text-editor,
body.vdm-site .elementor-widget-text-editor > .elementor-widget-container,
body.vdm-site .elementor-widget-text-editor p,
body.vdm-site .elementor-widget-text-editor li {
    color: var(--vdm-color-ink) !important;
    font-family: var(--vdm-font-body) !important;
    font-size: var(--vdm-font-size-base) !important;
    font-weight: 400 !important;
    line-height: var(--vdm-line-height-body) !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

body.vdm-site .elementor-widget-text-editor p {
    margin-top: 0 !important;
    margin-bottom: var(--vdm-space-3) !important;
}

body.vdm-site .elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

body.vdm-site .elementor-widget-text-editor ul,
body.vdm-site .elementor-widget-text-editor ol {
    margin-block: 0 var(--vdm-space-4) !important;
    padding-inline-start: 1.25em !important;
}

body.vdm-site .elementor-widget-text-editor li {
    margin-bottom: var(--vdm-space-2) !important;
}

/* Heading widget */

body.vdm-site .elementor-widget-heading .elementor-heading-title {
    margin: 0 !important;
    color: var(--vdm-color-navy) !important;
    font-family: var(--vdm-font-display) !important;
    font-weight: 600 !important;
    line-height: var(--vdm-line-height-heading) !important;
    letter-spacing: -0.015em !important;
    text-transform: none !important;
}

body.vdm-site .elementor-widget-heading h1.elementor-heading-title {
    font-size: var(--vdm-font-size-h1) !important;
    line-height: var(--vdm-line-height-tight) !important;
}

body.vdm-site .elementor-widget-heading h2.elementor-heading-title {
    font-size: var(--vdm-font-size-h2) !important;
}

body.vdm-site .elementor-widget-heading h3.elementor-heading-title {
    font-size: var(--vdm-font-size-h3) !important;
}

/* Theme-controlled text variants */

body.vdm-site .elementor-widget-text-editor.vdm-section-intro,
body.vdm-site .elementor-widget-text-editor.vdm-section-intro p {
    color: var(--vdm-color-muted) !important;
    font-size: var(--vdm-font-size-md) !important;
}

body.vdm-site .elementor-widget-text-editor.vdm-eyebrow,
body.vdm-site .elementor-widget-text-editor.vdm-eyebrow p {
    color: var(--vdm-color-brass-dark) !important;
    font-size: var(--vdm-font-size-xs) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

body.vdm-site .vdm-section--dark .elementor-heading-title,
body.vdm-site .vdm-section--dark .elementor-widget-text-editor,
body.vdm-site .vdm-section--dark .elementor-widget-text-editor p {
    color: var(--vdm-color-surface) !important;
}

body.vdm-site .vdm-section--dark .vdm-eyebrow,
body.vdm-site .vdm-section--dark .vdm-eyebrow p {
    color: var(--vdm-color-brass) !important;
}

/* VDM layout classes */

/*
 * Elementor containers use custom properties such as --width internally.
 * Defining only the CSS width property is not always sufficient, especially
 * when a container was imported with content_width set to full. The VDM
 * classes therefore set both Elementor variables and standard dimensions.
 */
body.vdm-site .elementor-element.vdm-section {
    --width: 100%;
    --max-width: none;

    width: 100% !important;
    max-width: none !important;
    padding-inline: 0;
    align-items: center;
}

body.vdm-site .elementor-element.vdm-section--compact {
    padding-block: clamp(36px, 5vw, 64px);
}

body.vdm-site .elementor-element.vdm-container {
    --vdm-container-width: var(--vdm-width-content);
    --width: min(
        calc(100% - (2 * var(--vdm-page-gutter))),
        var(--vdm-container-width)
    );
    --max-width: var(--vdm-container-width);
    --flex-grow: 0;
    --flex-shrink: 1;

    width: min(
        calc(100% - (2 * var(--vdm-page-gutter))),
        var(--vdm-container-width)
    ) !important;
    max-width: var(--vdm-container-width) !important;
    flex: 0 1 auto !important;
    align-self: center;
    margin-inline: auto !important;
}

body.vdm-site .elementor-element.vdm-container--wide {
    --vdm-container-width: var(--vdm-width-catalog);
}

body.vdm-site .elementor-element.vdm-container--reading {
    --vdm-container-width: var(--vdm-width-reading);
}
