/* ==========================================================================
   SOEM DIGITAL - ELEMENTOR ISOLATION & DESIGN SYSTEM LOCK
   Prevents Elementor's Default Kit styles (#6EC1E4 cyan, etc.) from polluting
   bespoke SOEM components.
   ========================================================================== */

/* 1. Global Reset for SOEM Widgets inside Elementor */
.elementor-widget[class*="elementor-widget-soem_"],
.elementor-widget[class*="elementor-widget-soem_"] * {
    box-sizing: border-box;
}

/* 2. Color & Typography Enforcements (No Cyan Headings) */
.elementor-widget[class*="elementor-widget-soem_"] h1,
.elementor-widget[class*="elementor-widget-soem_"] h2,
.elementor-widget[class*="elementor-widget-soem_"] h3,
.elementor-widget[class*="elementor-widget-soem_"] h4,
.elementor-widget[class*="elementor-widget-soem_"] h5,
.elementor-widget[class*="elementor-widget-soem_"] h6 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    letter-spacing: -0.025em;
    font-weight: 800;
}

/* Unless dark hero, headings are dark navy #0F172A */
.elementor-widget-soem_about_hero h1,
.elementor-widget-soem_about_founder h2,
.elementor-widget-soem_about_story h2,
.elementor-widget-soem_audience_grid h2,
.elementor-widget-soem_audience_grid h3,
.elementor-widget-soem_methodology h2,
.elementor-widget-soem_methodology h3,
.elementor-widget-soem_principles h2,
.elementor-widget-soem_principles h3,
.elementor-widget-soem_service_hero h1,
.elementor-widget-soem_service_details h2,
.elementor-widget-soem_service_details h3,
.elementor-widget-soem_contact h1,
.elementor-widget-soem_contact h2,
.elementor-widget-soem_contact h3 {
    color: #0F172A !important;
}

/* 3. Dark Heroes & CTAs Typography Protection */
.elementor-widget-soem_hero h1,
.elementor-widget-soem_recruitment_hero h1,
.elementor-widget-soem_cta h3 {
    color: #FFFFFF !important;
}

/* Gradient Text Effect Lock (prevents background rectangle bug) */
.elementor-widget-soem_hero h1 span,
.gradient-text,
.hero-gradient-text {
    background: linear-gradient(135deg, #93C5FD 0%, #3B82F6 50%, #F59E0B 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    display: inline-block !important;
}

/* 4. Text & Body Copy */
.elementor-widget[class*="elementor-widget-soem_"] p,
.elementor-widget[class*="elementor-widget-soem_"] li,
.elementor-widget[class*="elementor-widget-soem_"] span,
.elementor-widget[class*="elementor-widget-soem_"] blockquote,
.elementor-widget[class*="elementor-widget-soem_"] label {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* 5. Eyebrows & Badges */
.elementor-widget[class*="elementor-widget-soem_"] .section-eyebrow {
    color: #2563EB !important;
    font-weight: 700 !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* 6. Buttons Protection inside Elementor */
.elementor-widget[class*="elementor-widget-soem_"] .btn-primary {
    background-color: #2563EB !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.35) !important;
}
.elementor-widget[class*="elementor-widget-soem_"] .btn-primary:hover {
    background-color: #1D4ED8 !important;
    transform: translateY(-1px);
}
.elementor-widget[class*="elementor-widget-soem_"] .btn-secondary-inverted {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.elementor-widget[class*="elementor-widget-soem_"] .btn-secondary-inverted:hover {
    background-color: rgba(255, 255, 255, 0.18) !important;
}

/* 7. Container Constraints (Override Elementor Section width inflation) */
.elementor-widget-soem_about_hero .container-narrow,
.elementor-widget-soem_about_founder .container-narrow,
.elementor-widget-soem_about_story .container-narrow,
.elementor-widget-soem_audience_grid .container-narrow,
.elementor-widget-soem_methodology .container-narrow,
.elementor-widget-soem_principles .container-narrow {
    max-width: 840px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
}

/* 8. Neutralize default section padding when SOEM widgets provide their own */
.elementor-section.soem-fullwidth-section > .elementor-container {
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
}
.elementor-section.soem-fullwidth-section .elementor-column-gap-default > .elementor-column > .elementor-widget-wrap {
    padding: 0 !important;
}
