/* Product landing pages (Is_Landing) — Elementor snapshot without Elementor runtime.
 * Loaded only from product.php landing branch. */

.mp-pdp--landing {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 0 48px;
  box-sizing: border-box;
}

.mp-pdp__landing-crumbs {
  max-width: 1240px;
  margin: 12px auto 8px;
  padding: 0 16px;
  box-sizing: border-box;
}

.mp-pdp__landing-body {
  width: 100%;
}

.mp-pdp__landing-body > *:first-child {
  margin-top: 0;
}

.mp-pdp--landing .mpd-el {
  color: #54595f;
  font-size: 16px;
  line-height: 1.5;
}

.mp-pdp--landing .mpd-el .elementor-section {
  position: relative;
  margin: 0;
}

.mp-pdp--landing .mpd-el .elementor-background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

.mp-pdp--landing .mpd-el .elementor-container,
.mp-pdp--landing .mpd-el .elementor-row,
.mp-pdp--landing .mpd-el .elementor-column-wrap,
.mp-pdp--landing .mpd-el .elementor-widget-wrap {
  position: relative;
  z-index: 1;
}

.mp-pdp--landing .mpd-el .elementor-section > .elementor-container {
  display: flex;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.mp-pdp--landing .mpd-el .elementor-section-boxed > .elementor-container {
  max-width: 1140px;
}

.mp-pdp--landing .mpd-el .elementor-row {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  box-sizing: border-box;
}

.mp-pdp--landing .mpd-el .elementor-column {
  display: flex;
  position: relative;
  min-width: 0;
  min-height: 1px;
  box-sizing: border-box;
}

.mp-pdp--landing .mpd-el .elementor-column-wrap,
.mp-pdp--landing .mpd-el .elementor-widget-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-wrap: wrap;
  align-content: flex-start;
}

.mp-pdp--landing .mpd-el .elementor-section-items-middle > .elementor-container {
  align-items: center;
}

.mp-pdp--landing .mpd-el .elementor-section-content-middle > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap {
  align-items: center;
}

.mp-pdp--landing .mpd-el .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 10px;
}

.mp-pdp--landing .mpd-el .elementor-column-gap-wide > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 20px;
}

.mp-pdp--landing .mpd-el .elementor-column-gap-no > .elementor-row > .elementor-column > .elementor-element-populated {
  padding: 0;
}

.mp-pdp--landing .mpd-el .elementor-widget,
.mp-pdp--landing .mpd-el .elementor-widget-wrap > .elementor-element {
  width: 100%;
}

.mp-pdp--landing .mpd-el img {
  max-width: 100%;
  height: auto;
  display: block;
}

.mp-pdp--landing .mpd-el .elementor-button,
.mp-pdp--landing .mpd-el a.elementor-button,
.mp-pdp--landing .mpd-el .elementor-button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
}

.mp-pdp--landing .mpd-el .elementor-widget-divider .elementor-divider-separator {
  display: inline-block;
}

.mp-pdp--landing .mpd-el .elementor-icon-box-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.mp-pdp--landing .mpd-el .fa {
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif;
}

/* Elementor video / embed — fill the column block */
.mp-pdp--landing .mpd-el .elementor-widget-video,
.mp-pdp--landing .mpd-el .elementor-widget-video .elementor-widget-container,
.mp-pdp--landing .mpd-el .elementor-custom-embed {
  width: 100%;
}
.mp-pdp--landing .mpd-el .elementor-fit-aspect-ratio {
  position: relative;
  height: 0;
  width: 100%;
  overflow: hidden;
}
.mp-pdp--landing .mpd-el .elementor-aspect-ratio-169 .elementor-fit-aspect-ratio {
  padding-bottom: 56.25%;
}
.mp-pdp--landing .mpd-el .elementor-aspect-ratio-219 .elementor-fit-aspect-ratio {
  padding-bottom: 42.8571%;
}
.mp-pdp--landing .mpd-el .elementor-aspect-ratio-43 .elementor-fit-aspect-ratio {
  padding-bottom: 75%;
}
.mp-pdp--landing .mpd-el .elementor-aspect-ratio-32 .elementor-fit-aspect-ratio {
  padding-bottom: 66.6666%;
}
.mp-pdp--landing .mpd-el .elementor-aspect-ratio-11 .elementor-fit-aspect-ratio {
  padding-bottom: 100%;
}
.mp-pdp--landing .mpd-el .elementor-fit-aspect-ratio iframe,
.mp-pdp--landing .mpd-el .elementor-fit-aspect-ratio video,
.mp-pdp--landing .mpd-el .elementor-video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  max-width: none;
}
.mp-pdp--landing .mpd-el .elementor-widget-video .elementor-custom-embed-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  cursor: pointer;
}
.mp-pdp--landing .mpd-el .elementor-widget-video .elementor-custom-embed-image-overlay img {
  width: 100%;
  height: auto;
  display: block;
}

/* Let Elementor post CSS control heading colors (do not force gray). */
.mp-pdp--landing .mpd-el .elementor-heading-title {
  font-weight: 600;
}

@media (max-width: 1024px) {
  .mp-pdp--landing .mpd-el .elementor-row {
    flex-wrap: wrap;
  }
}

@media (max-width: 767px) {
  .mp-pdp--landing .mpd-el .elementor-column[class*="elementor-col-"],
  .mp-pdp--landing .mpd-el [class*="elementor-col-"] {
    width: 100% !important;
  }
}
