/**
 * Elementor — horizontal spacing is controlled in Elementor containers/sections,
 * not by the With Love NAIJA child theme or Astra content wrappers.
 */

/* --- Singular / front page built with Elementor --- */
body.wln-child-theme.wln-elementor-view .site-content,
body.wln-child-theme.wln-elementor-view .site-content > .ast-container,
body.wln-child-theme.wln-elementor-view #primary,
body.wln-child-theme.wln-elementor-view #primary > .ast-container,
body.wln-child-theme.wln-elementor-view .site-main,
body.wln-child-theme.wln-elementor-view article,
body.wln-child-theme.wln-elementor-view .entry-content {
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

body.wln-child-theme.wln-elementor-view.ast-separate-container .ast-article-single,
body.wln-child-theme.wln-elementor-view.ast-separate-container .ast-article-post,
body.wln-child-theme.wln-elementor-view.ast-plain-container .site-content > .ast-container,
body.wln-child-theme.wln-elementor-view.ast-plain-container .ast-article-single {
  padding: 0;
}

/* Elementor body classes (when theme adds them) */
body.wln-child-theme.elementor-page .site-content > .ast-container,
body.wln-child-theme.elementor-default .site-content > .ast-container,
body.wln-child-theme.elementor-page #primary,
body.wln-child-theme.elementor-default #primary {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
}

body.wln-child-theme.ast-page-builder-template .site-content,
body.wln-child-theme.ast-page-builder-template .site-content > .ast-container,
body.wln-child-theme.wln-elementor-template .site-content,
body.wln-child-theme.wln-elementor-template .site-content > .ast-container {
  padding-left: 0;
  padding-right: 0;
  margin-left: 0;
  margin-right: 0;
  max-width: none;
}

/* Elementor canvas / header-footer templates */
body.wln-child-theme.elementor-template-canvas #page,
body.wln-child-theme.elementor-template-canvas .site-content,
body.wln-child-theme.elementor-template-canvas #primary {
  margin: 0;
  padding: 0;
}

/* Do not let theme rules add horizontal inset on Elementor widgets */
body.wln-child-theme.wln-elementor-view .elementor-section-wrap,
body.wln-child-theme.wln-elementor-view .elementor,
body.wln-child-theme.wln-elementor-view .elementor-widget-wrap,
body.wln-child-theme.wln-elementor-view .elementor-element,
body.wln-child-theme.elementor-page .elementor-section-wrap,
body.wln-child-theme.elementor-page .elementor-element {
  margin-left: 0;
  margin-right: 0;
}

/* Shortcode blocks inside Elementor — no extra side padding from snippet shell */
body.wln-child-theme .elementor-widget-shortcode .wln-launch,
body.wln-child-theme .elementor-element .wln-launch,
body.wln-child-theme .elementor-widget-shortcode .wln-hero-carousel,
body.wln-child-theme .elementor-widget-shortcode .wln-hero-shuffle,
body.wln-child-theme .elementor-element .wln-hero-carousel,
body.wln-child-theme .elementor-element .wln-hero-shuffle {
  margin-left: 0;
  margin-right: 0;
  max-width: none;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* Inner hero shells — horizontal padding from Elementor container, not snippet */
body.wln-child-theme .elementor-widget-shortcode .wln-hero-carousel__shell,
body.wln-child-theme .elementor-widget-shortcode .wln-hero-shuffle__shell,
body.wln-child-theme .elementor-element .wln-hero-carousel__shell,
body.wln-child-theme .elementor-element .wln-hero-shuffle__shell {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
}

body.wln-child-theme .elementor-widget-shortcode:has(.wln-launch) > .elementor-widget-container,
body.wln-child-theme .elementor-widget-shortcode:has(.wln-launch) .elementor-shortcode {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

body.wln-child-theme .elementor-widget-shortcode .wln-launch,
body.wln-child-theme .elementor-element .wln-launch {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

/* Launch block — same width as store header (no boxed inset / white strip) */
body.wln-child-theme .site-content:has(.wln-launch),
body.wln-child-theme .site-content:has(.wln-launch) > .ast-container,
body.wln-child-theme #primary:has(.wln-launch) {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.wln-child-theme .elementor-section:has(.wln-launch),
body.wln-child-theme .elementor-top-section:has(.wln-launch) {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

body.wln-child-theme .elementor-section:has(.wln-launch) > .elementor-container,
body.wln-child-theme .elementor-section:has(.wln-launch) .e-con,
body.wln-child-theme .elementor-section:has(.wln-launch) .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* No gap between store header and launch section */
body.wln-store-header-active .wln-store-header {
  margin-bottom: 0;
}

body.wln-store-header-active .site-content:has(.wln-launch) {
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* No gap between last Elementor section and custom footer */
body.wln-custom-footer.wln-elementor-view .elementor-section.elementor-top-section:last-of-type,
body.wln-custom-footer .elementor-location-single .elementor-top-section:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.wln-custom-footer .elementor-section:has(.wln-launch) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
