/**
 * Theme compatibility — kill boxed layouts from Astra / Kadence / similar.
 * Scoped to body.lwcd-active so it only runs with Core Demo enabled.
 */

body.lwcd-active.lwcd-unbox,
body.lwcd-active.lwcd-takeover {
  --ast-container-default-xlg-padding: 0px;
  --ast-container-default-lg-padding: 0px;
  --ast-container-default-slg-padding: 0px;
  --ast-container-default-md-padding: 0px;
  --ast-container-default-sm-padding: 0px;
  --ast-container-default-xs-padding: 0px;
  --ast-container-default-xxs-padding: 0px;
}

/* Full-bleed canvas */
body.lwcd-active.lwcd-takeover,
body.lwcd-active.lwcd-takeover #page,
body.lwcd-active.lwcd-takeover #content,
body.lwcd-active.lwcd-takeover .site,
body.lwcd-active.lwcd-takeover .site-content,
body.lwcd-active.lwcd-takeover .content-area,
body.lwcd-active.lwcd-takeover #primary,
body.lwcd-active.lwcd-takeover #main,
body.lwcd-active.lwcd-takeover .ast-container,
body.lwcd-active.lwcd-takeover .ast-container--wide,
body.lwcd-active.lwcd-unbox .ast-container,
body.lwcd-active.lwcd-unbox .site-content > .ast-container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Remove Astra boxed card look */
body.lwcd-active.lwcd-unbox.ast-separate-container .ast-article-single,
body.lwcd-active.lwcd-unbox.ast-separate-container .ast-article-post,
body.lwcd-active.lwcd-unbox.ast-separate-container #primary,
body.lwcd-active.lwcd-unbox.ast-separate-container .site-main > article,
body.lwcd-active.lwcd-unbox .ast-separate-container .ast-article-single,
body.lwcd-active.lwcd-unbox #content > .ast-container {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.lwcd-active.lwcd-unbox #content,
body.lwcd-active.lwcd-unbox .site-content,
body.lwcd-active.lwcd-unbox #primary,
body.lwcd-active.lwcd-unbox .content-area,
body.lwcd-active.lwcd-unbox .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Hide theme chrome leftovers during full takeover */
body.lwcd-active.lwcd-takeover #masthead,
body.lwcd-active.lwcd-takeover .ast-above-header-bar,
body.lwcd-active.lwcd-takeover .ast-main-header-wrap,
body.lwcd-active.lwcd-takeover .ast-below-header-bar,
body.lwcd-active.lwcd-takeover .ast-desktop-header-content,
body.lwcd-active.lwcd-takeover .ast-mobile-header-wrap,
body.lwcd-active.lwcd-takeover #colophon,
body.lwcd-active.lwcd-takeover .ast-footer-overlay,
body.lwcd-active.lwcd-takeover .site-footer-focus-item,
body.lwcd-active.lwcd-takeover #secondary,
body.lwcd-active.lwcd-takeover .widget-area {
  display: none !important;
}

/* Keep LicensesWP plugin header/footer visible */
body.lwcd-active.lwcd-takeover .site-shell > .site-header,
body.lwcd-active.lwcd-takeover .site-shell > .site-footer,
body.lwcd-active.lwcd-takeover .site-shell .site-header,
body.lwcd-active.lwcd-takeover .site-shell .site-footer {
  display: block !important;
}

/* Our shell must own the viewport */
body.lwcd-active.lwcd-takeover .site-shell {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 100vh;
}

body.lwcd-active.lwcd-takeover .site-main {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* LicensesWP .wrap remains the only content constraint */
body.lwcd-active .site-shell .wrap,
body.lwcd-active.lwcd-takeover .wrap {
  width: min(100% - 2rem, var(--max, 1160px)) !important;
  max-width: var(--max, 1160px) !important;
  margin-inline: auto !important;
}

/* Elementor: stop forced narrow boxed containers from themes */
body.lwcd-active .elementor-section.elementor-section-boxed > .elementor-container,
body.lwcd-active .e-con.e-con-boxed {
  max-width: var(--max, 1160px) !important;
}

body.lwcd-active .elementor-section.elementor-section-full_width > .elementor-container,
body.lwcd-active .elementor-top-section,
body.lwcd-active .elementor > .elementor-section {
  width: 100% !important;
}

body.lwcd-active .elementor-section.elementor-section-stretched,
body.lwcd-active .elementor-section.elementor-section-full_width {
  max-width: none !important;
  width: 100% !important;
  left: 0 !important;
  transform: none !important;
}

/* Kadence / GP common wrappers */
body.lwcd-active.lwcd-unbox .kb-row-layout-wrap,
body.lwcd-active.lwcd-unbox .entry-content-wrap,
body.lwcd-active.lwcd-unbox .site-container,
body.lwcd-active.lwcd-unbox .content-container,
body.lwcd-active.lwcd-unbox .grid-container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Prevent theme button/link overrides from breaking brand CTAs */
body.lwcd-active.lwcd-takeover .btn,
body.lwcd-active.lwcd-takeover .btn:hover,
body.lwcd-active.lwcd-takeover .btn:focus {
  text-decoration: none !important;
  box-shadow: none;
}

body.lwcd-active.lwcd-takeover a.btn--primary,
body.lwcd-active.lwcd-takeover .btn.btn--primary {
  color: #fff !important;
}

/* WooCommerce pages: no theme boxed shop frame */
body.lwcd-active.lwcd-unbox.woocommerce .site-content,
body.lwcd-active.lwcd-unbox.woocommerce-page .site-content,
body.lwcd-active.lwcd-unbox.woocommerce #primary,
body.lwcd-active.lwcd-unbox.woocommerce-page #primary {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Kill Astra/Kadence shop bag icons + hover CTA chrome */
body.lwcd-active .astra-shop-thumbnail-wrap .button,
body.lwcd-active .ast-shop-load-more,
body.lwcd-active .woocommerce ul.products li.product .astra-shop-summary-wrap .button.ast-on-card,
body.lwcd-active .woocommerce ul.products li.product .button.ast-on-card,
body.lwcd-active .woocommerce ul.products li.product .ast-on-card,
body.lwcd-active .woocommerce ul.products li.product .added_to_cart.wc-forward,
body.lwcd-active .lwp-product .button::before,
body.lwcd-active .lwp-product .button::after,
body.lwcd-active .woocommerce ul.products li.product .button.loading::after,
body.lwcd-active .woocommerce ul.products li.product a.button.add_to_cart_button[data-icon]::before {
  content: none !important;
  background-image: none !important;
}

body.lwcd-active .woocommerce ul.products li.product .button.ast-on-card,
body.lwcd-active .woocommerce ul.products li.product .ast-on-card {
  display: none !important;
}

body.lwcd-active .woocommerce ul.products li.product .button {
  font-size: inherit !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  text-indent: 0 !important;
  overflow: visible !important;
}

body.lwcd-active .lwp-product__card .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* Checkout: never allow theme wrappers to force horizontal scroll */
body.lwcd-active.woocommerce-checkout,
body.lwcd-active.woocommerce-checkout #page,
body.lwcd-active.woocommerce-checkout #content,
body.lwcd-active.woocommerce-checkout .site-shell,
body.lwcd-active.woocommerce-checkout .site-main {
  overflow-x: clip !important;
  max-width: 100% !important;
}

@media (max-width: 560px) {
  body.lwcd-active .site-shell .wrap,
  body.lwcd-active.lwcd-takeover .wrap {
    width: min(100% - 1.25rem, var(--max, 1160px)) !important;
  }
}
