/* =========================================================================
   FAISAL PREMIUM — PAGE STABILITY LAYER (Elementor-proof, loads LAST)
   Root-cause fix for recurring corruption after Elementor edit/publish:
   - Elementor wraps our seeded HTML in .elementor-widget-container / e-con
     containers that impose their own width, padding & background.
   - On publish, Elementor regenerates per-page CSS that can re-inset/shrink
     our full-bleed bands and let container backgrounds show through.
   This layer re-asserts the intended layout with high (but SAFE, scoped)
   specificity so it always wins — and it is scoped to .faisal-page-content
   so it can NEVER affect other pages. Uses no fragile !important spam.
   ========================================================================= */

/* ---- Neutralize Elementor container constraints around our page content ----
   The Text Editor widget + its container must not add width limits, padding,
   or backgrounds that break our full-width bands. Scoped to widgets that
   actually contain our design wrapper, so other widgets are untouched. */
.elementor-widget-text-editor:has(.faisal-page-content) > .elementor-widget-container{
  padding:0;margin:0;background:transparent;max-width:none;
}
.elementor-element:has(> .elementor-widget-container > .faisal-page-content),
.faisal-page-content{max-width:none;width:100%;margin:0;background:transparent}

/* ---- FULL-BROWSER-WIDTH bands (edge to edge) — survives any boxed container.
   Every top-level section inside our page content breaks out to 100vw. The
   inner .container re-centers the readable content. overflow-x:clip on the
   wrapper + body prevents horizontal scroll and keeps sticky headers working. */
.faisal-page-content{overflow-x:clip}
.faisal-page-content section{
  position:relative;width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  box-sizing:border-box;
}
.faisal-page-content section > .container{
  width:100%;max-width:var(--container,75rem);margin-inline:auto;padding-inline:1.25rem;box-sizing:border-box;
}

/* ---- ACADEMY: hero dark, everything below WHITE (beats Elementor bg) ---- */
.faisal-page-content #academy-series,
.faisal-page-content .academy-why{background:#ffffff}
.faisal-page-content .faisal-academy-hero-v2{
  background:
    radial-gradient(120% 70% at 100% 0%, rgba(201,168,124,.14), transparent 60%),
    linear-gradient(165deg,#061410 0%,#0D2518 60%,#0F1E16 100%);
}

/* ---- SERVICES: hero as designed, content bands WHITE, full width ---- */
.faisal-page-content .services-hero{ /* keep whatever the services hero sets */ }
.faisal-page-content .section:not(.section--alt):not(.faisal-academy-hero-v2):not(.services-hero){background:#ffffff}

/* ---- Guard the whole document against horizontal overflow from breakouts ---- */
html body{overflow-x:clip}
