/* =========================================================
   RESET NHẸ — chỉ áp trong phạm vi các block do child theme
   render (.dx-*), không đụng tới CSS lõi của Flatsome/Woo
   ========================================================= */

.dx-scope, .dx-scope *, .dx-scope *::before, .dx-scope *::after{
  box-sizing: border-box;
}

.dx-scope{
  background: var(--dx-black);
  color: var(--dx-ivory);
  font-family: var(--dx-font-body);
  -webkit-font-smoothing: antialiased;
  /* ⚠️ FIX BUG — header sticky không dính khi cuộn trang:
     Trước đây là overflow-x: hidden. .dx-scope nằm ngay trên <body>,
     mà .dx-header lại là con cháu của nó (dùng position: sticky).
     Quy tắc CSS: CHỈ CẦN 1 tổ tiên bất kỳ có overflow khác 'visible'
     (kể cả chỉ set 1 trục overflow-x thôi, không cần overflow-y) là
     tổ tiên đó tự động trở thành 1 "khung cuộn" (scroll container) —
     mọi phần tử sticky bên trong từ đó đo mốc "dính" theo khung cuộn
     đó chứ không theo viewport thật của trình duyệt nữa, mà bản thân
     <body> thì không có gì để cuộn bên trong nó cả nên sticky coi như
     vô hiệu, header ứng xử y hệt position: relative.
     'clip' là giá trị overflow mới hơn 'hidden': chặn tràn ngang y hệt
     (không có gì tràn ra ngoài, không thanh cuộn ngang) nhưng KHÔNG
     tạo ra "khung cuộn" mới nên không đụng gì đến sticky của con cháu.
     Không set thêm overflow-y ở đây — overflow-y đang là 'visible' mặc
     định, nếu set overflow-y: auto sẽ dính đúng 1 quirk khác của CSS
     khiến trình duyệt tự ép 'clip' quay ngược lại thành 'hidden'. */
  overflow-x: clip;
}

.dx-scope img{ max-width: 100%; display: block; }
.dx-scope a{ color: inherit; text-decoration: none; }
.dx-scope ul{ margin: 0; padding: 0; list-style: none; }
.dx-scope button{ font-family: inherit; cursor: pointer; }

.dx-container{
  max-width: var(--dx-container);
  margin-inline: auto;
  padding-inline: var(--dx-gutter);
}

.dx-visually-hidden{
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* Tôn trọng người dùng giảm chuyển động */
@media (prefers-reduced-motion: reduce){
  .dx-scope *{
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}