/* Prime 1.12.4: keep widget content centred, without constraining full-bleed hero backgrounds. */
:root { --prime-content-max-width: 1300px; }
.prime-benefits > .prime-benefits__items,
.prime-header > .prime-header__inner,
.prime-hero > .prime-hero__inner,
.prime-standard > .prime-standard__inner,
.prime-confidence > .prime-confidence__inner,
.prime-footer > .prime-footer__inner {
  width: 100%; max-width: var(--prime-content-max-width);
  margin-left: auto; margin-right: auto; box-sizing: border-box;
}
.prime-research,.prime-fp,.prime-categories-section,.prime-quality,.prime-about {
  width: 100%; max-width: var(--prime-content-max-width);
  margin-left: auto; margin-right: auto; box-sizing: border-box;
}
/* Keep other content-only widgets centred within their Elementor container. */
:is(.e-con,.elementor-section):has(> .elementor-widget-prime_featured_products),
:is(.e-con,.elementor-section):has(> .elementor-widget-prime_research_features),
:is(.e-con,.elementor-section):has(> .elementor-widget-prime-product-categories),
:is(.e-con,.elementor-section):has(> .elementor-widget-prime-quality-reports),
:is(.e-con,.elementor-section):has(> .elementor-widget-prime-about-resources) {
  margin-inline: auto !important;
  max-width: min(1300px,100%);
}
.elementor-widget-prime_featured_products,
.elementor-widget-prime_research_features,
.elementor-widget-prime-product-categories,
.elementor-widget-prime-quality-reports,
.elementor-widget-prime-about-resources {
  min-width: 0; width: 100%; max-width: 1300px;
  margin-inline: auto !important;
}
/* Hero: the Elementor container may be 1300px, but its background must extend to
   both viewport edges. This full-bleed child escapes that width symmetrically. */
.e-con:has(> .elementor-widget-prime_hero),
.e-con-inner:has(> .elementor-widget-prime_hero),
.elementor-section:has(.elementor-widget-prime_hero) {
  margin-inline: auto !important;
  max-width: min(1300px,100%);
  box-sizing: border-box;
}
.elementor-widget-prime_hero {
  width: 100%; max-width: 1300px; min-width: 0;
  margin-inline: auto !important;
  align-self: center;
}
.elementor-widget-prime_hero .prime-hero {
  position: relative;
  left: 50%;
  width: 100vw;
  max-width: none;
  margin-left: -50vw;
  margin-right: 0;
  box-sizing: border-box;
}
.elementor-widget-prime_hero .prime-hero > .prime-hero__inner {
  width: 100%; max-width: 1300px;
  margin-inline: auto;
  box-sizing: border-box;
}
@media (max-width:767px) {
  .prime-benefits > .prime-benefits__items,
  .prime-header > .prime-header__inner,
  .prime-hero > .prime-hero__inner,
  .prime-standard > .prime-standard__inner,
  .prime-confidence > .prime-confidence__inner,
  .prime-footer > .prime-footer__inner { max-width: 100%; }
}
