/*
 * Layout guards for the standalone OR pages — loaded last on every
 * or-page-* template, scoped to .ors-scraped-page so the rest of the
 * theme is untouched.
 */
/* Generic guards for scraped pages */
.ors-scraped-page { width: 100%; overflow-x: hidden; position: relative; }
.ors-scraped-page img { max-width: 100%; height: auto; }
.ors-scraped-page .shopify-section { width: 100%; }
.ors-scraped-page .page-container, .ors-scraped-page .container { max-width: 100%; }

/* ---- Layout guards: Dawn slideshow/banner sections normally rely on
   runtime JS to set heights/positioning. Replicate the structure so
   static scraped pages render correctly without it. ---- */
.ors-scraped-page .slideshow,
.ors-scraped-page [class*="slideshow"] { display: block !important; height: auto !important; }
.ors-scraped-page .slideshow__slide,
.ors-scraped-page [id^="Slide-"] { position: relative !important; width: 100% !important; min-height: 640px; height: auto !important; overflow: hidden; }
.ors-scraped-page [class*="banner__media"] { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; overflow: hidden; }
.ors-scraped-page [class*="banner__media"] img { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.ors-scraped-page .slideshow__text-wrapper,
.ors-scraped-page [class*="banner__content"] { position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 2 !important; transform: none !important; margin: 0 !important; padding: 0 !important; pointer-events: none; }
.ors-scraped-page .slideshow__text-wrapper *, .ors-scraped-page [class*="banner__content"] * { pointer-events: auto; }
.ors-scraped-page .banner__box { position: relative !important; z-index: 2 !important; max-width: 760px !important; margin: 0 40px !important; }
.ors-scraped-page [class*="banner__media"] img.formobile { display: none !important; }
@media (max-width: 749px) {
  .ors-scraped-page [class*="banner__media"] img.formobile { display: block !important; }
  .ors-scraped-page [class*="banner__media"] img.fordesktop { display: none !important; }
  .ors-scraped-page .slideshow__slide, .ors-scraped-page [id^="Slide-"] { min-height: 380px; }
  .ors-scraped-page .banner__box { margin: 0 16px !important; }
}
.ors-scraped-page .banner__text, .ors-scraped-page .banner__heading { max-width: none !important; }
.ors-scraped-page .banner__box .banner__text, .ors-scraped-page .slideshow__text .banner__text { width: 100%; }

/* ---- Hero text box: slideshow banners on the live site render the
   copy straight on the image (transparent box, tight typography).
   Baked Dawn defaults paint the box white with huge line-height. ---- */
.ors-scraped-page .slideshow .banner__box,
.ors-scraped-page [class*="banner--adapt"] .banner__box,
.ors-scraped-page [class*="slideshow"] .banner__box {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 24px !important;
  max-width: 860px !important;
  text-align: center !important;
}
.ors-scraped-page .slideshow .banner__heading,
.ors-scraped-page [class*="slideshow"] .banner__heading {
  font-size: clamp(30px, 4vw, 52px) !important;
  line-height: 1.15 !important;
  margin: 0 0 14px !important;
  color: #fff !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
}
.ors-scraped-page .slideshow .banner__text,
.ors-scraped-page [class*="slideshow"] .banner__text {
  font-size: clamp(15px, 1.4vw, 18px) !important;
  line-height: 1.6 !important;
  color: #fff !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
  max-width: 640px !important;
  margin: 0 auto 20px !important;
}
.ors-scraped-page .slideshow .banner__buttons,
.ors-scraped-page [class*="slideshow"] .banner__buttons {
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 !important;
}
.ors-scraped-page .slideshow .banner__buttons > *,
.ors-scraped-page [class*="slideshow"] .banner__buttons > * { margin: 0 !important; }
.ors-scraped-page .slideshow .banner__box .button,
.ors-scraped-page [class*="slideshow"] .banner__box .button {
  min-width: 0 !important;
  padding: 12px 28px !important;
}
.ors-scraped-page .slideshow .banner__box,
.ors-scraped-page [class*="slideshow"] .banner__box {
  width: auto !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.ors-scraped-page .slideshow .banner__buttons,
.ors-scraped-page [class*="slideshow"] .banner__buttons { flex-wrap: wrap !important; }
