/* ═══════════════════════════════════════════════════════
   BLARE × Elementor FREE — Compatibility Overrides
   ═══════════════════════════════════════════════════════ */

/* Reset Elementor default widget spacing */
.elementor-widget:not(:last-child) {
    margin-bottom: 0;
}

/* Elementor sections should not add their own padding */
.elementor-section {
    padding: 0;
}

/* When we add class "section" to an Elementor section, restore theme padding */
.elementor-section.section {
    padding: 100px 0;
}

/* Page Hero section */
.elementor-section.page-hero {
    background: var(--navy);
    padding: 72px 0 68px;
    position: relative;
    overflow: hidden;
}
.elementor-section.page-hero::after {
    content: '';
    position: absolute;
    right: -80px;
    bottom: -60px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(93,184,50,.1);
    pointer-events: none;
}

/* CTA Band section */
.elementor-section.cta-band {
    background: var(--navy);
    padding: 100px 0;
    position: relative;
    overflow: hidden;
}
.elementor-section.cta-band::before {
    content: '';
    position: absolute;
    right: -100px;
    top: -100px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(93,184,50,.1) 0%,transparent 65%);
}

/* Container width to match .wrap */
.elementor-section.has-wrap > .elementor-container {
    max-width: 1200px;
    padding: 0 52px;
}

/* Elementor heading widgets should inherit theme fonts */
.elementor-widget-heading .elementor-heading-title {
    font-family: var(--ff-display);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .02em;
    line-height: .95;
    color: var(--navy);
}

/* Eyebrow class on heading widgets */
.elementor-widget-heading.eyebrow-widget .elementor-heading-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .22em;
    color: var(--green);
    margin-bottom: 16px;
}

/* Ensure shortcode outputs have no extra wrapper spacing */
.elementor-widget-shortcode .elementor-shortcode {
    display: block;
}

/* Fix for Elementor column gaps in contact layout */
.elementor-section.contact-section .elementor-container {
    max-width: 1200px;
    padding: 0 52px;
}

/* Home hero: full-viewport-width — override Elementor's container max-width */
.elementor-section.hero-wrap > .elementor-container {
    max-width: none !important;
    padding: 0 !important;
    width: 100% !important;
}
.elementor-section.hero-wrap > .elementor-container > .elementor-column {
    padding: 0 !important;
}
.elementor-section.hero-wrap > .elementor-container > .elementor-column > .elementor-column-wrap,
.elementor-section.hero-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding: 0 !important;
}

/* Responsive overrides for Elementor */
@media (max-width: 1024px) {
    .elementor-section.has-wrap > .elementor-container {
        padding: 0 28px;
    }
}
@media (max-width: 768px) {
    .elementor-section.has-wrap > .elementor-container {
        padding: 0 20px;
    }
    .elementor-section.section {
        padding: 64px 0;
    }
}
