.elementor-153456 .elementor-element.elementor-element-55abdd6e{--display:flex;}/* Start custom CSS for text-editor, class: .elementor-element-21b9a0a4 *//* =========================================
   HALO Article Styles – iPhone 17 Series
   Mobile-first, đẹp, dễ đọc, không xung đột
   ========================================= */



.halo-article {
  color: var(--halo-text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  max-width: var(--halo-maxw);
  margin: 0 auto;
  padding: clamp(12px, 2vw, 20px);
  background: var(--halo-bg);
}

/* Typography */
.halo-article h1,
.halo-article h2,
.halo-article h3 {
  line-height: 1.25;
  letter-spacing: -.01em;
  margin: 0 0 .6em;
  font-weight: 800;
}

.halo-article h1 { 
  font-size: clamp(28px, 4.2vw, 40px);
}
.halo-article h2 { 
  font-size: clamp(22px, 3.2vw, 30px);
  margin-top: 1.6em;
}
.halo-article h3 { 
  font-size: clamp(18px, 2.6vw, 22px);
  margin-top: 1.4em;
}

.halo-article p,
.halo-article li {
  font-size: clamp(15px, 2.4vw, 17px);
  color: var(--halo-text);
}

.halo-article b, 
.halo-article strong {
  font-weight: 700;
}

.halo-article ul, 
.halo-article ol {
  margin: .8em 0 1.2em 1.25em;
  padding: 0;
}
.halo-article li + li { margin-top: .4em; }

.halo-article hr {
  border: 0;
  height: 1px;
  background: var(--halo-border);
  margin: 1.6em 0;
}

/* Images – WordPress classes */
.halo-article img {
  max-width: 100%;
  height: auto;
  border-radius: var(--halo-radius);
  box-shadow: var(--halo-shadow);
}

.halo-article img.aligncenter,
.halo-article .aligncenter {
  display: block;
  margin: 14px auto;
}

.halo-article figure { margin: 0; }

/* Subtle caption style if captions are present */
.halo-article .wp-caption-text {
  text-align: center;
  color: var(--halo-muted);
  font-size: .92em;
  margin-top: .5em;
}

/* Tables – responsive scroll + clean style */
.halo-article table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  display: block;             /* enable horizontal scroll on small */
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--halo-border);
  border-radius: 12px;
  box-shadow: var(--halo-shadow);
  margin: 16px 0;
}

.halo-article table thead th {
  background: #f8fafc;        /* slate-50 */
  color: #0f172a;             /* slate-900 */
  position: sticky;
  top: 0;
  z-index: 1;
}

.halo-article th,
.halo-article td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--halo-border);
  white-space: nowrap;        /* keep cells compact; allow scroll */
  font-size: clamp(13px, 2vw, 15px);
}

.halo-article tr:last-child td { border-bottom: 0; }

.halo-article tbody tr:nth-child(even) td {
  background: #fcfdff;
}

.halo-article td:first-child,
.halo-article th:first-child {
  position: sticky;
  left: 0;
  background: inherit;
}

/* Callouts for headings blocks that follow images */
.halo-article h2 + p,
.halo-article h3 + p {
  margin-top: .2em;
}

/* Links */
.halo-article a {
  color: var(--halo-accent);
  text-decoration: none;
}
.halo-article a:hover { text-decoration: underline; }

/* Spacing helpers for WordPress inline styles noise */
.halo-article span[style] { /* normalize odd inline spans */
  font-weight: inherit !important;
}

/* Compact the big hero image */
.halo-article .wp-image-153214,
.halo-article .wp-image-153249 {
  margin-top: 6px;
}

/* Lists inside feature sections */
.halo-article ul li b {
  color: #0f172a;
}

/* Better readability on very small screens */
@media (max-width: 480px) {
  .halo-article {
    padding: 12px;
  }
  .halo-article th,
  .halo-article td {
    padding: 10px 12px;
  }
}

/* Medium+ screens */
@media (min-width: 768px) {
  .halo-article {
    line-height: 1.8;
  }
  .halo-article p { font-size: 18px; }
  .halo-article table { margin: 22px 0; }
}

/* Optional: subtle card wrapper for long images blocks */
.halo-article .img-block {
  padding: 10px;
  border: 1px solid var(--halo-border);
  border-radius: var(--halo-radius);
  background: #fff;
  box-shadow: var(--halo-shadow);
}


/* ===== FIX: Sticky first column bleeding text ===== */
.halo-article table {
  background: #fff; /* nền cố định cho bảng */
}

/* Cột đầu sticky cần nền rắn + z-index cao */
.halo-article td:first-child,
.halo-article th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;                /* nổi lên trên các ô khác */
  background: #fff;          /* KHÔNG dùng inherit */
  /* Cho phép xuống dòng để tránh cắt chữ */
  white-space: normal;
  min-width: 160px;          /* giữ cột 1 đủ rộng */
  max-width: 260px;
}

/* Dòng kẻ xen kẽ: đảm bảo ô đầu tiên khớp màu với hàng */
.halo-article tbody tr:nth-child(even) td:first-child {
  background: #fcfdff;       /* cùng màu với hàng chẵn */
}

/* Header row: nền và độ nổi cao hơn một chút */
.halo-article thead th:first-child {
  background: #f8fafc;
  z-index: 3;
}/* End custom CSS */