/* ===== WordPress: chặn CSS ngoài bộ V2 =====
   Hello Elementor (reset.css), Elementor kit (post-*.css), .elementor img… đặt màu, cỡ chữ cho a, h1–h6,
   button. Đưa các thẻ (trừ img, để giữ width/height của thẻ)  trong .deha-v2 về mặc định của trình duyệt (như bản HTML tĩnh); rule của V2
   phía sau có độ ưu tiên cao hơn nên vẫn áp dụng. Bỏ qua nội dung Elementor chèn vào trang (form tải tài liệu…). */
:root .deha-v2 :where(a, abbr, address, b, blockquote, button, code, dd, dl, dt, em, figure, h1, h2, h3, h4, h5, h6, hr, i,
  input, label, li, ol, p, pre, select, small, strong, sub, sup, table, td, textarea, th, ul, [type=button],
  [type=submit], [type=reset]):where(:not(.deha-v2 .elementor *)) { all: revert; }
/* Hello: "table thead:first-child tr:first-child th" kẻ viền trên, độ ưu tiên cao hơn dòng trên */
:root .deha-v2 table thead tr :is(th, td) { border-block-start: revert; }
.deha-v2 { display: block; }
.deha-v2.deha-header, .deha-v2.deha-footer { background: none; }
/* DEHA Digital Solutions · khung dùng chung cho mọi trang: màu, chữ, nút, header, mega menu, section, CTA, footer
   Màu, chữ theo DEHA-DS_DESIGN.md. Khối bản đồ nhà máy dùng map.css riêng. */
:root .deha-v2 {
  --hpad: clamp(20px, 3vw, 48px);
  --blue: #1172BA;
  --blue-deep: #0B5A96;
  --navy: #0B2A45;
  --navy-2: #0E3256;
  --green: #8EC641;
  --green-hover: #9DD252;
  --ink: #0E2236;
  --muted: #4A5D70;
  --paper: #FFFFFF;
  --surface: #F3F7FB;
  --surface-2: #E6EEF6;
  --sky: #EDF7FF;
  --line: #DCE6F0;
  --on-dark: #C9DAEA;

  --f-display: "K2D", "Raleway", system-ui, sans-serif;
  --f-text: "Raleway", system-ui, -apple-system, "Segoe UI", sans-serif;

  --wrap: 1240px;
  --hdr-max: 1600px; /* header và mega menu không giãn quá mức này trên màn hình 2K, 4K */
  --gutter: clamp(20px, 4vw, 48px);
  --sec: clamp(88px, 10vw, 140px);
  --r: 14px;
  --r-sm: 8px;

  --shadow-sm: 0 2px 8px rgba(14, 34, 54, 0.06);
  --shadow: 0 18px 40px -18px rgba(14, 34, 54, 0.22);
  --shadow-lg: 0 30px 70px -30px rgba(8, 40, 72, 0.45);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-expo: cubic-bezier(0.16, 1, 0.3, 1);
}
:root .deha-v2 *, :root .deha-v2 *::before, :root .deha-v2 *::after { box-sizing: border-box; }
html:has(body.deha-doc) { scroll-behavior: smooth; scroll-padding-top: 90px; -webkit-text-size-adjust: 100%; }
:root .deha-v2 {
  margin: 0; background: var(--paper); color: var(--ink);
  font: 400 17px/1.65 var(--f-text); font-variant-numeric: lining-nums;
  -webkit-font-smoothing: antialiased;
}
:root .deha-v2 img { display: block; max-width: 100%; height: auto; }
:root .deha-v2 a { color: inherit; }
:root .deha-v2 button { font: inherit; color: inherit; }
:root .deha-v2 h1, :root .deha-v2 h2, :root .deha-v2 h3, :root .deha-v2 h4 { font-family: var(--f-display); font-weight: 700; margin: 0; line-height: 1.15; letter-spacing: -0.015em; text-wrap: balance; }
:root .deha-v2 .type-phrase { white-space: nowrap; }
:root .deha-v2 p { margin: 0; }
:root .deha-v2 ul { margin: 0; padding: 0; list-style: none; }
:root .deha-v2 :focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
:root .deha-v2 .wrap { width: 100%; max-width: calc(var(--wrap) + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
:root .deha-v2 .skip { position: absolute; left: 12px; top: -60px; z-index: 200; background: var(--paper); padding: 10px 14px; border-radius: 8px; }
:root .deha-v2 .skip:focus { top: 12px; }
/* ---------- nút ---------- */
:root .deha-v2 .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 13px 26px; border-radius: 45px; border: 1.5px solid transparent;
  font: 700 15.5px/1.2 var(--f-text); text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: transform .18s var(--ease), background-color .2s, color .2s, border-color .2s, box-shadow .2s;
}
:root .deha-v2 .btn:active { transform: translateY(1px) scale(0.98); }
:root .deha-v2 .btn .arr { transition: transform .3s var(--ease); }
:root .deha-v2 .btn:hover .arr { transform: translateX(4px); }
:root .deha-v2 .btn-green { background: var(--green); color: var(--ink); }
:root .deha-v2 .btn-green:hover { background: var(--green-hover); box-shadow: 0 10px 24px -10px rgba(142, 198, 65, 0.8); }
:root .deha-v2 .btn-ghost { border-color: rgba(255, 255, 255, 0.55); color: #fff; }
:root .deha-v2 .btn-ghost:hover { background: rgba(255, 255, 255, 0.12); border-color: #fff; }
:root .deha-v2 .btn-line { border-color: var(--line); color: var(--ink); background: var(--paper); }
:root .deha-v2 .btn-line:hover { border-color: var(--blue); color: var(--blue); }
/* Hai nhãn CTA dùng chung một vùng chữ; giữ nguyên kiểu dáng và mũi tên của nút. */
:root .deha-v2 .cta-swap-label { display: inline-grid; overflow: hidden; line-height: inherit; }
:root .deha-v2 .cta-swap-label > span {
  grid-area: 1 / 1; display: block; text-align: center;
  transition: transform .3s var(--ease);
}
:root .deha-v2 .cta-swap-hover { transform: translateY(100%); }
@media (hover: hover) {
:root .deha-v2 .btn:hover .cta-swap-default { transform: translateY(-100%); }
:root .deha-v2 .btn:hover .cta-swap-hover { transform: translateY(0); }
}
:root .deha-v2 .btn:focus-visible .cta-swap-default { transform: translateY(-100%); }
:root .deha-v2 .btn:focus-visible .cta-swap-hover { transform: translateY(0); }
:root .deha-v2 .tlink {
  font-weight: 700; color: var(--blue); text-decoration: underline; text-underline-offset: 5px;
  text-decoration-thickness: 1.5px; transition: text-decoration-thickness .2s;
}
:root .deha-v2 .tlink:hover { text-decoration-thickness: 3px; }
:root .deha-v2 .on-dark .tlink { color: #fff; }
/* ---------- header ---------- */
:root .deha-v2 .hdr {
  position: fixed; inset: 0 0 auto; z-index: 100;
  transition: background-color .35s var(--ease), box-shadow .35s var(--ease), transform .35s var(--ease);
}
:root .deha-v2 .hdr.is-solid { background: rgba(11, 42, 69, 0.97); box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.6); }
:root .deha-v2 .hdr .hdr-in { max-width: var(--hdr-max); margin: 0 auto; padding: 0 var(--hpad); }
:root .deha-v2 .hdr-in { display: flex; align-items: center; gap: 28px; height: 84px; transition: height .35s var(--ease); }
:root .deha-v2 .hdr.is-solid .hdr-in { height: 70px; }
:root .deha-v2 .logo { flex: none; display: block; }
:root .deha-v2 .logo img { width: 92px; height: auto; transition: width .35s var(--ease); }
:root .deha-v2 .hdr.is-solid .logo img { width: 80px; }
:root .deha-v2 .nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
:root .deha-v2 .nav > li { position: static; }
:root .deha-v2 .nav-btn {
  display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 13px;
  background: none; border: 0; border-radius: 8px; cursor: pointer; color: #fff;
  font: 600 15px/1 var(--f-text); transition: background-color .2s;
}
:root .deha-v2 .nav-btn svg { width: 10px; transition: transform .25s var(--ease); }
:root .deha-v2 .nav-btn:hover, :root .deha-v2 .nav-btn[aria-expanded="true"] { background: rgba(255, 255, 255, 0.14); }
:root .deha-v2 .nav-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
/* chọn ngôn ngữ */
:root .deha-v2 .lang { position: relative; flex: none; }
:root .deha-v2 .lang-btn {
  display: inline-flex; align-items: center; gap: 7px; height: 42px; padding: 0 12px; border: 1px solid rgba(255,255,255,.28);
  border-radius: 40px; background: none; color: #fff; cursor: pointer; font: 700 14px/1 var(--f-text); transition: background-color .2s, border-color .2s;
}
:root .deha-v2 .lang-btn:hover, :root .deha-v2 .lang-btn[aria-expanded="true"] { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.5); }
:root .deha-v2 .lang-btn .globe { width: 17px; height: 17px; }
:root .deha-v2 .lang-btn .chev { width: 9px; transition: transform .25s var(--ease); }
:root .deha-v2 .lang-btn[aria-expanded="true"] .chev { transform: rotate(180deg); }
:root .deha-v2 .lang-menu {
  position: absolute; right: 0; top: calc(100% + 10px); min-width: 210px; padding: 8px; border-radius: 12px; background: #fff; color: var(--ink);
  box-shadow: 0 22px 44px -18px rgba(8, 40, 72, .45); opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity .2s var(--ease), transform .25s var(--ease), visibility 0s .25s;
}
:root .deha-v2 .lang.is-open .lang-menu { opacity: 1; visibility: visible; transform: none; transition: opacity .2s var(--ease), transform .25s var(--ease); }
:root .deha-v2 .lang-menu a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; text-decoration: none; font-size: 15px; font-weight: 600; transition: background-color .15s; }
:root .deha-v2 .lang-menu a:hover { background: var(--sky); }
:root .deha-v2 .lang-menu a[aria-current="true"] { color: var(--blue); }
:root .deha-v2 .lang-menu a[aria-current="true"]::after { content: "✓"; font-weight: 700; }
:root .deha-v2 .lang-menu a.soon { color: var(--muted); }
:root .deha-v2 .lang-menu a.soon small { font-size: 12px; font-weight: 600; color: #9A5A00; background: #FFF6DC; padding: 2px 8px; border-radius: 10px; }
:root .deha-v2 .lang-m { display: none; }
:root .deha-v2 .hdr .btn-green { min-height: 44px; padding: 10px 20px; font-size: 15px; }
:root .deha-v2 .menu-btn { display: none; margin-left: auto; width: 46px; height: 46px; border: 0; border-radius: 10px; background: rgba(255,255,255,.12); color: #fff; cursor: pointer; }
:root .deha-v2 .menu-btn .bars { position: relative; width: 22px; height: 16px; margin: auto; }
:root .deha-v2 .menu-btn .bars i { position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform .4s var(--ease), opacity .2s, top .4s var(--ease), width .3s var(--ease); }
:root .deha-v2 .menu-btn .bars i:nth-child(1) { top: 0; }
:root .deha-v2 .menu-btn .bars i:nth-child(2) { top: 7px; width: 70%; }
:root .deha-v2 .menu-btn .bars i:nth-child(3) { top: 14px; }
:root .deha-v2 .menu-btn:hover .bars i:nth-child(2) { width: 100%; }
:root .deha-v2 .menu-btn[aria-expanded="true"] { background: rgba(255, 255, 255, 0.18); }
:root .deha-v2 .menu-btn[aria-expanded="true"] .bars i:nth-child(1) { top: 7px; transform: rotate(45deg); }
:root .deha-v2 .menu-btn[aria-expanded="true"] .bars i:nth-child(2) { opacity: 0; transform: translateX(8px); }
:root .deha-v2 .menu-btn[aria-expanded="true"] .bars i:nth-child(3) { top: 7px; transform: rotate(-45deg); }
:root .deha-v2 .menu-btn { transition: background-color .25s; }
:root .deha-v2 .mega {
  position: absolute; left: 0; right: 0; top: 100%; width: auto;
  transform: translateY(-6px); opacity: 0; visibility: hidden;
  background: var(--paper); color: var(--ink); border-radius: 0; border: 0; border-top: 1px solid var(--line);
  box-shadow: 0 30px 50px -24px rgba(8, 40, 72, 0.4); padding: 36px var(--hpad) 32px;
  transition: opacity .22s var(--ease), transform .3s var(--ease), visibility 0s .3s;
}
:root .deha-v2 .mega.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity .22s var(--ease), transform .3s var(--ease); }
:root .deha-v2 .mega.m2 { padding: 0; overflow: hidden; background: linear-gradient(90deg, var(--navy) 50%, var(--surface) 50%); }
@media (min-width: 1601px) {
:root .deha-v2 .mega.m2 { border-radius: 0 0 16px 16px; }
}
/* mega dạng tab: cột nhóm bên trái, chi tiết nhóm đang chọn ở giữa, khối gợi ý bên phải */
:root .deha-v2 .m2in { display: grid; grid-template-columns: calc(var(--hpad) + 270px) minmax(0, 1fr); min-height: 392px; background: var(--paper); max-width: var(--hdr-max); margin: 0 auto; }
:root .deha-v2 .m2rail { background: var(--navy); padding: 18px 0 22px var(--hpad); display: flex; flex-direction: column; }
:root .deha-v2 .m2rail button {
  position: relative; background: none; border: 0; text-align: left; color: #fff; font: 600 15.5px/1.35 var(--f-text);
  padding: 13px 22px; cursor: pointer; border-radius: 8px 0 0 8px; transition: background-color .2s, color .2s;
}
:root .deha-v2 .m2rail button:hover { background: rgba(255, 255, 255, .08); }
:root .deha-v2 .m2rail button[aria-selected="true"] { background: var(--paper); color: var(--ink); }
:root .deha-v2 .m2rail button[aria-selected="true"]::before { content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px; border-radius: 2px; background: var(--green); }
:root .deha-v2 .m2rail button:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
:root .deha-v2 .m2sep { display: block; height: 1px; background: rgba(255, 255, 255, .16); margin: 8px 22px; }
:root .deha-v2 .m2rf { margin-top: auto; padding: 16px 22px 0; display: flex; flex-direction: column; gap: 6px; border-top: 1px solid rgba(255, 255, 255, .14); }
:root .deha-v2 .m2rf p { margin: 0 0 2px; color: #fff; font-weight: 700; font-size: 13.5px; }
:root .deha-v2 .m2rf a, :root .deha-v2 .m2inl span { color: var(--on-dark); font-size: 14px; line-height: 1.55; }
:root .deha-v2 .m2rf a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
:root .deha-v2 .m2rf a.m2all, :root .deha-v2 .m2rail .m2all { color: #fff; font-weight: 700; margin-top: 4px; text-decoration: none; }
:root .deha-v2 .m2pane { display: grid; grid-template-columns: minmax(0, 1fr) calc(var(--hpad) + clamp(300px, 22vw, 400px)); }
:root .deha-v2 .m2pane:not(.on) { display: none; }
:root .deha-v2 .m2pane.on { animation: dv2-m2In .35s var(--ease); }
@keyframes dv2-m2In { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: none; } }
:root .deha-v2 .m2d { padding: 30px 44px 32px; max-width: 980px; }
:root .deha-v2 .m2d h3 { font-size: 26px; line-height: 1.15; margin: 0; color: var(--ink); }
:root .deha-v2 .m2d h3 a { color: inherit; text-decoration: none; }
:root .deha-v2 .m2d h3 a:hover { color: var(--blue); }
:root .deha-v2 .m2l { margin: 8px 0 12px; color: var(--muted); font-size: 15px; line-height: 1.55; max-width: 62ch; }
:root .deha-v2 .mega.m2 ul { list-style: none; margin: 0; padding: 0; }
:root .deha-v2 .m2d li a, :root .deha-v2 .m2cols li a {
  display: flex; justify-content: space-between; align-items: baseline; gap: 20px; margin: 0; padding: 12px 0; border-radius: 0;
  border-bottom: 1px solid var(--line); color: var(--ink); text-decoration: none; transition: padding .2s var(--ease);
}
:root .deha-v2 .m2d li a:hover, :root .deha-v2 .m2cols li a:hover { background: none; padding-left: 6px; }
:root .deha-v2 .m2t { font-size: 16px; font-weight: 600; line-height: 1.4; transition: color .15s; }
:root .deha-v2 .m2d li a:hover .m2t, :root .deha-v2 .m2cols li a:hover .m2t { color: var(--blue); }
:root .deha-v2 .m2p { font-size: 13px; font-weight: 700; color: var(--blue-deep); white-space: nowrap; }
:root .deha-v2 .m2n { font-style: normal; font-size: 12.5px; font-weight: 700; color: #2F6B0E; margin-left: 8px; white-space: nowrap; }
:root .deha-v2 .m2side { border-left: 1px solid var(--line); padding: 30px var(--hpad) 32px 30px; background: var(--surface); }
:root .deha-v2 .m2st, :root .deha-v2 .m2pj { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; height: 100%; }
:root .deha-v2 .m2h { font-size: 19px; line-height: 1.25; margin: 0 0 6px; color: var(--ink); }
:root .deha-v2 .m2st ol { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 12px; }
:root .deha-v2 .m2st li { display: flex; align-items: baseline; gap: 12px; font-size: 15px; font-weight: 600; line-height: 1.35; }
:root .deha-v2 .m2st li b { font-family: var(--f-display); font-size: 24px; line-height: 1; color: var(--blue); min-width: 16px; }
:root .deha-v2 .m2st .btn, :root .deha-v2 .m2pj .btn { margin-top: auto; }
:root .deha-v2 .m2pj a { text-decoration: none; }
:root .deha-v2 .m2pj a b { font-size: 16px; font-weight: 700; line-height: 1.4; color: var(--ink); }
:root .deha-v2 .m2pj a:hover b { color: var(--blue); }
:root .deha-v2 .m2pj p { margin: 0; font-size: 14.5px; color: var(--muted); line-height: 1.55; }
:root .deha-v2 p.m2meta { font-size: 13px; font-weight: 700; color: var(--blue-deep); }
:root .deha-v2 .m2more { margin-top: auto; font-weight: 700; color: var(--blue); font-size: 14.5px; text-decoration: underline; text-underline-offset: 4px; }
:root .deha-v2 .m2st .m2more { margin-top: 4px; }
:root .deha-v2 .m2pj .m2more { margin-top: 12px; }
:root .deha-v2 .m2plain { grid-template-columns: calc(var(--hpad) + 270px) minmax(0, 1fr) calc(var(--hpad) + clamp(300px, 22vw, 400px)); min-height: 0; }
:root .deha-v2 .m2lead { padding: 28px 22px 28px var(--hpad); gap: 14px; }
:root .deha-v2 .m2lead p { margin: 0; color: #fff; font-size: 15px; line-height: 1.6; }
:root .deha-v2 .m2cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; padding: 28px 44px 32px; }
:root .deha-v2 .m2cols h3 { font-size: 17px; margin: 0 0 4px; padding-bottom: 8px; border-bottom: 2px solid var(--ink); color: var(--ink); }
:root .deha-v2 .m2cols .m2t { font-size: 15px; }
/* ---------- section chung ---------- */
:root .deha-v2 .sec { padding: var(--sec) 0; }
:root .deha-v2 .sec.alt { background: var(--surface); }
:root .deha-v2 .sec.dark { background: var(--navy); color: #fff; }
:root .deha-v2 .sec-head { max-width: 760px; margin-bottom: clamp(44px, 5vw, 64px); }
:root .deha-v2 .sec-head.center { margin-left: auto; margin-right: auto; text-align: center; }
:root .deha-v2 .kicker { display: inline-block; font-size: 15px; font-weight: 700; color: var(--blue); margin-bottom: 14px; }
:root .deha-v2 .dark .kicker { color: #7CC2F5; }
:root .deha-v2 .sec-head h2 { font-size: clamp(32px, 3.5vw, 48px); letter-spacing: -0.025em; }
:root .deha-v2 .sec-head p { margin-top: 18px; font-size: 18px; color: var(--muted); }
:root .deha-v2 .dark .sec-head p { color: var(--on-dark); }
:root .deha-v2 .sec-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: clamp(44px, 5vw, 64px); }
:root .deha-v2 .sec-head-row .sec-head { margin-bottom: 0; }
/* ---------- CTA ---------- */
:root .deha-v2 .cta { position: relative; overflow: hidden; background: var(--blue); color: #fff; }
:root .deha-v2 .cta-in { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: center; padding: clamp(80px, 9vw, 120px) 0; }
:root .deha-v2 .cta h2 { font-size: clamp(34px, 3.8vw, 52px); letter-spacing: -0.025em; }
:root .deha-v2 .cta p { margin-top: 18px; font-size: 18px; color: #E3F0FB; max-width: 52ch; }
:root .deha-v2 .cta .acts { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 14px; }
:root .deha-v2 .cta-list { display: grid; gap: 12px; }
:root .deha-v2 .cta-list li { display: flex; gap: 14px; align-items: center; padding: 18px 22px; border-radius: 12px; background: rgba(255, 255, 255, 0.1); font-weight: 600; }
:root .deha-v2 .cta-list svg { flex: none; width: 24px; height: 24px; color: var(--green); }
:root .deha-v2 .cta-ring { position: absolute; right: -40px; top: 50%; width: 640px; height: 461px; margin-top: -230px; opacity: .11; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68 49'%3E%3Cpath fill='%23fff' d='M26.2181 48.06H26.0981C24.3881 48.06 23.2781 46.94 22.3081 45.86L1.35815 26.49C-0.591853 24.33 -0.421856 20.88 1.73814 18.92C3.89814 16.97 7.23815 17.08 9.18815 19.24L26.4081 34.22L58.7682 1.55995C60.8181 -0.510045 64.1581 -0.530045 66.2281 1.51995C68.2981 3.56995 68.3081 6.90996 66.2581 8.97995L29.9581 46.04C28.9681 47.04 27.6181 48.06 26.2081 48.06H26.2181Z'/%3E%3C/svg%3E") no-repeat center / contain; pointer-events: none; animation: dv2-checkFloat 9s ease-in-out infinite; will-change: transform; }
@keyframes dv2-checkFloat { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-14px) rotate(-1deg); } }
/* ---------- footer ---------- */
:root .deha-v2 .ftr { background: #081F34; color: var(--on-dark); padding: 80px 0 34px; font-size: 15px; }
:root .deha-v2 .ftr-top { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr)); gap: 40px; }
:root .deha-v2 .ftr-brand img { width: 110px; }
:root .deha-v2 .ftr-brand .tag { margin-top: 20px; font: 700 20px/1.35 var(--f-display); color: #fff; }
:root .deha-v2 .ftr-brand .ifs { margin-top: 10px; color: #7CC2F5; font-weight: 700; }
:root .deha-v2 .ftr-brand address { font-style: normal; margin-top: 22px; line-height: 1.7; }
:root .deha-v2 .ftr-brand a { color: #fff; }
:root .deha-v2 .ftr h4 { color: #fff; font-size: 17px; margin-bottom: 14px; }
:root .deha-v2 .ftr li a { display: inline-block; padding: 5px 0; text-decoration: none; transition: color .2s, transform .2s var(--ease); }
:root .deha-v2 .ftr li a:hover { color: #fff; transform: translateX(3px); }
:root .deha-v2 .ftr-bot { margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; font-size: 14px; }
:root .deha-v2 .ftr-bot a { color: var(--on-dark); }
:root .deha-v2 .to-top { position: fixed; right: 20px; bottom: 20px; z-index: 90; width: 48px; height: 48px; border-radius: 50%; border: 0; background: var(--navy); color: #fff; cursor: pointer; box-shadow: var(--shadow); opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .3s, transform .3s var(--ease), background-color .2s; }
:root .deha-v2 .to-top.show { opacity: 1; transform: none; pointer-events: auto; }
:root .deha-v2 .to-top:hover { background: var(--blue); }
/* nguồn ảnh tạm */
:root .deha-v2 .credits { margin-top: 40px; font-size: 12.5px; line-height: 1.6; color: #7F97AE; }
:root .deha-v2 .credits a { color: #9FB5CA; }
/* tạm dừng hiệu ứng lặp khi khối không nằm trên màn hình (giảm giật) */
:root .deha-v2 .is-paused *, :root .deha-v2 .is-paused *::before, :root .deha-v2 .is-paused *::after, :root .deha-v2 .is-paused::before, :root .deha-v2 .is-paused::after { animation-play-state: paused !important; }
/* ---------- hiệu ứng xuất hiện ---------- */
@media (prefers-reduced-motion: no-preference) {
:root.js .deha-v2 .rv { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform 1s var(--ease-expo); transition-delay: calc(var(--d, 0) * 90ms); }
:root.js .deha-v2 .rv.is-in { opacity: 1; transform: none; }
:root.js .deha-v2 .rv-l { opacity: 0; transform: translateX(-36px); transition: opacity .8s var(--ease), transform 1s var(--ease-expo); }
:root.js .deha-v2 .rv-r { opacity: 0; transform: translateX(36px) scale(.97); transition: opacity .9s var(--ease), transform 1.2s var(--ease-expo); transition-delay: .15s; }
:root.js .deha-v2 .rv-l.is-in, :root.js .deha-v2 .rv-r.is-in { opacity: 1; transform: none; }
:root.js .deha-v2 .hero .rv { transition-delay: calc(150ms + var(--d, 0) * 110ms); }
}
@media (prefers-reduced-motion: reduce) {
:root .deha-v2 *, :root .deha-v2 *::before, :root .deha-v2 *::after { animation: none !important; transition: none !important; }
}
/* ---------- responsive: khung dùng chung ---------- */
@media (max-width: 1180px) {
:root .deha-v2 .nav-btn { padding: 0 9px; font-size: 14px; }
:root .deha-v2 .hdr .btn-green .lbl-long { display: none; }
}
@media (max-width: 1024px) {
:root .deha-v2 .hdr-in > .btn-green, :root .deha-v2 .hdr-in > .lang { display: none; }
:root .deha-v2 .lang-m { display: flex; justify-content: center; gap: 6px; margin-top: 22px; }
:root .deha-v2 .lang-m a { padding: 8px 14px; border-radius: 30px; border: 1px solid rgba(255,255,255,.22); color: var(--on-dark); text-decoration: none; font-size: 14px; font-weight: 700; }
:root .deha-v2 .lang-m a[aria-current="true"] { background: #fff; color: var(--navy); border-color: #fff; }
:root .deha-v2 .lang-m a.soon { opacity: .6; }
:root .deha-v2 .menu-btn { display: grid; position: relative; z-index: 2; }
:root .deha-v2 .hdr.is-menu { background: var(--navy); box-shadow: none; }
:root .deha-v2 .hdr.is-menu .hdr-in { height: 70px; }
:root .deha-v2 .hdr.is-menu .logo img { width: 80px; }
:root .deha-v2 .nav {
    display: flex; flex-direction: column; align-items: stretch; gap: 0;
    position: fixed; left: 0; right: 0; top: 70px; bottom: 0; margin: 0;
    overflow-y: auto; overscroll-behavior: contain; background: var(--navy);
    padding: 12px var(--gutter) calc(28px + env(safe-area-inset-bottom));
    visibility: hidden; opacity: 0; transform: translateY(-12px);
    transition: opacity .3s var(--ease), transform .4s var(--ease), visibility 0s .4s;
  }
:root .deha-v2 .hdr.is-menu .nav { visibility: visible; opacity: 1; transform: none; transition: opacity .3s var(--ease), transform .4s var(--ease); }
:root .deha-v2 .nav > li { border-bottom: 1px solid rgba(255, 255, 255, 0.1); opacity: 0; transform: translateY(10px); transition: opacity .3s var(--ease), transform .45s var(--ease); }
:root .deha-v2 .hdr.is-menu .nav > li { opacity: 1; transform: none; }
:root .deha-v2 .hdr.is-menu .nav > li:nth-child(1) { transition-delay: .06s; }
:root .deha-v2 .hdr.is-menu .nav > li:nth-child(2) { transition-delay: .1s; }
:root .deha-v2 .hdr.is-menu .nav > li:nth-child(3) { transition-delay: .14s; }
:root .deha-v2 .hdr.is-menu .nav > li:nth-child(4) { transition-delay: .18s; }
:root .deha-v2 .hdr.is-menu .nav > li:nth-child(5) { transition-delay: .22s; }
:root .deha-v2 .hdr.is-menu .nav > li:nth-child(6) { transition-delay: .26s; }
:root .deha-v2 .nav-btn { width: 100%; justify-content: space-between; height: 62px; padding: 0 4px; font-size: 18px; font-weight: 600; border-radius: 0; }
:root .deha-v2 .nav-btn:hover, :root .deha-v2 .nav-btn[aria-expanded="true"] { background: none; color: #9FD0F5; }
:root .deha-v2 .nav-btn svg { width: 12px; }
:root .deha-v2 .nav > li.mobile-cta { display: block; border-bottom: 0; padding-top: 24px; }
:root .deha-v2 .mobile-cta .btn { width: 100%; min-height: 54px; font-size: 16px; }
:root .deha-v2 .mobile-contact { display: block; margin-top: 18px; text-align: center; font-size: 14px; color: var(--on-dark); }
:root .deha-v2 .mobile-contact a { color: #fff; font-weight: 700; text-decoration: none; }
:root .deha-v2 .mega { position: static; width: auto; transform: none; display: none; box-shadow: none; border: 0; padding: 16px 18px; margin: 0 0 14px; border-radius: 12px; }
:root .deha-v2 .mega.is-open { display: block; transform: none; animation: dv2-megaDrop .35s var(--ease); }
@keyframes dv2-megaDrop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
body.deha-doc.menu-open { overflow: hidden; }
:root .deha-v2 .mega.m2 { padding: 4px 18px 10px; background: var(--paper); }
:root .deha-v2 .m2in, :root .deha-v2 .m2plain { grid-template-columns: 1fr; min-height: 0; }
:root .deha-v2 .m2rail { background: transparent; padding: 6px 0 4px; order: 2; }
:root .deha-v2 .m2rail button, :root .deha-v2 .m2sep { display: none; }
:root .deha-v2 .m2rf { border-top: 1px solid var(--line); padding: 12px 0 0; }
:root .deha-v2 .m2rf p, :root .deha-v2 .m2rf a.m2all, :root .deha-v2 .m2rail .m2all { color: var(--ink); }
:root .deha-v2 .m2rf a, :root .deha-v2 .m2inl span { color: var(--blue); }
:root .deha-v2 .m2lead { padding: 10px 0; }
:root .deha-v2 .m2lead p { color: var(--muted); }
:root .deha-v2 .m2pane, :root .deha-v2 .m2pane:not(.on) { display: block; animation: none; }
:root .deha-v2 .m2side, :root .deha-v2 .m2l { display: none; }
:root .deha-v2 .m2d { padding: 14px 0 6px; }
:root .deha-v2 .m2d h3 { font-size: 18px; color: var(--blue); }
:root .deha-v2 .m2d li a, :root .deha-v2 .m2cols li a { padding: 10px 0; }
:root .deha-v2 .m2t { font-size: 15px; }
:root .deha-v2 .m2cols { grid-template-columns: 1fr; padding: 4px 0; gap: 14px; }
:root .deha-v2 .cta-in { grid-template-columns: 1fr; gap: 36px; }
:root .deha-v2 .ftr-top { grid-template-columns: 1fr 1fr; }
:root .deha-v2 .ftr-brand { grid-column: 1 / -1; }
}
:root .deha-v2 .mobile-cta { display: none; }
@media (max-width: 680px) {
:root .deha-v2 { font-size: 16px; }
:root .deha-v2 .ftr-top { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
}
:root .deha-v2 .m2k {font-size:13px;line-height:1.4;margin:14px 0 4px;color:var(--muted,#5A6B7B);font-weight:600}
/* ===== Elementor: container chứa shortcode V2 không có padding, full width (phòng khi quên chỉnh) ===== */
.e-con:has(> .elementor-widget-shortcode > .elementor-widget-container > .elementor-shortcode > .deha-v2),
.e-con:has(> .e-con-inner > .elementor-widget-shortcode > .elementor-widget-container > .elementor-shortcode > .deha-v2) {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --content-width: 100%; --container-max-width: 100%; --width: 100%; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
}

/* ===== WordPress: thanh quản trị khi đăng nhập ===== */
:root .admin-bar .deha-v2 .hdr { top: 32px; }
@media (max-width: 782px) { :root .admin-bar .deha-v2 .hdr { top: 46px; } }
@media (max-width: 1024px) { :root .admin-bar .deha-v2 .nav { top: 102px; } }
@media (max-width: 782px) { :root .admin-bar .deha-v2 .nav { top: 116px; } }
@media (max-width: 600px) { :root .admin-bar .deha-v2 .hdr.is-solid { top: 0; } :root .admin-bar .deha-v2 .hdr.is-solid .nav { top: 70px; } }

.deha-v2.deha-header,.deha-v2.deha-footer{display:contents}
body.deha-doc{margin:0;background:#fff}

