/* CMS / legal / static pages rebuilt from archived Shopify HTML */

/* Shared hero-blend content shell — overlap under transparent sticky navbar */
body.ldb-chrome-hero-blend.ldb-header-at-top,
body.ldb-chrome-hero-blend.ldb-header-at-top #page,
body.ldb-chrome-hero-blend.ldb-header-at-top .site-content,
body.ldb-chrome-hero-blend.ldb-header-at-top #content {
  background: transparent;
}

body.ldb-chrome-hero-blend.ldb-cms-native-page.elementor-template-canvas,
body.ldb-chrome-hero-blend.ldb-cms-native-page .elementor.elementor-page {
  background-color: #fff !important;
}

/* FAQ — hero section only (multi-section Elementor); overlap handled in faq-elementor.css */
body.ldb-faq-native-page.ldb-chrome-hero-blend .faq-hero-root.site-faq.page-wrapper.main-wrapper.home {
  margin-top: -9em !important;
  padding-top: 9em !important;
  background: transparent;
  position: relative;
  z-index: 0;
  overflow: visible !important;
  width: 100%;
  color: #fff;
}

body.ldb-native-page.ldb-cms-native-page {
  font-size: 0.9656004828002414vw;
  font-family: Poppins, sans-serif;
  color: #2d365a;
  line-height: 1.2;
}

@media screen and (min-width: 1770px) {
  body.ldb-native-page.ldb-cms-native-page {
    font-size: 17.09112854556427px;
  }
}

body.ldb-native-page.ldb-cms-native-page [class*="site-"].page-wrapper {
  width: 100%;
  max-width: none;
  overflow: visible;
}

/* CMS shell — navy under transparent header, wave into white content (archive legal pages) */
body.ldb-native-page.ldb-cms-native-page .ldb-native-body-shell.e-con.ldb-body-layout-cms {
  position: relative;
  background-color: #fff !important;
  background-image: linear-gradient(180deg, #2d365a 0, #2d365a 10.5em, #fff 10.5em) !important;
  overflow: visible !important;
}

body.ldb-native-page.ldb-cms-native-page .ldb-native-body-shell.ldb-body-layout-cms::before {
  content: "";
  position: absolute;
  top: 8.2em;
  left: 0;
  right: 0;
  height: 4.5em;
  background: url(../ref/blue-footer-shape.svg) center top / 100% 100% no-repeat;
  transform: scaleY(-1);
  pointer-events: none;
  z-index: 0;
}

/*
 * Policy / legal pages use the CMS header (navbar-background already paints navy + wave).
 * A second navy band on the body made titles navy-on-navy and nearly invisible.
 */
body.ldb-chrome-header-cms-page.ldb-cms-native-page .ldb-native-body-shell.e-con.ldb-body-layout-cms {
  background-color: #fff !important;
  background-image: none !important;
}

body.ldb-chrome-header-cms-page.ldb-cms-native-page .ldb-native-body-shell.ldb-body-layout-cms::before {
  content: none;
  display: none;
}

body.ldb-native-page.ldb-cms-native-page .ldb-native-body-shell .gdpr-compliance-body-widget,
body.ldb-native-page.ldb-cms-native-page .ldb-native-body-shell .legal-notice-body-widget,
body.ldb-native-page.ldb-cms-native-page .ldb-native-body-shell [class$="-body-widget"] {
  position: relative;
  z-index: 1;
  width: 100%;
}

body.ldb-native-elementor-template [class*="site-"].page-wrapper,
body.ldb-native-page.ldb-la-belle-histoire-native-page [class*="site-"].page-wrapper,
body.ldb-native-page.ldb-faq-native-page [class*="site-"].page-wrapper {
  overflow: visible;
}

body.ldb-native-page.ldb-cms-native-page [class*="site-"].e-con,
body.ldb-native-page.ldb-cms-native-page [class*="site-"] > .e-con {
  --gap: 0;
  --row-gap: 0;
  --column-gap: 0;
  gap: 0;
  padding: 0;
}

body.ldb-native-page.ldb-cms-native-page .elementor-widget-text-editor,
body.ldb-native-page.ldb-cms-native-page .elementor-widget-text-editor .elementor-widget-container {
  font-size: inherit;
  font-family: inherit;
  color: inherit;
  line-height: inherit;
}

body.ldb-native-page.ldb-cms-native-page .section-template-de-page {
  margin-bottom: 10em;
  padding-top: 4em;
  background-color: #fff;
  color: #2d365a;
}

/* Non-policy CMS pages: clear sticky navy header. Policy titles handle this themselves. */
body.ldb-chrome-hero-blend.ldb-cms-native-page .section-template-de-page {
  padding-top: 7em;
}

body.ldb-chrome-hero-blend.ldb-cms-native-page .shopify-policy__body .section-template-de-page,
body.ldb-native-page.ldb-cms-native-page .shopify-policy__body .section-template-de-page {
  padding-top: 0;
  margin-bottom: 0;
}

body.ldb-native-page.ldb-cms-native-page .section-template-de-page .vertical-padding,
body.ldb-native-page.ldb-cms-native-page .section-template-de-page .container,
body.ldb-native-page.ldb-cms-native-page .section-template-de-page .page-padding {
  background-color: transparent;
}

body.ldb-native-page.ldb-cms-native-page .template-de-page-components {
  width: 80em;
  max-width: 100%;
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-direction: column;
  align-items: flex-start;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}

body.ldb-native-page.ldb-cms-native-page .h1-legal {
  color: #36b1a6;
  font-size: 3.9em;
  margin: 0;
  font-weight: 400;
}

/* Shopify policy pages (archive /policies/*) — left column under navy wave */
body.ldb-native-page.ldb-cms-native-page .shopify-policy__container {
  width: 80em;
  max-width: calc(100% - 4em);
  margin-left: auto;
  margin-right: auto;
  padding: 4em 2em 10em;
  box-sizing: border-box;
}

body.ldb-chrome-hero-blend.ldb-cms-native-page .shopify-policy__container,
body.ldb-chrome-header-cms-page.ldb-cms-native-page .shopify-policy__container {
  /* Clear the CMS header wave; title sits on white like archive */
  padding-top: 3em;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__title {
  text-align: left;
  padding: 0;
  margin: 0 0 0.35em;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__title h1 {
  color: var(--dark-slate-blue, #2d365a) !important;
  font-family: "Captain Nelson serif printed", "Captain Nelson serif", serif !important;
  font-size: 4.7em !important;
  font-weight: 400 !important;
  margin: 0;
  line-height: 1.25 !important;
  text-align: left;
  overflow: visible;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__body {
  width: 100%;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__body .rte {
  width: 100%;
}

/* Nested archive wrappers already live inside the 80em policy column */
body.ldb-native-page.ldb-cms-native-page .shopify-policy__body .template-de-page-components {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__body .page-padding {
  padding-left: 0;
  padding-right: 0;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__body .vertical-padding {
  padding-top: 0;
  padding-bottom: 0;
}

body.ldb-native-page.ldb-cms-native-page .shopify-policy__body > .rte > p {
  margin: 0 0 0.5em;
  line-height: 1.9;
  color: #2d365a;
}

/* Stale Elementor CMS title widgets from older rebuilds */
body.ldb-native-page.ldb-cms-native-page .elementor-widget.heading.h1-script-style,
body.ldb-native-page.ldb-cms-native-page .elementor-widget.h1-script-style.in-cms {
  display: none !important;
}

body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext {
  width: 100%;
}

body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext,
body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext p {
  color: #2d365a;
}

body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext a {
  color: #2d365a;
  text-decoration: underline;
}

body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext h2 {
  font-size: 1.5em;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 600;
  color: #2d365a;
}

body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext ul {
  padding-left: 1.5em;
  margin: 0.5em 0 1em;
}

body.ldb-native-page.ldb-cms-native-page .richtext.w-richtext li {
  margin-bottom: 0.35em;
}

body.ldb-native-page.ldb-cms-native-page #gdpr_page .list-unstyled {
  list-style: none;
  padding-left: 0;
  margin: 0.5em 0 1.5em;
}

body.ldb-native-page.ldb-cms-native-page #gdpr_page .list-unstyled li {
  margin-bottom: 0.5em;
}

@media screen and (max-width: 991px) {
  body.ldb-native-page.ldb-cms-native-page .template-de-page-components {
    width: auto;
  }

  body.ldb-native-page.ldb-cms-native-page .h1-legal {
    font-size: 2.7em;
  }

  body.ldb-native-page.ldb-cms-native-page .shopify-policy__container {
    width: auto;
    max-width: none;
    padding-left: 1.5em;
    padding-right: 1.5em;
  }

  body.ldb-native-page.ldb-cms-native-page .shopify-policy__title h1 {
    font-size: 2.7em !important;
  }
}
