/* FAQ page — archived Shopify layout inside Elementor */

/* Native Elementor sections — restore archive spacing (bridge.css zeros .section-root margins) */
body.ldb-faq-native-page .section-root.e-con {
  width: 100% !important;
  max-width: none !important;
}

body.ldb-faq-native-page .section-root.banni-re.in-faq.e-con {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 8em !important;
}

/*
 * Absolute body header (.ldb-page-body-header) — same as contact / hero-layout pages.
 * native-page-template.css pins .banni-re; FAQ adds spacer + overlap on the summary band.
 */
body.ldb-faq-native-page.ldb-body-layout-hero .section-root.faq-hero-root.banni-re.ldb-page-body-header.in-faq.e-con {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  max-width: none !important;
  z-index: 0;
  margin-top: 0 !important;
  overflow: visible !important;
}

/*
 * Spacer below absolute hero — use margin (transparent), not padding + negative margin on
 * this section (that pulled the whole block over the hero and hid asset-41.svg).
 */
body.ldb-faq-native-page .section-root.faq-summary-root.e-con {
  position: relative !important;
  padding-top: 0 !important;
  margin-top: 28em !important;
  margin-bottom: 0 !important;
  z-index: auto;
  overflow: visible !important;
  background: transparent !important;
}

/*
 * Hero is also .page-wrapper (gets Shopify em scale). Summary/category siblings
 * must use the same em base or margin-top: 22em collapses to ~80px and covers the title.
 */
@media screen and (max-width: 991px) {
  body.ldb-faq-native-page .section-root.faq-summary-root.e-con,
  body.ldb-faq-native-page .section-root.faq-category-root.e-con {
    font-size: 1.7em;
  }
}

@media screen and (max-width: 767px) {
  body.ldb-faq-native-page .section-root.faq-summary-root.e-con,
  body.ldb-faq-native-page .section-root.faq-category-root.e-con {
    font-size: 3.7em;
  }
}

/* /html/body/div[2]/div[2]/div — archive .vertical-padding.container.page-padding */
body.ldb-faq-native-page .faq-summary-root > .e-con.vertical-padding.container.page-padding,
body.ldb-faq-native-page .faq-summary .vertical-padding.container.page-padding {
  position: relative;
  width: 100% !important;
  max-width: 1770px;
  margin-left: auto;
  margin-right: auto;
  background: transparent !important;
  overflow: visible !important;
  pointer-events: none;
}

body.ldb-faq-native-page .faq-summary .vertical-padding.container.page-padding > * {
  pointer-events: auto;
}

body.ldb-faq-native-page .section-root.faq-summary-root.e-con ~ .section-root.e-con {
  position: relative;
  z-index: 1;
}

body.ldb-faq-native-page .faq-hero-root.site-faq.page-wrapper.main-wrapper.home {
  margin-top: -9em !important;
  padding-top: 9em !important;
  background: transparent !important;
}

body.ldb-faq-native-page .section-root.faq-category-root.e-con {
  margin: 0 !important;
}

/* Zero Elementor container gaps in FAQ page content only — never the site header. */
@media screen and (min-width: 992px) {
  body.ldb-faq-native-page .elementor-location-header .nav-menu.e-con,
  body.ldb-faq-native-page .ldb-chrome-header .nav-menu.e-con,
  body.ldb-faq-native-page .ldb-chrome-header .nav-menu {
    gap: 3em !important;
    --gap: 3em;
    --row-gap: 3em;
    --column-gap: 3em;
    grid-column-gap: 3em;
    grid-row-gap: 3em;
  }
}

body.ldb-faq-native-page .faq-hero-root .e-con-inner,
body.ldb-faq-native-page .faq-hero-root .e-con,
body.ldb-faq-native-page .faq-summary-root .e-con-inner,
body.ldb-faq-native-page .faq-summary-root .e-con,
body.ldb-faq-native-page .faq-category-root .e-con-inner,
body.ldb-faq-native-page .faq-category-root .e-con {
  --gap: 0;
  --row-gap: 0;
  --column-gap: 0;
  gap: 0 !important;
}

body.ldb-faq-native-page .faq-summary-components.e-con,
body.ldb-faq-native-page .faq-section-components.e-con {
  gap: 0 !important;
}

body.ldb-faq-native-page .faq-section-content.e-con {
  gap: 0.5em !important;
}

body.ldb-faq-native-page .faq-hero-root .elementor-widget,
body.ldb-faq-native-page .faq-hero-root .elementor-widget-container,
body.ldb-faq-native-page .faq-summary-root .elementor-widget,
body.ldb-faq-native-page .faq-summary-root .elementor-widget-container,
body.ldb-faq-native-page .faq-category-root .elementor-widget,
body.ldb-faq-native-page .faq-category-root .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Elementor defaults widgets to width:inherit — breaks inline icons/dots in flex rows */
body.ldb-faq-native-page .faq-green-dot.elementor-widget,
body.ldb-faq-native-page .faq-icon-widget.elementor-widget,
body.ldb-faq-native-page .faq-summary-item-widget.elementor-widget {
  width: auto !important;
  flex: 0 0 auto !important;
  max-width: none !important;
}

body.ldb-faq-native-page .faq-green-dot .elementor-widget-container,
body.ldb-faq-native-page .faq-icon-widget .elementor-widget-container {
  width: auto !important;
}

/* Archive: <img class="home-hero-background in-recettes-hero"> as first child of .banni-re */
body.ldb-faq-native-page .faq-hero-root.banni-re.in-faq .faq-hero-bg-widget.elementor-widget-text-editor {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  z-index: 0;
  pointer-events: none;
}

body.ldb-faq-native-page .faq-hero-root.banni-re.in-faq .faq-hero-bg-widget .elementor-widget-container {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.ldb-faq-native-page .faq-summary-components.e-con {
  display: grid !important;
}

body.ldb-faq-native-page .faq-section-top-widget {
  width: 100% !important;
}

body.ldb-faq-native-page .faq-summary-item-widget {
  display: block !important;
  width: 100% !important;
}

body.ldb-faq-native-page .faq-summary-item-widget .faq-summary-item {
  height: 100%;
}

body.ldb-faq-native-page .faq-section-top .elementor-widget-image img,
body.ldb-faq-native-page img.green-dot {
  width: 0.7em !important;
  height: 0.7em !important;
  max-width: none !important;
  object-fit: contain;
}

body.ldb-faq-native-page .faq-summary-item-icon-wrapper img.faq-summary-item-icon {
  width: 5.2em !important;
  height: 5.2em !important;
  object-fit: contain;
}

body.ldb-faq-native-page .faq-summary-item-icon-wrapper img.faq-summary-item-icon.in-la-belle {
  width: 10.5em !important;
  height: auto !important;
}

body.ldb-faq-native-page .site-faq.page-wrapper,
body.ldb-faq-native-page .site-faq.e-con,
body.ldb-faq-native-page .elementor.elementor-page > .e-con.section-root,
body.ldb-faq-native-page .faq-body-widget,
body.ldb-faq-native-page .faq-body-widget .elementor-widget-container {
  overflow: visible !important;
}

body.ldb-faq-native-page .faq-body-widget.elementor-widget,
body.ldb-faq-native-page .faq-body-widget .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

body.ldb-faq-native-page .shopify-section,
body.ldb-faq-native-page .faq-summary,
body.ldb-faq-native-page .faq-section {
  display: block;
  width: 100%;
  position: relative;
}

/* Summary band: transparent shell (hero shows through spacer); white on card row */
body.ldb-faq-native-page .section-root.faq-summary-root.e-con {
  background: transparent !important;
}

body.ldb-faq-native-page .faq-summary .vertical-padding {
  background: transparent;
}

body.ldb-faq-native-page .faq-summary-components.e-con {
  position: relative;
  z-index: 2;
  margin-top: -6em;
  background: transparent !important;
}

body.ldb-faq-native-page .faq-section {
  background: #fff;
  z-index: auto;
}

/*
 * Hero wave — absolute body header (ldb-page-body-header); wave overflows into summary overlap.
 * Tablet (<=991px): padding-bottom: 9.4em + reduced summary padding-top.
 */
body.ldb-faq-native-page .banni-re.in-faq {
  padding-bottom: 0;
  color: #fff;
  overflow: visible;
  background: transparent;
}

body.ldb-faq-native-page .faq-hero-root img.home-hero-background.in-recettes-hero,
body.ldb-faq-native-page .faq-body-widget img.home-hero-background.in-recettes-hero {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  vertical-align: middle;
  box-sizing: border-box;
  border: 0;
  margin: 0 !important;
  transform: none;
  z-index: 0;
  pointer-events: none;
  overflow: visible !important;
}

body.ldb-faq-native-page .banni-re.in-faq .vertical-padding.large-top {
  padding-top: 12em;
  padding-bottom: 10em;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  z-index: 1;
}

/* Wave + navy come from asset-41.svg — hero shell must stay transparent */
body.ldb-faq-native-page .section-root.faq-hero-root.banni-re.e-con,
body.ldb-faq-native-page .faq-hero-root.site-faq.page-wrapper.main-wrapper.home {
  background: transparent !important;
}

body.ldb-faq-native-page .banni-re.in-faq .container,
body.ldb-faq-native-page .faq-summary .container,
body.ldb-faq-native-page .faq-section .container {
  width: 100%;
  max-width: 1770px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

body.ldb-faq-native-page .banni-re.in-faq .page-padding {
  padding: 0;
}

body.ldb-faq-native-page .faq-summary .page-padding,
body.ldb-faq-native-page .faq-section .page-padding {
  padding-left: 2em;
  padding-right: 2em;
}

body.ldb-faq-native-page .banni-re.in-faq .page-padding > div,
body.ldb-faq-native-page .div-block-5,
body.ldb-faq-native-page .h1-wrapper {
  padding: 0;
  margin: 0;
}

body.ldb-faq-native-page .div-block-5 {
  width: 75em;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1em;
}

body.ldb-faq-native-page .heading,
body.ldb-faq-native-page .heading.h1,
body.ldb-faq-native-page h1.heading,
body.ldb-faq-native-page .faq-hero-title h1.heading {
  color: var(--light-sea-green, #36b1a6);
  font-family: "Captain Nelson script lined printed", "Captain Nelson script printed", cursive !important;
  font-size: 3.3em;
  margin: 0;
  padding: 0;
}

body.ldb-faq-native-page .h1-home-big {
  font-size: 1.7em;
}

/* Category summary grid */
body.ldb-faq-native-page .faq-summary .vertical-padding {
  padding-top: 4em;
  padding-bottom: 4em;
}

body.ldb-faq-native-page .faq-summary-components {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  text-align: center;
  grid-template-rows: auto;
  grid-template-columns: repeat(5, 1fr);
  justify-content: center;
  display: grid;
  width: 100%;
  max-width: 100%;
}

body.ldb-faq-native-page .faq-summary-item {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  border: 1px solid var(--dark-slate-blue, #2d365a);
  color: var(--dark-slate-blue, #2d365a);
  border-radius: 1.8em;
  flex-direction: column;
  align-items: center;
  padding: 1.5em 1em;
  text-decoration: none;
  display: flex;
  background: #fff;
  transition: background-color 0.2s ease, color 0.2s ease;
}

body.ldb-faq-native-page .faq-summary-item:hover {
  background-color: var(--dark-slate-blue, #2d365a);
  color: #fff;
}

body.ldb-faq-native-page .faq-summary-item-icon-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.2em;
}

body.ldb-faq-native-page .faq-summary-item-icon {
  width: 5.2em !important;
  height: 5.2em;
  object-fit: contain;
}

body.ldb-faq-native-page .faq-summary-item-icon.in-la-belle {
  width: 10.5em !important;
  height: auto;
}

body.ldb-faq-native-page .faq-summary-title-item {
  font-size: 1.1em;
}

body.ldb-faq-native-page .faq-summary-item-qty {
  width: 1.7em;
  height: 1.7em;
  background-color: var(--light-sea-green, #36b1a6);
  color: #fff;
  text-align: center;
  border-radius: 100%;
  justify-content: center;
  align-items: center;
  font-family: "Captain Nelson serif printed", serif;
  font-size: 1.3em;
  display: flex;
}

/* FAQ sections */
body.ldb-faq-native-page .faq-section .vertical-padding.small {
  padding-top: 2em;
  padding-bottom: 2em;
}

/* Last FAQ block clearance — footer spacing comes from global light-footer gap */
body.ldb-faq-native-page .faq-section.last,
body.ldb-faq-native-page .section-root.faq-section.last.e-con {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.ldb-faq-native-page .elementor.elementor-page {
  padding-bottom: 0 !important;
  overflow: visible !important;
  position: relative;
}

body.ldb-faq-native-page .section-root.faq-category-root.e-con {
  overflow: visible !important;
}

body.ldb-faq-native-page .faq-section-components {
  grid-column-gap: 3em;
  grid-row-gap: 3em;
  flex-direction: column;
  display: flex;
  width: 80em;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

body.ldb-faq-native-page .faq-section-top {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  align-items: flex-start;
  display: flex;
}

body.ldb-faq-native-page .green-dot {
  width: 0.7em;
  height: 0.7em;
  position: relative;
  top: 1.3em;
  flex: none;
}

body.ldb-faq-native-page .faq-category,
body.ldb-faq-native-page .faq-category-title h2.faq-category {
  font-family: Poppins, sans-serif !important;
  font-size: 3.1em;
  margin: 0;
  text-transform: capitalize;
  color: #2d365a;
  font-weight: 400;
  text-align: left;
}

body.ldb-faq-native-page .faq-section-top-infos {
  grid-column-gap: 0.5em;
  grid-row-gap: 0.5em;
  flex-direction: column;
  display: flex;
}

body.ldb-faq-native-page .faq-paragraph {
  max-width: 70em;
  opacity: 0.8;
}

body.ldb-faq-native-page .faq-section-content {
  width: 70em;
  max-width: 100%;
  grid-column-gap: 0.5em;
  grid-row-gap: 0.5em;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

/* Native Elementor flex rows — archive toggle / section headers */
body.ldb-faq-native-page .faq-section-top.e-con,
body.ldb-faq-native-page .faq-dropdown-toggle.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

body.ldb-faq-native-page .faq-section-top .faq-green-dot {
  align-self: flex-start;
}

body.ldb-faq-native-page .faq-dropdown-widget {
  width: 100% !important;
  max-width: none !important;
}

body.ldb-faq-native-page .faq-dropdown-toggle .faq-title-widget {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
}

body.ldb-faq-native-page .faq-dropdown-toggle .faq-icon-widget {
  flex: 0 0 auto !important;
  width: auto !important;
}

body.ldb-faq-native-page .faq-dropdown-toggle .faq-title-widget .faq-title {
  width: 100%;
  white-space: normal;
}

/* Accordions */
body.ldb-faq-native-page .faq-item.w-dropdown {
  width: 70em;
  max-width: 100%;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

body.ldb-faq-native-page .faq-dropdown-toggle {
  width: 100%;
  border-bottom: 1px solid silver;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0.5em 1.5em 1em 0;
  display: flex;
  cursor: pointer;
  position: static;
}

body.ldb-faq-native-page .faq-title {
  white-space: pre-wrap;
  font-size: 1.4em;
  color: #2d365a;
}

body.ldb-faq-native-page .faq-answer-dropdown {
  width: 100%;
  background-color: transparent;
  position: relative;
  overflow: hidden;
}

body.ldb-faq-native-page .faq-answer-dropdown.w-dropdown-list {
  display: none;
  position: relative;
  min-width: 0;
}

body.ldb-faq-native-page .faq-answer-dropdown.w-dropdown-list.w--open {
  display: block;
}

body.ldb-faq-native-page .faq-answer {
  padding: 1em 0 1em 2em;
  font-size: 1.1em;
  line-height: 1.8;
  color: #2d365a;
  margin: 0;
}

body.ldb-faq-native-page .faq-dropdown-toggle.w--open .icon-faq {
  transform: rotate(180deg);
}

body.ldb-faq-native-page .icon-faq {
  margin: 0;
  position: relative;
  top: 0.3em;
  transition: transform 0.2s ease;
  flex: none;
}

body.ldb-faq-native-page,
body.ldb-faq-native-page .ldb-native-body-shell:not(.faq-hero-root),
body.ldb-faq-native-page .elementor {
  background-color: #fff !important;
}

body.ldb-faq-native-page .section-root.faq-category-root.e-con {
  background-color: #fff !important;
}

@media screen and (max-width: 991px) {
  body.ldb-faq-native-page .faq-hero-root.site-faq.page-wrapper.main-wrapper.home {
    margin-top: -9em !important;
    padding-top: 9em !important;
  }

  body.ldb-faq-native-page .section-root.banni-re.in-faq.e-con,
  body.ldb-faq-native-page .banni-re.in-faq {
    margin-bottom: 0 !important;
    padding-bottom: 9.4em;
  }

  body.ldb-faq-native-page .section-root.faq-summary-root.e-con {
    padding-top: 0 !important;
    margin-top: 24em !important;
  }

  body.ldb-faq-native-page .faq-hero-root img.home-hero-background.in-recettes-hero,
  body.ldb-faq-native-page .faq-body-widget img.home-hero-background.in-recettes-hero {
    top: 0 !important;
    left: -19.2em !important;
    width: 167% !important;
    max-width: none !important;
    height: auto !important;
    transform: none !important;
  }

  body.ldb-faq-native-page .faq-summary-components {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 767px) {
  body.ldb-faq-native-page .faq-hero-root.site-faq.page-wrapper.main-wrapper.home {
    margin-top: -10em !important;
    padding-top: 10em !important;
  }

  body.ldb-faq-native-page .section-root.banni-re.in-faq.e-con,
  body.ldb-faq-native-page .banni-re.in-faq {
    margin-top: 0 !important;
    padding-top: 0;
    padding-bottom: 9.4em;
  }

  body.ldb-faq-native-page .section-root.faq-summary-root.e-con {
    padding-top: 0 !important;
    margin-top: 22em !important;
  }

  body.ldb-faq-native-page .faq-hero-root img.home-hero-background.in-recettes-hero,
  body.ldb-faq-native-page .faq-body-widget img.home-hero-background.in-recettes-hero {
    width: 300% !important;
    top: -6.1em !important;
    left: -25em !important;
    max-width: none !important;
    height: auto !important;
    transform: none !important;
  }

  body.ldb-faq-native-page .faq-summary .page-padding,
  body.ldb-faq-native-page .faq-section .page-padding {
    padding-left: 1em;
    padding-right: 1em;
  }

  body.ldb-faq-native-page .banni-re.in-faq .vertical-padding.large-top {
    padding-top: 10em;
  }

  body.ldb-faq-native-page .faq-summary-components {
    grid-template-columns: repeat(2, 1fr);
  }

  body.ldb-faq-native-page .faq-section.last,
  body.ldb-faq-native-page .section-root.faq-section.last.e-con {
    margin-bottom: 30px !important;
  }

  body.ldb-faq-native-page .faq-category {
    font-size: 2.2em;
  }
}

@media screen and (max-width: 479px) {
  body.ldb-faq-native-page .faq-summary-components {
    grid-template-columns: 1fr;
  }
}
