/*
 * MoonHouse generated layout hardening.
 *
 * Elementor can override container display, width and grid variables when
 * Flexbox/Grid experiments or Atomic Elements are enabled. These selectors use
 * the stable generated element IDs, so the approved layout does not depend on
 * optional CSS-class controls or Elementor's stylesheet order.
 */

body.moonhouse-theme .elementor :is(
  .elementor-element-mhheroin,
  .elementor-element-mhtrust1,
  .elementor-element-mhabout1,
  .elementor-element-mhlocain,
  .elementor-element-mhroute1,
  .elementor-element-mhspace1,
  .elementor-element-mhservin,
  .elementor-element-mhconta1,
  [data-id="mhheroin"],
  [data-id="mhtrust1"],
  [data-id="mhabout1"],
  [data-id="mhlocain"],
  [data-id="mhroute1"],
  [data-id="mhspace1"],
  [data-id="mhservin"],
  [data-id="mhconta1"]
) {
  --width: min(1180px, calc(100% - 40px));
  --max-width: 1180px;
  --content-width: 1180px;
  width: min(1180px, calc(100% - 40px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  align-self: center !important;
  flex-basis: auto !important;
}

body.moonhouse-theme .elementor :is(
  .elementor-element-mhhero1,
  .elementor-element-mhlocat1,
  .elementor-element-mhservi1,
  .elementor-element-mhrelax1,
  [data-id="mhhero1"],
  [data-id="mhlocat1"],
  [data-id="mhservi1"],
  [data-id="mhrelax1"]
) {
  --width: 100%;
  --max-width: none;
  --content-width: 100%;
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
  flex-basis: auto !important;
}

body.moonhouse-theme .elementor :is(
  .elementor-element-mhhero1,
  .elementor-element-mhlocat1,
  .elementor-element-mhservi1,
  .elementor-element-mhrelax1,
  [data-id="mhhero1"],
  [data-id="mhlocat1"],
  [data-id="mhservi1"],
  [data-id="mhrelax1"]
) > .e-con-inner {
  width: 100% !important;
  max-width: none !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhhero1,[data-id="mhhero1"]) {
  min-height: max(680px, 100svh) !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  position: relative !important;
  overflow: hidden !important;
  color: #fff !important;
  background-color: #2f1320 !important;
  background-blend-mode: multiply !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhhero1,[data-id="mhhero1"])::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg,rgba(28,9,17,.87),rgba(40,11,24,.58) 48%,rgba(30,10,18,.12)),linear-gradient(0deg,rgba(19,5,11,.4),transparent 44%);
}

body.moonhouse-theme .elementor :is(.elementor-element-mhheroin,[data-id="mhheroin"]) {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  position: relative !important;
  z-index: 1 !important;
  padding-top: 52px !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhact001,[data-id="mhact001"]) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhact001,[data-id="mhact001"]) > .elementor-element {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhtrust1,[data-id="mhtrust1"]) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto !important;
  grid-auto-flow: row !important;
  align-items: center !important;
  gap: 0 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhtrust1,[data-id="mhtrust1"]) > .elementor-element {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhabout1,[data-id="mhabout1"]) {
  display: grid !important;
  grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr) !important;
  grid-auto-flow: row !important;
  align-items: center !important;
  gap: clamp(45px,8vw,110px) !important;
}

body.moonhouse-theme .elementor :is(
  .elementor-element-mhabcopy,
  .elementor-element-mhabimgc,
  [data-id="mhabcopy"],
  [data-id="mhabimgc"]
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
  grid-row: auto !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhabimgc,[data-id="mhabimgc"]) {
  position: relative !important;
  padding-left: 7% !important;
  overflow: visible !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhabimg1,[data-id="mhabimg1"]) img {
  width: 100% !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  border-radius: 200px 200px 24px 24px !important;
  box-shadow: 0 30px 70px rgba(62,25,40,.14) !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhlocat1,[data-id="mhlocat1"]) {
  width: 100% !important;
  max-width: none !important;
  padding: 100px 0 92px !important;
  background: #4d0120 !important;
  color: #fff !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhlocain,[data-id="mhlocain"]) {
  display: grid !important;
  grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) !important;
  grid-auto-flow: row !important;
  align-items: end !important;
  gap: 28px 55px !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhroute1,[data-id="mhroute1"]) {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 0 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhroute1,[data-id="mhroute1"]) > .elementor-element {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhspace1,[data-id="mhspace1"]) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding-block: 140px !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgallery,[data-id="mhgallery"]) {
  display: grid !important;
  grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr) minmax(0,.85fr) !important;
  grid-template-rows: 320px 250px !important;
  grid-auto-flow: row !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: none !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgallery,[data-id="mhgallery"]) > .elementor-element {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgal001,[data-id="mhgal001"]) {
  grid-row: 1 / 3 !important;
  grid-column: 1 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgal004,[data-id="mhgal004"]) {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgal002,[data-id="mhgal002"]) {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgal003,[data-id="mhgal003"]) {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhgal005,[data-id="mhgal005"]) {
  grid-column: 3 !important;
  grid-row: 2 !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhservi1,[data-id="mhservi1"]) {
  width: 100% !important;
  max-width: none !important;
  padding: 120px 0 126px !important;
  background: #27151d !important;
  color: #fff !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhservin,[data-id="mhservin"]) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhsecards,[data-id="mhsecards"]) {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhsecards,[data-id="mhsecards"]) > .elementor-element {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhrelax1,[data-id="mhrelax1"]) {
  min-height: 650px !important;
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhconta1,[data-id="mhconta1"]) {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow: row !important;
  align-items: center !important;
  gap: 30px clamp(50px,9vw,120px) !important;
  padding-block: 140px 0 !important;
}

body.moonhouse-theme .elementor :is(
  .elementor-element-mhconcpy,
  .elementor-element-mhconact,
  [data-id="mhconcpy"],
  [data-id="mhconact"]
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhconact,[data-id="mhconact"]) {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: #fff !important;
  border-radius: 24px !important;
  padding: 18px 28px !important;
  box-shadow: 0 24px 70px rgba(63,29,43,.1) !important;
  overflow: visible !important;
}

body.moonhouse-theme .elementor :is(.elementor-element-mhmap001,[data-id="mhmap001"]) {
  width: 100% !important;
  max-width: none !important;
  grid-column: 1 / -1 !important;
}

@media (max-width:900px) {
  body.moonhouse-theme .elementor :is(.elementor-element-mhabout1,[data-id="mhabout1"]),
  body.moonhouse-theme .elementor :is(.elementor-element-mhlocain,[data-id="mhlocain"]),
  body.moonhouse-theme .elementor :is(.elementor-element-mhconta1,[data-id="mhconta1"]) {
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhroute1,[data-id="mhroute1"]),
  body.moonhouse-theme .elementor :is(.elementor-element-mhsecards,[data-id="mhsecards"]) {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhgallery,[data-id="mhgallery"]) {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    grid-template-rows: 420px 260px 260px !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhgallery,[data-id="mhgallery"]) > .elementor-element {
    grid-column: auto !important;
    grid-row: auto !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhgal001,[data-id="mhgal001"]) {
    grid-column: 1 / 3 !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhtrust1,[data-id="mhtrust1"]) {
    grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhtrust1,[data-id="mhtrust1"]) > .mh-el-directions {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width:620px) {
  body.moonhouse-theme .elementor :is(
    .elementor-element-mhheroin,
    .elementor-element-mhabout1,
    .elementor-element-mhlocain,
    .elementor-element-mhroute1,
    .elementor-element-mhspace1,
    .elementor-element-mhservin,
    .elementor-element-mhconta1,
    [data-id="mhheroin"],
    [data-id="mhabout1"],
    [data-id="mhlocain"],
    [data-id="mhroute1"],
    [data-id="mhspace1"],
    [data-id="mhservin"],
    [data-id="mhconta1"]
  ) {
    --width: calc(100% - 28px);
    --max-width: calc(100% - 28px);
    --content-width: calc(100% - 28px);
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhtrust1,[data-id="mhtrust1"]) {
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhact001,[data-id="mhact001"]) {
    flex-direction: column !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhact001,[data-id="mhact001"]) > .elementor-element {
    width: 100% !important;
    flex-basis: 100% !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhroute1,[data-id="mhroute1"]),
  body.moonhouse-theme .elementor :is(.elementor-element-mhsecards,[data-id="mhsecards"]) {
    grid-template-columns: minmax(0,1fr) !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhgallery,[data-id="mhgallery"]) {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 12px !important;
  }

  body.moonhouse-theme .elementor :is(.elementor-element-mhgallery,[data-id="mhgallery"]) > .elementor-element {
    flex: 0 0 82vw !important;
    width: 82vw !important;
    height: 430px !important;
    scroll-snap-align: center;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}
