/* SECTION764 — Cam kết của Maison (brand primary #850e35) */
.mc-commit-wrap.elementor-section,
.elementor-section.mc-commit-wrap {
  --mc-commit-brand: #850e35;
  --mc-commit-title: #051f4d;
  --mc-commit-text: #545454;
  --mc-commit-bg: rgb(255, 247, 249);
  --mc-commit-icon-color: #ee6983;
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  min-height: 506px;
  overflow: visible;
  background: var(--mc-commit-bg);
  font-family: Tinos, serif;
}

.mc-commit-wrap > .elementor-container {
  position: relative !important;
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  height: 506px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible;
}

.mc-commit-wrap > .elementor-container > .elementor-column,
.mc-commit-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap,
.mc-commit-wrap > .elementor-container > .elementor-row,
.mc-commit-wrap > .elementor-container > .elementor-row > .elementor-column,
.mc-commit-wrap > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap {
  position: relative;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  overflow: visible;
}

.mc-commit-wrap .elementor-element {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

/* Media (video / poster) */
.mc-commit-wrap .elementor-element.mc-commit__media {
  position: absolute !important;
  left: 0;
  top: 24px;
  width: 410px !important;
  height: 459px !important;
  z-index: 1;
  overflow: hidden;
}

.mc-commit-wrap .mc-commit__media-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.mc-commit-wrap .mc-commit__media video,
.mc-commit-wrap .mc-commit__video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.mc-commit-wrap .mc-commit__media .elementor-widget-container,
.mc-commit-wrap .mc-commit__media .elementor-image,
.mc-commit-wrap .mc-commit__media .elementor-custom-embed,
.mc-commit-wrap .mc-commit__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Title + brand rule */
.mc-commit-wrap .elementor-element.mc-commit__title {
  position: absolute !important;
  left: 450px;
  top: 44px;
  width: 340px !important;
  z-index: 2;
}

.mc-commit-wrap .mc-commit__title .elementor-heading-title {
  margin: 0;
  font-family: "Cormorant Upright", serif;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--mc-commit-title);
}

.mc-commit-wrap .mc-commit__title-brand {
  color: var(--mc-commit-brand) !important;
}

.mc-commit-wrap .elementor-element.mc-commit__decor-html {
  position: absolute !important;
  inset: 0;
  z-index: 2;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
}

.mc-commit-wrap .mc-commit__line {
  position: absolute;
  left: 429px;
  top: 44px;
  width: 5px;
  height: 94px;
  background: var(--mc-commit-brand);
}

.mc-commit-wrap .mc-commit__icon {
  position: absolute;
  display: block;
  width: 48px;
  height: 47px;
  pointer-events: none;
  background-color: var(--mc-commit-icon-color, #ee6983);
  -webkit-mask: url("../images/mooncake-icon.svg") center / contain no-repeat;
  mask: url("../images/mooncake-icon.svg") center / contain no-repeat;
}

.mc-commit-wrap .mc-commit__icon--1 { left: 444px; top: 102px; }
.mc-commit-wrap .mc-commit__icon--2 { left: 814px; top: 102px; }
.mc-commit-wrap .mc-commit__icon--3 { left: 444px; top: 267px; }
.mc-commit-wrap .mc-commit__icon--4 { left: 814px; top: 267px; }

/* Feature blocks */
.mc-commit-wrap .mc-commit__feat.elementor-inner-section {
  position: absolute !important;
  z-index: 2;
  box-sizing: border-box;
}

.mc-commit-wrap .mc-commit__feat--1 {
  left: 450px;
  top: 111px;
  width: 328px !important;
  max-width: 328px !important;
}
.mc-commit-wrap .mc-commit__feat--2 {
  left: 820px;
  top: 113px;
  width: 367px !important;
  max-width: 367px !important;
}
.mc-commit-wrap .mc-commit__feat--3 {
  left: 450px;
  top: 279px;
  width: 324px !important;
  max-width: 324px !important;
}
.mc-commit-wrap .mc-commit__feat--4 {
  left: 820px;
  top: 278px;
  width: 367px !important;
  max-width: 367px !important;
}

.mc-commit-wrap .mc-commit__feat > .elementor-container,
.mc-commit-wrap .mc-commit__feat > .elementor-container > .elementor-column,
.mc-commit-wrap .mc-commit__feat .elementor-widget-wrap {
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

.mc-commit-wrap .mc-commit__feat .elementor-element.mc-commit__feat-title {
  position: relative !important;
  left: auto;
  top: auto;
  margin: 0 0 12px 46px !important;
  width: auto !important;
}

.mc-commit-wrap .mc-commit__feat--2 .elementor-element.mc-commit__feat-title,
.mc-commit-wrap .mc-commit__feat--4 .elementor-element.mc-commit__feat-title {
  margin-left: 48px !important;
}

.mc-commit-wrap .mc-commit__feat-title .elementor-heading-title {
  margin: 0;
  font-family: "Cormorant Upright", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--mc-commit-brand) !important;
}

.mc-commit-wrap .mc-commit__feat .elementor-element.mc-commit__feat-text {
  position: relative !important;
  margin: 0 !important;
}

.mc-commit-wrap .mc-commit__feat-text,
.mc-commit-wrap .mc-commit__feat-text p {
  margin: 0;
  font-family: Tinos, serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
  color: var(--mc-commit-text);
}

.mc-commit-wrap .mc-commit__feat-text strong {
  font-weight: 700;
}

/* —— ≤1024 —— */
@media (max-width: 1024px) {
  .mc-commit-wrap.elementor-section,
  .elementor-section.mc-commit-wrap {
    min-height: 0;
    overflow: visible;
  }

  .mc-commit-wrap > .elementor-container {
    height: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 0 48px !important;
  }

  .mc-commit-wrap > .elementor-container > .elementor-column,
  .mc-commit-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap,
  .mc-commit-wrap > .elementor-container > .elementor-row,
  .mc-commit-wrap > .elementor-container > .elementor-row > .elementor-column,
  .mc-commit-wrap > .elementor-container > .elementor-row > .elementor-column > .elementor-widget-wrap {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch;
    gap: 0;
    overflow: visible !important;
  }

  .mc-commit-wrap .elementor-element.mc-commit__media {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none;
    height: auto !important;
    aspect-ratio: 16 / 10;
    margin: 0;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    z-index: 3;
  }

  .mc-commit-wrap .mc-commit__media-inner,
  .mc-commit-wrap .mc-commit__media video,
  .mc-commit-wrap .mc-commit__video {
    border-radius: 0;
    position: relative;
    z-index: 3;
  }

  .mc-commit-wrap .elementor-element.mc-commit__decor-html {
    position: relative !important;
    inset: auto;
    height: 0 !important;
    width: 100% !important;
    overflow: visible;
    order: 2;
  }

  /* Hide absolute desktop icons; mobile uses ::before on titles */
  .mc-commit-wrap .mc-commit__icon {
    display: none;
  }

  /* Vertical rule sits with title via ::before */
  .mc-commit-wrap .mc-commit__line {
    display: none;
  }

  .mc-commit-wrap .elementor-element.mc-commit__title {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none;
    margin: 28px 0 8px !important;
    padding: 0 28px 0 28px !important;
    box-sizing: border-box;
    order: 3;
    overflow: visible !important;
    z-index: 1;
  }

  .mc-commit-wrap .mc-commit__title .elementor-heading-title {
    position: relative;
    font-size: 32px;
    line-height: 1.25;
    text-align: left;
    overflow: visible;
  }

  /* Long brand rule — extends up under video (sample tuck) */
  .mc-commit-wrap .mc-commit__title .elementor-heading-title::before {
    content: "";
    position: absolute;
    left: -18px;
    top: -72px;
    width: 5px;
    height: 94px;
    background: var(--mc-commit-brand);
    border-radius: 1px;
    z-index: 0;
    pointer-events: none;
  }

  .mc-commit-wrap .mc-commit__feat.elementor-inner-section,
  .mc-commit-wrap .mc-commit__feat--1,
  .mc-commit-wrap .mc-commit__feat--2,
  .mc-commit-wrap .mc-commit__feat--3,
  .mc-commit-wrap .mc-commit__feat--4 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px 28px 0 !important;
    box-sizing: border-box;
    order: 4;
  }

  .mc-commit-wrap .mc-commit__feat .elementor-element.mc-commit__feat-title {
    margin: 0 0 8px 0 !important;
    padding: 0 0 0 52px !important;
    min-height: 48px;
    display: flex !important;
    align-items: center;
    width: 100% !important;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title {
    position: relative;
    font-size: 20px;
    line-height: 1.3;
    color: var(--mc-commit-brand) !important;
    width: 100%;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title::before {
    content: "";
    position: absolute;
    left: -52px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background-color: var(--mc-commit-icon-color, #ee6983);
    -webkit-mask: url("../images/mooncake-icon.svg") center / contain no-repeat;
    mask: url("../images/mooncake-icon.svg") center / contain no-repeat;
  }

  /* Body full-width under icon+title column (same as PC: text starts at icon left) */
  .mc-commit-wrap .mc-commit__feat .elementor-element.mc-commit__feat-text {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  .mc-commit-wrap .mc-commit__feat-text,
  .mc-commit-wrap .mc-commit__feat-text p {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
    font-size: 15px;
    line-height: 1.55;
    text-align: left !important;
  }
}

/* —— iPad / tablet: 2 cột feature, tận dụng bề ngang —— */
@media (min-width: 768px) and (max-width: 1024px) {
  .mc-commit-wrap > .elementor-container {
    padding: 0 0 56px !important;
  }

  .mc-commit-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    column-gap: 32px;
    row-gap: 4px;
    align-items: start;
    padding: 0 32px !important;
    box-sizing: border-box;
  }

  .mc-commit-wrap .elementor-element.mc-commit__media {
    grid-column: 1 / -1;
    padding: 0 !important;
    aspect-ratio: 16 / 9;
  }

  .mc-commit-wrap .elementor-element.mc-commit__decor-html {
    grid-column: 1 / -1;
  }

  .mc-commit-wrap .elementor-element.mc-commit__title {
    grid-column: 1 / -1;
    margin: 24px 0 4px !important;
    padding: 0 0 0 18px !important;
  }

  .mc-commit-wrap .mc-commit__title .elementor-heading-title {
    font-size: 34px;
  }

  .mc-commit-wrap .mc-commit__feat.elementor-inner-section,
  .mc-commit-wrap .mc-commit__feat--1,
  .mc-commit-wrap .mc-commit__feat--2,
  .mc-commit-wrap .mc-commit__feat--3,
  .mc-commit-wrap .mc-commit__feat--4 {
    padding: 20px 0 0 !important;
    width: 100% !important;
    max-width: none !important;
  }
}

/* —— ≤992 —— */
@media (max-width: 992px) {
  .mc-commit-wrap .mc-commit__title .elementor-heading-title {
    font-size: 28px;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title {
    font-size: 19px;
  }
}

/* —— ≤767 —— */
@media (max-width: 767px) {
  .mc-commit-wrap > .elementor-container {
    padding: 0 0 40px !important;
  }

  .mc-commit-wrap .elementor-element.mc-commit__media {
    aspect-ratio: 16 / 11;
    padding: 0 10px !important;
  }

  .mc-commit-wrap .elementor-element.mc-commit__title {
    margin: 22px 0 4px !important;
    padding: 0 16px 0 28px !important;
  }

  .mc-commit-wrap .mc-commit__title .elementor-heading-title {
    font-size: 26px;
  }

  .mc-commit-wrap .mc-commit__title .elementor-heading-title::before {
    left: -18px;
    top: -64px;
    width: 5px;
    height: 88px;
  }

  .mc-commit-wrap .mc-commit__feat.elementor-inner-section {
    padding: 16px 16px 0 !important;
  }

  .mc-commit-wrap .mc-commit__feat .elementor-element.mc-commit__feat-title {
    padding-left: 48px !important;
    min-height: 44px;
    margin-bottom: 6px !important;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title {
    font-size: 18px;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title::before {
    left: -48px;
    width: 40px;
    height: 40px;
  }

  .mc-commit-wrap .mc-commit__feat-text,
  .mc-commit-wrap .mc-commit__feat-text p {
    font-size: 14px;
    line-height: 1.5;
  }
}

/* —— ≤320 —— */
@media (max-width: 320px) {
  .mc-commit-wrap .elementor-element.mc-commit__title {
    padding: 0 12px 0 24px !important;
    margin-top: 18px !important;
  }

  .mc-commit-wrap .mc-commit__title .elementor-heading-title {
    font-size: 22px;
  }

  .mc-commit-wrap .mc-commit__feat.elementor-inner-section {
    padding: 14px 12px 0 !important;
  }

  .mc-commit-wrap .mc-commit__feat .elementor-element.mc-commit__feat-title {
    padding-left: 44px !important;
    min-height: 40px;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title {
    font-size: 16px;
  }

  .mc-commit-wrap .mc-commit__feat-title .elementor-heading-title::before {
    left: -44px;
    width: 36px;
    height: 36px;
  }

  .mc-commit-wrap .mc-commit__feat-text,
  .mc-commit-wrap .mc-commit__feat-text p {
    font-size: 13px;
  }
}
