#header {
  position: relative;
  z-index: unset !important;
  top: 0;
}

/* Flatsome .header-wrapper { z-index: 30 } — kẹt menu trong context 30, thua bảng giá (50) */
#header .header-wrapper {
  z-index: auto !important;
  overflow: visible !important;
}

#header .header-main,
#header .header-inner {
  position: relative;
}

/* Nền trắng header — chỉ cao bằng header-main, không che bảng giá */
#header .header-bg-container,
#header .header-bg-image,
#header .header-bg-color {
  z-index: 1 !important;
  pointer-events: none;
  max-height: 76px;
  overflow: hidden;
}

#header .header-main {
  z-index: auto !important;
  position: relative;
  background: transparent !important;
}

/* Logo + 3 gạch — z-index thấp hơn bảng giá (50) để phần trắng ảnh logo không che ticker */
#header .cms-header-lead,
#header .flex-col.logo,
#header #logo {
  position: relative;
  z-index: 40 !important;
}

#header #logo h1,
#header #logo a {
  display: block;
  line-height: 0;
  margin: 0;
}

#header #logo img,
#header #logo .header_logo,
#header #logo .header-logo-dark,
#header .cms-header-lead .flex-col.logo img {
  display: block;
  height: auto !important;
  object-fit: contain;
  object-position: top left;
}

#header .flex-col.logo,
#header .cms-header-lead .flex-col.logo {
  overflow: hidden;
  align-self: flex-start;
  max-height: 80px;
  background: transparent !important;
}

/* Menu ngang + nút phải — luôn trên bảng giá */
#header .flex-col.hide-for-medium,
#header .flex-col.show-for-medium.flex-right {
  position: relative;
  z-index: 200 !important;
}

#header.stuck .header-bg-container,
#header.stuck .header-bg-image,
#header.stuck .header-bg-color {
  max-height: 70px;
}

/* Logo header — to, rõ mọi kích thước cửa sổ */
#header #logo,
#header .cms-header-lead .flex-col.logo {
  width: auto !important;
  flex: 0 0 auto;
}

#header #logo img,
#header #logo .header_logo,
#header #logo .header-logo-dark,
#header .cms-header-lead .flex-col.logo img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-width: min(168px, 100%) !important;
  max-height: 80px !important;
  object-fit: contain;
  object-position: left center;
}

#header.stuck #logo img,
#header.stuck #logo .header_logo,
#header.stuck #logo .header-logo-dark {
  max-height: 72px !important;
}

@media screen and (max-width: 849px) {
  #header #logo img,
  #header #logo .header_logo,
  #header #logo .header-logo-dark,
  #header .cms-header-lead .flex-col.logo img {
    max-height: 68px !important;
    max-width: min(156px, 54vw) !important;
  }

  #header .flex-col.logo,
  #header .cms-header-lead .flex-col.logo {
    max-height: 68px !important;
  }
}

@media screen and (max-width: 549px) {
  #header .header-bg-container,
  #header .header-bg-image,
  #header .header-bg-color {
    max-height: 70px;
  }

  #header #logo img,
  #header #logo .header_logo,
  #header #logo .header-logo-dark,
  #header .cms-header-lead .flex-col.logo img {
    max-height: 64px !important;
    max-width: min(148px, 50vw) !important;
  }
}

@media screen and (min-width: 850px) {
  #header .header-nav-main .sub-menu.nav-dropdown,
  #header .header-nav-main ul.sub-menu {
    z-index: 220 !important;
  }

  #header .header-nav-main.nav > li.menu-item-has-children::before {
    z-index: 219;
  }

  #header .cms-header-lead {
    display: contents;
  }
}

/* Zalo OA: luôn góc phải dưới, không che menu header */
.zalo-chat-widget,
.zalo-chat-widget iframe,
iframe[id*="zalo" i],
iframe[src*="zalo" i],
.zalo-sdk-bridge,
.zpw-docked-widget {
  z-index: 8000 !important;
  right: 18px !important;
  bottom: 90px !important;
  left: auto !important;
  top: auto !important;
}

@media (max-width: 768px) {
  .zalo-chat-widget,
  .zalo-chat-widget iframe,
  iframe[id*="zalo" i],
  iframe[src*="zalo" i],
  .zalo-sdk-bridge,
  .zpw-docked-widget {
    right: 14px !important;
    bottom: 72px !important;
  }
}

/**
 * Menu desktop (submenu sổ ngang) + nút 3 gạch mobile.
 * Ghi đè Flatsome: .nav-dropdown dùng opacity/max-height, không chỉ display.
 */

#header .header-main,
#header .header-inner,
#header .header-wrapper,
#header .flex-col.hide-for-medium {
  overflow: visible !important;
}

@media screen and (min-width: 850px) {
  #header .header-nav-main.nav {
    flex-wrap: nowrap;
    position: relative;
  }

  #header .header-nav-main.nav > li {
    position: relative;
  }

  /* —— Panel dropdown (mọi cấp) —— */
  #header .header-nav-main .sub-menu.nav-dropdown,
  #header .header-nav-main ul.sub-menu {
    list-style: none;
    margin: 0;
    padding: 8px 0 !important;
    background: #fff !important;
    box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.12) !important;
    border: 1px solid #e8e8e8 !important;
    min-width: 220px;
    width: auto;
    z-index: 220 !important;
  }

  /* Cấp 1: xổ xuống */
  #header .header-nav-main.nav > li > ul.sub-menu {
    position: absolute !important;
    left: 0 !important;
    top: 100% !important;
    right: auto !important;
    margin-top: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    display: block !important;
    transition: opacity 0.15s ease, visibility 0.15s ease;
  }

  #header .header-nav-main.nav > li.cms-nav-open > ul.sub-menu,
  #header .header-nav-main.nav > li:hover > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    max-height: 80vh !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  /* Cầu nối cấp 1 → panel */
  #header .header-nav-main.nav > li.menu-item-has-children::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 12px;
    z-index: 599;
    background: transparent;
  }

  #header .header-nav-main ul.sub-menu li.menu-item-has-children {
    position: relative !important;
  }

  /* Cấp 2+: sổ sang phải */
  #header .header-nav-main ul.sub-menu li.menu-item-has-children > ul.sub-menu {
    position: absolute !important;
    left: 100% !important;
    top: 0 !important;
    right: auto !important;
    margin: 0 !important;
    margin-left: -4px !important;
    padding-left: 4px !important;
    min-width: 200px;
    opacity: 0 !important;
    visibility: hidden !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    display: block !important;
    z-index: 610 !important;
    transition: opacity 0.12s ease, visibility 0.12s ease;
  }

  /* Vùng đệm bên phải mục có con — chuột không rơi khe */
  #header .header-nav-main ul.sub-menu li.menu-item-has-children::after {
    content: "";
    position: absolute;
    top: 0;
    right: -20px;
    width: 24px;
    height: 100%;
    z-index: 611;
    background: transparent;
    pointer-events: auto;
  }

  #header .header-nav-main ul.sub-menu li.menu-item-has-children > ul.sub-menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: -16px;
    width: 20px;
    height: 100%;
    z-index: 612;
    background: transparent;
    pointer-events: auto;
  }

  #header .header-nav-main ul.sub-menu li.menu-item-has-children.cms-nav-open > ul.sub-menu,
  #header .header-nav-main ul.sub-menu li.menu-item-has-children:hover > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    max-height: 80vh !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  #header .header-nav-main li.menu-item-has-children > a .icon-angle-right {
    margin-left: 0.35em;
    font-size: 0.85em;
    opacity: 0.75;
    float: right;
  }

  #header .header-nav-main .sub-menu a {
    white-space: nowrap;
    padding: 10px 18px !important;
    display: block;
  }
}

/* ——— Menu dọc #main-menu (off-canvas / 3 gạch) ——— */
#main-menu.cms-nav-mobile-ready,
#main-menu.cms-nav-mobile-ready * {
  -webkit-tap-highlight-color: transparent;
}

/* Tắt slide ngang Flatsome — chỉ accordion dọc */
#main-menu.cms-nav-mobile-ready .sidebar-menu {
  transform: none !important;
  transition: none !important;
}

#main-menu.cms-nav-mobile-ready .nav-slide-header {
  display: none !important;
}

#main-menu.cms-nav-mobile-ready ul.sub-menu,
#main-menu.cms-nav-mobile-ready ul.children {
  transform: none !important;
}

#main-menu ul.nav-vertical li.menu-item-has-children,
#main-menu ul.nav li.menu-item-has-children {
  position: relative !important;
}

#main-menu li.menu-item > a {
  display: block !important;
  position: relative;
  z-index: 1;
  border-left: 3px solid transparent;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

#main-menu li.menu-item-has-children > a {
  padding-right: 2.5rem !important;
  cursor: pointer;
}

#main-menu li.cms-nav-leaf > a {
  padding-right: 1rem !important;
}

/* Ẩn +/− theme */
#main-menu.cms-nav-mobile-ready li.menu-item-has-children > a::before,
#main-menu.cms-nav-mobile-ready li.cms-nav-branch > a::after,
#main-menu .cms-nav-toggle {
  display: none !important;
  content: none !important;
}

#main-menu:not(.cms-nav-mobile-ready) li.menu-item-has-children > a::before,
#main-menu:not(.cms-nav-mobile-ready) li.menu-item-has-children > a::after,
#main-menu:not(.cms-nav-mobile-ready) .nav-vertical > li.menu-item-has-children > a::after {
  display: none !important;
  content: none !important;
}

/* Nút mũi tên riêng — chỉ bấm đây mới sổ menu con */
#main-menu .cms-nav-expand {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 2.35rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 3;
  -webkit-tap-highlight-color: transparent;
}

#main-menu .cms-nav-expand::after {
  content: "";
  position: absolute;
  right: 0.9rem;
  top: 50%;
  width: 0.42em;
  height: 0.42em;
  margin-top: -0.32em;
  border-right: 2px solid rgba(26, 26, 26, 0.55);
  border-bottom: 2px solid rgba(26, 26, 26, 0.55);
  transform: rotate(-45deg);
  transition: transform 0.2s ease, border-color 0.2s ease;
  pointer-events: none;
}

#main-menu li.cms-nav-branch.cms-nav-open > .cms-nav-expand::after {
  transform: rotate(45deg);
  margin-top: -0.42em;
  border-color: #c3002f;
}

#main-menu li.cms-nav-ancestor.cms-nav-open > .cms-nav-expand::after {
  border-color: #c3002f;
}

/* Trang đang xem */
#main-menu li.cms-nav-active > a {
  color: #c3002f !important;
  font-weight: 700 !important;
  background: rgba(195, 0, 47, 0.09) !important;
  border-left-color: #c3002f !important;
}

/* Hover — đổi màu mục đang trỏ chuột (desktop / tablet + chuột) */
@media (hover: hover) {
  #main-menu.cms-nav-mobile-ready li.menu-item:not(.cms-nav-active):hover > a,
  #main-menu.cms-nav-mobile-ready li.menu-item.cms-nav-hover:not(.cms-nav-active) > a {
    color: #c3002f !important;
    background: rgba(195, 0, 47, 0.09) !important;
    border-left-color: #c3002f !important;
    font-weight: 700 !important;
  }

  #main-menu.cms-nav-mobile-ready li.menu-item:hover > .cms-nav-expand::after,
  #main-menu.cms-nav-mobile-ready li.menu-item.cms-nav-hover > .cms-nav-expand::after {
    border-color: #c3002f;
  }
}

#main-menu li.cms-nav-ancestor > a {
  font-weight: 700 !important;
  color: #1a1a1a !important;
}

/* Thụt cấp menu con */
#main-menu li.cms-nav-depth-1 > a {
  padding-left: 0.35rem !important;
}
#main-menu li.cms-nav-depth-2 > a {
  padding-left: 0.85rem !important;
  font-size: 0.95em;
}
#main-menu li.cms-nav-depth-3 > a {
  padding-left: 1.35rem !important;
  font-size: 0.92em;
}
#main-menu li.cms-nav-depth-4 > a {
  padding-left: 1.85rem !important;
  font-size: 0.9em;
}

/* Submenu: ẩn mặc định, chỉ hiện khi .cms-nav-open (accordion) */
#main-menu.cms-nav-mobile-ready li.cms-nav-branch > ul.sub-menu,
#main-menu.cms-nav-mobile-ready li.cms-nav-branch > ul.children,
#main-menu.cms-nav-mobile-ready li.menu-item-has-children.active:not(.cms-nav-open) > ul.sub-menu,
#main-menu.cms-nav-mobile-ready li.menu-item-has-children.active:not(.cms-nav-open) > ul.children {
  display: none !important;
  max-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  margin: 0 !important;
  padding: 0 0 0 0.85em !important;
  list-style: none !important;
  border: 0 !important;
  box-shadow: none !important;
  position: static !important;
}

#main-menu.cms-nav-mobile-ready li.cms-nav-branch.cms-nav-open > ul.sub-menu,
#main-menu.cms-nav-mobile-ready li.cms-nav-branch.cms-nav-open > ul.children {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}

#main-menu.cms-nav-mobile-ready li.cms-nav-open > ul.sub-menu > li > a,
#main-menu.cms-nav-mobile-ready li.cms-nav-open > ul.children > li > a {
  padding-top: 0.36em !important;
  padding-bottom: 0.36em !important;
  font-size: 0.84em;
  font-weight: 600;
}

/* ——— Mobile / tablet: nút 3 gạch ——— */
@media screen and (max-width: 849px) {
  #header .flex-col.show-for-medium {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    flex: 0 0 auto;
    z-index: 20;
  }

  #header .flex-col.hide-for-medium {
    display: none !important;
  }

  #header .mobile-nav .nav-icon a,
  #header .mobile-nav .nav-icon a i.icon-menu {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    color: #191919 !important;
    font-size: 1.35rem;
    line-height: 1;
  }

  /* Logo + 3 gạch gom một cụm — không bị Flatsome kéo ra giữa */
  #header .header-inner {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
  }

  #header .cms-header-lead {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 0 0 auto;
    gap: 0;
    min-width: 0;
    order: 0;
  }

  #header .cms-header-lead .cms-mobile-nav-col {
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #header .cms-header-lead .cms-mobile-nav-col .mobile-nav {
    margin: 0 !important;
  }

  #header .cms-header-lead .cms-mobile-nav-col .nav-icon a {
    padding: 0 4px 0 0 !important;
    margin: 0 !important;
  }

  #header .cms-header-lead .flex-col.logo {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: min(156px, 54vw) !important;
    max-height: 68px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    position: relative !important;
    z-index: 40 !important;
    left: auto !important;
    transform: none !important;
    overflow: hidden;
    align-self: flex-start;
    background: transparent !important;
  }

  #header .cms-header-lead .flex-col.logo h1 {
    margin: 0 !important;
    line-height: 0;
  }

  #header .cms-header-lead .flex-col.logo img,
  #header .cms-header-lead .flex-col.logo .header_logo,
  #header .cms-header-lead .flex-col.logo .header-logo-dark {
    margin: 0 !important;
    max-height: 68px !important;
    max-width: min(156px, 54vw) !important;
    width: auto !important;
  }

  #header #logo {
    width: auto !important;
    max-width: min(156px, 54vw) !important;
  }

  #header .flex-col.show-for-medium.flex-right {
    order: 1 !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  html.cms-branding-pending #header .flex-col.show-for-medium,
  html.cms-branding-pending #header .flex-col.show-for-medium * {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    animation: none !important;
    background: transparent !important;
  }

  /* Phương thức bán hàng: không cắt khung viền dưới ô vuông */
  #section_1738587421,
  #section_1738587421 .section-content,
  #section_1738587421 .col-inner,
  #cms-home-sales-methods-section,
  #cms-home-sales-methods-section .phuong_thuc {
    overflow: visible !important;
  }

  #section_1738587421 {
    padding-bottom: 2.75rem !important;
  }

  #cms-home-sales-methods-section .phuong_thuc > .col {
    overflow: visible !important;
    margin-bottom: 0 !important;
  }
}

/* ——— Ảnh bài viết: phóng to / pinch / kéo ——— */
#cms-article-root .cms-article-prose img.cms-article-zoom-ready {
  cursor: zoom-in;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

body.cms-article-zoom-open {
  overflow: hidden !important;
  touch-action: none;
}

.cms-article-zoom-overlay {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: rgba(0, 0, 0, 0.92);
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.cms-article-zoom-overlay[hidden] {
  display: none !important;
}

.cms-article-zoom-viewer {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  width: 100%;
}

.cms-article-zoom-stage {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: 100vw;
  max-height: 100vh;
  max-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  touch-action: none;
}

.cms-article-zoom-img {
  max-width: none;
  max-height: none;
  transform-origin: center center;
  will-change: transform;
  user-select: none;
  -webkit-user-drag: none;
  border-radius: 4px;
}

.cms-article-zoom-close {
  position: fixed;
  top: max(12px, env(safe-area-inset-top, 0px));
  right: max(12px, env(safe-area-inset-right, 0px));
  z-index: 1000000;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.cms-article-zoom-hint {
  position: fixed;
  left: 0;
  right: 0;
  bottom: max(14px, env(safe-area-inset-bottom, 0px));
  margin: 0;
  padding: 0 1rem;
  text-align: center;
  font-size: 0.78rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.78);
  pointer-events: none;
  z-index: 1000000;
}

/* Thanh liên hệ nổi bên phải — tắt (dùng footer / Zalo OA). */
.menu-float-right,
.cms-float-dock {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Float bar legacy (User HTML tĩnh) — giữ rule phòng site-identity.js inject lại. */
.menu-float-right li.tu-van a {
  display: block;
  width: 43px;
  margin: 0 auto;
  line-height: 0;
}

.menu-float-right li.tu-van a img {
  width: 43px !important;
  height: 43px !important;
  display: block;
  margin: 0 auto;
  object-fit: contain;
  border-radius: 50%;
}

.menu-float-right li.cms-float-email-slot {
  border-radius: 0 !important;
  background: transparent !important;
}

.menu-float-right li.cms-float-email-slot a {
  display: block;
  width: 43px;
  margin: 0 auto;
  line-height: 0;
}

.menu-float-right li.cms-float-email-slot a img {
  width: 43px !important;
  height: auto !important;
  max-height: none !important;
  border-radius: 0 !important;
  object-fit: contain;
}

.menu-float-right li.zalo-ca-nhan a {
  display: block;
  width: 48px;
  height: 48px;
  margin: 0 auto;
  line-height: 0;
}

.menu-float-right li.zalo-ca-nhan a img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50%;
  object-fit: contain;
}

/* Header: nút Google đăng nhập Admin (thay Liên hệ + SĐT). */
#header .cms-header-admin-login {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  margin: 0;
  line-height: 0;
}

#header .cms-header-admin-login > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  margin: 0;
  line-height: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
  transition: box-shadow 0.15s ease;
  flex-shrink: 0;
}

#header .cms-header-admin-login > a:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

#header .cms-header-admin-login > a svg,
.cms-google-login-icon__svg {
  display: block;
  margin: 0;
  flex-shrink: 0;
}

#header .cms-header-admin-login--mobile {
  padding: 0 8px;
}

/* Footer Follow us: TikTok logo nhỏ hơn trong khung tròn. */
#footer .social-icons.follow-icons a.tiktok.cms-about-icon img {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px;
  max-height: 20px;
}

/* Dải accent footer — rộng khớp banner (1120px), phong cách anhhan.vn */
.cms-scroll-anchor {
  display: block;
  height: 0;
  overflow: hidden;
}

/* Khối bảng giá + banner — một cột thống nhất, cùng rộng mọi thiết bị (CSS, không width px JS) */
.cms-home-hero-band {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  box-sizing: border-box;
}

/* Bảng giá kéo sát header — đè lên nền trắng, không chạy phía sau */
#main .content-area > .cms-home-hero-band:first-child {
  margin-top: -14px;
  padding-top: 0;
  position: relative;
  z-index: 50 !important;
}

.cms-home-hero-band .cms-price-ticker-shell {
  margin-top: 0;
  margin-bottom: 0;
  position: relative;
  z-index: 51 !important;
}

.cms-home-hero-band .cms-price-ticker-host {
  position: relative;
  z-index: 52 !important;
}

.cms-home-hero-band .cms-price-ticker-shell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cms-home-hero-band .cms-price-ticker-shell > .row,
.cms-home-hero-band .cms-price-ticker-shell > .row > .col {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cms-home-hero-band .cms-price-ticker-host {
  border-radius: 0;
  border-bottom: none;
}

.cms-home-hero-band .cms-home-banner-root {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.cms-home-hero-band .cms-home-banner-root .slider,
.cms-home-hero-band .cms-home-banner-root .slider .row,
.cms-home-hero-band .cms-home-banner-root .slider .col,
.cms-home-hero-band .cms-home-banner-root .slider .col-inner,
.cms-home-hero-band .cms-home-banner-root .slider .img,
.cms-home-hero-band .cms-home-banner-root .slider .img-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  border-radius: 0 !important;
}

.cms-home-hero-band .cms-home-banner-root .img-inner.cms-banner-contain {
  border-radius: 0 !important;
  background: #0a1525;
}

.cms-home-hero-band .cms-home-banner-root .img-inner.cms-banner-contain img {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
}

/* Banner + footer band cùng khung rộng (legacy ngoài hero-band) */
.slider-wrapper.cms-home-banner-root {
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
}

/* ═══ Footer — khối thống nhất rộng = bảng giá / banner (1120px sync) ═══ */
.cms-footer-root {
  background: linear-gradient(180deg, #f8f9fb 0%, #eceff3 100%);
  padding-bottom: 1.25rem;
}

.cms-footer-accent-outer {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 1rem 15px 0;
  box-sizing: border-box;
  background: transparent;
}

.cms-footer-main-outer {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.cms-footer-copyright-outer {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

.cms-footer-accent-band {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
  border: 1px solid rgba(221, 51, 51, 0.16);
  border-bottom: none;
  background: linear-gradient(145deg, #ffffff 0%, #fffbfb 45%, #fff5f5 100%);
  box-shadow:
    0 4px 18px rgba(15, 23, 42, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

.cms-footer-accent-band::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #dd3333 0%, #e8b923 50%, #dd3333 100%);
  z-index: 2;
}

.cms-footer-accent-band__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  color: #1f2937;
  overflow: hidden;
  min-height: 0;
}

.cms-footer-accent-band__brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  flex: 0 1 auto;
}

.cms-footer-accent-band__brand--spacer {
  flex: 1 1 auto;
}

.cms-footer-accent-band__brand--login {
  gap: 0.65rem;
  flex: 1 1 auto;
  min-width: 0;
}

.cms-footer-accent-band__brand-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.32rem;
  min-width: 0;
}

.cms-footer-accent-band__hotline {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.38rem;
  margin: 0;
  padding: 0.24rem 0.65rem 0.24rem 0.3rem;
  border-radius: 999px;
  border: 1px solid rgba(254, 202, 202, 0.9);
  background: linear-gradient(180deg, #ffffff 0%, #fff5f5 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 3px 10px rgba(221, 51, 51, 0.16),
    0 1px 3px rgba(15, 23, 42, 0.07);
  color: #0f172a;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  max-width: 100%;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}

.cms-footer-accent-band__hotline-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(145deg, #ef4444 0%, #dc2626 100%);
  color: #fff;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.35) inset,
    0 2px 7px rgba(220, 38, 38, 0.45);
}

.cms-footer-accent-band__hotline-icon svg {
  flex-shrink: 0;
  color: #fff;
  width: 12px;
  height: 12px;
}

.cms-footer-accent-band__hotline-value {
  overflow: visible;
  text-overflow: unset;
  max-width: none;
  letter-spacing: 0.03em;
  color: #0f172a;
}

.cms-footer-accent-band__hotline:hover {
  color: #0f172a;
  transform: translateY(-1px);
  border-color: #fca5a5;
  background: linear-gradient(180deg, #ffffff 0%, #ffe4e6 100%);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 5px 14px rgba(221, 51, 51, 0.22),
    0 2px 5px rgba(15, 23, 42, 0.1);
}

.cms-footer-accent-band__hotline:active {
  transform: translateY(0);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 2px 6px rgba(221, 51, 51, 0.14);
}

.cms-footer-accent-band__tagline {
  display: block;
  font-size: clamp(0.62rem, 1.9vw, 0.74rem);
  font-weight: 500;
  line-height: 1.35;
  color: #64748b;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: clamp(12rem, 42vw, 28rem);
}

.cms-footer-accent-band__logo {
  display: block;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow:
    0 2px 0 rgba(255, 255, 255, 0.9) inset,
    0 4px 14px rgba(196, 30, 58, 0.3),
    0 2px 5px rgba(15, 23, 42, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.98);
}

.cms-footer-accent-band__name {
  font-size: clamp(0.82rem, 2.8vw, 1.02rem);
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.15;
  color: #b91c1c;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow:
    0 1px 0 rgba(255, 255, 255, 0.98),
    0 2px 10px rgba(196, 30, 58, 0.2),
    0 1px 2px rgba(127, 29, 29, 0.15);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cms-footer-accent-band__actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(0.25rem, 1.2vw, 0.45rem);
  flex: 0 0 auto;
  min-width: 0;
}

.cms-footer-accent-band__action {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0.3rem;
  min-width: 0;
  padding: 0.3rem 0.45rem;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  background: #ffffff;
  color: #1f2937;
  text-decoration: none;
  box-shadow: none;
  transition: background 0.15s ease, border-color 0.15s ease;
  flex-shrink: 0;
}

.cms-footer-accent-band__action:hover {
  background: #fafafa;
  border-color: #d1d5db;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.cms-footer-accent-band__action--hot {
  border-color: #fecaca;
  background: #fff5f5;
}

.cms-footer-accent-band__action--hot:hover {
  background: #fef2f2;
  border-color: #fca5a5;
}

.cms-footer-accent-band__action--zalo {
  border-color: #bfdbfe;
  background: #f0f9ff;
}

.cms-footer-accent-band__action--zalo:hover {
  background: #e0f2fe;
  border-color: #93c5fd;
}

.cms-footer-accent-band__action--zalo .cms-footer-accent-band__action-icon {
  background: #dbeafe;
  color: #0068ff;
}

.cms-footer-accent-band__action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 5px;
  background: #fef2f2;
  color: #dd3333;
  flex-shrink: 0;
}

.cms-footer-accent-band__action-text {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0;
  min-width: 0;
}

.cms-footer-accent-band__action-label {
  display: none;
}

.cms-footer-accent-band__action-value {
  font-size: 0.82rem;
  font-weight: 700;
  color: #111827;
  white-space: nowrap;
}

.cms-footer-accent-band__action--hot .cms-footer-accent-band__action-value {
  max-width: none;
  overflow: visible;
  text-overflow: unset;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}

@media (max-width: 849px) {
  .cms-home-hero-band {
    padding-left: 0;
    padding-right: 0;
    max-width: 100%;
  }

  #main .content-area > .cms-home-hero-band:first-child {
    margin-top: -20px;
  }

  .cms-home-hero-band .cms-price-ticker-shell {
    width: 100% !important;
    max-width: 100% !important;
  }

  .cms-home-hero-band .cms-price-ticker-host {
    border-radius: 0;
  }

  .slider-wrapper.cms-home-banner-root {
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
  }
}

@media (max-width: 520px) {
  .cms-footer-accent-outer {
    padding-left: 16px;
    padding-right: 16px;
  }

  #main .content-area > .cms-home-hero-band:first-child {
    margin-top: -22px;
  }

  .cms-home-hero-band {
    padding-left: 0;
    padding-right: 0;
  }

  .slider-wrapper.cms-home-banner-root {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .cms-footer-accent-band__inner {
    padding-left: 14px;
    padding-right: 14px;
  }

  .cms-footer-accent-band__action-label {
    display: none;
  }

  .cms-footer-accent-band__action-text {
    gap: 0;
  }
}

@media (max-width: 849px) {
  /* Mobile footer — gọn: dock icon + 2 cột dưới */
  .cms-footer-accent-band__tagline {
    display: none;
  }

  .cms-footer-accent-band__inner {
    flex-wrap: nowrap;
    padding: 0.45rem 0.65rem 0.5rem;
    gap: 0.4rem;
  }

  .cms-footer-accent-band__brand {
    flex: 1 1 auto;
    justify-content: flex-start;
    max-width: 100%;
    align-items: center;
  }

  .cms-footer-accent-band__logo {
    width: 32px;
    height: 32px;
    margin-top: 0;
  }

  .cms-footer-accent-band__name {
    white-space: normal;
    font-size: 0.82rem;
    line-height: 1.15;
    text-shadow:
      0 1px 0 rgba(255, 255, 255, 0.98),
      0 2px 8px rgba(196, 30, 58, 0.18);
  }

  .cms-footer-accent-band__hotline {
    font-size: 0.84rem;
    gap: 0.36rem;
    padding: 0.26rem 0.62rem 0.26rem 0.28rem;
  }

  .cms-footer-accent-band__hotline-icon {
    width: 26px;
    height: 26px;
  }

  .cms-footer-accent-band__hotline-icon svg {
    width: 13px;
    height: 13px;
  }

  #section_1927645981.cms-footer-main-panel {
    padding-top: 0.85rem !important;
    padding-bottom: 0.85rem !important;
  }

  #section_1927645981.cms-footer-main-panel .section-content {
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
  }

  #footer h3:not(.widget-title) {
    margin-bottom: 0.45rem !important;
    padding-bottom: 0.3rem !important;
    font-size: 0.82rem !important;
  }

  #footer h3:not(.widget-title)::after {
    width: 28px;
    margin-top: 0.25rem;
  }

  .cms-footer-about-lead {
    margin-bottom: 0.45rem !important;
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
  }

  .cms-footer-col--about {
    margin-bottom: 0.35rem;
  }

  .cms-footer-col--dist .col-inner,
  .cms-footer-col--social .col-inner {
    padding-top: 0.15rem !important;
  }

  .cms-footer-loc-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.3rem 0.4rem;
    margin-bottom: 0.45rem;
  }

  .cms-footer-loc-group__label {
    margin: 0 !important;
    font-size: 0.72rem !important;
  }

  .cms-footer-loc-chips {
    gap: 0.28rem;
  }

  .cms-footer-loc-chip {
    padding: 0.22rem 0.55rem;
    font-size: 0.75rem !important;
  }

  #footer .cms-footer-follow-col {
    text-align: left !important;
  }

  #footer .cms-footer-follow-col > h3 {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #footer .social-icons.follow-icons[data-cms-footer-follow] {
    justify-content: flex-start !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 0.35rem;
  }

  #footer .social-icons.follow-icons[data-cms-footer-follow] > a:not(.cms-about-icon),
  #footer .social-icons.follow-icons[data-cms-footer-follow] > a.cms-about-icon {
    transform: scale(0.92);
    transform-origin: left center;
  }

  .cms-footer-copyright {
    padding: 0.65rem 0.75rem;
  }

  .cms-footer-copyright__link {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 849px) {
  /* Footer cột nội dung — không sát lề */
  .cms-footer-accent-outer,
  .cms-footer-main-outer,
  .cms-footer-copyright-outer {
    padding-left: 16px;
    padding-right: 16px;
  }

  #section_1927645981.cms-footer-main-panel .section-content {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }

  #section_1927645981 .row.row-collapse {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  #section_1927645981 .col .col-inner {
    padding-left: 4px;
    padding-right: 4px;
  }

  /* Khối Dịch vụ + Quy trình — lề ngang đồng bộ */
  #cms-home-services-section,
  #cms-home-sales-methods-section {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  #cms-home-sales-methods-section .section-content {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
}

/* Nút Xem tất cả tin — gọn, không chiếm cả cột */
#cms-tin-see-all.button.primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 0.42rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  border-radius: 4px;
}

@media (max-width: 849px) {
  #cms-tin-toolbar .col.medium-4,
  #cms-tin-toolbar .col[style*="text-align:right"] {
    text-align: left !important;
  }

  #cms-tin-see-all.button.primary {
    font-size: 0.78rem;
    padding: 0.38rem 0.72rem;
  }
}

/* ——— Tin thị trường: lưới bài viết cao cấp ——— */
#cms-home-tin-section h2.tile,
#cms-posts-page h2.tile {
  position: relative;
  margin-bottom: 0 !important;
  letter-spacing: 0.07em !important;
  font-weight: 800 !important;
  text-align: left !important;
  -webkit-font-smoothing: antialiased;
}

#cms-home-tin-section h2.tile a {
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.25s var(--cms-grid-ease, ease);
}

#cms-home-tin-section h2.tile a:hover {
  color: var(--cms-grid-brand, #dd3333) !important;
}

#cms-home-tin-section > .is-divides,
#cms-posts-page .cms-posts-head > .is-divides {
  height: 3px !important;
  max-width: clamp(72px, 18vw, 140px) !important;
  margin: 0.65em 0 1.1em !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  border-radius: 2px !important;
  background: linear-gradient(
    90deg,
    var(--cms-grid-brand, #dd3333) 0%,
    rgba(221, 51, 51, 0.45) 55%,
    transparent 100%
  ) !important;
}

#cms-posts-page .cms-posts-head {
  text-align: left;
}

#cms-posts-page #cms-tin-toolbar.row {
  margin: 0 0 0.85rem !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
}

#cms-posts-page #cms-tin-toolbar > .col,
#cms-posts-page #cms-tin-toolbar .cms-tin-toolbar__search-col {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0.35rem;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

#cms-tin-toolbar .search-field {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.55rem 0.85rem !important;
  border: 1px solid rgba(221, 51, 51, 0.22) !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-size: 0.9rem !important;
  line-height: 1.35 !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
  transition: border-color 0.25s ease, box-shadow 0.25s ease !important;
}

#cms-tin-toolbar .search-field:focus {
  outline: none !important;
  border-color: rgba(221, 51, 51, 0.55) !important;
  box-shadow: 0 0 0 3px rgba(221, 51, 51, 0.12) !important;
}

#cms-tin-see-all.button.primary {
  border-radius: 6px !important;
  background: linear-gradient(135deg, #ef3a3a 0%, #c62828 100%) !important;
  border: 1px solid #b71c1c !important;
  box-shadow: 0 2px 8px rgba(221, 51, 51, 0.22) !important;
  transition: transform 0.25s var(--cms-grid-ease, ease), box-shadow 0.25s ease !important;
}

#cms-tin-see-all.button.primary:hover {
  transform: translate3d(0, -1px, 0);
  box-shadow: 0 4px 14px rgba(221, 51, 51, 0.28) !important;
}

#cms-tin-thi-truong {
  row-gap: clamp(12px, 2.5vw, 20px) !important;
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: stretch !important;
}

#cms-tin-thi-truong > .post-item {
  display: flex !important;
  flex-direction: column !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-grow: 0 !important;
}

#cms-tin-thi-truong > .post-item > .col-inner {
  position: relative;
  flex: 1 1 auto;
  height: 100%;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(221, 51, 51, 0.22) !important;
  border-radius: 4px !important;
  background-image:
    linear-gradient(to bottom, var(--cms-grid-brand, #dd3333) 0, var(--cms-grid-brand, #dd3333) 2px, transparent 2px),
    linear-gradient(165deg, #ffffff 0%, #f8f9fb 100%) !important;
  box-shadow: var(--cms-grid-shadow, 0 2px 10px rgba(15, 23, 42, 0.06)) !important;
  transition:
    transform 0.32s var(--cms-grid-ease, ease),
    box-shadow 0.32s var(--cms-grid-ease, ease),
    border-color 0.32s ease !important;
  container-type: inline-size;
  container-name: cms-tin-card;
}

#cms-tin-thi-truong > .post-item > .col-inner::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  width: clamp(18px, 16cqi, 38px);
  height: clamp(18px, 16cqi, 38px);
  border-left: 3px solid var(--cms-grid-brand, #dd3333);
  border-bottom: 3px solid var(--cms-grid-brand, #dd3333);
  pointer-events: none;
  opacity: 0.9;
}

#cms-tin-thi-truong > .post-item > .col-inner:hover {
  transform: translate3d(0, -4px, 0) !important;
  border-color: rgba(198, 40, 40, 0.65) !important;
  box-shadow: var(--cms-grid-shadow-hover, 0 14px 32px rgba(221, 51, 51, 0.18)) !important;
}

#cms-tin-thi-truong .plain {
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  text-decoration: none !important;
  color: inherit !important;
}

#cms-tin-thi-truong .box-blog-post {
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: hidden;
}

#cms-tin-thi-truong .box-blog-post .box-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(221, 51, 51, 0.1);
}

#cms-tin-thi-truong .box-blog-post .image-cover,
#cms-tin-thi-truong .box-blog-post .cms-post-cover {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  padding: 0 !important;
  padding-top: 0 !important;
  overflow: hidden !important;
  background: #f3f4f6;
}

#cms-tin-thi-truong .box-blog-post .image-cover > img,
#cms-tin-thi-truong .box-blog-post .image-cover > video,
#cms-tin-thi-truong .box-blog-post .image-cover > iframe,
#cms-tin-thi-truong .box-blog-post .cms-post-cover > img,
#cms-tin-thi-truong .box-blog-post .cms-post-cover > video,
#cms-tin-thi-truong .box-blog-post .cms-post-cover > iframe {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  transition: transform 0.35s var(--cms-grid-ease, ease) !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

#cms-tin-thi-truong .cms-tin-cover-play {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(34px, 11cqi, 46px);
  height: clamp(34px, 11cqi, 46px);
  border-radius: 50%;
  background: rgba(221, 51, 51, 0.9);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.28);
  pointer-events: none;
}

#cms-tin-thi-truong .cms-tin-cover-play::after {
  content: "";
  position: absolute;
  left: 54%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 7px 0 7px 12px;
  border-color: transparent transparent transparent #fff;
}

#cms-tin-thi-truong .post-item > .col-inner:hover .box-blog-post .image-cover img,
#cms-tin-thi-truong .post-item > .col-inner:hover .box-blog-post .image-cover video {
  transform: scale(1.04) !important;
}

#cms-tin-thi-truong .box-text {
  flex: 1 1 auto;
  padding: clamp(10px, 3cqi, 16px) clamp(10px, 2.8cqi, 14px) clamp(12px, 3.2cqi, 18px) !important;
}

#cms-tin-thi-truong .post-title.is-large {
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  font-size: clamp(0.95rem, 5.5cqi, 1.12rem) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  text-transform: none !important;
  color: #1a1a1a !important;
  border-top: 0 !important;
  transform: none !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  transition: color 0.25s ease !important;
}

#cms-tin-thi-truong .post-item > .col-inner:hover .post-title.is-large {
  color: var(--cms-grid-brand-dark, #c62828) !important;
}

#cms-tin-thi-truong .box-text .is-divider {
  display: none !important;
}

#cms-tin-thi-truong .from_the_blog_excerpt {
  margin: 0.35rem 0 0.65rem !important;
  font-size: clamp(0.78rem, 4cqi, 0.88rem) !important;
  line-height: 1.5 !important;
  color: #4b5563 !important;
  text-align: left !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  transform: none !important;
}

#cms-tin-thi-truong .button.is-outline.is-small {
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  padding: 0.35rem 0.72rem !important;
  font-size: clamp(0.72rem, 3.6cqi, 0.8rem) !important;
  font-weight: 600 !important;
  border-radius: 5px !important;
  border: 1px solid rgba(221, 51, 51, 0.35) !important;
  color: var(--cms-grid-brand-dark, #c62828) !important;
  background: #fff !important;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease !important;
}

#cms-tin-thi-truong .post-item > .col-inner:hover .button.is-outline.is-small,
#cms-tin-thi-truong a.plain:hover .button.is-outline.is-small,
#cms-tin-thi-truong .plain:hover .button.is-outline.is-small {
  background: linear-gradient(135deg, #ef3a3a 0%, #c62828 100%) !important;
  border-color: #b71c1c !important;
  color: #fff !important;
}

#cms-tin-thi-truong .has-hover .image-cover img,
#cms-tin-thi-truong .has-hover:hover .image-cover img {
  opacity: 1 !important;
  filter: none !important;
}

/* Ảnh bìa bài viết — dùng chung trang tin + thẻ danh sách */
.cms-post-card .box-image,
.cms-post-card .cms-post-cover,
#cms-tin-thi-truong .box-blog-post .box-image,
#cms-tin-thi-truong .box-blog-post .cms-post-cover {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.cms-post-card .cms-post-cover,
.cms-post-card .image-cover.image-cover,
#cms-tin-thi-truong .box-blog-post .image-cover,
#cms-tin-thi-truong .box-blog-post .cms-post-cover {
  position: relative !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  padding: 0 !important;
  padding-top: 0 !important;
  overflow: hidden !important;
  background: #f3f4f6;
}

.cms-post-card .cms-post-cover > img,
.cms-post-card .cms-post-cover > video,
.cms-post-card .image-cover > img,
.cms-post-card .image-cover > video {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

@media (max-width: 849px) {
  #cms-home-tin-section {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  #cms-posts-page {
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
  }

  #cms-posts-page #cms-tin-toolbar > .col,
  #cms-posts-page #cms-tin-toolbar .cms-tin-toolbar__search-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ——— Footer nội dung + social + copyright — cao cấp ——— */
#footer .absolute-footer.dark {
  display: none !important;
}

#section_1927645981.cms-footer-main-panel {
  padding-top: clamp(0.85rem, 2vw, 1.35rem) !important;
  padding-bottom: clamp(0.85rem, 2vw, 1.35rem) !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 1px solid rgba(221, 51, 51, 0.14) !important;
  border-top: 1px solid rgba(221, 51, 51, 0.08) !important;
  border-bottom: none !important;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fb 100%) !important;
  box-shadow: none !important;
}

#section_1927645981.cms-footer-main-panel .section-content {
  max-width: 100% !important;
  padding-left: clamp(0.75rem, 2vw, 1.25rem) !important;
  padding-right: clamp(0.75rem, 2vw, 1.25rem) !important;
}

#section_1927645981.cms-footer-main-panel .row.row-collapse {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.cms-footer-copyright {
  position: relative;
  overflow: hidden;
  text-align: center;
  padding: clamp(0.85rem, 2.2vw, 1.05rem) clamp(1rem, 3vw, 1.5rem);
  border-radius: 0 0 10px 10px;
  border: 1px solid rgba(180, 130, 20, 0.55);
  border-top: 1px solid rgba(255, 255, 255, 0.35);
  background: linear-gradient(
    135deg,
    #c9922a 0%,
    #e8b923 46%,
    #d4a017 100%
  );
  box-shadow: 0 6px 20px rgba(180, 130, 20, 0.28);
}

.cms-footer-copyright::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.55) 25%,
    rgba(255, 248, 230, 0.85) 50%,
    rgba(255, 255, 255, 0.55) 75%,
    transparent 100%
  );
  pointer-events: none;
}

.cms-footer-copyright__link {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: #dd3333 !important;
  font-size: clamp(0.78rem, 2.2vw, 0.92rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em;
  text-decoration: none !important;
  line-height: 1.45;
  transform: none !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: color 0.22s ease, opacity 0.22s ease;
}

.cms-footer-copyright__link:hover {
  color: #b71c1c !important;
  opacity: 1;
}

#footer h3:not(.widget-title) {
  position: relative;
  margin-bottom: 0.85rem !important;
  padding-bottom: 0.45rem !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #111827 !important;
  -webkit-font-smoothing: antialiased;
}

#footer h3:not(.widget-title)::after {
  content: "";
  display: block;
  width: 36px;
  height: 2px;
  margin-top: 0.4rem;
  border-radius: 1px;
  background: linear-gradient(90deg, var(--cms-grid-brand, #dd3333), transparent);
}

#footer .textwidget,
#footer .textwidget p,
#footer .textwidget a {
  font-size: 0.875rem !important;
  line-height: 1.55 !important;
  color: #374151 !important;
  text-align: left !important;
}

#footer .textwidget a {
  color: #1f2937 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

#footer .textwidget a:hover {
  color: var(--cms-grid-brand, #dd3333) !important;
}

#footer .cms-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer .cms-footer-links li {
  margin: 0 0 0.45rem !important;
  padding: 0 !important;
  list-style: none !important;
}

#footer .cms-footer-links a {
  color: #374151 !important;
  font-size: 0.875rem !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

#footer .cms-footer-links a:hover {
  color: var(--cms-grid-brand, #dd3333) !important;
}

#footer .list-support {
  margin-bottom: 0.65rem !important;
}

#footer .list-support__link {
  color: #374151 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}

#footer .list-support__link:hover {
  color: var(--cms-grid-brand, #dd3333) !important;
}

#footer .cms-footer-pipe {
  color: #9ca3af !important;
}

/* ——— Footer pro: cột, liên hệ icon, chip chi nhánh ——— */
.cms-footer-main-row {
  align-items: flex-start !important;
}

@media (min-width: 850px) {
  .cms-footer-col:not(:last-child) .col-inner {
    position: relative;
    padding-right: clamp(0.75rem, 2vw, 1.25rem) !important;
  }

  .cms-footer-col:not(:last-child) .col-inner::after {
    content: "";
    position: absolute;
    top: 0.15rem;
    right: 0;
    width: 1px;
    height: calc(100% - 0.3rem);
    background: linear-gradient(180deg, transparent, rgba(221, 51, 51, 0.12) 18%, rgba(221, 51, 51, 0.12) 82%, transparent);
    pointer-events: none;
  }
}

.cms-footer-about-lead {
  margin: 0 0 0.45rem !important;
  font-size: 0.8rem !important;
  line-height: 1.45 !important;
  color: #4b5563 !important;
  font-weight: 500;
}

.cms-footer-contact-list {
  list-style: none !important;
  margin: 0 0 0.35rem !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.cms-footer-contact-list__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.12rem 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-decoration: none !important;
  color: #374151 !important;
  transition: color 0.2s ease;
}

.cms-footer-contact-list__link:hover {
  background: transparent;
  border-color: transparent;
  transform: none;
  color: var(--cms-grid-brand, #dd3333) !important;
}

.cms-footer-contact-list__link--static {
  cursor: default;
}

.cms-footer-contact-list__link--static:hover {
  color: #374151 !important;
}

.cms-footer-contact-list__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  flex-shrink: 0;
  background: transparent;
  color: #dd3333;
}

.cms-footer-contact-list__icon--email {
  color: #2563eb;
}

.cms-footer-contact-list__icon--whatsapp {
  color: #059669;
}

.cms-footer-contact-list__icon--website {
  color: #475569;
}

.cms-footer-contact-list__text {
  font-size: 0.8rem !important;
  line-height: 1.35 !important;
  font-weight: 500;
  word-break: break-word;
}

.cms-footer-loc-group {
  margin-bottom: 0.55rem;
}

.cms-footer-loc-group:last-child {
  margin-bottom: 0;
}

.cms-footer-loc-group__label {
  margin: 0 0 0.45rem !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #6b7280 !important;
}

.cms-footer-loc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cms-footer-loc-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.24rem 0.58rem;
  border-radius: 999px;
  border: 1px solid rgba(221, 51, 51, 0.14);
  background: #fff;
  color: #374151 !important;
  font-size: 0.78rem !important;
  font-weight: 600;
  text-decoration: none !important;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.cms-footer-loc-chip:hover {
  color: #c62828 !important;
  border-color: rgba(221, 51, 51, 0.35);
  background: #fff8f8;
  box-shadow: none;
}

/* Footer FOLLOW US — căn trái, icon tự xuống dòng theo chiều rộng cột */
#footer .cms-footer-follow-col {
  text-align: left;
}

#footer .cms-footer-follow-col > h3 {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

#footer .social-icons.follow-icons[data-cms-footer-follow] {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: flex-start;
  width: 100%;
  max-width: 100%;
  margin: 0;
  gap: 0.4rem 0.5rem;
}

#footer .social-icons.follow-icons > a:not(.cms-about-icon) {
  border-radius: 50% !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
  transition:
    transform 0.28s var(--cms-grid-ease, ease),
    box-shadow 0.28s ease !important;
}

#footer .social-icons.follow-icons > a:not(.cms-about-icon):hover {
  transform: translate3d(0, -3px, 0) !important;
  box-shadow: 0 8px 18px rgba(221, 51, 51, 0.16) !important;
}

#footer .social-icons.follow-icons[data-cms-footer-follow] > a.cms-about-icon {
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08) !important;
  border: 1px solid rgba(221, 51, 51, 0.12) !important;
  transition:
    transform 0.28s var(--cms-grid-ease, ease),
    box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}

#footer .social-icons.follow-icons[data-cms-footer-follow] > a.cms-about-icon:hover {
  transform: translate3d(0, -3px, 0) !important;
  box-shadow: 0 8px 18px rgba(221, 51, 51, 0.18) !important;
  border-color: rgba(221, 51, 51, 0.35) !important;
}

#footer .social-icons.follow-icons[data-cms-footer-follow] > a.cms-about-icon img {
  transition: transform 0.28s ease !important;
}

#footer .social-icons.follow-icons[data-cms-footer-follow] > a.cms-about-icon[data-cms-social="zalo"] img {
  width: 36px !important;
  height: 36px !important;
  max-width: 36px;
  max-height: 36px;
}

#footer .social-icons.follow-icons[data-cms-footer-follow] > a.cms-about-icon:hover img {
  transform: scale(1.06);
}

/* Dải accent footer — hover nút liên hệ */
.cms-footer-accent-band {
  transition: box-shadow 0.32s var(--cms-grid-ease, ease), border-color 0.32s ease;
}

.cms-footer-accent-band:hover {
  border-color: rgba(221, 51, 51, 0.28) !important;
  box-shadow:
    0 8px 28px rgba(15, 23, 42, 0.11),
    0 1px 0 rgba(255, 255, 255, 0.95) inset !important;
}

.cms-footer-accent-band__hotline {
  transition:
    transform 0.25s var(--cms-grid-ease, ease),
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    background 0.25s ease !important;
}

.cms-footer-accent-band__hotline:hover {
  transform: translate3d(0, -2px, 0);
}

.cms-footer-accent-band__action {
  transition:
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s var(--cms-grid-ease, ease) !important;
}

.cms-footer-accent-band__action:hover {
  transform: translate3d(0, -2px, 0);
  border-color: rgba(221, 51, 51, 0.28) !important;
  box-shadow: 0 4px 12px rgba(221, 51, 51, 0.12) !important;
}

.cms-footer-accent-band__action--hot:hover {
  background: #fff5f5 !important;
  border-color: #f87171 !important;
}

/* Chữ sắc nét — 3 lưới không transform text khi hover thẻ */
#cms-home-products-section .woocommerce-loop-product__title,
#cms-home-services-section .cms-service-tile__title,
#cms-home-sales-methods-section .cms-sales-tile__title,
#cms-tin-thi-truong .post-title.is-large,
#cms-tin-thi-truong .from_the_blog_excerpt {
  transform: none !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#cms-home-products-section .col-inner,
#cms-home-services-section .col-inner.cms-service-tile-inner,
#cms-home-sales-methods-section .col-inner.cms-sales-tile-inner {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* ═══ 3 lưới trang chủ — design system cao cấp (Sản phẩm / Dịch vụ / Quy trình) ═══ */
:root {
  --cms-grid-brand: #dd3333;
  --cms-grid-brand-dark: #c62828;
  --cms-grid-brand-deep: #b71c1c;
  --cms-grid-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --cms-grid-shadow: 0 2px 10px rgba(15, 23, 42, 0.06), 0 1px 3px rgba(15, 23, 42, 0.04);
  --cms-grid-shadow-hover: 0 16px 36px rgba(221, 51, 51, 0.2), 0 8px 16px rgba(15, 23, 42, 0.1);
}

@keyframes cms-grid-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes cms-grid-shine {
  from {
    transform: translateX(-130%) skewX(-12deg);
  }
  to {
    transform: translateX(130%) skewX(-12deg);
  }
}

/* Tiêu đề 3 khối — đồng bộ, sang trọng */
#cms-home-products-section h2.tile,
#cms-home-services-section h2.tile,
#cms-home-sales-methods-section h2.tile {
  position: relative;
  margin-bottom: 0 !important;
  letter-spacing: 0.07em !important;
  font-weight: 800 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#cms-home-products-section h2.tile a,
#cms-home-services-section h2.tile a,
#cms-home-sales-methods-section h2.tile a {
  color: #0f172a !important;
  text-decoration: none !important;
  transition: color 0.25s var(--cms-grid-ease);
}

#cms-home-products-section h2.tile a:hover,
#cms-home-services-section h2.tile a:hover,
#cms-home-sales-methods-section h2.tile a:hover {
  color: var(--cms-grid-brand) !important;
}

#cms-home-products-section .is-divides,
#cms-home-services-section .is-divides,
#cms-home-sales-methods-section .is-divides {
  height: 3px !important;
  max-width: clamp(72px, 18vw, 140px) !important;
  margin: 0.65em 0 1.35em !important;
  border-radius: 2px !important;
  background: linear-gradient(
    90deg,
    var(--cms-grid-brand) 0%,
    rgba(221, 51, 51, 0.45) 55%,
    transparent 100%
  ) !important;
}

/* Lưới — khoảng cách đồng nhất */
#cms-home-products-section #cms-home-products-mobile,
#cms-home-products-section #cms-home-products-desktop,
#cms-home-services-section .row_1,
#cms-home-sales-methods-section .phuong_thuc {
  row-gap: clamp(10px, 2.2vw, 18px) !important;
}

@media (max-width: 849px) {
  #cms-home-products-section {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }
}

/* Stagger xuất hiện khi đã load dữ liệu */
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col,
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col,
#cms-home-services-section.cms-block-ready .row_1 > .col,
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col {
  animation: cms-grid-rise 0.58s var(--cms-grid-ease) both;
}

#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(1),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(1),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(1),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(1) {
  animation-delay: 0.04s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(2),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(2),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(2),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(2) {
  animation-delay: 0.09s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(3),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(3),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(3),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(3) {
  animation-delay: 0.14s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(4),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(4),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(4),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(4) {
  animation-delay: 0.19s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(5),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(5),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(5),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(5) {
  animation-delay: 0.24s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(6),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(6),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(6),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(6) {
  animation-delay: 0.29s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(7),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(7),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(7),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(7) {
  animation-delay: 0.34s;
}
#cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col:nth-child(8),
#cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col:nth-child(8),
#cms-home-services-section.cms-block-ready .row_1 > .col:nth-child(8),
#cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col:nth-child(8) {
  animation-delay: 0.39s;
}

/* ——— 3 lưới trang chủ: hàng thiếu ô căn trái (không căn giữa) ——— */
#cms-home-products-section #cms-home-products-mobile,
#cms-home-products-section #cms-home-products-desktop,
#cms-home-services-section .row_1,
#cms-home-sales-methods-section .phuong_thuc,
#cms-tin-thi-truong {
  justify-content: flex-start !important;
  align-content: flex-start !important;
  align-items: stretch !important;
}

#cms-home-products-section #cms-home-products-mobile > .col,
#cms-home-products-section #cms-home-products-mobile > .product-small.col,
#cms-home-products-section #cms-home-products-desktop > .col,
#cms-home-products-section #cms-home-products-desktop > .product-small.col,
#cms-home-services-section .row_1 > .col,
#cms-home-sales-methods-section .phuong_thuc > .col,
#cms-tin-thi-truong > .post-item {
  margin-left: 0 !important;
  margin-right: 0 !important;
  flex-grow: 0 !important;
}

#cms-home-services-section .row_1 > .col,
#cms-home-sales-methods-section .phuong_thuc > .col {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

/* ——— Sản phẩm thế mạnh: hover nổi bật ảnh + chữ, co giãn theo ô ——— */
#cms-home-products-section #cms-home-products-mobile > .col,
#cms-home-products-section #cms-home-products-desktop > .product-small.col {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner {
  position: relative;
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  overflow: hidden;
  background-image:
    linear-gradient(to bottom, var(--cms-grid-brand) 0, var(--cms-grid-brand) 2px, transparent 2px),
    radial-gradient(circle at 50% 24%, rgba(221, 51, 51, 0.05) 0%, transparent 56%),
    linear-gradient(165deg, #ffffff 0%, #f7f8fa 100%) !important;
  border: 1px solid rgba(221, 51, 51, 0.28) !important;
  border-radius: 4px !important;
  box-shadow: var(--cms-grid-shadow) !important;
  transition:
    transform 0.32s var(--cms-grid-ease),
    box-shadow 0.32s var(--cms-grid-ease),
    border-color 0.32s var(--cms-grid-ease),
    background 0.32s var(--cms-grid-ease) !important;
  container-type: inline-size;
  container-name: cms-product-card;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner::before,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  width: clamp(20px, 18cqi, 42px);
  height: clamp(20px, 18cqi, 42px);
  border-left: clamp(3px, 0.7cqi, 5px) solid #dd3333;
  border-bottom: clamp(3px, 0.7cqi, 5px) solid #dd3333;
  pointer-events: none;
  opacity: 0.92;
  transition: width 0.28s ease, height 0.28s ease, border-color 0.28s ease;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner::after,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: clamp(6px, 1.8cqi, 11px);
  border: 1px solid rgba(221, 51, 51, 0.1);
  border-radius: 1px;
  pointer-events: none;
  transition: border-color 0.28s ease;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner:hover,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner:hover {
  transform: translate3d(0, -5px, 0) !important;
  border-color: rgba(198, 40, 40, 0.82) !important;
  background-image:
    linear-gradient(to bottom, var(--cms-grid-brand-dark) 0, var(--cms-grid-brand-dark) 3px, transparent 3px),
    radial-gradient(circle at 50% 18%, rgba(221, 51, 51, 0.1) 0%, transparent 58%),
    linear-gradient(165deg, #ffffff 0%, #fff6f6 100%) !important;
  box-shadow: var(--cms-grid-shadow-hover) !important;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner:hover::before,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner:hover::before {
  width: clamp(26px, 24cqi, 50px);
  height: clamp(26px, 24cqi, 50px);
  border-color: #c62828;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner:hover::after,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner:hover::after {
  border-color: rgba(221, 51, 51, 0.22);
}

#cms-home-products-section .product-small.box {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

#cms-home-products-section .product-small.box::before {
  content: "";
  position: absolute;
  inset: -30% -10%;
  z-index: 8;
  background: linear-gradient(
    108deg,
    transparent 42%,
    rgba(255, 255, 255, 0.48) 50%,
    transparent 58%
  );
  transform: translateX(-130%) skewX(-12deg);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s var(--cms-grid-ease);
}

#cms-home-products-section .product-small.box::after {
  content: "";
  position: absolute;
  z-index: 7;
  top: clamp(8px, 2.2cqi, 14px);
  right: clamp(8px, 2.2cqi, 14px);
  width: clamp(12px, 11cqi, 26px);
  height: clamp(12px, 11cqi, 26px);
  border-top: clamp(2px, 0.55cqi, 3px) solid rgba(221, 51, 51, 0.32);
  border-right: clamp(2px, 0.55cqi, 3px) solid rgba(221, 51, 51, 0.32);
  pointer-events: none;
  opacity: 0.65;
  transition: opacity 0.32s var(--cms-grid-ease), border-color 0.32s var(--cms-grid-ease);
}

#cms-home-products-section .col-inner:hover .product-small.box::before {
  opacity: 1;
  animation: cms-grid-shine 0.72s var(--cms-grid-ease) both;
}

#cms-home-products-section .col-inner:hover .product-small.box::after {
  opacity: 1;
  border-color: rgba(198, 40, 40, 0.75);
}

#cms-home-products-section .product-small.col .box-image,
#cms-home-products-section #cms-home-products-mobile .box-image {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-bottom: 1px solid rgba(221, 51, 51, 0.1);
  background: #fff;
}

#cms-home-products-section .image-cover,
#cms-home-products-section .image-fade_in_back {
  overflow: hidden !important;
  background: #fff;
}

#cms-home-products-section .image-cover {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}

#cms-home-products-section .image-cover > a {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
}

#cms-home-products-section .image-fade_in_back {
  aspect-ratio: 4 / 3;
}

#cms-home-products-section .image-fade_in_back > a {
  display: block;
  width: 100%;
  height: 100%;
}

#cms-home-products-section .box-image img.attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: transform 0.35s ease !important;
  transform: scale(1);
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner:hover .box-image img,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner:hover .box-image img {
  transform: scale(1.06) !important;
  filter: none !important;
  -webkit-filter: none !important;
  opacity: 1 !important;
}

#cms-home-products-section .box-text,
#cms-home-products-section .box-text.box-text-products {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 100% !important;
  padding: clamp(8px, 2.8cqi, 14px) clamp(6px, 2cqi, 12px) clamp(10px, 3cqi, 16px) !important;
  background: transparent;
  transition: background 0.28s ease;
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner:hover .box-text,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner:hover .box-text {
  background: linear-gradient(180deg, rgba(255, 245, 245, 0.95) 0%, rgba(255, 232, 232, 0.98) 100%);
}

#cms-home-products-section .woocommerce-loop-product__title {
  margin: 0 !important;
  padding: 0 clamp(2px, 1cqi, 6px) !important;
  font-size: clamp(11px, 2.8vw, 16px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-align-last: center !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  color: #1a1a1a !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  transition: color 0.28s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#cms-home-products-section .box-text::after {
  content: "";
  display: block;
  width: 0;
  height: 2px;
  margin: clamp(4px, 1cqi, 7px) auto 0;
  border-radius: 1px;
  background: var(--cms-grid-brand);
  opacity: 0.75;
  transition: width 0.32s var(--cms-grid-ease);
}

#cms-home-products-section .col-inner:hover .box-text::after {
  width: clamp(22px, 30cqi, 52px);
}

@supports (width: 1cqi) {
  #cms-home-products-section .woocommerce-loop-product__title {
    font-size: clamp(9px, 7.2cqi, 17px) !important;
    letter-spacing: clamp(0.01em, 0.06cqi, 0.04em) !important;
  }
}

#cms-home-products-section #cms-home-products-mobile > .col > .col-inner:hover .woocommerce-loop-product__title,
#cms-home-products-section #cms-home-products-desktop > .product-small.col > .col-inner:hover .woocommerce-loop-product__title {
  color: #c62828 !important;
}

#cms-home-products-section .title-wrapper {
  margin: 0 !important;
  padding: 0 !important;
}

#cms-home-products-section .product-cat {
  font-size: clamp(7px, 5cqi, 11px) !important;
}

/* Ghi đè Flatsome fade/hover — không làm mờ ảnh sản phẩm */
#cms-home-products-section .has-hover .image-fade_in_back img,
#cms-home-products-section .has-hover:hover .image-fade_in_back img,
#cms-home-products-section .image-fade_in_back:hover img {
  opacity: 1 !important;
  filter: none !important;
  -webkit-filter: none !important;
}

#cms-home-products-section .product-small.col .box-image {
  height: auto !important;
}

/* ——— Dịch vụ + Quy trình: ô vuông chuyên nghiệp, icon co giãn theo ô ——— */
#cms-home-services-section .row_1 .col .col-inner.cms-service-tile-inner,
#cms-home-sales-methods-section .phuong_thuc .col .col-inner.cms-sales-tile-inner {
  position: relative !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  overflow: hidden !important;
  background-image:
    linear-gradient(to bottom, var(--cms-grid-brand) 0, var(--cms-grid-brand) 2px, transparent 2px),
    radial-gradient(circle at 50% 30%, rgba(221, 51, 51, 0.05) 0%, transparent 58%),
    linear-gradient(165deg, #ffffff 0%, #f7f8fa 100%) !important;
  border: 1px solid rgba(221, 51, 51, 0.28) !important;
  border-radius: 4px !important;
  box-shadow: var(--cms-grid-shadow) !important;
  transition:
    transform 0.32s var(--cms-grid-ease),
    box-shadow 0.32s var(--cms-grid-ease),
    border-color 0.32s var(--cms-grid-ease),
    background 0.32s var(--cms-grid-ease) !important;
  container-type: inline-size;
  container-name: cms-home-tile;
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner::before,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: 0;
  bottom: 0;
  width: clamp(22px, 20cqi, 46px);
  height: clamp(22px, 20cqi, 46px);
  border-left: clamp(3px, 0.75cqi, 5px) solid #dd3333;
  border-bottom: clamp(3px, 0.75cqi, 5px) solid #dd3333;
  pointer-events: none;
  opacity: 0.92;
  transition: width 0.28s ease, height 0.28s ease, opacity 0.28s ease;
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner::after,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: clamp(7px, 2.2cqi, 13px);
  border: 1px solid rgba(221, 51, 51, 0.12);
  border-radius: 1px;
  pointer-events: none;
  transition: border-color 0.28s ease;
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover {
  transform: translate3d(0, -5px, 0) !important;
  background-image:
    linear-gradient(to bottom, rgba(255, 255, 255, 0.22) 0, rgba(255, 255, 255, 0.22) 3px, transparent 3px),
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.14) 0%, transparent 58%),
    linear-gradient(155deg, #ef3a3a 0%, #c62828 100%) !important;
  border-color: var(--cms-grid-brand-deep) !important;
  box-shadow: var(--cms-grid-shadow-hover) !important;
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover::before,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover::before {
  width: clamp(28px, 26cqi, 54px);
  height: clamp(28px, 26cqi, 54px);
  border-color: rgba(255, 255, 255, 0.92);
  opacity: 1;
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover::after,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover::after {
  border-color: rgba(255, 255, 255, 0.22);
}

#cms-home-sales-methods-section .phuong_thuc .col .col-inner.cms-sales-tile-inner {
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  text-align: center !important;
}

#cms-home-services-section .cms-service-tile,
#cms-home-sales-methods-section .cms-sales-tile {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(6px, 2cqi, 12px) !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: clamp(10px, 3.2cqi, 18px) clamp(8px, 2.4cqi, 14px) !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  color: inherit !important;
  text-align: center !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

#cms-home-services-section .cms-service-tile::before,
#cms-home-sales-methods-section .cms-sales-tile::before {
  content: "";
  position: absolute;
  inset: -30% -10%;
  z-index: 6;
  background: linear-gradient(
    108deg,
    transparent 42%,
    rgba(255, 255, 255, 0.38) 50%,
    transparent 58%
  );
  transform: translateX(-130%) skewX(-12deg);
  pointer-events: none;
  opacity: 0;
}

#cms-home-services-section .cms-service-tile::after,
#cms-home-sales-methods-section .cms-sales-tile::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: clamp(8px, 2.2cqi, 14px);
  right: clamp(8px, 2.2cqi, 14px);
  width: clamp(12px, 11cqi, 26px);
  height: clamp(12px, 11cqi, 26px);
  border-top: clamp(2px, 0.55cqi, 3px) solid rgba(221, 51, 51, 0.32);
  border-right: clamp(2px, 0.55cqi, 3px) solid rgba(221, 51, 51, 0.32);
  pointer-events: none;
  opacity: 0.65;
  transition: opacity 0.32s var(--cms-grid-ease), border-color 0.32s var(--cms-grid-ease);
}

#cms-home-services-section .col-inner.cms-service-tile-inner:hover .cms-service-tile::before,
#cms-home-sales-methods-section .col-inner.cms-sales-tile-inner:hover .cms-sales-tile::before {
  opacity: 1;
  animation: cms-grid-shine 0.72s var(--cms-grid-ease) both;
}

#cms-home-services-section .col-inner.cms-service-tile-inner:hover .cms-service-tile::after,
#cms-home-sales-methods-section .col-inner.cms-sales-tile-inner:hover .cms-sales-tile::after {
  opacity: 1;
  border-color: rgba(255, 255, 255, 0.72);
}

#cms-home-sales-methods-section .phuong_thuc a.plain.cms-sales-tile {
  width: 100% !important;
  height: 100% !important;
}

#cms-home-services-section .cms-service-tile__icon,
#cms-home-sales-methods-section .cms-sales-tile__icon {
  position: relative;
  z-index: 5;
  flex: 0 1 auto;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center;
  width: clamp(52px, 72%, 190px);
  aspect-ratio: 1 / 1;
  min-width: 52px;
  min-height: 0 !important;
  max-height: none !important;
  border-radius: clamp(6px, 2.5cqi, 12px);
  box-sizing: border-box;
  transition:
    background 0.28s ease,
    box-shadow 0.28s ease,
    transform 0.28s ease,
    padding 0.28s ease;
}

@supports (width: 1cqi) {
  #cms-home-services-section .cms-service-tile__icon,
  #cms-home-sales-methods-section .cms-sales-tile__icon {
    /* Icon vuông ~72% chiều rộng ô — ảnh từ Sever/Admin */
    width: clamp(52px, 72cqi, 190px);
    max-width: 78cqi;
    max-height: 78cqi;
  }
}

#cms-home-services-section .cms-service-tile__icon img,
#cms-home-sales-methods-section .cms-sales-tile__icon img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  filter: none !important;
  -webkit-filter: none !important;
  transition: transform 0.28s ease;
}

/* Hover: nền trắng bo góc phía sau icon — KHÔNG invert (ảnh Admin đa màu/PNG) */
#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover .cms-service-tile__icon,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover .cms-sales-tile__icon {
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
  padding: clamp(4px, 1.8cqi, 10px);
  transform: scale(1.02);
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover .cms-service-tile__icon img,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover .cms-sales-tile__icon img {
  filter: none !important;
  -webkit-filter: none !important;
  transform: scale(1.03);
}

/* Ghi đè theme global `p { text-align: justify }` — chữ co giãn theo ô vuông (cqi) */
#cms-home-services-section .cms-service-tile__title,
#cms-home-sales-methods-section .cms-sales-tile__title {
  flex: 0 0 auto;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 clamp(2px, 1.2cqi, 8px) !important;
  font-size: clamp(7px, 2.8vw, 14px) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  text-align: center !important;
  text-align-last: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  word-spacing: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto;
  color: #1a1a1a !important;
  position: relative !important;
  z-index: 2 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
  transition: color 0.28s ease;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@supports (width: 1cqi) {
  #cms-home-services-section .cms-service-tile__title,
  #cms-home-sales-methods-section .cms-sales-tile__title {
    font-size: clamp(7px, 8cqi, 18px) !important;
    line-height: 1.2 !important;
    letter-spacing: clamp(0.01em, 0.07cqi, 0.05em) !important;
    padding: 0 clamp(2px, 1.4cqi, 8px) !important;
  }
}

#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover .cms-service-tile__title,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover .cms-sales-tile__title {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-thickness: clamp(1px, 0.35cqi, 2px);
  text-underline-offset: clamp(2px, 0.7cqi, 4px);
  text-decoration-color: rgba(255, 255, 255, 0.85);
}

#cms-home-services-section .row_1 .col .icon-box.icon-box-left {
  position: static !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

#cms-home-sales-methods-section .phuong_thuc a.plain:not(.cms-sales-tile),
#cms-home-sales-methods-section .phuong_thuc .hover-pt {
  display: none !important;
}

/* Ghi đè theme Flatsome cũ — chiều cao/icon/hover */
#cms-home-services-section .row_1 .col .col-inner.cms-service-tile-inner,
#cms-home-sales-methods-section .phuong_thuc .col .col-inner.cms-sales-tile-inner {
  height: auto !important;
  min-height: 0 !important;
}

#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner {
  min-height: 0 !important;
}

#cms-home-services-section .cms-service-tile__icon img.attachment-medium.size-medium,
#cms-home-sales-methods-section .cms-sales-tile__icon img.attachment-medium.size-medium {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  padding-top: 0 !important;
}

/* Ghi đè theme Flatsome: brightness/invert làm icon Admin thành khối trắng */
#cms-home-services-section .row_1 .col-inner.cms-service-tile-inner:hover img,
#cms-home-sales-methods-section .phuong_thuc .col-inner.cms-sales-tile-inner:hover img,
#cms-home-sales-methods-section .phuong_thuc > .col > .col-inner.cms-sales-tile-inner:hover img.attachment-medium.size-medium {
  filter: none !important;
  -webkit-filter: none !important;
}

#cms-home-sales-methods-section .phuong_thuc > .col > .col-inner.cms-sales-tile-inner:hover {
  background: linear-gradient(155deg, #ef3a3a 0%, #c62828 100%) !important;
  color: #fff !important;
}

@media screen and (max-width: 849px) {
  #cms-home-services-section h2.tile,
  #cms-home-sales-methods-section h2.tile {
    font-size: clamp(1.15rem, 4.5vw, 1.45rem) !important;
  }

  #cms-home-services-section .cms-service-tile__title,
  #cms-home-sales-methods-section .cms-sales-tile__title {
    -webkit-line-clamp: 4 !important;
  }
}

@supports (width: 1cqi) {
  @media screen and (max-width: 849px) {
    #cms-home-services-section .cms-service-tile__title,
    #cms-home-sales-methods-section .cms-sales-tile__title {
      font-size: clamp(7px, 8.5cqi, 14px) !important;
    }
  }

  @media screen and (min-width: 850px) {
    #cms-home-services-section .cms-service-tile__title,
    #cms-home-sales-methods-section .cms-sales-tile__title {
      font-size: clamp(9px, 7.5cqi, 18px) !important;
    }
  }
}

/* Focus / touch / reduced-motion — 3 lưới */
#cms-home-products-section .col-inner:focus-within,
#cms-home-services-section .col-inner.cms-service-tile-inner:focus-within,
#cms-home-sales-methods-section .col-inner.cms-sales-tile-inner:focus-within {
  outline: 2px solid var(--cms-grid-brand) !important;
  outline-offset: 3px !important;
  border-color: var(--cms-grid-brand) !important;
}

#cms-home-products-section .col-inner:active,
#cms-home-services-section .col-inner.cms-service-tile-inner:active,
#cms-home-sales-methods-section .col-inner.cms-sales-tile-inner:active {
  transform: translate3d(0, -2px, 0) !important;
}

@media (hover: none) and (pointer: coarse) {
  #cms-home-products-section .col-inner:active,
  #cms-home-services-section .col-inner.cms-service-tile-inner:active,
  #cms-home-sales-methods-section .col-inner.cms-sales-tile-inner:active {
    border-color: var(--cms-grid-brand-dark) !important;
    box-shadow: var(--cms-grid-shadow-hover) !important;
  }

  #cms-home-products-section .col-inner:active .box-image img {
    transform: scale(1.04) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #cms-home-products-section.cms-home-products-ready #cms-home-products-mobile > .col,
  #cms-home-products-section.cms-home-products-ready #cms-home-products-desktop > .product-small.col,
  #cms-home-services-section.cms-block-ready .row_1 > .col,
  #cms-home-sales-methods-section.cms-block-ready .phuong_thuc > .col {
    animation: none !important;
  }

  #cms-home-products-section .col-inner,
  #cms-home-services-section .col-inner.cms-service-tile-inner,
  #cms-home-sales-methods-section .col-inner.cms-sales-tile-inner,
  #cms-home-products-section .box-image img,
  #cms-home-services-section .cms-service-tile__icon img,
  #cms-home-sales-methods-section .cms-sales-tile__icon img,
  #cms-home-products-section .product-small.box::before,
  #cms-home-services-section .cms-service-tile::before,
  #cms-home-sales-methods-section .cms-sales-tile::before {
    transition: none !important;
    animation: none !important;
  }
}

/* Banner: Flatsome ẩn slide trước Flickity — ép hiện slide đầu ngay khi SSR */
.cms-home-banner-root .slider:not(.flickity-enabled) {
  overflow: visible !important;
  white-space: normal !important;
  min-height: 0;
}

.cms-home-banner-root .slider:not(.flickity-enabled) > .row {
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  width: 100% !important;
}

.cms-home-banner-root .slider:not(.flickity-enabled) > .row ~ .row {
  display: none !important;
}

/* Banner: hiển thị toàn bộ ảnh (contain) — không crop theo tỷ lệ cố định */
.cms-home-banner-root .img-inner.cms-banner-contain {
  position: relative;
  overflow: hidden;
  padding-top: 0 !important;
  background: #111;
  line-height: 0;
}

.cms-home-banner-root .img-inner.cms-banner-contain .cms-banner-contain__img,
.cms-home-banner-root .img-inner.cms-banner-contain img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
  margin: 0 auto;
}

/* Legacy image-cover trên banner — fallback nếu HTML cũ còn class cũ */
.cms-home-banner-root .img-inner.image-cover {
  position: relative;
  overflow: hidden;
  padding-top: 0 !important;
  background: #111;
}

.cms-home-banner-root .img-inner.image-cover img {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block;
}

/* Footer / home: Flatsome data-animate không ẩn nội dung SSR */
#footer [data-animate],
#footer .col[data-animate] {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.cms-home-banner-root:not(.cms-home-banners-pending) .slider img,
#cms-home-products-section img,
#cms-home-services-section img,
#cms-home-sales-methods-section img {
  opacity: 1 !important;
  visibility: visible !important;
}
