/* SECTION883 — Trải Nghiệm Các Vị Bánh Trung Thu Maison */
.mc-flavors-wrap.elementor-section,
.elementor-section.mc-flavors-wrap {
  --mc-flavors-accent: #850e35;
  --mc-flavors-accent-soft: rgba(133, 14, 53, 0.6);
  --mc-flavors-title: #051f4d;
  --mc-flavors-text: #545454;
  --mc-flavors-bg: rgb(255, 247, 249);
  --mc-flavors-frame-radius: 55px;
  --mc-flavors-collage-radius: 50px;
  position: relative;
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  min-height: 716px;
  background: var(--mc-flavors-bg) !important;
  overflow: visible;
}

.mc-flavors-wrap > .elementor-container {
  position: relative !important;
  width: min(100%, 1200px) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  min-height: 716px;
}

.mc-flavors-wrap > .elementor-container > .elementor-column,
.mc-flavors-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  position: relative !important;
  min-height: 716px;
  overflow: visible !important;
}

.mc-flavors-wrap .elementor-element {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

.mc-flavors-wrap .elementor-element.mc-flavors__title {
  position: absolute !important;
  left: 0;
  top: 21px;
  z-index: 3;
  width: 100% !important;
  max-width: 1200px !important;
}

.mc-flavors-wrap .mc-flavors__title .elementor-heading-title {
  margin: 0;
  font-family: "Cormorant Upright", serif;
  font-weight: 700;
  font-size: 36px;
  line-height: 1.2;
  text-align: center;
  color: var(--mc-flavors-title);
}

.mc-flavors-wrap .mc-flavors__title-accent {
  color: var(--mc-flavors-accent) !important;
}

.mc-flavors-wrap .elementor-element.mc-flavors__intro {
  position: absolute !important;
  left: 158px;
  top: 85px;
  z-index: 3;
  width: 958px !important;
  max-width: 958px !important;
}

.mc-flavors-wrap .mc-flavors__intro,
.mc-flavors-wrap .mc-flavors__intro p {
  margin: 0;
  font-family: Tinos, serif;
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
  color: var(--mc-flavors-text);
}

.mc-flavors-wrap .elementor-element.mc-flavors__stage-html {
  position: absolute !important;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100% !important;
  height: 100%;
  pointer-events: none;
}

.mc-flavors-wrap .mc-flavors__stage {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* BOX1507 — khung trắng, bo góc phải, viền hồng mờ */
.mc-flavors-wrap .mc-flavors__frame {
  position: absolute;
  left: 136.5px;
  top: 179px;
  width: 1001px;
  height: 444px;
  z-index: 1;
  box-sizing: border-box;
  background: #fff;
  border: 5px solid var(--mc-flavors-accent-soft);
  border-top-right-radius: var(--mc-flavors-frame-radius);
  border-bottom-right-radius: var(--mc-flavors-frame-radius);
}

/* IMAGE1643 — collage các vị (không border-style, khớp Ladi) */
.mc-flavors-wrap .mc-flavors__collage {
  position: absolute;
  left: 259px;
  top: 184px;
  width: 793px;
  height: 434px;
  z-index: 2;
  box-sizing: border-box;
  border: 0;
  border-radius: 0 var(--mc-flavors-collage-radius) var(--mc-flavors-collage-radius) 0;
  overflow: hidden;
  background-color: transparent;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}

/* GROUP1511 — ảnh dọc + cap hồng mỏng phía trên */
.mc-flavors-wrap .mc-flavors__side {
  position: absolute;
  left: 62.5px;
  top: 179px;
  width: 152px;
  height: 288px;
  z-index: 4;
}

/* BOX1513 */
.mc-flavors-wrap .mc-flavors__side-cap {
  position: absolute;
  left: 68px;
  top: 0;
  width: 15px;
  height: 52px;
  background: var(--mc-flavors-accent);
}

/* IMAGE1512 — bo góc dưới 90px, border hồng */
.mc-flavors-wrap .mc-flavors__side-photo {
  position: absolute;
  left: 0;
  top: 52px;
  width: 152px;
  height: 236px;
  box-sizing: border-box;
  border: 2px solid var(--mc-flavors-accent);
  border-radius: 0;
  border-bottom-left-radius: 90px;
  border-bottom-right-radius: 90px;
  overflow: hidden;
  background-color: #fff;
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}

/*
 * iPad / tablet: flow title+intro, stage = scaled desktop composition
 * (phone 420/1135 aspect must NOT apply here — it balloons to ~2550px tall)
 */
@media (min-width: 768px) and (max-width: 1024px) {
  .mc-flavors-wrap.elementor-section,
  .elementor-section.mc-flavors-wrap {
    min-height: 0;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 40px 0 52px !important;
    background-color: var(--mc-flavors-bg) !important;
    background-image: none !important;
    overflow: visible;
  }

  .mc-flavors-wrap > .elementor-container,
  .mc-flavors-wrap > .elementor-container > .elementor-column,
  .mc-flavors-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .mc-flavors-wrap > .elementor-container {
    padding: 0 28px !important;
    box-sizing: border-box !important;
  }

  .mc-flavors-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
    display: block !important;
    overflow: visible !important;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__title {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 14px !important;
    z-index: 3;
  }

  .mc-flavors-wrap .mc-flavors__title .elementor-heading-title {
    font-size: 32px;
    line-height: 1.25;
    text-align: center;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__intro {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 720px !important;
    height: auto !important;
    margin: 0 auto 28px !important;
    z-index: 3;
  }

  .mc-flavors-wrap .mc-flavors__intro,
  .mc-flavors-wrap .mc-flavors__intro p {
    font-size: 15px;
    line-height: 1.55;
    text-align: center;
  }

  /* Stage: desktop visual block scaled (1200 × 500 design space) */
  .mc-flavors-wrap .elementor-element.mc-flavors__stage-html {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 1200 / 500;
    margin: 0 !important;
    overflow: visible !important;
    pointer-events: none;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__stage-html .elementor-widget-container {
    overflow: visible !important;
    height: 100%;
  }

  .mc-flavors-wrap .mc-flavors__stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100%;
    height: 100%;
    overflow: visible !important;
  }

  /* Desktop px / 1200 — y zeroed at desktop top 179 */
  .mc-flavors-wrap .mc-flavors__frame {
    display: block;
    left: 11.375%;
    top: 0;
    width: 83.42%;
    height: 88.8%;
    border-width: 5px;
    border-top-right-radius: var(--mc-flavors-frame-radius);
    border-bottom-right-radius: var(--mc-flavors-frame-radius);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    z-index: 1;
    box-sizing: border-box;
    overflow: hidden;
  }

  .mc-flavors-wrap .mc-flavors__collage {
    display: block;
    position: absolute !important;
    left: 21.58%;
    top: 1%;
    width: 66.08%;
    height: 86.8%;
    min-width: 0;
    min-height: 0;
    border: 0;
    border-radius: 0 var(--mc-flavors-collage-radius) var(--mc-flavors-collage-radius) 0;
    background-size: cover;
    background-position: left top;
    background-repeat: no-repeat;
    z-index: 2;
    overflow: hidden;
  }

  /* No stacked mobile panels on tablet */
  .mc-flavors-wrap .mc-flavors__collage::before,
  .mc-flavors-wrap .mc-flavors__collage::after {
    content: none !important;
    display: none !important;
  }

  .mc-flavors-wrap .mc-flavors__side {
    display: block !important;
    left: 5.21%;
    top: 0;
    width: 12.67%;
    max-width: none;
    height: 57.6%;
    z-index: 4;
    overflow: visible !important;
  }

  .mc-flavors-wrap .mc-flavors__side-cap {
    left: 3.6%;
    top: 0;
    width: 10%;
    max-width: 12px;
    height: 18%;
    background: var(--mc-flavors-accent);
    z-index: 5;
  }

  .mc-flavors-wrap .mc-flavors__side-photo {
    left: 0;
    top: 18%;
    width: 100%;
    height: 82%;
    border-width: 2px;
    border-style: solid;
    border-color: var(--mc-flavors-accent);
    border-radius: 0;
    border-bottom-left-radius: 70px;
    border-bottom-right-radius: 70px;
    overflow: hidden;
    background-size: cover;
    background-position: left top;
    z-index: 4;
  }
}

/*
 * Ladi SECTION883 mobile (420 canvas) — phones only:
 * title L36 T7 W151 | intro L180 T57 W221
 * side GROUP1511 L12 T0 W142 H378 (cap + photo)
 * frame BOX1507 L12 T300 W382 H835
 * collage IMAGE1643 L24 T359 W357 H396 (+ IMAGE1644 below)
 */
@media (max-width: 767px) {
  .mc-flavors-wrap.elementor-section,
  .elementor-section.mc-flavors-wrap {
    min-height: 0;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 12px 0 32px !important;
    background-color: var(--mc-flavors-bg) !important;
    background-image: none !important;
  }

  .mc-flavors-wrap > .elementor-container,
  .mc-flavors-wrap > .elementor-container > .elementor-column,
  .mc-flavors-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .mc-flavors-wrap > .elementor-container {
    max-width: 100% !important;
  }

  .mc-flavors-wrap > .elementor-container > .elementor-column > .elementor-widget-wrap {
    position: relative !important;
    display: block !important;
    overflow: visible !important;
  }

  /* Kill Elementor mobile column/widget side padding that causes “hở mép” */
  .mc-flavors-wrap .elementor-column-gap-no > .elementor-column > .elementor-element-populated,
  .mc-flavors-wrap .elementor-widget:not(:last-child),
  .mc-flavors-wrap .elementor-element {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mc-flavors-wrap .elementor-widget-wrap > .elementor-element {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__title {
    position: absolute !important;
    left: 8.6% !important;
    top: 6px !important;
    width: 42% !important;
    max-width: none !important;
    height: auto !important;
    z-index: 5;
    margin: 0 !important;
  }

  .mc-flavors-wrap .mc-flavors__title .elementor-heading-title {
    font-size: 28px;
    line-height: 1.3;
    text-align: left;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__intro {
    position: absolute !important;
    left: 48% !important;
    top: 48px !important;
    width: 49% !important;
    max-width: none !important;
    height: auto !important;
    z-index: 5;
    margin: 0 !important;
  }

  .mc-flavors-wrap .mc-flavors__intro,
  .mc-flavors-wrap .mc-flavors__intro p {
    font-size: 15px;
    line-height: 1.55;
    text-align: justify;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__stage-html {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    /* 420 × 1135 — side top through frame bottom (Ladi); panel 2 must fit inside */
    aspect-ratio: 420 / 1135;
    overflow: hidden !important;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__stage-html .elementor-widget-container {
    overflow: hidden !important;
  }

  .mc-flavors-wrap .mc-flavors__stage {
    position: absolute !important;
    inset: 0 !important;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
    min-height: 0 !important;
  }

  .mc-flavors-wrap .mc-flavors__frame {
    display: block;
    /* Ladi BOX1507: L12 T300 W382 H835 on 420 */
    left: 2.86%;
    right: auto;
    top: 26.4%;
    width: 91%;
    height: 73.6%;
    border-width: 5px;
    border-top-right-radius: 55px;
    border-bottom-right-radius: 55px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    z-index: 1;
    box-sizing: border-box;
    overflow: hidden;
  }

  .mc-flavors-wrap .mc-flavors__side {
    display: block !important;
    left: 2.86%; /* 12 / 420 */
    top: 0;
    width: 33.8%; /* 142 / 420 */
    max-width: none;
    height: 33.3%; /* 378 / 1135 */
    z-index: 10;
    overflow: visible !important;
  }

  .mc-flavors-wrap .mc-flavors__side-cap {
    left: 0;
    top: 0;
    width: 5px;
    height: 43.3%; /* match Ladi BOX1513 vs photo split ~164/378 */
    background: var(--mc-flavors-accent);
    z-index: 11;
  }

  .mc-flavors-wrap .mc-flavors__side-photo {
    left: 0;
    top: 43.3%;
    width: 100%;
    height: 56.7%;
    border-width: 2px;
    border-style: solid;
    border-color: var(--mc-flavors-accent);
    border-radius: 0;
    border-bottom-left-radius: 70px;
    border-bottom-right-radius: 70px;
    z-index: 10;
    /* clip bg to rounded corners only — parent stays visible */
    overflow: hidden;
  }

  .mc-flavors-wrap .mc-flavors__collage {
    display: block;
    position: absolute !important;
    /* Ladi IMAGE1643: L24 T359 W357 H396 */
    left: 5.71%;
    right: auto;
    top: 31.6%;
    width: 85%;
    height: 34.9%;
    min-width: 0;
    min-height: 0;
    max-width: none;
    aspect-ratio: auto;
    border: 0;
    border-radius: 0 50px 50px 0;
    background-image: none !important;
    background-color: transparent;
    z-index: 2;
    /* visible so ::after (panel 2) can sit below; panels clip themselves */
    overflow: visible;
  }

  /* IMAGE1643 — first 2×2 (cover / left top; Ladi: no visible panel border) */
  .mc-flavors-wrap .mc-flavors__collage::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 0;
    border-radius: 0 50px 50px 0;
    background-image: url("../images/flavors-cac-vi-banh-mobile.png");
    background-size: cover;
    background-position: left top;
    background-repeat: no-repeat;
    pointer-events: none;
  }

  /* IMAGE1644 — second 2×2; Ladi tops 370px apart (396h) → top: 93.43% of panel 1 */
  .mc-flavors-wrap .mc-flavors__collage::after {
    content: "";
    position: absolute;
    left: 0;
    top: 93.43%; /* 370 / 396 — keep panel 2 inside stage/frame (no bottom overflow) */
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 0;
    border-radius: 0 50px 50px 0;
    background-image: url("../images/flavors-cac-vi-banh-mobile.png");
    background-repeat: no-repeat;
    /* 707/357 ≈ 198% wide, right-aligned ≡ left:-350 on 707 layer */
    background-size: 198% 100%;
    background-position: 100% 0;
    pointer-events: none;
  }
}

@media (max-width: 360px) {
  .mc-flavors-wrap.elementor-section,
  .elementor-section.mc-flavors-wrap {
    padding: 12px 0 32px !important;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__title {
    left: 8% !important;
    top: 4px !important;
    width: 40% !important;
  }

  .mc-flavors-wrap .mc-flavors__title .elementor-heading-title {
    font-size: 22px;
    line-height: 1.25;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__intro {
    left: 48% !important;
    top: 40px !important;
    width: 50% !important;
  }

  .mc-flavors-wrap .mc-flavors__intro,
  .mc-flavors-wrap .mc-flavors__intro p {
    font-size: 12px;
    line-height: 1.45;
  }

  .mc-flavors-wrap .mc-flavors__side-photo {
    border-bottom-left-radius: 56px;
    border-bottom-right-radius: 56px;
  }

  .mc-flavors-wrap .mc-flavors__frame {
    border-width: 4px;
  }
}

@media (max-width: 320px) {
  .mc-flavors-wrap.elementor-section,
  .elementor-section.mc-flavors-wrap {
    padding: 12px 0 32px !important;
  }

  /* Keep Ladi khung: title left above photo — do NOT full-bleed title */
  .mc-flavors-wrap .elementor-element.mc-flavors__title {
    position: absolute !important;
    left: 8% !important;
    top: 4px !important;
    width: 40% !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 6;
  }

  .mc-flavors-wrap .mc-flavors__title .elementor-heading-title {
    font-size: 20px;
    line-height: 1.22;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__intro {
    position: absolute !important;
    left: 48% !important;
    top: 36px !important;
    width: 50% !important;
    padding: 0 !important;
    z-index: 5;
  }

  .mc-flavors-wrap .mc-flavors__intro,
  .mc-flavors-wrap .mc-flavors__intro p {
    font-size: 11.5px;
    line-height: 1.4;
  }

  .mc-flavors-wrap .elementor-element.mc-flavors__stage-html {
    aspect-ratio: 420 / 1135;
    overflow: hidden !important;
  }

  .mc-flavors-wrap .mc-flavors__stage {
    overflow: hidden !important;
  }

  .mc-flavors-wrap .mc-flavors__side-cap {
    width: 4px;
  }

  .mc-flavors-wrap .mc-flavors__side-photo {
    border-width: 2px;
    border-bottom-left-radius: 52px;
    border-bottom-right-radius: 52px;
  }

  .mc-flavors-wrap .mc-flavors__frame {
    border-width: 4px;
  }

  /* Keep Ladi inset ratios — do not full-bleed frame/collage */
  .mc-flavors-wrap .mc-flavors__collage::before,
  .mc-flavors-wrap .mc-flavors__collage::after {
    border-radius: 0 40px 40px 0;
  }
}
