/* BP Info Strip — FINAL cascade authority.
 *
 * Loads LAST (after every per-widget stylesheet and every
 * post-*.css generated by Elementor). Uses double-class
 * specificity + !important on every visual property so
 * variant-specific classes like __mission / __strip /
 * __note / __callout cannot override the shared shell.
 *
 * Visual source of truth: .bp-about-root-technology__strip
 * (the canonical reference strip). All normalized info
 * strips must match that shell pixel-for-pixel.
 */

.bp-info-strip.bp-info-strip {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    inline-size: 100% !important;
    min-block-size: 72px !important;

    padding: 16px 22px !important;
    gap: 18px !important;

    background: #F4ECDD !important;
    background-color: #F4ECDD !important;

    border: 1px solid #D8C47C !important;
    border-radius: 18px !important;

    box-shadow: none !important;

    text-align: left !important;
    box-sizing: border-box !important;

    margin: 0;
    max-inline-size: 100%;
    color: #1F2A1F;
    font-family: 'Manrope', system-ui, sans-serif;
}

/* Stronger override for page/grouped card rules.
 * Elements like `.bp-awards-recognition__mission` that live inside
 * `.elementor-17` and also carry `.bp-info-strip` need higher
 * specificity so the shared strip shell beats the grouped About
 * card rule (`.elementor-17 .bp-*__mission`).
 * This selector intentionally outranks:
 *   `.elementor-17 .bp-awards-recognition__mission { background-color:… }`
 * by prepending the `.elementor` ancestor and keeping the doubled
 * `.bp-info-strip.bp-info-strip` chain. */
.elementor .bp-info-strip.bp-info-strip {
    background: #F4ECDD !important;
    background-color: #F4ECDD !important;
    border: 1px solid #D8C47C !important;
    border-radius: 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    inline-size: 100% !important;
    min-block-size: 72px !important;

    padding: 16px 22px !important;
    gap: 18px !important;

    box-shadow: none !important;
    text-align: left !important;

    margin-block-start: 18px !important;
}

/* Awards mission: explicitly pin to the canonical 1140px content
 * width instead of filling a narrower parent. Overrides the
 * generic `inline-size: 100%` above for this single variant. */
.elementor .bp-awards-recognition__mission.bp-info-strip.bp-info-strip {
    inline-size: 1140px !important;
    max-inline-size: 1140px !important;
    margin-inline-start: auto !important;
    margin-inline-end: auto !important;
    margin-block-start: 18px !important;
}

/* Global Presence mission / Commitments mission: strip out any
 * inline / Elementor-generated widget overrides that try to set
 * custom top-margin, zero border-radius, or zero padding.
 * These force the canonical strip shell back on the About page
 * (elementor-17) widget instance where inline rules were
 * injecting margin-block-start: 28px / border-radius: 0 /
 * padding: 0. */
.elementor .bp-global-presence__mission.bp-info-strip.bp-info-strip,
.elementor-17 .elementor-element.elementor-element-8b9e8ed .bp-global-presence__mission,
.elementor .bp-commitments__mission.bp-info-strip.bp-info-strip {
    margin-block-start: 0 !important;
    border-radius: 18px !important;
    padding: 16px 22px !important;
}

.bp-info-strip.bp-info-strip > .bp-info-strip__icon {
    flex: 0 0 36px !important;

    inline-size: 36px !important;
    block-size: 36px !important;
    min-inline-size: 36px !important;
    min-block-size: 36px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 50% !important;

    background: #374F37 !important;
    background-color: #374F37 !important;
    color: #FBF6EC !important;
}

.bp-info-strip.bp-info-strip > .bp-info-strip__icon svg {
    display: block !important;
    inline-size: 18px !important;
    block-size: 18px !important;
    max-inline-size: 18px !important;
    max-block-size: 18px !important;

    margin: 0 !important;

    color: #FBF6EC !important;
    fill: #FBF6EC !important;
    stroke: #FBF6EC !important;
}

.bp-info-strip.bp-info-strip > .bp-info-strip__content {
    flex: 1 1 auto !important;
    min-inline-size: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

.bp-info-strip.bp-info-strip > .bp-info-strip__text,
.bp-info-strip.bp-info-strip > .bp-info-strip__content > .bp-info-strip__text {
    flex: 1 1 auto !important;
    min-inline-size: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-family: 'Manrope', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;

    color: #1F2A1F !important;

    text-align: left !important;
    text-transform: none !important;
}

.bp-info-strip.bp-info-strip > .bp-info-strip__diamond {
    flex: 0 0 7px !important;

    inline-size: 7px !important;
    block-size: 7px !important;

    margin: 0 !important;
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;

    background: #B8B25A !important;
    background-color: #B8B25A !important;
    border: 0 !important;
    border-radius: 0 !important;

    transform: rotate(45deg) !important;
}

/* Variant neutralization: the three __mission classes used by
 * Awards / Global Presence / Commitments must not add any
 * pseudo-element decoration, background or border that alters
 * the shared .bp-info-strip shell. Pseudo-elements are only
 * neutralized when the same element also carries .bp-info-strip
 * so they can still be used on non-strip containers elsewhere. */

.bp-awards-recognition__mission.bp-info-strip::before,
.bp-awards-recognition__mission.bp-info-strip::after,
.bp-global-presence__mission.bp-info-strip::before,
.bp-global-presence__mission.bp-info-strip::after,
.bp-commitments__mission.bp-info-strip::before,
.bp-commitments__mission.bp-info-strip::after {
    content: none !important;
    display: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    inset: auto !important;
    position: static !important;
}

/* Mobile: canonical compact strip (<=768px).
 * Diamond removed; icon/text/ padding tighten slightly. */
@media (max-width: 768px) {
    .bp-info-strip.bp-info-strip {
        padding: 14px 18px !important;
        gap: 12px !important;
    }

    .bp-info-strip.bp-info-strip > .bp-info-strip__icon {
        flex: 0 0 30px !important;
        inline-size: 30px !important;
        block-size: 30px !important;
        min-inline-size: 30px !important;
        min-block-size: 30px !important;
    }

    .bp-info-strip.bp-info-strip > .bp-info-strip__icon svg {
        inline-size: 16px !important;
        block-size: 16px !important;
        max-inline-size: 16px !important;
        max-block-size: 16px !important;
    }

    .bp-info-strip.bp-info-strip > .bp-info-strip__text,
    .bp-info-strip.bp-info-strip > .bp-info-strip__content > .bp-info-strip__text {
        font-size: 14px !important;
        text-align: left !important;
    }

    .bp-info-strip.bp-info-strip > .bp-info-strip__diamond {
        display: none !important;
    }
}
