/*
 * Under2 Global — Elementor Widget Overrides
 * File: /elementor-css/elementor-overrides.css
 *
 * These rules handle quirks specific to Elementor's generated markup.
 * Add this file at: your-child-theme/elementor-css/elementor-overrides.css
 */


/* ------------------------------------------------------------------
   ELEMENTOR CORE — Background & containers
   ------------------------------------------------------------------ */
.elementor-section-wrap,
.e-con,
.e-con-inner,
.elementor-element,
.elementor-widget-container {
    background-color: transparent;
}

/* Override Elementor's default white page background */
.elementor-page .elementor,
.elementor-page .elementor-section {
    background-color: #0d1b2e;
}

/* Full-width sections */
.elementor-section.elementor-section-full_width > .elementor-container {
    max-width: 100%;
}

/* Inner section / column padding */
.elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
    padding: 0;
}


/* ------------------------------------------------------------------
   ELEMENTOR HEADING WIDGET
   ------------------------------------------------------------------ */
.elementor-widget-heading .elementor-heading-title {
    font-family: 'Sora', sans-serif !important;
    color: #ffffff !important;
}

/* Size variants */
.elementor-widget-heading .elementor-size-xxl { font-size: 44px !important; }
.elementor-widget-heading .elementor-size-xl  { font-size: 34px !important; }
.elementor-widget-heading .elementor-size-large { font-size: 30px !important; }
.elementor-widget-heading .elementor-size-medium { font-size: 22px !important; }
.elementor-widget-heading .elementor-size-small { font-size: 14px !important; }

/* Eyebrow / label heading (add CSS class "section-label" in Elementor) */
.elementor-widget-heading.section-label .elementor-heading-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #4ecb8b !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* Green accent text (wrap word in <span class="accent">) */
.elementor-heading-title .accent {
    color: #4ecb8b !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR TEXT EDITOR WIDGET
   ------------------------------------------------------------------ */
.elementor-widget-text-editor .elementor-widget-container p {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 300;
    color: rgba(232,237,245,0.55);
    line-height: 1.7;
}

/* Hero subtext (add CSS class "hero-text") */
.elementor-widget-text-editor.hero-text .elementor-widget-container p {
    font-size: 16px !important;
    color: rgba(232,237,245,0.65) !important;
    max-width: 540px;
}


/* ------------------------------------------------------------------
   ELEMENTOR ICON BOX WIDGET
   ------------------------------------------------------------------ */
.elementor-widget-icon-box .elementor-widget-container {
    background-color: #0f2030 !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 12px !important;
    padding: 32px 28px !important;
    transition: background-color 0.2s !important;
    height: 100%;
}
.elementor-widget-icon-box .elementor-widget-container:hover {
    background-color: #122538 !important;
}

.elementor-icon-box-icon .elementor-icon {
    background: rgba(46,139,92,0.15) !important;
    border-radius: 10px !important;
    width: 48px !important;
    height: 48px !important;
    line-height: 48px !important;
    color: #4ecb8b !important;
    font-size: 20px !important;
    margin-bottom: 18px !important;
}

.elementor-icon-box-title,
.elementor-icon-box-title a {
    font-family: 'Sora', sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-bottom: 8px !important;
}

.elementor-icon-box-description {
    font-size: 13px !important;
    color: rgba(232,237,245,0.5) !important;
    line-height: 1.6 !important;
    font-weight: 300 !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR IMAGE BOX WIDGET
   ------------------------------------------------------------------ */
.elementor-widget-image-box .elementor-widget-container {
    background-color: #0f2030;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    padding: 28px 24px;
    transition: border-color 0.2s, transform 0.2s;
}
.elementor-widget-image-box .elementor-widget-container:hover {
    border-color: rgba(46,139,92,0.4);
    transform: translateY(-2px);
}

.elementor-image-box-title {
    font-family: 'Sora', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
}

.elementor-image-box-description {
    font-size: 13px !important;
    color: rgba(232,237,245,0.5) !important;
    font-weight: 300 !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR BUTTON WIDGET
   ------------------------------------------------------------------ */
/* Primary */
.elementor-widget-button .elementor-button {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 7px !important;
    padding: 13px 28px !important;
    letter-spacing: 0 !important;
    transition: background-color 0.2s, transform 0.2s !important;
}

.elementor-widget-button .elementor-button-primary,
.elementor-widget-button .elementor-button[style*="background-color"] {
    background-color: #2e8b5c !important;
    color: #ffffff !important;
    border: none !important;
}
.elementor-widget-button .elementor-button-primary:hover {
    background-color: #25734e !important;
    transform: translateY(-1px);
}

/* Ghost / outline (add custom CSS class "btn-outline" to widget) */
.elementor-widget-button.btn-outline .elementor-button {
    background-color: transparent !important;
    color: #e8edf5 !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}
.elementor-widget-button.btn-outline .elementor-button:hover {
    border-color: rgba(255,255,255,0.4) !important;
    background-color: rgba(255,255,255,0.05) !important;
    transform: none;
}


/* ------------------------------------------------------------------
   ELEMENTOR POSTS / PORTFOLIO WIDGET (used for Solutions cards)
   ------------------------------------------------------------------ */
.elementor-posts-container .elementor-post {
    background-color: #0f2030 !important;
    border: 1px solid rgba(255,255,255,0.07) !important;
    border-radius: 10px !important;
    padding: 28px 24px !important;
    transition: border-color 0.2s, transform 0.2s !important;
}
.elementor-posts-container .elementor-post:hover {
    border-color: rgba(46,139,92,0.4) !important;
    transform: translateY(-2px);
}

.elementor-post__title a {
    font-family: 'Sora', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
}

.elementor-post__excerpt p {
    font-size: 13px !important;
    color: rgba(232,237,245,0.5) !important;
    font-weight: 300 !important;
}

.elementor-post__read-more {
    font-size: 12px !important;
    color: #4ecb8b !important;
    font-weight: 500 !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR DIVIDER WIDGET
   ------------------------------------------------------------------ */
.elementor-divider-separator {
    border-color: rgba(255,255,255,0.07) !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR FORM WIDGET
   ------------------------------------------------------------------ */
.elementor-form .elementor-field-group .elementor-field {
    background-color: #0f2030 !important;
    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 8px !important;
    color: #e8edf5 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    padding: 12px 16px !important;
    transition: border-color 0.2s !important;
}
.elementor-form .elementor-field-group .elementor-field:focus {
    border-color: #2e8b5c !important;
    outline: none !important;
}
.elementor-form .elementor-field-label {
    font-size: 13px !important;
    color: rgba(232,237,245,0.6) !important;
    font-weight: 400 !important;
}
.elementor-form .elementor-button {
    background-color: #2e8b5c !important;
    color: #ffffff !important;
    font-weight: 500 !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR SPACER WIDGET (force correct spacing in dark sections)
   ------------------------------------------------------------------ */
.elementor-widget-spacer {
    background-color: transparent !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR SOCIAL ICONS WIDGET
   ------------------------------------------------------------------ */
.elementor-social-icon {
    background-color: transparent !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 6px !important;
    color: rgba(232,237,245,0.5) !important;
    width: 32px !important;
    height: 32px !important;
    transition: border-color 0.2s !important;
}
.elementor-social-icon:hover {
    border-color: rgba(78,203,139,0.5) !important;
    background-color: transparent !important;
}
.elementor-social-icon i {
    font-size: 14px !important;
    color: rgba(232,237,245,0.5) !important;
}


/* ------------------------------------------------------------------
   ELEMENTOR SECTION — Hero (add CSS class "hero-section")
   ------------------------------------------------------------------ */
.elementor-section.hero-section {
    background-color: #0d1b2e !important;
    background-image:
        radial-gradient(circle at 70% 40%, rgba(46,139,92,0.12) 0%, transparent 55%),
        linear-gradient(160deg, #0d1b2e 0%, #0f2540 50%, #0a1e18 100%) !important;
}

/* CTA Banner (add CSS class "cta-banner") */
.elementor-section.cta-banner {
    background: linear-gradient(120deg, #0a1e18, #0d2e1e) !important;
    border-top: 1px solid rgba(46,139,92,0.2) !important;
    border-bottom: 1px solid rgba(46,139,92,0.2) !important;
}

/* Alternate mid-navy (add CSS class "bg-mid") */
.elementor-section.bg-mid {
    background-color: #0f2030 !important;
}

/* Deep footer (add CSS class "bg-deep") */
.elementor-section.bg-deep {
    background-color: #080f1a !important;
    border-top: 1px solid rgba(255,255,255,0.07) !important;
}


/* ------------------------------------------------------------------
   MISC UTILITY CLASSES
   (Apply these as "Custom CSS Class" in Elementor's Advanced tab)
   ------------------------------------------------------------------ */

/* Green accent text */
.text-green { color: #4ecb8b !important; }

/* Muted text */
.text-muted { color: rgba(232,237,245,0.55) !important; font-weight: 300 !important; }

/* Uppercase eyebrow label */
.eyebrow {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #4ecb8b !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* Full-height section */
.full-height { min-height: 100vh; display: flex; align-items: center; }

/* Bordered card wrapper */
.card-border {
    background-color: #0f2030;
    border: 1px solid rgba(255,255,255,0.07);
    border-radius: 12px;
    padding: 28px 24px;
}

/* Green dot list item prefix (for partner list) */
.green-dot-list ul {
    list-style: none !important;
    padding: 0 !important;
}
.green-dot-list ul li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-size: 13px;
    color: rgba(232,237,245,0.6);
}
.green-dot-list ul li::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2e8b5c;
    flex-shrink: 0;
}
