/*
Theme Name: Shafa Health Rehab Center
Theme URI: https://shafahealthrehab.com/
Author: Shafa Health Rehab Center
Description: Fully editable WordPress theme converted from the supplied Shafa Health Rehab Center build.
Version: 2.0.0
Text Domain: shafa-health-rehab
*/

/* WordPress primary navigation */
.shafa-main-nav { align-items:center; }
.shafa-menu-list {
  display:flex;
  align-items:center;
  gap:.15rem;
  margin:0;
  padding:0;
  list-style:none;
}
.shafa-menu-list li { list-style:none; margin:0; padding:0; }
.shafa-menu-list li a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.55rem .85rem;
  border-radius:.45rem;
  color:#263b32;
  text-decoration:none;
  font-size:.9rem;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
  transition:background-color .2s ease, color .2s ease, transform .2s ease;
}
.shafa-menu-list li a:hover,
.shafa-menu-list li.current-menu-item > a,
.shafa-menu-list li.current_page_item > a {
  background:#005b36;
  color:#fff;
}
.shafa-consultation-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:.65rem;
  min-height:40px;
  padding:.55rem 1rem;
  border-radius:.45rem;
  background:#e4b529;
  color:#111;
  text-decoration:none;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap;
  transition:transform .2s ease, filter .2s ease;
}
.shafa-consultation-btn:hover { color:#111; filter:brightness(.96); transform:translateY(-1px); }

/* The original build uses a desktop nav at xl and a compact mobile button below it. */
@media (max-width:1279px) {
  .shafa-main-nav { display:none !important; }
}

/* Shafa WordPress header/navigation override */
.shafa-header { width:100%; }
.shafa-header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  min-height:82px;
}
.shafa-brand {
  display:flex;
  align-items:center;
  gap:.75rem;
  flex:0 0 auto;
  color:#005b36;
  text-decoration:none !important;
}
.shafa-logo {
  width:56px !important;
  height:56px !important;
  border-radius:9999px;
  object-fit:contain;
  background:#fff;
}
.shafa-brand-text { display:flex; flex-direction:column; line-height:1.05; }
.shafa-brand-name {
  color:#005b36;
  font-family:inherit;
  font-size:1.05rem;
  font-weight:700;
  white-space:nowrap;
}
.shafa-brand-city {
  margin-top:.3rem;
  color:#d6a918;
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.shafa-main-nav {
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:.2rem;
  margin-left:auto;
}
.shafa-menu-list,
.shafa-menu-list ul {
  display:flex !important;
  align-items:center;
  gap:.15rem;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.shafa-menu-list li {
  display:block;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.shafa-menu-list li::before,
.shafa-menu-list li::after { content:none !important; }
.shafa-menu-list li a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.55rem .78rem;
  border-radius:.45rem;
  color:#263b32 !important;
  background:transparent;
  text-decoration:none !important;
  font-size:.88rem;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
  transition:background-color .2s ease,color .2s ease;
}
.shafa-menu-list li a:hover,
.shafa-menu-list li.current-menu-item > a,
.shafa-menu-list li.current_page_item > a,
.shafa-menu-list li.current-menu-parent > a {
  background:#005b36 !important;
  color:#fff !important;
}
.shafa-consultation-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin-left:.55rem;
  padding:.55rem 1rem;
  border-radius:.45rem;
  background:#e4b529 !important;
  color:#111 !important;
  text-decoration:none !important;
  font-size:.88rem;
  font-weight:700;
  white-space:nowrap;
}
.shafa-mobile-toggle {
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:0;
  border-radius:.5rem;
  background:transparent;
  color:#005b36;
  cursor:pointer;
}
.shafa-mobile-menu {
  border-top:1px solid rgba(0,0,0,.08);
  background:#fff;
  padding:.5rem 0 1rem;
}
.shafa-mobile-list {
  display:flex !important;
  flex-direction:column;
  gap:.15rem;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.shafa-mobile-list li {
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
.shafa-mobile-list li a {
  display:block;
  padding:.8rem 1rem;
  border-radius:.4rem;
  color:#263b32 !important;
  text-decoration:none !important;
  font-weight:600;
}
.shafa-mobile-list li a:hover,
.shafa-mobile-list li.current-menu-item > a,
.shafa-mobile-list li.current_page_item > a {
  background:#005b36 !important;
  color:#fff !important;
}
.shafa-mobile-consultation {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:.5rem;
  padding:.8rem 1rem;
  border-radius:.45rem;
  background:#e4b529 !important;
  color:#111 !important;
  text-decoration:none !important;
  font-weight:700;
}

@media (max-width:1279px) {
  .shafa-main-nav { display:none !important; }
  .shafa-mobile-toggle { display:inline-flex !important; }
}
@media (max-width:640px) {
  .shafa-header-inner { min-height:72px; padding-top:.6rem; padding-bottom:.6rem; }
  .shafa-logo { width:48px !important; height:48px !important; }
  .shafa-brand-name { font-size:.9rem; }
  .shafa-brand-city { font-size:.6rem; }
}

/* Elementor integration */
.shafa-elementor-hero {
  min-height: 650px;
  background-position:center;
  background-size:cover;
  display:flex;
  align-items:center;
  color:#fff;
}
.shafa-elementor-hero-inner { padding-top:5rem; padding-bottom:5rem; }
.shafa-elementor-hero h1 {
  max-width:850px;
  margin:1rem 0;
  color:#fff;
  font-size:clamp(2.5rem,5vw,5rem);
  line-height:1.05;
  font-weight:700;
}
.shafa-elementor-hero p {
  max-width:760px;
  margin:0 0 2rem;
  color:#fff;
  font-size:1.1rem;
  line-height:1.7;
}
.shafa-elementor-eyebrow {
  display:inline-flex;
  padding:.5rem .8rem;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.08em;
}

/* Shafa Elementor Editable Sections */
.shafa-editable-section { width:100%; background:#fff; color:#24352e; }
.shafa-bg-soft { background:#eef7f1; }
.shafa-bg-dark { background:#005b36; color:#fff; }
.shafa-bg-gold { background:#e4b529; color:#111; }
.shafa-bg-image { min-height:420px; background-size:cover; background-position:center; color:#fff; }
.shafa-pad-small .shafa-section-inner { padding:3rem 1.25rem; }
.shafa-pad-medium .shafa-section-inner { padding:5rem 1.25rem; }
.shafa-pad-large .shafa-section-inner { padding:7rem 1.25rem; }
.shafa-section-inner { max-width:1200px; margin:0 auto; }
.shafa-section-inner h2 { margin:0 0 1rem; color:inherit; font-size:clamp(2rem,4vw,3.2rem); line-height:1.1; font-weight:700; }
.shafa-description { max-width:800px; margin:0 0 1.5rem; font-size:1rem; line-height:1.75; }
.shafa-centered { text-align:center; margin:0 auto; max-width:900px; }
.shafa-eyebrow { display:inline-block; margin-bottom:1rem; padding:.45rem .75rem; border:1px solid rgba(0,91,54,.25); border-radius:999px; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.shafa-bg-dark .shafa-eyebrow,.shafa-bg-image .shafa-eyebrow { border-color:rgba(255,255,255,.4); }
.shafa-editable-btn { display:inline-flex; align-items:center; justify-content:center; margin-top:.75rem; padding:.75rem 1.2rem; border-radius:.45rem; background:#e4b529; color:#111 !important; text-decoration:none !important; font-weight:700; }
.shafa-two-col { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.shafa-main-image { width:100%; max-height:520px; object-fit:cover; border-radius:1rem; }
.shafa-item-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; margin-top:2rem; }
.shafa-gallery-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.shafa-item-card { display:block; padding:1.25rem; border:1px solid rgba(0,0,0,.08); border-radius:.8rem; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.06); color:#24352e; text-decoration:none !important; }
.shafa-item-card img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:.55rem; margin-bottom:.8rem; }
.shafa-item-card h3 { margin:.2rem 0 .4rem; font-size:1.1rem; font-weight:700; }
.shafa-item-card p { margin:0; line-height:1.6; }
.shafa-bg-dark .shafa-item-card { color:#24352e; }
@media(max-width:767px){
  .shafa-two-col { grid-template-columns:1fr; }
  .shafa-item-grid,.shafa-gallery-grid { grid-template-columns:1fr; }
  .shafa-pad-large .shafa-section-inner { padding:4rem 1rem; }
}

/* ===== SHafa Elementor native section system ===== */
.shafa-el-section,
.shafa-el-hero,
.shafa-el-cta { width:100%; box-sizing:border-box; }
.shafa-el-wrap { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.shafa-el-inner { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.shafa-el-hero { min-height:620px; display:flex; align-items:center; background-position:center; background-size:cover; color:#fff; }
.shafa-el-hero-heading { max-width:900px; font-size:clamp(2.7rem,5.2vw,5.4rem); line-height:1.04; font-weight:700; margin:1rem 0; color:#fff; }
.shafa-el-hero-heading strong { background:#e4b529; color:#111; padding:.02em .08em; border-radius:.08em; }
.shafa-el-hero-desc { max-width:780px; font-size:1.08rem; line-height:1.7; color:#fff; }
.shafa-el-eyebrow { display:inline-flex; padding:.45rem .75rem; border:1px solid rgba(255,255,255,.35); border-radius:999px; color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.shafa-el-eyebrow.dark { color:#d3a919; border-color:rgba(211,169,25,.35); }
.shafa-el-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.6rem; }
.shafa-el-btn { display:inline-flex; align-items:center; justify-content:center; padding:.78rem 1.25rem; border-radius:.45rem; text-decoration:none !important; font-weight:700; }
.shafa-el-btn.gold { background:#e4b529; color:#111 !important; }
.shafa-el-btn.outline { background:transparent; color:#fff !important; border:1px solid rgba(255,255,255,.5); }
.shafa-el-section { background:#fff; padding:6rem 0; }
.shafa-el-section.shafa-el-soft { background:#eef7f1; }
.shafa-el-split-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:4rem !important;
  align-items:center !important;
  width:100% !important;
}
.shafa-el-split.image-right .shafa-el-split-image { order:2; }
.shafa-el-split.image-right .shafa-el-split-copy { order:1; }
.shafa-el-split-image { min-width:0; width:100%; }
.shafa-el-split-image img { display:block; width:100%; height:520px; object-fit:cover; border-radius:.8rem; }
.shafa-el-split-copy { min-width:0; }
.shafa-el-split-copy h2,
.shafa-el-section-head h2,
.shafa-el-cta h2 { margin:.7rem 0 1rem; color:#005b36; font-size:clamp(2rem,3.8vw,3.3rem); line-height:1.1; font-weight:700; }
.shafa-el-richtext { color:#33463e; line-height:1.75; font-size:1rem; }
.shafa-el-bullets { margin:1.5rem 0; padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:.7rem 1.5rem; }
.shafa-el-bullets li { position:relative; padding-left:1.2rem; color:#24352e; }
.shafa-el-bullets li:before { content:""; position:absolute; left:0; top:.65em; width:7px; height:7px; border-radius:50%; background:#e4b529; }
.shafa-el-section-head { max-width:820px; margin:0 auto 2.2rem; text-align:center; }
.shafa-el-section-head > div { color:#53675e; line-height:1.7; }
.shafa-el-card-grid,
.shafa-el-team-grid,
.shafa-el-gallery-grid { display:grid !important; gap:1.25rem !important; width:100% !important; }
.shafa-el-card-grid.cols-1,.shafa-el-team-grid.cols-1,.shafa-el-gallery-grid.cols-1 { grid-template-columns:1fr !important; }
.shafa-el-card-grid.cols-2,.shafa-el-team-grid.cols-2,.shafa-el-gallery-grid.cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
.shafa-el-card-grid.cols-3,.shafa-el-team-grid.cols-3,.shafa-el-gallery-grid.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.shafa-el-card-grid.cols-4,.shafa-el-team-grid.cols-4,.shafa-el-gallery-grid.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.shafa-el-card,.shafa-el-team-card { overflow:hidden; background:#fff; border:1px solid rgba(0,91,54,.1); border-radius:.8rem; box-shadow:0 12px 30px rgba(0,0,0,.07); }
.shafa-el-card-img,.shafa-el-team-img { height:230px; overflow:hidden; background:#eaf1ec; }
.shafa-el-card-img img,.shafa-el-team-img img { display:block; width:100%; height:100%; object-fit:cover; }
.shafa-el-card-body,.shafa-el-team-body { padding:1.25rem; }
.shafa-el-card h3,.shafa-el-team-card h3 { margin:0 0 .4rem; color:#005b36; font-size:1.15rem; font-weight:700; }
.shafa-el-card p,.shafa-el-team-card p { margin:0; color:#53675e; line-height:1.65; }
.shafa-el-card a,.shafa-el-team-card a { display:inline-block; margin-top:.75rem; color:#005b36; font-weight:700; text-decoration:none; }
.shafa-el-team-img { height:320px; }
.shafa-el-team-body .role { color:#d09f0f; font-weight:700; font-size:.9rem; margin-bottom:.35rem; }
.shafa-el-team-body .meta { display:inline-block; margin:.2rem .25rem .45rem 0; padding:.25rem .5rem; border-radius:.35rem; background:#eef7f1; color:#005b36; font-size:.78rem; font-weight:600; }
.shafa-el-gallery-grid { grid-auto-rows:260px; }
.shafa-el-gallery-item { position:relative; min-width:0; margin:0; overflow:hidden; border-radius:.75rem; background:#eaf1ec; }
.shafa-el-gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.shafa-el-gallery-item:hover img { transform:scale(1.04); }
.shafa-el-gallery-item figcaption { position:absolute; left:0; right:0; bottom:0; padding:1rem; background:linear-gradient(transparent,rgba(0,0,0,.72)); color:#fff; }
.shafa-el-gallery-item figcaption small,.shafa-el-gallery-item figcaption strong { display:block; }
.shafa-el-gallery-item figcaption small { color:#f0cc50; text-transform:uppercase; letter-spacing:.08em; font-weight:700; font-size:.68rem; }
.shafa-el-gallery-item figcaption strong { margin-top:.2rem; font-size:1rem; }
.shafa-el-review { padding:1.5rem; }
.shafa-el-review .stars { color:#e4b529; letter-spacing:.1em; margin-bottom:.7rem; }
.shafa-el-review blockquote { margin:0 0 1rem; color:#33463e; line-height:1.7; }
.shafa-el-review small { display:block; color:#718079; margin-top:.25rem; }
.shafa-el-cta { padding:5rem 0; background:#005b36; color:#fff; }
.shafa-el-centered { text-align:center; }
.shafa-el-cta h2 { color:#fff; }
.shafa-el-cta .shafa-el-eyebrow { margin-bottom:.5rem; }
.shafa-el-cta .shafa-el-btn { margin-top:1rem; }
.elementor-widget-shafa_split .shafa-el-split-grid { min-height:420px; }
.elementor-widget-shafa_split,
.elementor-widget-shafa_services,
.elementor-widget-shafa_team,
.elementor-widget-shafa_gallery,
.elementor-widget-shafa_testimonials,
.elementor-widget-shafa_cta,
.elementor-widget-shafa_hero { width:100%; }

@media (max-width: 900px){
  .shafa-el-split-grid { grid-template-columns:1fr !important; gap:2rem !important; }
  .shafa-el-split.image-right .shafa-el-split-image { order:1; }
  .shafa-el-split.image-right .shafa-el-split-copy { order:2; }
  .shafa-el-card-grid.cols-3,.shafa-el-team-grid.cols-3,.shafa-el-gallery-grid.cols-3,
  .shafa-el-card-grid.cols-4,.shafa-el-team-grid.cols-4,.shafa-el-gallery-grid.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .shafa-el-bullets { grid-template-columns:1fr; }
}
@media (max-width:600px){
  .shafa-el-wrap,.shafa-el-inner { width:min(100% - 28px,1180px); }
  .shafa-el-hero { min-height:560px; }
  .shafa-el-card-grid,.shafa-el-team-grid,.shafa-el-gallery-grid { grid-template-columns:1fr !important; }
  .shafa-el-split-image img { height:360px; }
  .shafa-el-section { padding:4rem 0; }
}


/* ===== Elementor full-width design correction =====
   Preserve the original Shafa visual design while preventing Elementor's
   boxed/container width from shrinking the page sections. */
body.elementor-page #content,
body.elementor-page .site-content,
body.elementor-page main,
body.elementor-page .elementor {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.elementor-page .elementor .elementor-section,
body.elementor-page .elementor .elementor-container,
body.elementor-page .elementor .elementor-widget-wrap,
body.elementor-page .elementor .e-con,
body.elementor-page .elementor .e-con-inner {
  box-sizing: border-box;
}

body.elementor-page .elementor .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px;
  width: calc(100% - 40px);
}

body.elementor-page .elementor .e-con.e-con-boxed > .e-con-inner {
  width: 100%;
  max-width: 1200px;
}

body.elementor-page .elementor-widget-shafa_hero,
body.elementor-page .elementor-widget-shafa_hero .elementor-widget-container,
body.elementor-page .shafa-el-hero {
  width: 100% !important;
  max-width: none !important;
}

body.elementor-page .shafa-el-hero {
  min-height: 620px;
  background-position: center center;
  background-size: cover;
}

body.elementor-page .shafa-el-hero > .shafa-el-wrap {
  width: min(1200px, calc(100% - 40px));
  margin-inline: auto;
}

@media (max-width: 767px) {
  body.elementor-page .elementor .elementor-section.elementor-section-boxed > .elementor-container,
  body.elementor-page .elementor .e-con.e-con-boxed > .e-con-inner,
  body.elementor-page .shafa-el-hero > .shafa-el-wrap {
    width: calc(100% - 32px);
  }

  body.elementor-page .shafa-el-hero {
    min-height: 620px;
  }

  .shafa-el-split-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  .shafa-el-split.image-right .shafa-el-split-image,
  .shafa-el-split.image-right .shafa-el-split-copy {
    order: initial;
  }
}

/* Prevent WordPress/Elementor editor wrappers from creating horizontal overflow. */
body.elementor-page .elementor {
  overflow-x: hidden;
}


/* FINAL: Elementor Shafa sections must break out of the theme's constrained
   content container. The original design uses full-viewport section backgrounds. */
body .elementor-widget-shafa_hero,
body .elementor-widget-shafa_split,
body .elementor-widget-shafa_services,
body .elementor-widget-shafa_team,
body .elementor-widget-shafa_gallery,
body .elementor-widget-shafa_testimonials,
body .elementor-widget-shafa_cta {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

body .elementor-widget-shafa_hero > .elementor-widget-container,
body .elementor-widget-shafa_split > .elementor-widget-container,
body .elementor-widget-shafa_services > .elementor-widget-container,
body .elementor-widget-shafa_team > .elementor-widget-container,
body .elementor-widget-shafa_gallery > .elementor-widget-container,
body .elementor-widget-shafa_testimonials > .elementor-widget-container,
body .elementor-widget-shafa_cta > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .shafa-el-hero,
body .shafa-el-section,
body .shafa-el-cta {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body .shafa-el-inner,
body .shafa-el-wrap {
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px) {
  body .elementor-widget-shafa_hero,
  body .elementor-widget-shafa_split,
  body .elementor-widget-shafa_services,
  body .elementor-widget-shafa_team,
  body .elementor-widget-shafa_gallery,
  body .elementor-widget-shafa_testimonials,
  body .elementor-widget-shafa_cta {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
  }

  body .shafa-el-inner,
  body .shafa-el-wrap {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }
}


/* ============================================================
   SHAFА FINAL DESIGN V2 — REMOVE THEME/ELEMENTOR OUTER BOX
   The page background and major sections must use the complete
   browser viewport. Only inner content is constrained.
   ============================================================ */

html, body {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

#page,
.site,
#content,
.site-content,
.site-main,
main,
main.site-main,
article,
.entry-content,
.elementor,
.elementor-page,
.elementor-section-wrap,
.elementor-inner,
.elementor-inner-content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

/* Elementor boxed containers should not box the entire Shafa page. */
.elementor .elementor-section,
.elementor .e-con,
.elementor .e-con-inner,
.elementor-section.elementor-section-boxed,
.elementor-section.elementor-section-stretched {
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Native Shafa HTML sections: force the background to viewport width. */
.entry-content > section,
.elementor .entry-content > section,
.elementor > section,
.elementor-widget-theme-post-content section,
.elementor-widget-shortcode section {
  width: 100vw !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
}

/* The original build's hero is a direct section, so explicitly target it. */
.entry-content > main > section:first-child,
.elementor > main > section:first-child,
.elementor-widget-theme-post-content main > section:first-child,
.elementor-widget-shortcode main > section:first-child {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
}

/* Keep the actual text/images nicely centered inside full-width sections. */
.entry-content .container-x,
.elementor .container-x {
  width: 100% !important;
  max-width: 1200px !important;
  margin-inline: auto !important;
  padding-inline: 20px !important;
  box-sizing: border-box !important;
}

/* Elementor editor/frontend wrappers can have generated widths. */
body[class*="elementor-page"] .elementor,
body[class*="elementor-page"] .elementor-section-wrap,
body[class*="elementor-page"] #content,
body[class*="elementor-page"] .site-content,
body[class*="elementor-page"] .site-main {
  width: 100% !important;
  max-width: none !important;
}

/* Custom Shafa Elementor widgets remain full-width. */
[class*="elementor-widget-shafa_"] {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

[class*="elementor-widget-shafa_"] > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 767px) {
  .entry-content .container-x,
  .elementor .container-x {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 16px !important;
  }
}
