/* USUM Task#66: becamexacc.com.vn layout restore
 * Root cause: LiteSpeed UCSS dropped Slick base + Elementor Posts ratio/absolute CSS.
 * Scoped to homepage widgets. No body/html overflow:hidden.
 */

/* Hero safety */
.elementor-11 .elementor-element-485deb9 {
  background-image: url(https://becamexacc.com.vn/wp-content/uploads/2022/11/1-1.svg) !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}
.elementor-11 .elementor-element-485deb9 > .elementor-container {
  min-height: 60vh;
}

/* ===== Jet carousel 778f62c — restore Slick base ===== */
.elementor-element-778f62c,
.elementor-element-778f62c .jet-carousel-wrap,
.elementor-element-778f62c .jet-carousel {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.elementor-element-778f62c .slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
}
.elementor-element-778f62c .slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  max-width: 100%;
}
.elementor-element-778f62c .slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.elementor-element-778f62c .slick-track:before,
.elementor-element-778f62c .slick-track:after {
  display: table;
  content: "";
}
.elementor-element-778f62c .slick-track:after {
  clear: both;
}
.elementor-element-778f62c .slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
  box-sizing: border-box;
}
.elementor-element-778f62c .slick-initialized .slick-slide {
  display: block;
}
.elementor-element-778f62c .slick-slide img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Overlay caption on image (title + number 01-06) */
.elementor-element-778f62c.css_lvuc_tc .jet-carousel__item-inner,
.css_lvuc_tc .jet-carousel__item-inner {
  position: relative;
  overflow: hidden;
}
.elementor-element-778f62c.css_lvuc_tc .jet-carousel__item-img,
.css_lvuc_tc .jet-carousel__item-img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.elementor-element-778f62c.css_lvuc_tc .jet-carousel__content,
.css_lvuc_tc .jet-carousel__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  box-sizing: border-box;
  pointer-events: none;
}
.elementor-element-778f62c.css_lvuc_tc .jet-carousel__content a,
.css_lvuc_tc .jet-carousel__content a {
  pointer-events: auto;
}

/* ===== Posts CÔNG TRÌNH bc87f52 / .cs_cong_trinh =====
 * Keep Elementor grid. Ensure ratio box + absolute image/text overlay
 * even if JS never adds .elementor-has-item-ratio (Pro version skew).
 */
.cs_cong_trinh .elementor-posts-container.elementor-grid,
.elementor-element-bc87f52 .elementor-posts-container.elementor-grid {
  /* do NOT override display:grid from Elementor */
  width: 100%;
}
.cs_cong_trinh .elementor-post,
.elementor-element-bc87f52 .elementor-post {
  position: relative;
  overflow: hidden;
}
.cs_cong_trinh .elementor-post__thumbnail__link,
.elementor-element-bc87f52 .elementor-post__thumbnail__link {
  display: block;
  width: 100%;
  position: relative;
  margin-bottom: 0 !important; /* overlay title sits on image, not below */
}
.cs_cong_trinh .elementor-posts-container .elementor-post__thumbnail,
.elementor-element-bc87f52 .elementor-posts-container .elementor-post__thumbnail {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  padding-bottom: calc(0.6 * 100%); /* desktop ratio from post-11.css */
}
@media (max-width: 1024px) {
  .cs_cong_trinh .elementor-posts-container .elementor-post__thumbnail,
  .elementor-element-bc87f52 .elementor-posts-container .elementor-post__thumbnail {
    padding-bottom: calc(0.66 * 100%);
  }
}
.cs_cong_trinh .elementor-posts-container .elementor-post__thumbnail img,
.elementor-element-bc87f52 .elementor-posts-container .elementor-post__thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.01);
  width: 100%;
  max-width: none;
  height: auto;
  display: block;
}
.cs_cong_trinh .elementor-post__text,
.elementor-element-bc87f52 .elementor-post__text {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  box-sizing: border-box;
  margin: 0;
  padding: 16px;
}
.cs_cong_trinh.elementor-invisible,
.elementor-element-bc87f52.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

/* ===== Task#67: residual 18px horizontal overflow on about pages =====
 * Cause: long bare domain strings inside text-editor list items
 * (e.g. "www.becamexacc.com.vn hoặc www.becamexacc.vn") expand scrollWidth.
 * Fix: allow break on long tokens in the known widget + text-editor links.
 * No body/html overflow:hidden.
 */
.elementor-element-c01f981,
.elementor-element-c01f981 .elementor-widget-container,
.elementor-element-c01f981 li,
.elementor-element-c01f981 span,
.elementor-element-c01f981 a {
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Decorative absolute image slightly off-canvas (-10px) — clip at widget */
.elementor-element-15e8be3 .elementor-widget-container {
  overflow: hidden;
  max-width: 100%;
}

/* Safety: long unbroken URLs/emails in Elementor text editors site-wide */
.elementor-widget-text-editor,
.elementor-widget-text-editor a,
.elementor-widget-text-editor span {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Task#68 overflow clip: slick-track is intentionally wide; ancestors must clip so document cannot scroll-x */
body.home .elementor-element-778f62c,
body.home .css_lvuc_tc,
body.home .elementor-element-778f62c .elementor-widget-container,
body.home .elementor-element-778f62c .jet-carousel,
body.home .elementor-element-778f62c .slick-list,
body.home .elementor-element-778f62c .elementor-slick-slider {
  overflow-x: clip !important;
  max-width: 100% !important;
}

/* Posts classic / Công trình section */
body.home .elementor-element-bc87f52,
body.home .cs_cong_trinh,
body.home .elementor-element-bc87f52 .elementor-widget-container {
  overflow-x: clip !important;
  max-width: 100% !important;
}

/* Site-wide Elementor sections on homepage should not expand document width */
body.home .elementor-section,
body.home .elementor-container,
body.home .elementor-widget-wrap {
  max-width: 100%;
}

/* Task#68 page clip: prevent #page scrollWidth expansion from slick-track metrics
 * without relying on body overflow alone. Homepage only.
 */
body.home #page,
body.home .site,
body.home #content,
body.home .site-content,
body.home .ast-container,
body.home .entry-content {
  overflow-x: clip !important;
  max-width: 100% !important;
}
