/* ==========================================================================
   Global — horizontal overflow guard

   Was WPCode snippet #96 until 2026-09-01. WPCode printed it inline at the
   end of <head>, after every theme stylesheet, and several of these rules
   carry no !important — they win on source order alone. So this file is
   enqueued last on purpose (inc/assets.php, priority 99). Move it
   earlier and est-* sections start losing their width cap to header.css,
   shop.css and footer.css.
   ========================================================================== */

html,
body {
  overflow-x: clip;
  max-width: 100%;
}

/* Safari < 16 fallback (no overflow: clip support) */
@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

/* Section wrappers only. Do NOT clip #page: it can clip the fixed header. */
.site-content,
.site-footer {
  overflow-x: clip;
  max-width: 100%;
}

/* Est sections: clip the section root, never the scrolling tracks —
   nor the footer's boxed containers, which set their own max-width. */
[class^="est-"]:not([class*="__track"]):not([class*="__scroller"]):not([class*="__inner"]):not([class*="__trust"]):not([class*="__bottom"]),
[class*=" est-"]:not([class*="__track"]):not([class*="__scroller"]):not([class*="__inner"]):not([class*="__trust"]):not([class*="__bottom"]) {
  max-width: 100%;
}

/* Section roots get the clip, children only get the width cap */
.est-hero,
.est-collections,
.est-products,
.est-marquee {
  overflow-x: clip;
}

/* Scrolling carousels must stay scrollable */
.est-collections__track,
.est-products__track {
  overflow-x: auto;
  max-width: none;
}

/* Common culprits */
img,
video,
iframe,
svg,
table {
  max-width: 100%;
  height: auto;
}

/* Never let 100vw be used for full-bleed: it includes the scrollbar */
.alignfull,
.alignwide {
  max-width: 100%;
}
