/*!
 * Nourish Ingredients Theme — Elementor Compatibility
 *
 * @package NourishIngredients
 */

/* Elementor container width */
.elementor-section.elementor-section-boxed > .elementor-container {
    max-width: var(--ni-container);
}

/* Elementor widgets inherit theme typography by default */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title {
    font-family: var(--ni-font-heading);
    color: var(--ni-text);
}

.elementor-widget-heading .elementor-heading-title {
    line-height: 1.3;
}

/* Elementor button — match theme primary */
.elementor-widget-button .elementor-button,
.elementor-button.elementor-size-md {
    background-color: var(--ni-accent);
    border-radius: var(--ni-radius-sm);
    font-weight: 600;
    padding: var(--ni-space-3) var(--ni-space-6);
}
.elementor-widget-button .elementor-button:hover,
.elementor-button.elementor-size-md:hover {
    background-color: var(--ni-accent-dark);
}

/* Elementor section padding defaults */
.elementor-section {
    padding: var(--ni-space-12) 0;
}

/* Elementor form styling */
.elementor-form input:not([type="submit"]),
.elementor-form textarea,
.elementor-form select {
    border-radius: var(--ni-radius-sm);
    border-color: var(--ni-border);
    padding: var(--ni-space-3) var(--ni-space-4);
}
.elementor-form input:focus,
.elementor-form textarea:focus {
    border-color: var(--ni-primary);
}

/* Make single Elementor pages feel native to theme */
.elementor-page.elementor-default {
    --ni-container: 1280px;
}

/* Elementor Pro Theme Builder header/footer padding reset */
header.elementor-location-header,
footer.elementor-location-footer {
    z-index: 99;
}

/* When Elementor is rendering the canvas template */
.elementor-template-canvas header.ni-header,
.elementor-template-canvas footer.ni-footer {
    display: none;
}
